From nobody Sun Feb 8 07:08:33 2026 Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ADB535FB91; Wed, 6 Mar 2024 11:10:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709723410; cv=none; b=RxsJCbMGoLUC56Yop3iURDlv7osPzHBozw6QIXs40J6MgsXZe6YsIe7n/P6vSdfciFnW3BN2GYQV8jhEVDJeZumBv/tx/h5xalm9Ozj+CPGvPTu95ZjbThOGwh7qEBBOIyaOdUYJLxwkWsGtEnU4G4Ck8JPgkNn8/ydn8J2Inzo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709723410; c=relaxed/simple; bh=xM/qLoPo9oJykJCfWxb6HZg/Jzg24FTEt0CjZITzZT0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gWiAeQuM6wwqPJh+/GvAa8VM+k0Did/0zX0AVeiIih4wyThp1lc3QUNOAw5ACuAVjdw0OewPSJgv7nprvXPwgyxZz90uDHJzFuTflGrviIeRrNPzXeHb82KAf0ookMOC0UOaj59WZdj8M2+wNNYkdnb0vo9Q0Ndob4tjn5gx/UU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=aXs3uIeF; arc=none smtp.client-ip=209.85.208.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aXs3uIeF" Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-2d3fd0e6832so8936951fa.2; Wed, 06 Mar 2024 03:10:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709723407; x=1710328207; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=a/n875ZVkVVNvvL6uVSJ+VnT1mBwNw8mXu8sRTs/2+Q=; b=aXs3uIeFQhS9/TVbra1AGchOmgPAPGyDxIcRGgbPQ+cRzxMsSwYeZF+T4HtRRKPrtB tAq4s1BmSFipKxi4Fbea6qRtOXDRCYlkBgPlXt4RWhoqALoFRVOUkP+rnND7rCJeOJJP SJQV7nWFPUh1tvYQG4ve4ah514a1fPpjG71QR6cADFXo0mqKgE0Kmz5+TaqJDubKzB/P inY0yjItWoeDLbtInzD5vPXyQ+BXxraXYOk3zjk+lNAlWBG+z7l814qJnmhQO+P+5rUi ucctRJodPT08b/lzUFvQquBwJjcYEJK1OUcgCtG8o9829tIeohwkqXSsgX+/AE2NjCkb L4Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709723407; x=1710328207; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=a/n875ZVkVVNvvL6uVSJ+VnT1mBwNw8mXu8sRTs/2+Q=; b=YiQhGhfkoMh4vJhgYg5Tm7uM0+uXdlPvPVwtGj/H+tsvc042S2x1It6m33hK40o9Gv EChz+7pV51xUtdSUQvi6QN/cX4tJY7P1PaJ29wR/dbpFfLwQhR9sYiwcaMA6fJIF+t6o KCUbd7zeGbvTziSZfCaKTrPtJNBMrovt1OlZvWMdosl0SzXOZGKQ/7JIwmHXYfPiEEf4 DVaHKQX3KU4ewLlcFslFcLRVaAB7gVlm2w7VEx5gzJVp+q3OLGv0AJxYrRDk+4X6uZK2 VmZn+CJZNd3d+lArdy3LXDDn0dD1S4yje3g3jANHcOlapgOOAogRTra0tYvNCocvL+w5 D0Rg== X-Forwarded-Encrypted: i=1; AJvYcCUSFiqyp7UxkWGcagaYWtxmLh5EV0fHVME5D7xg1C3BDs4IKFF7DEova5xFbIuW08eMqkho5pNpFsvlLkil58wvlWa2xgLEQholWtFaG2z2rP+XzsvoDY8ub+TJU+Ptwy32X8Hi5Cz1fA== X-Gm-Message-State: AOJu0YyVHD3mjXQCW+jS12qRhMWUOevWiGohNLH+lNA3Bn/F8L7PaDLK dvgpRuhAsk7wmLR8+iJYRUYdaWWiy0jHILFeGu2ioQogV9xo2ScUBaJa/rumT1YMbQ== X-Google-Smtp-Source: AGHT+IGaO5dUmMQNROYg5Hsthg07LVP56kZIeFs0pHT82csPMOsKQ+tUFQIWBI6hAGOFX2SqYxEAsw== X-Received: by 2002:a05:6512:559:b0:513:5af1:c70b with SMTP id h25-20020a056512055900b005135af1c70bmr1313263lfl.46.1709723406346; Wed, 06 Mar 2024 03:10:06 -0800 (PST) Received: from HYB-hhAwRlzzMZb.ad.analog.com ([5.2.194.157]) by smtp.gmail.com with ESMTPSA id w26-20020a170906385a00b00a4394f052cesm7002479ejc.150.2024.03.06.03.10.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Mar 2024 03:10:05 -0800 (PST) From: Dumitru Ceclan To: dumitru.ceclan@analog.com Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, lars@metafoo.de, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, dlechner@baylibre.com, Dumitru Ceclan Subject: [PATCH v3 1/3] dt-bindings: adc: ad7173: add support for additional models Date: Wed, 6 Mar 2024 13:09:54 +0200 Message-ID: <20240306110956.13167-2-mitrutzceclan@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240306110956.13167-1-mitrutzceclan@gmail.com> References: <20240306110956.13167-1-mitrutzceclan@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add support for: AD7172-2, AD7175-8, AD7177-2. AD7172-4 does not feature an internal reference, check for external reference presence. Signed-off-by: Dumitru Ceclan Reviewed-by: Conor Dooley --- .../bindings/iio/adc/adi,ad7173.yaml | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml b/Do= cumentation/devicetree/bindings/iio/adc/adi,ad7173.yaml index 36f16a325bc5..ea6cfcd0aff4 100644 --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7173.yaml @@ -21,17 +21,23 @@ description: | =20 Datasheets for supported chips: https://www.analog.com/media/en/technical-documentation/data-sheets/AD= 7172-2.pdf + https://www.analog.com/media/en/technical-documentation/data-sheets/AD= 7172-4.pdf https://www.analog.com/media/en/technical-documentation/data-sheets/AD= 7173-8.pdf https://www.analog.com/media/en/technical-documentation/data-sheets/AD= 7175-2.pdf + https://www.analog.com/media/en/technical-documentation/data-sheets/AD= 7175-8.pdf https://www.analog.com/media/en/technical-documentation/data-sheets/AD= 7176-2.pdf + https://www.analog.com/media/en/technical-documentation/data-sheets/AD= 7177-2.pdf =20 properties: compatible: enum: - adi,ad7172-2 + - adi,ad7172-4 - adi,ad7173-8 - adi,ad7175-2 + - adi,ad7175-8 - adi,ad7176-2 + - adi,ad7177-2 =20 reg: maxItems: 1 @@ -136,8 +142,10 @@ patternProperties: refout-avss: REFOUT/AVSS (Internal reference) avdd : AVDD /AVSS =20 - External reference ref2 only available on ad7173-8. - If not specified, internal reference used. + External reference ref2 only available on ad7173-8 and ad7172-4. + Internal reference refout-avss not available on ad7172-4. + + If not specified, internal reference used (if available). $ref: /schemas/types.yaml#/definitions/string enum: - vref @@ -157,12 +165,17 @@ required: allOf: - $ref: /schemas/spi/spi-peripheral-props.yaml# =20 + # Only ad7172-4, ad7173-8 and ad7175-8 support vref2 + # Other models have [0-3] channel registers - if: properties: compatible: not: contains: - const: adi,ad7173-8 + enum: + - adi,ad7172-4 + - adi,ad7173-8 + - adi,ad7175-8 then: properties: vref2-supply: false @@ -177,6 +190,26 @@ allOf: reg: maximum: 3 =20 + # Model ad7172-4 does not support internal reference + - if: + properties: + compatible: + contains: + const: adi,ad7172-4 + then: + patternProperties: + "^channel@[0-9a-f]$": + properties: + reg: + maximum: 7 + adi,reference-select: + enum: + - vref + - vref2 + - avdd + required: + - adi,reference-select + - if: anyOf: - required: [clock-names] --=20 2.43.0 From nobody Sun Feb 8 07:08:33 2026 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AAEF77F03; Wed, 6 Mar 2024 11:10:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709723412; cv=none; b=jLu8CoSHDvSUiizo7YEjmGAVr8Ic+16ohTqi6wwwhEyRHiw4dRdLiJsEZRSUiTSAj9VYUd/oF6vEdboA5DKMmhJrk7+sZpsYx/J4GGM242NGs7V8UlOWS1afM4yNhlRczTnR29lvkCcg0s5K2cq+fOJCnXKGlQ3mZ88SjSfIdBE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709723412; c=relaxed/simple; bh=gdocGrYkrRM1nLV5WBS3tkzTCIjByKexz8/GocXl1lI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aJBEAiGwjkHaZMaZD1fniBHNimISf57S/l1tlwrghZz2iEA9t6S85jad0lUWSPTdq6xweHQTndlR0NiAFNBhaFVFSgn7g8fYsJn5XhYos2sH6AQn+pNdTzpTryiei7I0Lq4ul+UUkt4/zzcq3qz1YNJVjIrc5Bdlmzvy6GJxvdU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=K5HD3iTG; arc=none smtp.client-ip=209.85.218.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="K5HD3iTG" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a450615d1c4so124932866b.0; Wed, 06 Mar 2024 03:10:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709723408; x=1710328208; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=L6EKGcI6FH4yAv8SzBRwbzyl3Aigjqoo6JxBUrx0dJI=; b=K5HD3iTGaLzA3DiBfST7bkr4pNureYqUFlQfAGAlzfhJaxMUJJ1OLWe2ZpwD6AsNyR I2PuxLGz2kbO5XVXT9Nb9LjBZM0SvgDhImUPDu/YqrKPf4am4ylRqBluyoI2oEezrkCR AIDmV5GPBktFjOFwiVn2zqm2TLmHIz4k+sQWlzurYo8X/bF/ARnjtSP+2KdAtD6OH+7F tOFBBCG/TG6AEpGwB9JSira+6JKWUZLqZZs/AZjQK/hn55TWsFW/1B8WpTw0IQUzrmGy APiHeoO/3GPNsGDUwjbL/D/efT5m/AhoFFYo/o4sQVHaF49yVFX0Mq+9F8WkP0Fnf3FZ iaiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709723408; x=1710328208; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L6EKGcI6FH4yAv8SzBRwbzyl3Aigjqoo6JxBUrx0dJI=; b=hW98K7RUIayH9+DalMZ8DuvAyVH/8CbMsgFEdfeH2EHNEPaiZVb84e6cJluNNN3XqZ 4q0De7bNF7e9TcYARDcNCKtfZFHTEc2OkZyRS3joUU07eEEsr7+KooGrWUYu0b3EajIj Pi4d/6fHY/MKXUvmjA8SA+9FtBwd3fL340EXQDxQjF3XK9xCYSoIOMRjCbPkIvomEgIs VXwuuRj77v0G7QJAznkYWQmGmvYTaUugWAGCt9L/bLRsA4Oj+Rvz9u5YqWDsotOYy0K7 TpP1WwAHKmMm5mOzvUEf5D75qkQJrp1Sot4ljqf4q6PKoryRgeHbJzKy2hqvw+4leb95 WZRg== X-Forwarded-Encrypted: i=1; AJvYcCXt5UKvdyRYoSqtcu6pSoVkFwncz2oO0LY/SeFSw7tAyoq8QlyUrhFhxoCpga1hYpvffM6uCNZ2rsAnqq30wmPWSCB4ACjX1VnLHCHoFXiCaO+YfbcyB+5R4OynnyPZb8sqqrc+lm7ZBQ== X-Gm-Message-State: AOJu0YzNqUWC1mg3pP51Ejw9IsrCmgfujq6lKzmKaivsB/J0cdxjDo6b V1KFzBNLdoUKpZZ/RDYEhZwTDDrEzsXn1ryx2YSsG1n/TSsQTtMQ X-Google-Smtp-Source: AGHT+IF1pvWhteFyBZhhYjWmIxq/qOxxnOxV0Ym0Nwpq94bP0RWOc4R6jKmqnqQF2wGi9bupCA0OjQ== X-Received: by 2002:a17:906:e252:b0:a45:8b1d:696 with SMTP id gq18-20020a170906e25200b00a458b1d0696mr5982096ejb.8.1709723407838; Wed, 06 Mar 2024 03:10:07 -0800 (PST) Received: from HYB-hhAwRlzzMZb.ad.analog.com ([5.2.194.157]) by smtp.gmail.com with ESMTPSA id w26-20020a170906385a00b00a4394f052cesm7002479ejc.150.2024.03.06.03.10.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Mar 2024 03:10:07 -0800 (PST) From: Dumitru Ceclan To: dumitru.ceclan@analog.com Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, lars@metafoo.de, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, dlechner@baylibre.com, Dumitru Ceclan Subject: [PATCH v3 2/3] iio: adc: ad7173: improve chip id's defines Date: Wed, 6 Mar 2024 13:09:55 +0200 Message-ID: <20240306110956.13167-3-mitrutzceclan@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240306110956.13167-1-mitrutzceclan@gmail.com> References: <20240306110956.13167-1-mitrutzceclan@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rename to AD7172_2_ID to avoid confusion with _4 model. Reorder id's by reg value. Signed-off-by: Dumitru Ceclan --- drivers/iio/adc/ad7173.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/iio/adc/ad7173.c b/drivers/iio/adc/ad7173.c index b42fbe28a325..59a55d2944a7 100644 --- a/drivers/iio/adc/ad7173.c +++ b/drivers/iio/adc/ad7173.c @@ -61,10 +61,10 @@ #define AD7173_AIN_TEMP_POS 17 #define AD7173_AIN_TEMP_NEG 18 =20 -#define AD7172_ID 0x00d0 -#define AD7173_ID 0x30d0 +#define AD7172_2_ID 0x00d0 #define AD7175_ID 0x0cd0 #define AD7176_ID 0x0c90 +#define AD7173_ID 0x30d0 #define AD7173_ID_MASK GENMASK(15, 4) =20 #define AD7173_ADC_MODE_REF_EN BIT(15) @@ -190,7 +190,7 @@ static const unsigned int ad7175_sinc5_data_rates[] =3D= { static const struct ad7173_device_info ad7173_device_info[] =3D { [ID_AD7172_2] =3D { .name =3D "ad7172-2", - .id =3D AD7172_ID, + .id =3D AD7172_2_ID, .num_inputs =3D 5, .num_channels =3D 4, .num_configs =3D 4, --=20 2.43.0 From nobody Sun Feb 8 07:08:33 2026 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E221077F0C; Wed, 6 Mar 2024 11:10:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709723412; cv=none; b=dXDWj2m0CcQUZ44WuBTlwYaT2IlHVesrYxqfcllARDpjYaucIIRULhRgB2mfA8u5eoFUnA8no9vAqWwYGd1/H5U+090NRL3wGI22RimdsJtDRoDZnqz7EhYtO07jXaNukzNEQc1GmVMl48gSJwu9CPL8RkcOmOWcIEWIhqs2XG4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709723412; c=relaxed/simple; bh=cCljXfvf3Tdn5wKRRFO8tRDaXWfnHvEUlHofxOvby9o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VpzfAhcTWJqze2KgjAvPl8ik2UcvUqWt3tu0oZj1OOhzlKS8Ix+fTZPHs2L0ytg1b8orx1R0WSSXym83n8zWNKFL0jZHe0Dp4kIdoBkgbs1/mXcTSjTp40F9tjrZdzGfuaw4FjtpqB9oZrm4ENC11FKdL5zMCsObS7aMGhAhqkY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=TP02xCKJ; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TP02xCKJ" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-564fc495d83so8149784a12.0; Wed, 06 Mar 2024 03:10:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709723409; x=1710328209; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rPlp539apzBwv/z9/cqIkBur4tCSM/L0oQF3M/Z4Wao=; b=TP02xCKJxwpO8GF5gAlcFDKM97BhfTG6eaIZCPRnQAhIGpqxqVQ+JbxcS3Ub+Ahfe6 RZDlyLcfqoif32jpl1j+8dl73Nv3zxfDavg6VGhZGiku4xTgT7xluzhTuHDLRVkNxcll WN1pzd61y9YpeXephuKdq+2d2zNIT34wdcycDkvHVuZidVtbsgJZ8jE/N+xT9ZKOmZuR apMm0eDK7s9EixzMDZZQuwRR69lKWJGzfShQZIYICKoKzhTzBiq7yDMZihKdUNcSreNw ZojHYoPYGaBQgSJD6UcyZl7tTVN1XIhEvNsXu3fsECSU/U8xBLyHLCsWRDGix6qz2/rg NLpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709723409; x=1710328209; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rPlp539apzBwv/z9/cqIkBur4tCSM/L0oQF3M/Z4Wao=; b=gmRNoPPOzJmwv0DJEg5+B7TMpcxcDYnwqS6DXqENhsMXOy41pkL4pYz6+m4twQORKp 2Zn0/nltgBfze+5yU5SC/HH3sh/JmHYP7aeaG7nR6vAsrvefFHVlFh3oAwuHQ20aw+UP Xu4AW0jZiikNVWHbndH/5x0njaOdgfwHxbzqJtk7oiNne018JVT2x6WfL7FcsqciPapN /sZzstIOBiD7HF6gj+Zzy/4v+rpGxSxNtwLDzBw+LF+TLZMi++7sET39+h0MlvPMd7W1 T2YbW7WWBrZe31YbgWsfISaI7VGNd9TLsEVzrBxG+onJePUwNt6ww0XM4TwNfU9/ZZPE BMDg== X-Forwarded-Encrypted: i=1; AJvYcCU39mpoHGD7QAjEp6SkFZenLL8DMdfje75Rpqra4YKsHVTESyFDpXU4XcEGURow3hYOngiYeJWzTmNiDHw8LeZxTp/NDgk/i0Eg7DOU4Zxpn3Z8tRG0hqYhOMUN1hHN/7ZczotDfcN/1Q== X-Gm-Message-State: AOJu0YzCUxqMk5yP5HFSbnFTxMMrHO9tw+610awo/sivqsoT0xYXRmuM CQSl/56FkJvUgx+hO12p+srvZyCdydiUWJsh0m/oo1fhrMsAMZmT X-Google-Smtp-Source: AGHT+IElREPzfpIZiN1vyOE8TzvRAcWep8+DsUTlaRrN1rmKMsoVbP722wdkgBqxrEC9Zjt8XvjuvQ== X-Received: by 2002:a17:906:1114:b0:a43:bb3b:3b5a with SMTP id h20-20020a170906111400b00a43bb3b3b5amr10462038eja.22.1709723408926; Wed, 06 Mar 2024 03:10:08 -0800 (PST) Received: from HYB-hhAwRlzzMZb.ad.analog.com ([5.2.194.157]) by smtp.gmail.com with ESMTPSA id w26-20020a170906385a00b00a4394f052cesm7002479ejc.150.2024.03.06.03.10.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Mar 2024 03:10:08 -0800 (PST) From: Dumitru Ceclan To: dumitru.ceclan@analog.com Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, lars@metafoo.de, jic23@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, dlechner@baylibre.com, Dumitru Ceclan Subject: [PATCH v3 3/3] iio: adc: ad7173: add support for additional models Date: Wed, 6 Mar 2024 13:09:56 +0200 Message-ID: <20240306110956.13167-4-mitrutzceclan@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240306110956.13167-1-mitrutzceclan@gmail.com> References: <20240306110956.13167-1-mitrutzceclan@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add support for Analog Devices AD7172-2, AD7175-8, AD7177-2. Signed-off-by: Dumitru Ceclan --- drivers/iio/adc/ad7173.c | 86 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 80 insertions(+), 6 deletions(-) diff --git a/drivers/iio/adc/ad7173.c b/drivers/iio/adc/ad7173.c index 59a55d2944a7..4ff6ce46b02c 100644 --- a/drivers/iio/adc/ad7173.c +++ b/drivers/iio/adc/ad7173.c @@ -1,6 +1,11 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * AD7172-2/AD7173-8/AD7175-2/AD7176-2 SPI ADC driver + * AD717x family SPI ADC driver + * + * Supported devices: + * AD7172-2/AD7172-4/AD7173-8/AD7175-2 + * AD7175-8/AD7176-2/AD7177-2 + * * Copyright (C) 2015, 2024 Analog Devices, Inc. */ =20 @@ -64,7 +69,11 @@ #define AD7172_2_ID 0x00d0 #define AD7175_ID 0x0cd0 #define AD7176_ID 0x0c90 +#define AD7175_2_ID 0x0cd0 +#define AD7172_4_ID 0x2050 #define AD7173_ID 0x30d0 +#define AD7175_8_ID 0x3cd0 +#define AD7177_ID 0x4fd0 #define AD7173_ID_MASK GENMASK(15, 4) =20 #define AD7173_ADC_MODE_REF_EN BIT(15) @@ -110,20 +119,25 @@ #define AD7173_SETUP_REF_SEL_EXT_REF 0x0 #define AD7173_VOLTAGE_INT_REF_uV 2500000 #define AD7173_TEMP_SENSIIVITY_uV_per_C 477 +#define AD7177_ODR_START_VALUE 0x07 =20 #define AD7173_FILTER_ODR0_MASK GENMASK(5, 0) #define AD7173_MAX_CONFIGS 8 =20 enum ad7173_ids { ID_AD7172_2, + ID_AD7172_4, ID_AD7173_8, ID_AD7175_2, + ID_AD7175_8, ID_AD7176_2, + ID_AD7177_2, }; =20 struct ad7173_device_info { const unsigned int *sinc5_data_rates; unsigned int num_sinc5_data_rates; + unsigned int odr_start_value; unsigned int num_channels; unsigned int num_configs; unsigned int num_inputs; @@ -131,6 +145,8 @@ struct ad7173_device_info { unsigned int id; char *name; bool has_temp; + bool has_int_ref; + bool has_ref2; u8 num_gpios; }; =20 @@ -196,6 +212,19 @@ static const struct ad7173_device_info ad7173_device_i= nfo[] =3D { .num_configs =3D 4, .num_gpios =3D 2, .has_temp =3D true, + .has_int_ref =3D true, + .clock =3D 2 * HZ_PER_MHZ, + .sinc5_data_rates =3D ad7173_sinc5_data_rates, + .num_sinc5_data_rates =3D ARRAY_SIZE(ad7173_sinc5_data_rates), + }, + [ID_AD7172_4] =3D { + .id =3D AD7172_4_ID, + .num_inputs =3D 9, + .num_channels =3D 8, + .num_configs =3D 8, + .num_gpios =3D 4, + .has_temp =3D false, + .has_ref2 =3D true, .clock =3D 2 * HZ_PER_MHZ, .sinc5_data_rates =3D ad7173_sinc5_data_rates, .num_sinc5_data_rates =3D ARRAY_SIZE(ad7173_sinc5_data_rates), @@ -208,18 +237,34 @@ static const struct ad7173_device_info ad7173_device_= info[] =3D { .num_configs =3D 8, .num_gpios =3D 4, .has_temp =3D true, + .has_int_ref =3D true, + .has_ref2 =3D true, .clock =3D 2 * HZ_PER_MHZ, .sinc5_data_rates =3D ad7173_sinc5_data_rates, .num_sinc5_data_rates =3D ARRAY_SIZE(ad7173_sinc5_data_rates), }, [ID_AD7175_2] =3D { .name =3D "ad7175-2", - .id =3D AD7175_ID, + .id =3D AD7175_2_ID, .num_inputs =3D 5, .num_channels =3D 4, .num_configs =3D 4, .num_gpios =3D 2, .has_temp =3D true, + .has_int_ref =3D true, + .clock =3D 16 * HZ_PER_MHZ, + .sinc5_data_rates =3D ad7175_sinc5_data_rates, + .num_sinc5_data_rates =3D ARRAY_SIZE(ad7175_sinc5_data_rates), + }, + [ID_AD7175_8] =3D { + .id =3D AD7175_8_ID, + .num_inputs =3D 17, + .num_channels =3D 16, + .num_configs =3D 8, + .num_gpios =3D 4, + .has_temp =3D true, + .has_int_ref =3D true, + .has_ref2 =3D true, .clock =3D 16 * HZ_PER_MHZ, .sinc5_data_rates =3D ad7175_sinc5_data_rates, .num_sinc5_data_rates =3D ARRAY_SIZE(ad7175_sinc5_data_rates), @@ -232,7 +277,21 @@ static const struct ad7173_device_info ad7173_device_i= nfo[] =3D { .num_configs =3D 4, .num_gpios =3D 2, .has_temp =3D false, + .has_int_ref =3D true, + .clock =3D 16 * HZ_PER_MHZ, + .sinc5_data_rates =3D ad7175_sinc5_data_rates, + .num_sinc5_data_rates =3D ARRAY_SIZE(ad7175_sinc5_data_rates), + }, + [ID_AD7177_2] =3D { + .id =3D AD7177_ID, + .num_inputs =3D 5, + .num_channels =3D 4, + .num_configs =3D 4, + .num_gpios =3D 2, + .has_temp =3D true, + .has_int_ref =3D true, .clock =3D 16 * HZ_PER_MHZ, + .odr_start_value =3D AD7177_ODR_START_VALUE, .sinc5_data_rates =3D ad7175_sinc5_data_rates, .num_sinc5_data_rates =3D ARRAY_SIZE(ad7175_sinc5_data_rates), }, @@ -656,7 +715,7 @@ static int ad7173_write_raw(struct iio_dev *indio_dev, switch (info) { case IIO_CHAN_INFO_SAMP_FREQ: freq =3D val * MILLI + val2 / MILLI; - for (i =3D 0; i < st->info->num_sinc5_data_rates - 1; i++) + for (i =3D st->info->odr_start_value; i < st->info->num_sinc5_data_rates= - 1; i++) if (freq >=3D st->info->sinc5_data_rates[i]) break; =20 @@ -908,11 +967,17 @@ static int ad7173_fw_parse_channel_config(struct iio_= dev *indio_dev) else ref_sel =3D ret; =20 - if (ref_sel =3D=3D AD7173_SETUP_REF_SEL_EXT_REF2 && - st->info->id !=3D AD7173_ID) { + if (ref_sel =3D=3D AD7173_SETUP_REF_SEL_INT_REF && + !st->info->has_int_ref) { + fwnode_handle_put(child); + return dev_err_probe(dev, -EINVAL, + "Internal reference is not available on current model.\n"); + } + + if (ref_sel =3D=3D AD7173_SETUP_REF_SEL_EXT_REF2 && !st->info->has_ref2)= { fwnode_handle_put(child); return dev_err_probe(dev, -EINVAL, - "External reference 2 is only available on ad7173-8\n"); + "External reference 2 is not available on current model.\n"); } =20 ret =3D ad7173_get_ref_voltage_milli(st, ref_sel); @@ -1080,21 +1145,30 @@ static int ad7173_probe(struct spi_device *spi) static const struct of_device_id ad7173_of_match[] =3D { { .compatible =3D "adi,ad7172-2", .data =3D &ad7173_device_info[ID_AD7172_2]}, + { .compatible =3D "adi,ad7172-4", + .data =3D &ad7173_device_info[ID_AD7172_4]}, { .compatible =3D "adi,ad7173-8", .data =3D &ad7173_device_info[ID_AD7173_8]}, { .compatible =3D "adi,ad7175-2", .data =3D &ad7173_device_info[ID_AD7175_2]}, + { .compatible =3D "adi,ad7175-8", + .data =3D &ad7173_device_info[ID_AD7175_8]}, { .compatible =3D "adi,ad7176-2", .data =3D &ad7173_device_info[ID_AD7176_2]}, + { .compatible =3D "adi,ad7177-2", + .data =3D &ad7173_device_info[ID_AD7177_2]}, { } }; MODULE_DEVICE_TABLE(of, ad7173_of_match); =20 static const struct spi_device_id ad7173_id_table[] =3D { { "ad7172-2", (kernel_ulong_t)&ad7173_device_info[ID_AD7172_2]}, + { "ad7172-4", (kernel_ulong_t)&ad7173_device_info[ID_AD7172_4]}, { "ad7173-8", (kernel_ulong_t)&ad7173_device_info[ID_AD7173_8]}, { "ad7175-2", (kernel_ulong_t)&ad7173_device_info[ID_AD7175_2]}, + { "ad7175-8", (kernel_ulong_t)&ad7173_device_info[ID_AD7175_8]}, { "ad7176-2", (kernel_ulong_t)&ad7173_device_info[ID_AD7176_2]}, + { "ad7177-2", (kernel_ulong_t)&ad7173_device_info[ID_AD7177_2]}, { } }; MODULE_DEVICE_TABLE(spi, ad7173_id_table); --=20 2.43.0