[PATCH 2/2] iio: amplifiers: ad8366: add support for adrf5702/3
From: Rodrigo Alencar via B4 Relay
Date: Wed Mar 25 2026 - 07:21:06 EST
From: Rodrigo Alencar <rodrigo.alencar@xxxxxxxxxx>
Add chip info structs and device table entries for ADRF5702 and ADRF5703
Digital Step Attenuators.
Signed-off-by: Rodrigo Alencar <rodrigo.alencar@xxxxxxxxxx>
---
drivers/iio/amplifiers/Kconfig | 2 ++
drivers/iio/amplifiers/ad8366.c | 22 ++++++++++++++++++++++
2 files changed, 24 insertions(+)
diff --git a/drivers/iio/amplifiers/Kconfig b/drivers/iio/amplifiers/Kconfig
index 39d280d4d437..9e24421b5e97 100644
--- a/drivers/iio/amplifiers/Kconfig
+++ b/drivers/iio/amplifiers/Kconfig
@@ -18,6 +18,8 @@ config AD8366
AD8366 Dual-Digital Variable Gain Amplifier (VGA)
ADA4961 BiCMOS RF Digital Gain Amplifier (DGA)
ADL5240 Digitally controlled variable gain amplifier (VGA)
+ ADRF5702: 0.125 dB LSB, 8-Bit, Silicon Digital Attenuator
+ ADRF5703: 0.25 dB LSB, 7-Bit, Silicon Digital Attenuator
ADRF5720: 0.5 dB LSB, 6-Bit, Silicon Digital Attenuator
ADRF5730: 0.5 dB LSB, 6-Bit, Silicon Digital Attenuator
ADRF5731: 2 dB LSB, 4-Bit, Silicon Digital Attenuator
diff --git a/drivers/iio/amplifiers/ad8366.c b/drivers/iio/amplifiers/ad8366.c
index 334ca91c0f59..bbf41a1fb3a1 100644
--- a/drivers/iio/amplifiers/ad8366.c
+++ b/drivers/iio/amplifiers/ad8366.c
@@ -5,6 +5,8 @@
* AD8366 Dual-Digital Variable Gain Amplifier (VGA)
* ADA4961 BiCMOS RF Digital Gain Amplifier (DGA)
* ADL5240 Digitally controlled variable gain amplifier (VGA)
+ * ADRF5702: 0.125 dB LSB, 8-Bit, Silicon Digital Attenuator, 50 MHz to 20 GHz
+ * ADRF5703: 0.25 dB LSB, 7-Bit, Silicon Digital Attenuator, 9 kHz to 20 GHz
* ADRF5720: 0.5 dB LSB, 6-Bit, Silicon Digital Attenuator, 9 kHz to 40 GHz
* ADRF5730: 0.5 dB LSB, 6-Bit, Silicon Digital Attenuator, 100 MHz to 40 GHz
* ADRF5731: 2 dB LSB, 4-Bit, Silicon Digital Attenuator, 100 MHz to 40 GHz
@@ -106,6 +108,22 @@ static const struct ad8366_info adl5240_chip_info = {
.num_channels = 1,
};
+static const struct ad8366_info adrf5702_chip_info = {
+ .name = "adrf5702",
+ .gain_min = -31875,
+ .gain_max = 0,
+ .gain_step = -125,
+ .num_channels = 1,
+};
+
+static const struct ad8366_info adrf5703_chip_info = {
+ .name = "adrf5703",
+ .gain_min = -31750,
+ .gain_max = 0,
+ .gain_step = -250,
+ .num_channels = 1,
+};
+
static const struct ad8366_info adrf5720_chip_info = {
.name = "adrf5720",
.gain_min = -31500,
@@ -337,6 +355,8 @@ static const struct spi_device_id ad8366_id[] = {
{ "ad8366", (kernel_ulong_t)&ad8366_chip_info },
{ "ada4961", (kernel_ulong_t)&ada4961_chip_info },
{ "adl5240", (kernel_ulong_t)&adl5240_chip_info },
+ { "adrf5702", (kernel_ulong_t)&adrf5702_chip_info },
+ { "adrf5703", (kernel_ulong_t)&adrf5703_chip_info },
{ "adrf5720", (kernel_ulong_t)&adrf5720_chip_info },
{ "adrf5730", (kernel_ulong_t)&adrf5730_chip_info },
{ "adrf5731", (kernel_ulong_t)&adrf5731_chip_info },
@@ -353,6 +373,8 @@ static const struct of_device_id ad8366_of_match[] = {
{ .compatible = "adi,ad8366", .data = &ad8366_chip_info },
{ .compatible = "adi,ada4961", .data = &ada4961_chip_info },
{ .compatible = "adi,adl5240", .data = &adl5240_chip_info },
+ { .compatible = "adi,adrf5702", .data = &adrf5702_chip_info },
+ { .compatible = "adi,adrf5703", .data = &adrf5703_chip_info },
{ .compatible = "adi,adrf5720", .data = &adrf5720_chip_info },
{ .compatible = "adi,adrf5730", .data = &adrf5730_chip_info },
{ .compatible = "adi,adrf5731", .data = &adrf5731_chip_info },
--
2.43.0