From nobody Wed Dec 31 04:49:48 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D408C4167B for ; Tue, 7 Nov 2023 13:21:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234272AbjKGNVb (ORCPT ); Tue, 7 Nov 2023 08:21:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58538 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233854AbjKGNV3 (ORCPT ); Tue, 7 Nov 2023 08:21:29 -0500 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2D16A92; Tue, 7 Nov 2023 05:21:26 -0800 (PST) Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-32fe1a29010so322839f8f.0; Tue, 07 Nov 2023 05:21:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699363284; x=1699968084; 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=1zMcUQ5oITldkxRegFsqBj8xtWDt7+B3wBtpVFL99Co=; b=DwDV3Ab0gsz5l2l0M/2ssmYM0CnVfRBqG4g3k6E/sfmUz8mAzmLxXrXdpDNS39n/4z VmJ2WWzYgr8tlJ2/LlXmzmt7sbG48Pnd4YW1gltsxdoJ3Q05Cs8CRCXJYHmbiBjkEYp5 f/H3fZ/RsFCwRN/PDcgu6Q2LGsMW2Lpk/bX4cK8wJI+ZHfs2Ormt+NgE7kEUs55uzznu 3KhOTGZoCW31P+ygbqMAMxA/cajZTVWpQXp/OEaxst8+Zzs301bXmfLtYVt3Dg0kNgQr JaBH5HnCxFhl/Q4gO/I4Yw5p4BXt8yDye7IASFgL82iF9ru+BN4TRqEWDXR8T/hINX7t aQzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699363284; x=1699968084; 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=1zMcUQ5oITldkxRegFsqBj8xtWDt7+B3wBtpVFL99Co=; b=mG+LpG5H8o9pQniEMmTocuZfhsXNeaGXRltDNeq7xbWwgCP+X+ONQcic6zYmfhkBPi cSAvEAMn1BsL+O8UzQwWe+ElYK5xr/SXEFeDi2gjm4KBPmpzatS6txUZxeJBcrzoycCp dj/Dru8xmFEndc7iHFZhDnwd3QCzZRQwYJK2jsYIxTLeJ21u8KyHEgJtixTToJbP8R9h +qjOB0Sa2mHbptrOcbtxs86va8/QfjLACRAwStyDXpwoSn8xvqOJN/4Z3GA+yU4gK/m1 TuDirIVHTA1m+o0jUUvLdWwoGOMoPJ7oWPknbXFETgp54xpn999H4Dt8m9+MLJrYfC9O wMVA== X-Gm-Message-State: AOJu0YxBz6AGTWr62C3/SxeuBSVNKIEGGAUe9ka9Wyh2UHnSouXrqq5Z gwoXzqRI3UYETzTbP50lIk1DkC9G4hOQqg== X-Google-Smtp-Source: AGHT+IFaVIjf3OL02iUsNc5JgRLjdcRXbYO815eZygMMrNKlqC7H4Yop63gjC3oMbRUizYL7uz2D4g== X-Received: by 2002:a5d:6d0d:0:b0:32f:7d5a:87ab with SMTP id e13-20020a5d6d0d000000b0032f7d5a87abmr29029820wrq.53.1699363284493; Tue, 07 Nov 2023 05:21:24 -0800 (PST) Received: from ubuntu.. ([188.24.51.27]) by smtp.gmail.com with ESMTPSA id w7-20020a5d5447000000b0031980294e9fsm2356297wrv.116.2023.11.07.05.21.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Nov 2023 05:21:24 -0800 (PST) From: Ana-Maria Cusco To: Ana-Maria Cusco Cc: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] iio: amplifiers: hmc425a: add support for ADRF5740 Attenuator Date: Tue, 7 Nov 2023 15:21:16 +0200 Message-Id: <20231107132118.1165494-2-anamaria.cuscoo@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231107132118.1165494-1-anamaria.cuscoo@gmail.com> References: <20231107132118.1165494-1-anamaria.cuscoo@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Ana-Maria Cusco This adds support for the Analog Devices ADRF5740 2 dB LSB, 4-Bit, Silicon Digital Attenuator, 10 MHz to 60 GHz Signed-off-by: Ana-Maria Cusco Reviewed-by: Nuno Sa --- drivers/iio/amplifiers/hmc425a.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/drivers/iio/amplifiers/hmc425a.c b/drivers/iio/amplifiers/hmc4= 25a.c index e87d35d50a95..ed4d72922696 100644 --- a/drivers/iio/amplifiers/hmc425a.c +++ b/drivers/iio/amplifiers/hmc425a.c @@ -5,6 +5,7 @@ * Copyright 2020 Analog Devices Inc. */ =20 +#include #include #include #include @@ -22,6 +23,7 @@ enum hmc425a_type { ID_HMC425A, ID_HMC540S, + ID_ADRF5740 }; =20 struct hmc425a_chip_info { @@ -74,6 +76,10 @@ static int hmc425a_read_raw(struct iio_dev *indio_dev, case ID_HMC540S: gain =3D ~code * -1000; break; + case ID_ADRF5740: + code =3D code & BIT(3) ? code & ~BIT(2) : code; + gain =3D code * -2000; + break; } =20 *val =3D gain / 1000; @@ -113,6 +119,10 @@ static int hmc425a_write_raw(struct iio_dev *indio_dev, case ID_HMC540S: code =3D ~((abs(gain) / 1000) & 0xF); break; + case ID_ADRF5740: + code =3D (abs(gain) / 2000) & 0xF; + code =3D code & BIT(3) ? code | BIT(2) : code; + break; } =20 mutex_lock(&st->lock); @@ -165,6 +175,7 @@ static const struct iio_chan_spec hmc425a_channels[] = =3D { static const struct of_device_id hmc425a_of_match[] =3D { { .compatible =3D "adi,hmc425a", .data =3D (void *)ID_HMC425A }, { .compatible =3D "adi,hmc540s", .data =3D (void *)ID_HMC540S }, + { .compatible =3D "adi,adrf5740", .data =3D (void *)ID_ADRF5740 }, {}, }; MODULE_DEVICE_TABLE(of, hmc425a_of_match); @@ -188,6 +199,15 @@ static struct hmc425a_chip_info hmc425a_chip_info_tbl[= ] =3D { .gain_max =3D 0, .default_gain =3D -0x10, /* set default gain -15.0db*/ }, + [ID_ADRF5740] =3D { + .name =3D "adrf5740", + .channels =3D hmc425a_channels, + .num_channels =3D ARRAY_SIZE(hmc425a_channels), + .num_gpios =3D 4, + .gain_min =3D -22000, + .gain_max =3D 0, + .default_gain =3D 0xF, /* set default gain -22.0db*/ + }, }; =20 static int hmc425a_probe(struct platform_device *pdev) @@ -229,6 +249,9 @@ static int hmc425a_probe(struct platform_device *pdev) indio_dev->info =3D &hmc425a_info; indio_dev->modes =3D INDIO_DIRECT_MODE; =20 + /* Set default gain */ + hmc425a_write(indio_dev, st->gain); + return devm_iio_device_register(&pdev->dev, indio_dev); } =20 --=20 2.34.1 From nobody Wed Dec 31 04:49:48 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D584AC4167D for ; Tue, 7 Nov 2023 13:21:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234510AbjKGNVj (ORCPT ); Tue, 7 Nov 2023 08:21:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234295AbjKGNVd (ORCPT ); Tue, 7 Nov 2023 08:21:33 -0500 Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B047392; Tue, 7 Nov 2023 05:21:29 -0800 (PST) Received: by mail-lj1-x236.google.com with SMTP id 38308e7fff4ca-2c6b30acacdso75129801fa.2; Tue, 07 Nov 2023 05:21:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699363288; x=1699968088; 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=BkcBjw6N38nWpcH98Wo6zXUMJseV8oYDmiwD9ic+Q3E=; b=Op6DVYsYVEKONaN43KLwLRXzbj/crJXHppdrECTO6fqhkWB1HTryEqq09MyWbwvD8d 0eGjAkmKv3CKIoqjerRGAEN5us8I+LXG3OzLDdS+ooioaHjtvfdQx5g0b/67YCN93Y9Q 3JgWwyDT/knqch/Cgi/ARdWJpoSdKe+z7Bor+KZu8qb1R7sdaG6PEz63QzWcB9vgG+av O+TtXWOuXsf6MychZ7jVJ9d1R7mR0/a4ySqsf26XXsXAfSJtvSahuRv8W2gBt5KhouEA EmKvtW0Jfojrqr4W5er65J6m2FZV5T/4uWanARgU2FLnWUwOdefTl+IjBHUAzUNmhraq SwWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699363288; x=1699968088; 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=BkcBjw6N38nWpcH98Wo6zXUMJseV8oYDmiwD9ic+Q3E=; b=moCNFCITUxhDpcktlU+2cqz1dV2m+CO+44Ij8i1AyMhejYAurWC7bdwpLqyrlLP2JN Lxoyx/JfkenUpQ/4ZdhS9T9iFkp2WraEmHc86V4gCLhAyZFzD8pTC28PwybQXXcBKPt1 Voj8T7qR5ontIicpwzs7GHWNzT+2Z70sAS16oeLz85H0ZQUxDLfK//vcZqt4hIB0/B1d z8NvG4vQ+rJ/kSXkCqyne8COEn0KXcjW8wAgCfeoqPgSUkOIb6EXKO15XXBf8psMPiNP 2ipW9YJJB18bubAcBWxKHJshKfUO4p+O26GzZ1TsrisO8HOMhonRnJR6JsYxQLkmfx7V GX1A== X-Gm-Message-State: AOJu0YxV4Ufug9c+IAuwHCObfYf3/vq7KAF3zHX+BRcZhom8ES51MEp1 Z7EAsWr+kcGpcA1ns7BiSzI= X-Google-Smtp-Source: AGHT+IEcOjZaTG4bXioWPlfAx6mUeADkRgjRpoC0lFW8eh2uLucQV1GNPJ7VSo9vSVOe1GxwJ9/IpQ== X-Received: by 2002:a05:6512:10cd:b0:4f8:7513:8cac with SMTP id k13-20020a05651210cd00b004f875138cacmr30261458lfg.48.1699363287608; Tue, 07 Nov 2023 05:21:27 -0800 (PST) Received: from ubuntu.. ([188.24.51.27]) by smtp.gmail.com with ESMTPSA id w7-20020a5d5447000000b0031980294e9fsm2356297wrv.116.2023.11.07.05.21.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Nov 2023 05:21:27 -0800 (PST) From: Ana-Maria Cusco To: Ana-Maria Cusco Cc: Lars-Peter Clausen , Michael Hennerich , Jonathan Cameron , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] dt-bindings: iio: hmc425a: add entry for ADRF5740 Attenuator Date: Tue, 7 Nov 2023 15:21:17 +0200 Message-Id: <20231107132118.1165494-3-anamaria.cuscoo@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231107132118.1165494-1-anamaria.cuscoo@gmail.com> References: <20231107132118.1165494-1-anamaria.cuscoo@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Ana-Maria Cusco The ADRF5740 is a silicon, 4-bit digital attenuator with 22 dB attenuation control range in 2 dB steps. Signed-off-by: Ana-Maria Cusco Acked-by: Krzysztof Kozlowski --- .../devicetree/bindings/iio/amplifiers/adi,hmc425a.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/iio/amplifiers/adi,hmc425a.y= aml b/Documentation/devicetree/bindings/iio/amplifiers/adi,hmc425a.yaml index 2ee6080deac7..67de9d4e3a1d 100644 --- a/Documentation/devicetree/bindings/iio/amplifiers/adi,hmc425a.yaml +++ b/Documentation/devicetree/bindings/iio/amplifiers/adi,hmc425a.yaml @@ -12,6 +12,9 @@ maintainers: description: | Digital Step Attenuator IIO devices with gpio interface. Offer various frequency and attenuation ranges. + ADRF5750 2 dB LSB, 4-Bit, Silicon Digital Attenuator, 10 MHz to 60 GHz + https://www.analog.com/media/en/technical-documentation/data-sheets/ad= rf5740.pdf + HMC425A 0.5 dB LSB GaAs MMIC 6-BIT DIGITAL POSITIVE CONTROL ATTENUATOR, = 2.2 - 8.0 GHz https://www.analog.com/media/en/technical-documentation/data-sheets/hm= c425A.pdf =20 @@ -22,6 +25,7 @@ description: | properties: compatible: enum: + - adi,adrf5740 - adi,hmc425a - adi,hmc540s =20 --=20 2.34.1