* [PATCH v3 0/3] iio: amplifiers: add support for ADL8113 Low Noise Amplifier
@ 2025-11-14 11:57 Antoniu Miclaus
2025-11-14 11:57 ` [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113 Antoniu Miclaus
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Antoniu Miclaus @ 2025-11-14 11:57 UTC (permalink / raw)
To: jic23, robh, conor+dt, linux-iio, linux-kernel, devicetree
Cc: Antoniu Miclaus
This patch series adds support for the Analog Devices ADL8113, a 10MHz to 12GHz
Low Noise Amplifier with integrated bypass switches.
The ADL8113 provides four operation modes controlled by two GPIO pins:
- Internal Amplifier (14dB gain)
- Internal Bypass (0dB gain)
- External Bypass A (0dB gain) - Signal routes from RFIN to OUT_A and from IN_A to RFOUT
- External Bypass B (0dB gain) - Signal routes from RFIN to OUT_B and from IN_B to RFOUT
The external bypass modes enable external signal processing, conditioning, or filtering
while maintaining signal integrity through dedicated signal paths.
Changes in v3:
- Refactor driver architecture to separate gain mode and signal path controls
- Replace single "mode" attribute with separate "signal_path" and "hardwaregain" attributes
- Add write support for hardwaregain to enable switching between amplifier (14dB) and bypass (0dB) modes
- Automatically handle signal path constraints (external paths force bypass mode)
- Simplify device tree bindings by removing extra blank line
- Update ABI documentation to reflect the new signal_path attribute interface
- Add comprehensive validation for gain/path combinations
Antoniu Miclaus (3):
dt-bindings: iio: amplifiers: add adl8113
iio: amplifiers: adl8113: add driver support
Documentation: ABI: adl8113: add documentation
.../testing/sysfs-bus-iio-amplifiers-adl8113 | 30 +++
.../bindings/iio/amplifiers/adi,adl8113.yaml | 64 +++++
drivers/iio/amplifiers/Kconfig | 12 +
drivers/iio/amplifiers/Makefile | 1 +
drivers/iio/amplifiers/adl8113.c | 252 ++++++++++++++++++
5 files changed, 359 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
create mode 100644 Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml
create mode 100644 drivers/iio/amplifiers/adl8113.c
--
2.43.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113
2025-11-14 11:57 [PATCH v3 0/3] iio: amplifiers: add support for ADL8113 Low Noise Amplifier Antoniu Miclaus
@ 2025-11-14 11:57 ` Antoniu Miclaus
2025-11-17 19:22 ` Conor Dooley
2025-11-17 23:42 ` David Lechner
2025-11-14 11:57 ` [PATCH v3 2/3] iio: amplifiers: adl8113: add driver support Antoniu Miclaus
2025-11-14 11:57 ` [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation Antoniu Miclaus
2 siblings, 2 replies; 11+ messages in thread
From: Antoniu Miclaus @ 2025-11-14 11:57 UTC (permalink / raw)
To: jic23, robh, conor+dt, linux-iio, linux-kernel, devicetree
Cc: Antoniu Miclaus
Add devicetree bindings for adl8113.
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
---
Changes in v3:
- Remove extra blank line from YAML file for cleaner formatting
---
.../bindings/iio/amplifiers/adi,adl8113.yaml | 64 +++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml
diff --git a/Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml b/Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml
new file mode 100644
index 000000000000..0ad83a01ee37
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/amplifiers/adi,adl8113.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices ADL8113 Low Noise Amplifier with integrated bypass switches
+
+maintainers:
+ - Antoniu Miclaus <antoniu.miclaus@analog.com>
+
+description: |
+ The ADL8113 is a 10MHz to 12GHz Low Noise Amplifier with integrated bypass
+ switches controlled by two GPIO pins (VA and VB). The device supports four
+ operation modes:
+ - Internal Amplifier: VA=0, VB=0 - Signal passes through the internal LNA
+ - Internal Bypass: VA=1, VB=1 - Signal bypasses through internal path
+ - External Bypass A: VA=0, VB=1 - Signal routes from RFIN to OUT_A and from IN_A to RFOUT
+ - External Bypass B: VA=1, VB=0 - Signal routes from RFIN to OUT_B and from IN_B to RFOUT
+
+ https://www.analog.com/en/products/adl8113.html
+
+properties:
+ compatible:
+ const: adi,adl8113
+
+ vdd1-supply: true
+
+ vdd2-supply: true
+
+ vss2-supply: true
+
+ va-gpios:
+ description:
+ GPIO connected to the VA control pin. Must be specified as GPIO_ACTIVE_HIGH.
+ maxItems: 1
+
+ vb-gpios:
+ description:
+ GPIO connected to the VB control pin. Must be specified as GPIO_ACTIVE_HIGH.
+ maxItems: 1
+
+required:
+ - compatible
+ - va-gpios
+ - vb-gpios
+ - vdd1-supply
+ - vdd2-supply
+ - vss2-supply
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ amplifier {
+ compatible = "adi,adl8113";
+ va-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
+ vb-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
+ vdd1-supply = <&vdd1_5v>;
+ vdd2-supply = <&vdd2_3v3>;
+ vss2-supply = <&vss2_neg>;
+ };
+...
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 2/3] iio: amplifiers: adl8113: add driver support
2025-11-14 11:57 [PATCH v3 0/3] iio: amplifiers: add support for ADL8113 Low Noise Amplifier Antoniu Miclaus
2025-11-14 11:57 ` [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113 Antoniu Miclaus
@ 2025-11-14 11:57 ` Antoniu Miclaus
2025-11-16 15:38 ` Jonathan Cameron
2025-11-14 11:57 ` [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation Antoniu Miclaus
2 siblings, 1 reply; 11+ messages in thread
From: Antoniu Miclaus @ 2025-11-14 11:57 UTC (permalink / raw)
To: jic23, robh, conor+dt, linux-iio, linux-kernel, devicetree
Cc: Antoniu Miclaus
Add support for adl8113 10MHz to 12GHz Low Noise Amplifier with
10MHz to 14GHz bypass switches.
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
---
Changes in v3:
- Major architecture refactor: separate gain mode and signal path controls
- Replace single "mode" enum with separate gain_mode and signal_path enums
- Add write_raw support for IIO_CHAN_INFO_HARDWAREGAIN to control amplifier (14dB) vs bypass (0dB)
- Replace mode attribute with signal_path attribute for controlling routing
- Automatically enforce constraints: external paths require bypass mode
- Remove linux/iio/sysfs.h include (no longer needed)
- Add comprehensive GPIO state validation in adl8113_update_gpio()
- Enhance error handling with proper -EINVAL returns for invalid combinations
---
drivers/iio/amplifiers/Kconfig | 12 ++
drivers/iio/amplifiers/Makefile | 1 +
drivers/iio/amplifiers/adl8113.c | 252 +++++++++++++++++++++++++++++++
3 files changed, 265 insertions(+)
create mode 100644 drivers/iio/amplifiers/adl8113.c
diff --git a/drivers/iio/amplifiers/Kconfig b/drivers/iio/amplifiers/Kconfig
index 55eb16b32f6c..a8a604863eed 100644
--- a/drivers/iio/amplifiers/Kconfig
+++ b/drivers/iio/amplifiers/Kconfig
@@ -36,6 +36,18 @@ config ADA4250
To compile this driver as a module, choose M here: the
module will be called ada4250.
+config ADL8113
+ tristate "Analog Devices ADL8113 Low Noise Amplifier"
+ depends on GPIOLIB
+ help
+ Say yes here to build support for Analog Devices ADL8113 Low Noise
+ Amplifier with integrated bypass switches. The device supports four
+ operation modes controlled by GPIO pins: internal amplifier,
+ internal bypass, and two external bypass modes.
+
+ To compile this driver as a module, choose M here: the
+ module will be called adl8113.
+
config HMC425
tristate "Analog Devices HMC425A and similar GPIO Gain Amplifiers"
depends on GPIOLIB
diff --git a/drivers/iio/amplifiers/Makefile b/drivers/iio/amplifiers/Makefile
index 2126331129cf..0a76443be1aa 100644
--- a/drivers/iio/amplifiers/Makefile
+++ b/drivers/iio/amplifiers/Makefile
@@ -6,4 +6,5 @@
# When adding new entries keep the list in alphabetical order
obj-$(CONFIG_AD8366) += ad8366.o
obj-$(CONFIG_ADA4250) += ada4250.o
+obj-$(CONFIG_ADL8113) += adl8113.o
obj-$(CONFIG_HMC425) += hmc425a.o
diff --git a/drivers/iio/amplifiers/adl8113.c b/drivers/iio/amplifiers/adl8113.c
new file mode 100644
index 000000000000..155291f4ec89
--- /dev/null
+++ b/drivers/iio/amplifiers/adl8113.c
@@ -0,0 +1,252 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * ADL8113 Low Noise Amplifier with integrated bypass switches
+ *
+ * Copyright 2025 Analog Devices Inc.
+ */
+
+#include <linux/array_size.h>
+#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/gpio/consumer.h>
+#include <linux/iio/iio.h>
+#include <linux/mod_devicetable.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/property.h>
+#include <linux/regulator/consumer.h>
+#include <linux/slab.h>
+#include <linux/sysfs.h>
+
+enum adl8113_gain_mode {
+ ADL8113_AMPLIFIER,
+ ADL8113_BYPASS,
+};
+
+enum adl8113_signal_path {
+ ADL8113_INTERNAL,
+ ADL8113_EXTERNAL_A,
+ ADL8113_EXTERNAL_B,
+};
+
+struct adl8113_state {
+ struct gpio_desc *gpio_va;
+ struct gpio_desc *gpio_vb;
+ enum adl8113_gain_mode gain_mode;
+ enum adl8113_signal_path signal_path;
+};
+
+static const char * const adl8113_supply_names[] = {
+ "vdd1",
+ "vdd2",
+ "vss2"
+};
+
+static const char * const adl8113_signal_path_names[] = {
+ [ADL8113_INTERNAL] = "internal",
+ [ADL8113_EXTERNAL_A] = "external_a",
+ [ADL8113_EXTERNAL_B] = "external_b",
+};
+
+static int adl8113_update_gpio(struct adl8113_state *st)
+{
+ int va, vb;
+
+ /* Determine GPIO values based on gain mode and signal path */
+ switch (st->gain_mode) {
+ case ADL8113_AMPLIFIER:
+ if (st->signal_path != ADL8113_INTERNAL)
+ return -EINVAL;
+ va = 0; vb = 0; /* Internal amplifier */
+ break;
+ case ADL8113_BYPASS:
+ switch (st->signal_path) {
+ case ADL8113_INTERNAL:
+ va = 1; vb = 1; /* Internal bypass */
+ break;
+ case ADL8113_EXTERNAL_A:
+ va = 0; vb = 1; /* External bypass A */
+ break;
+ case ADL8113_EXTERNAL_B:
+ va = 1; vb = 0; /* External bypass B */
+ break;
+ default:
+ return -EINVAL;
+ }
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ gpiod_set_value(st->gpio_va, va);
+ gpiod_set_value(st->gpio_vb, vb);
+ return 0;
+}
+
+static int adl8113_get_signal_path(struct iio_dev *indio_dev,
+ const struct iio_chan_spec *chan)
+{
+ struct adl8113_state *st = iio_priv(indio_dev);
+
+ return st->signal_path;
+}
+
+static int adl8113_set_signal_path(struct iio_dev *indio_dev,
+ const struct iio_chan_spec *chan,
+ unsigned int path)
+{
+ struct adl8113_state *st = iio_priv(indio_dev);
+
+ if (path >= ARRAY_SIZE(adl8113_signal_path_names))
+ return -EINVAL;
+
+ /* External paths require bypass mode, so switch to it automatically */
+ if (path != ADL8113_INTERNAL)
+ st->gain_mode = ADL8113_BYPASS;
+
+ st->signal_path = path;
+ return adl8113_update_gpio(st);
+}
+
+static const struct iio_enum adl8113_signal_path_enum = {
+ .items = adl8113_signal_path_names,
+ .num_items = ARRAY_SIZE(adl8113_signal_path_names),
+ .get = adl8113_get_signal_path,
+ .set = adl8113_set_signal_path,
+};
+
+static const struct iio_chan_spec_ext_info adl8113_ext_info[] = {
+ IIO_ENUM("signal_path", IIO_SHARED_BY_ALL, &adl8113_signal_path_enum),
+ IIO_ENUM_AVAILABLE("signal_path", IIO_SHARED_BY_ALL,
+ &adl8113_signal_path_enum),
+ { },
+};
+
+static const struct iio_chan_spec adl8113_channels[] = {
+ {
+ .type = IIO_VOLTAGE,
+ .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_HARDWAREGAIN),
+ .indexed = 1,
+ .channel = 0,
+ .ext_info = adl8113_ext_info,
+ },
+};
+
+static int adl8113_read_raw(struct iio_dev *indio_dev,
+ struct iio_chan_spec const *chan,
+ int *val, int *val2, long mask)
+{
+ struct adl8113_state *st = iio_priv(indio_dev);
+
+ switch (mask) {
+ case IIO_CHAN_INFO_HARDWAREGAIN:
+ if (st->gain_mode == ADL8113_AMPLIFIER) {
+ /* Amplifier mode: 14dB gain */
+ *val = 14;
+ *val2 = 0;
+ return IIO_VAL_INT_PLUS_MICRO_DB;
+ }
+
+ /* Bypass mode: 0dB gain */
+ *val = 0;
+ *val2 = 0;
+ return IIO_VAL_INT_PLUS_MICRO_DB;
+ default:
+ return -EINVAL;
+ }
+}
+
+static int adl8113_write_raw(struct iio_dev *indio_dev,
+ struct iio_chan_spec const *chan,
+ int val, int val2, long mask)
+{
+ struct adl8113_state *st = iio_priv(indio_dev);
+
+ switch (mask) {
+ case IIO_CHAN_INFO_HARDWAREGAIN:
+ /* Accept dB values: 0dB (bypass) or 14dB (amplifier) */
+ if (val == 0 && val2 == 0) {
+ st->gain_mode = ADL8113_BYPASS;
+ } else if (val == 14 && val2 == 0) {
+ st->gain_mode = ADL8113_AMPLIFIER;
+ /* Force internal path for amplifier mode */
+ st->signal_path = ADL8113_INTERNAL;
+ } else {
+ return -EINVAL;
+ }
+ return adl8113_update_gpio(st);
+ default:
+ return -EINVAL;
+ }
+}
+
+static const struct iio_info adl8113_info = {
+ .read_raw = adl8113_read_raw,
+ .write_raw = adl8113_write_raw,
+};
+
+static int adl8113_probe(struct platform_device *pdev)
+{
+ struct device *dev = &pdev->dev;
+ struct adl8113_state *st;
+ struct iio_dev *indio_dev;
+ int ret;
+
+ indio_dev = devm_iio_device_alloc(dev, sizeof(*st));
+ if (!indio_dev)
+ return -ENOMEM;
+
+ st = iio_priv(indio_dev);
+
+ st->gpio_va = devm_gpiod_get(dev, "va", GPIOD_OUT_LOW);
+ if (IS_ERR(st->gpio_va))
+ return dev_err_probe(dev, PTR_ERR(st->gpio_va),
+ "failed to get VA GPIO\n");
+
+ st->gpio_vb = devm_gpiod_get(dev, "vb", GPIOD_OUT_LOW);
+ if (IS_ERR(st->gpio_vb))
+ return dev_err_probe(dev, PTR_ERR(st->gpio_vb),
+ "failed to get VB GPIO\n");
+
+ ret = devm_regulator_bulk_get_enable(dev,
+ ARRAY_SIZE(adl8113_supply_names),
+ adl8113_supply_names);
+ if (ret)
+ return dev_err_probe(dev, ret,
+ "failed to get and enable supplies\n");
+
+ /* Initialize to amplifier mode with internal path */
+ st->gain_mode = ADL8113_AMPLIFIER;
+ st->signal_path = ADL8113_INTERNAL;
+ ret = adl8113_update_gpio(st);
+ if (ret)
+ return ret;
+
+ indio_dev->info = &adl8113_info;
+ indio_dev->name = "adl8113";
+ indio_dev->channels = adl8113_channels;
+ indio_dev->num_channels = ARRAY_SIZE(adl8113_channels);
+ indio_dev->modes = INDIO_DIRECT_MODE;
+
+ return devm_iio_device_register(dev, indio_dev);
+}
+
+static const struct of_device_id adl8113_of_match[] = {
+ { .compatible = "adi,adl8113" },
+ { }
+};
+MODULE_DEVICE_TABLE(of, adl8113_of_match);
+
+static struct platform_driver adl8113_driver = {
+ .driver = {
+ .name = "adl8113",
+ .of_match_table = adl8113_of_match,
+ },
+ .probe = adl8113_probe,
+};
+
+module_platform_driver(adl8113_driver);
+
+MODULE_AUTHOR("Antoniu Miclaus <antoniu.miclaus@analog.com>");
+MODULE_DESCRIPTION("Analog Devices ADL8113 Low Noise Amplifier");
+MODULE_LICENSE("GPL");
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation
2025-11-14 11:57 [PATCH v3 0/3] iio: amplifiers: add support for ADL8113 Low Noise Amplifier Antoniu Miclaus
2025-11-14 11:57 ` [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113 Antoniu Miclaus
2025-11-14 11:57 ` [PATCH v3 2/3] iio: amplifiers: adl8113: add driver support Antoniu Miclaus
@ 2025-11-14 11:57 ` Antoniu Miclaus
2025-11-16 15:50 ` Jonathan Cameron
2 siblings, 1 reply; 11+ messages in thread
From: Antoniu Miclaus @ 2025-11-14 11:57 UTC (permalink / raw)
To: jic23, robh, conor+dt, linux-iio, linux-kernel, devicetree
Cc: Antoniu Miclaus
Add ABI documentation for the ADL8113 Low Noise Amplifier,
covering the 4 pin-selectable operating modes.
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
---
Changes in v3:
- Replace "mode" attribute documentation with "signal_path" attribute
- Update descriptions to reflect separation of gain control (hardwaregain) and path control (signal_path)
- Add explanation of automatic bypass mode switching when selecting external paths
- Update attribute names from mode/mode_available to signal_path/signal_path_available
- Clarify that external paths enable connection of external components for filtering or amplification
---
.../testing/sysfs-bus-iio-amplifiers-adl8113 | 30 +++++++++++++++++++
1 file changed, 30 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113 b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
new file mode 100644
index 000000000000..31fb1e6e80fc
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
@@ -0,0 +1,30 @@
+What: /sys/bus/iio/devices/iio:deviceX/signal_path
+Date: January 2025
+KernelVersion: 6.14
+Contact: linux-iio@vger.kernel.org
+Description:
+ This attribute controls the signal routing path for the ADL8113
+ Low Noise Amplifier. The supported signal paths are:
+
+ * internal - Signal passes through internal path. Can be used with
+ either amplifier mode (14dB gain) or bypass mode (0dB gain).
+
+ * external_a - Signal routes from RFIN to OUT_A and from IN_A to RFOUT
+ (VA=0, VB=1). External components can be connected for filtering or
+ additional amplification. Automatically switches to bypass mode (0dB).
+
+ * external_b - Signal routes from RFIN to OUT_B and from IN_B to RFOUT
+ (VA=1, VB=0). External components can be connected for filtering or
+ additional amplification. Automatically switches to bypass mode (0dB).
+
+ Note: Selecting an external path automatically sets the hardware gain
+ to 0dB (bypass mode) since external paths require bypass operation.
+
+What: /sys/bus/iio/devices/iio:deviceX/signal_path_available
+Date: January 2025
+KernelVersion: 6.14
+Contact: linux-iio@vger.kernel.org
+Description:
+ Reading this attribute returns a space-separated list of all
+ available signal paths for the ADL8113 device. The available paths
+ may depend on the current gain mode (hardwaregain setting).
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v3 2/3] iio: amplifiers: adl8113: add driver support
2025-11-14 11:57 ` [PATCH v3 2/3] iio: amplifiers: adl8113: add driver support Antoniu Miclaus
@ 2025-11-16 15:38 ` Jonathan Cameron
0 siblings, 0 replies; 11+ messages in thread
From: Jonathan Cameron @ 2025-11-16 15:38 UTC (permalink / raw)
To: Antoniu Miclaus; +Cc: robh, conor+dt, linux-iio, linux-kernel, devicetree
On Fri, 14 Nov 2025 11:57:24 +0000
Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:
> Add support for adl8113 10MHz to 12GHz Low Noise Amplifier with
> 10MHz to 14GHz bypass switches.
>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Hi Antoniu
A few really minor things inline that are in the category of
things I'd just tidy up whilst applying.
However, I want to know more about real usecases. Probably best
place to discuss those is wrt to patch 3 so I'll reply to that.
> diff --git a/drivers/iio/amplifiers/adl8113.c b/drivers/iio/amplifiers/adl8113.c
> new file mode 100644
> index 000000000000..155291f4ec89
> --- /dev/null
> +++ b/drivers/iio/amplifiers/adl8113.c
> @@ -0,0 +1,252 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * ADL8113 Low Noise Amplifier with integrated bypass switches
> + *
> + * Copyright 2025 Analog Devices Inc.
> + */
> +
> +#include <linux/array_size.h>
> +#include <linux/device.h>
> +#include <linux/err.h>
> +#include <linux/gpio/consumer.h>
> +#include <linux/iio/iio.h>
> +#include <linux/mod_devicetable.h>
> +#include <linux/module.h>
> +#include <linux/platform_device.h>
> +#include <linux/property.h>
> +#include <linux/regulator/consumer.h>
> +#include <linux/slab.h>
> +#include <linux/sysfs.h>
Is this used?
> +static const char * const adl8113_supply_names[] = {
> + "vdd1",
> + "vdd2",
> + "vss2"
This one should have a trailing comma because maybe we'll have
another supply at some future point. At very least it's not obvious
from code alone that we never will so convention is to have that comma.
> +};
> +
> +static const struct iio_chan_spec_ext_info adl8113_ext_info[] = {
> + IIO_ENUM("signal_path", IIO_SHARED_BY_ALL, &adl8113_signal_path_enum),
> + IIO_ENUM_AVAILABLE("signal_path", IIO_SHARED_BY_ALL,
> + &adl8113_signal_path_enum),
> + { },
Trivial but no trailing comma given nothing can come after this.
> +};
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation
2025-11-14 11:57 ` [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation Antoniu Miclaus
@ 2025-11-16 15:50 ` Jonathan Cameron
2025-11-17 23:59 ` David Lechner
2025-11-19 9:09 ` Miclaus, Antoniu
0 siblings, 2 replies; 11+ messages in thread
From: Jonathan Cameron @ 2025-11-16 15:50 UTC (permalink / raw)
To: Antoniu Miclaus
Cc: robh, conor+dt, linux-iio, linux-kernel, devicetree,
David Lechner, Nuno Sá, Andy Shevchenko
On Fri, 14 Nov 2025 11:57:25 +0000
Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:
> Add ABI documentation for the ADL8113 Low Noise Amplifier,
> covering the 4 pin-selectable operating modes.
>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
+CC all the IIO subsystem reviewers as I'm not sure how to handle
what this device does, and would like some more opinions.
Anyone who has expertise or design experience with this sort
of amplifier with external bypass path: how are these actually used?
The development board seems to just be suited to measurement of
device characteristics, not representative of a design using it.
> ---
>
> Changes in v3:
> - Replace "mode" attribute documentation with "signal_path" attribute
> - Update descriptions to reflect separation of gain control (hardwaregain) and path control (signal_path)
> - Add explanation of automatic bypass mode switching when selecting external paths
> - Update attribute names from mode/mode_available to signal_path/signal_path_available
> - Clarify that external paths enable connection of external components for filtering or amplification
> ---
> .../testing/sysfs-bus-iio-amplifiers-adl8113 | 30 +++++++++++++++++++
> 1 file changed, 30 insertions(+)
> create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113 b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> new file mode 100644
> index 000000000000..31fb1e6e80fc
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> @@ -0,0 +1,30 @@
> +What: /sys/bus/iio/devices/iio:deviceX/signal_path
> +Date: January 2025
> +KernelVersion: 6.14
> +Contact: linux-iio@vger.kernel.org
> +Description:
> + This attribute controls the signal routing path for the ADL8113
> + Low Noise Amplifier. The supported signal paths are:
> +
> + * internal - Signal passes through internal path. Can be used with
> + either amplifier mode (14dB gain) or bypass mode (0dB gain).
> +
> + * external_a - Signal routes from RFIN to OUT_A and from IN_A to RFOUT
> + (VA=0, VB=1). External components can be connected for filtering or
> + additional amplification. Automatically switches to bypass mode (0dB).
> +
> + * external_b - Signal routes from RFIN to OUT_B and from IN_B to RFOUT
> + (VA=1, VB=0). External components can be connected for filtering or
> + additional amplification. Automatically switches to bypass mode (0dB).
I'm still not sure how to handle these external paths. The one thing they won't be
is truly zero gain (because that would be pointless given the internal bypass path does that).
So how are these used in practice?
Do we need to figure out how to describe the real characteristics of those paths?
All I could find is a brief reference in
https://www.analog.com/en/resources/app-notes/an-2622.html
to high dynamic range receiver applications. So with that as only breadcrumb my
guess would be that they almost always have additional applifiers on those paths
and we should figure out how to describe the aggregate device.
A stop gap might be to merge the driver without this support till we figure out
how to do it.
Jonathan
> +
> + Note: Selecting an external path automatically sets the hardware gain
> + to 0dB (bypass mode) since external paths require bypass operation.
> +
> +What: /sys/bus/iio/devices/iio:deviceX/signal_path_available
> +Date: January 2025
> +KernelVersion: 6.14
> +Contact: linux-iio@vger.kernel.org
> +Description:
> + Reading this attribute returns a space-separated list of all
> + available signal paths for the ADL8113 device. The available paths
> + may depend on the current gain mode (hardwaregain setting).
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113
2025-11-14 11:57 ` [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113 Antoniu Miclaus
@ 2025-11-17 19:22 ` Conor Dooley
2025-11-17 23:42 ` David Lechner
1 sibling, 0 replies; 11+ messages in thread
From: Conor Dooley @ 2025-11-17 19:22 UTC (permalink / raw)
To: Antoniu Miclaus
Cc: jic23, robh, conor+dt, linux-iio, linux-kernel, devicetree
[-- Attachment #1: Type: text/plain, Size: 351 bytes --]
On Fri, Nov 14, 2025 at 11:57:23AM +0000, Antoniu Miclaus wrote:
> Add devicetree bindings for adl8113.
>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> ---
>
> Changes in v3:
> - Remove extra blank line from YAML file for cleaner formatting
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113
2025-11-14 11:57 ` [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113 Antoniu Miclaus
2025-11-17 19:22 ` Conor Dooley
@ 2025-11-17 23:42 ` David Lechner
1 sibling, 0 replies; 11+ messages in thread
From: David Lechner @ 2025-11-17 23:42 UTC (permalink / raw)
To: Antoniu Miclaus, jic23, robh, conor+dt, linux-iio, linux-kernel,
devicetree
On 11/14/25 5:57 AM, Antoniu Miclaus wrote:
> Add devicetree bindings for adl8113.
>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> ---
>
> Changes in v3:
> - Remove extra blank line from YAML file for cleaner formatting
> ---
> .../bindings/iio/amplifiers/adi,adl8113.yaml | 64 +++++++++++++++++++
> 1 file changed, 64 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml b/Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml
> new file mode 100644
> index 000000000000..0ad83a01ee37
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/amplifiers/adi,adl8113.yaml
> @@ -0,0 +1,64 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/amplifiers/adi,adl8113.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices ADL8113 Low Noise Amplifier with integrated bypass switches
> +
> +maintainers:
> + - Antoniu Miclaus <antoniu.miclaus@analog.com>
> +
> +description: |
> + The ADL8113 is a 10MHz to 12GHz Low Noise Amplifier with integrated bypass
> + switches controlled by two GPIO pins (VA and VB). The device supports four
> + operation modes:
> + - Internal Amplifier: VA=0, VB=0 - Signal passes through the internal LNA
> + - Internal Bypass: VA=1, VB=1 - Signal bypasses through internal path
> + - External Bypass A: VA=0, VB=1 - Signal routes from RFIN to OUT_A and from IN_A to RFOUT
> + - External Bypass B: VA=1, VB=0 - Signal routes from RFIN to OUT_B and from IN_B to RFOUT
> +
> + https://www.analog.com/en/products/adl8113.html
> +
> +properties:
> + compatible:
> + const: adi,adl8113
> +
> + vdd1-supply: true
> +
> + vdd2-supply: true
> +
> + vss2-supply: true
> +
> + va-gpios:
> + description:
> + GPIO connected to the VA control pin. Must be specified as GPIO_ACTIVE_HIGH.
> + maxItems: 1
> +
> + vb-gpios:
> + description:
> + GPIO connected to the VB control pin. Must be specified as GPIO_ACTIVE_HIGH.
> + maxItems: 1
Could make things simpler to make a single property and use it as
a gpio array. I would call it switch-gpios.
> +
> +required:
> + - compatible
> + - va-gpios
> + - vb-gpios
> + - vdd1-supply
> + - vdd2-supply
> + - vss2-supply
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + amplifier {
> + compatible = "adi,adl8113";
> + va-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> + vb-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
Seems like we would also want some binding to describe what is
connected to each of the bypasses. Maybe io-channels that link
to other amplifier channels?
> + vdd1-supply = <&vdd1_5v>;
> + vdd2-supply = <&vdd2_3v3>;
> + vss2-supply = <&vss2_neg>;
> + };
> +...
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation
2025-11-16 15:50 ` Jonathan Cameron
@ 2025-11-17 23:59 ` David Lechner
2025-11-18 8:08 ` Nuno Sá
2025-11-19 9:09 ` Miclaus, Antoniu
1 sibling, 1 reply; 11+ messages in thread
From: David Lechner @ 2025-11-17 23:59 UTC (permalink / raw)
To: Jonathan Cameron, Antoniu Miclaus
Cc: robh, conor+dt, linux-iio, linux-kernel, devicetree, Nuno Sá,
Andy Shevchenko
On 11/16/25 9:50 AM, Jonathan Cameron wrote:
> On Fri, 14 Nov 2025 11:57:25 +0000
> Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:
>
>> Add ABI documentation for the ADL8113 Low Noise Amplifier,
>> covering the 4 pin-selectable operating modes.
>>
>> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> +CC all the IIO subsystem reviewers as I'm not sure how to handle
> what this device does, and would like some more opinions.
>
> Anyone who has expertise or design experience with this sort
> of amplifier with external bypass path: how are these actually used?
>
> The development board seems to just be suited to measurement of
> device characteristics, not representative of a design using it.
>
>> ---
>>
>> Changes in v3:
>> - Replace "mode" attribute documentation with "signal_path" attribute
>> - Update descriptions to reflect separation of gain control (hardwaregain) and path control (signal_path)
>> - Add explanation of automatic bypass mode switching when selecting external paths
>> - Update attribute names from mode/mode_available to signal_path/signal_path_available
>> - Clarify that external paths enable connection of external components for filtering or amplification
>> ---
>> .../testing/sysfs-bus-iio-amplifiers-adl8113 | 30 +++++++++++++++++++
>> 1 file changed, 30 insertions(+)
>> create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
>>
>> diff --git a/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113 b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
>> new file mode 100644
>> index 000000000000..31fb1e6e80fc
>> --- /dev/null
>> +++ b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
>> @@ -0,0 +1,30 @@
>> +What: /sys/bus/iio/devices/iio:deviceX/signal_path
>> +Date: January 2025
>> +KernelVersion: 6.14
>> +Contact: linux-iio@vger.kernel.org
>> +Description:
>> + This attribute controls the signal routing path for the ADL8113
>> + Low Noise Amplifier. The supported signal paths are:
>> +
>> + * internal - Signal passes through internal path. Can be used with
>> + either amplifier mode (14dB gain) or bypass mode (0dB gain).
>> +
>> + * external_a - Signal routes from RFIN to OUT_A and from IN_A to RFOUT
>> + (VA=0, VB=1). External components can be connected for filtering or
>> + additional amplification. Automatically switches to bypass mode (0dB).
>> +
>> + * external_b - Signal routes from RFIN to OUT_B and from IN_B to RFOUT
>> + (VA=1, VB=0). External components can be connected for filtering or
>> + additional amplification. Automatically switches to bypass mode (0dB).
>
> I'm still not sure how to handle these external paths. The one thing they won't be
> is truly zero gain (because that would be pointless given the internal bypass path does that).
>
> So how are these used in practice?
Afraid I don't have any experience with this. But I would assume that the two external
bypasses each have another amplifier (or attenuator) connected to them.
>
> Do we need to figure out how to describe the real characteristics of those paths?
It sounds like this is just a multiplexer. So a few ideas:
1. We could handle this like iio-mux.c and have 4 channels and just restrict use
to one channel at a time. Not exactly sure how we would do that. Perhaps an
enable attribute that is interlocked so that it will fail to enable if another
channel is already enabled? In this case, the devicetree would need to have an
io-channels property to get the two bypass amplifier channels and basically pass
them through.
2. Have the devicetree specify the gain of the two external bypass amplifiers
so that we can use the hardwaregain attribute to select between the 4 mux
positions without needing a custom attribute. This works as long as none
of the amplifiers have the same gain.
I'm envisioning this would be e.g. part of a range selection on some sort of
test equipment. In that case, option 2 seems the right way to go about it.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation
2025-11-17 23:59 ` David Lechner
@ 2025-11-18 8:08 ` Nuno Sá
0 siblings, 0 replies; 11+ messages in thread
From: Nuno Sá @ 2025-11-18 8:08 UTC (permalink / raw)
To: David Lechner, Jonathan Cameron, Antoniu Miclaus
Cc: robh, conor+dt, linux-iio, linux-kernel, devicetree, Nuno Sá,
Andy Shevchenko
On Mon, 2025-11-17 at 17:59 -0600, David Lechner wrote:
> On 11/16/25 9:50 AM, Jonathan Cameron wrote:
> > On Fri, 14 Nov 2025 11:57:25 +0000
> > Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:
> >
> > > Add ABI documentation for the ADL8113 Low Noise Amplifier,
> > > covering the 4 pin-selectable operating modes.
> > >
> > > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> > +CC all the IIO subsystem reviewers as I'm not sure how to handle
> > what this device does, and would like some more opinions.
> >
> > Anyone who has expertise or design experience with this sort
> > of amplifier with external bypass path: how are these actually used?
> >
> > The development board seems to just be suited to measurement of
> > device characteristics, not representative of a design using it.
> >
> > > ---
> > >
> > > Changes in v3:
> > > - Replace "mode" attribute documentation with "signal_path" attribute
> > > - Update descriptions to reflect separation of gain control (hardwaregain) and
> > > path control (signal_path)
> > > - Add explanation of automatic bypass mode switching when selecting external
> > > paths
> > > - Update attribute names from mode/mode_available to
> > > signal_path/signal_path_available
> > > - Clarify that external paths enable connection of external components for
> > > filtering or amplification
> > > ---
> > > .../testing/sysfs-bus-iio-amplifiers-adl8113 | 30 +++++++++++++++++++
> > > 1 file changed, 30 insertions(+)
> > > create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> > >
> > > diff --git a/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> > > b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> > > new file mode 100644
> > > index 000000000000..31fb1e6e80fc
> > > --- /dev/null
> > > +++ b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> > > @@ -0,0 +1,30 @@
> > > +What: /sys/bus/iio/devices/iio:deviceX/signal_path
> > > +Date: January 2025
> > > +KernelVersion: 6.14
> > > +Contact: linux-iio@vger.kernel.org
> > > +Description:
> > > + This attribute controls the signal routing path for the
> > > ADL8113
> > > + Low Noise Amplifier. The supported signal paths are:
> > > +
> > > + * internal - Signal passes through internal path. Can be used
> > > with
> > > + either amplifier mode (14dB gain) or bypass mode (0dB gain).
> > > +
> > > + * external_a - Signal routes from RFIN to OUT_A and from IN_A
> > > to RFOUT
> > > + (VA=0, VB=1). External components can be connected for
> > > filtering or
> > > + additional amplification. Automatically switches to bypass
> > > mode (0dB).
> > > +
> > > + * external_b - Signal routes from RFIN to OUT_B and from IN_B
> > > to RFOUT
> > > + (VA=1, VB=0). External components can be connected for
> > > filtering or
> > > + additional amplification. Automatically switches to bypass
> > > mode (0dB).
> >
> > I'm still not sure how to handle these external paths. The one thing they won't
> > be
> > is truly zero gain (because that would be pointless given the internal bypass
> > path does that).
> >
> > So how are these used in practice?
>
> Afraid I don't have any experience with this. But I would assume that the two
> external
> bypasses each have another amplifier (or attenuator) connected to them.
>
Unfortunately me neither. Antoniu, it would make sense to figure out who the APPs
engineer for this part is. He is the one who can answer how the bypass feature is
supposed to be used in practise.
> >
> > Do we need to figure out how to describe the real characteristics of those paths?
>
> It sounds like this is just a multiplexer. So a few ideas:
>
> 1. We could handle this like iio-mux.c and have 4 channels and just restrict use
> to one channel at a time. Not exactly sure how we would do that. Perhaps an
> enable attribute that is interlocked so that it will fail to enable if another
> channel is already enabled? In this case, the devicetree would need to have an
> io-channels property to get the two bypass amplifier channels and basically pass
> them through.
>
> 2. Have the devicetree specify the gain of the two external bypass amplifiers
> so that we can use the hardwaregain attribute to select between the 4 mux
> positions without needing a custom attribute. This works as long as none
> of the amplifiers have the same gain.
>
> I'm envisioning this would be e.g. part of a range selection on some sort of
> test equipment. In that case, option 2 seems the right way to go about it.
This makes sense but I would still try to have some confirmation about this.
- Nuno Sá
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation
2025-11-16 15:50 ` Jonathan Cameron
2025-11-17 23:59 ` David Lechner
@ 2025-11-19 9:09 ` Miclaus, Antoniu
1 sibling, 0 replies; 11+ messages in thread
From: Miclaus, Antoniu @ 2025-11-19 9:09 UTC (permalink / raw)
To: Jonathan Cameron
Cc: robh@kernel.org, conor+dt@kernel.org, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
David Lechner, Sa, Nuno, Andy Shevchenko
> On Fri, 14 Nov 2025 11:57:25 +0000
> Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:
>
> > Add ABI documentation for the ADL8113 Low Noise Amplifier,
> > covering the 4 pin-selectable operating modes.
> >
> > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> +CC all the IIO subsystem reviewers as I'm not sure how to handle
> what this device does, and would like some more opinions.
>
> Anyone who has expertise or design experience with this sort
> of amplifier with external bypass path: how are these actually used?
>
> The development board seems to just be suited to measurement of
> device characteristics, not representative of a design using it.
>
> > ---
> >
> > Changes in v3:
> > - Replace "mode" attribute documentation with "signal_path" attribute
> > - Update descriptions to reflect separation of gain control (hardwaregain)
> and path control (signal_path)
> > - Add explanation of automatic bypass mode switching when selecting
> external paths
> > - Update attribute names from mode/mode_available to
> signal_path/signal_path_available
> > - Clarify that external paths enable connection of external components for
> filtering or amplification
> > ---
> > .../testing/sysfs-bus-iio-amplifiers-adl8113 | 30 +++++++++++++++++++
> > 1 file changed, 30 insertions(+)
> > create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-amplifiers-
> adl8113
> >
> > diff --git a/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> > new file mode 100644
> > index 000000000000..31fb1e6e80fc
> > --- /dev/null
> > +++ b/Documentation/ABI/testing/sysfs-bus-iio-amplifiers-adl8113
> > @@ -0,0 +1,30 @@
> > +What: /sys/bus/iio/devices/iio:deviceX/signal_path
> > +Date: January 2025
> > +KernelVersion: 6.14
> > +Contact: linux-iio@vger.kernel.org
> > +Description:
> > + This attribute controls the signal routing path for the ADL8113
> > + Low Noise Amplifier. The supported signal paths are:
> > +
> > + * internal - Signal passes through internal path. Can be used
> with
> > + either amplifier mode (14dB gain) or bypass mode (0dB
> gain).
> > +
> > + * external_a - Signal routes from RFIN to OUT_A and from
> IN_A to RFOUT
> > + (VA=0, VB=1). External components can be connected for
> filtering or
> > + additional amplification. Automatically switches to bypass
> mode (0dB).
> > +
> > + * external_b - Signal routes from RFIN to OUT_B and from
> IN_B to RFOUT
> > + (VA=1, VB=0). External components can be connected for
> filtering or
> > + additional amplification. Automatically switches to bypass
> mode (0dB).
>
> I'm still not sure how to handle these external paths. The one thing they won't
> be
> is truly zero gain (because that would be pointless given the internal bypass
> path does that).
>
> So how are these used in practice?
>
> Do we need to figure out how to describe the real characteristics of those
> paths?
>
> All I could find is a brief reference in
> https://www.analog.com/en/resources/app-notes/an-2622.html
> to high dynamic range receiver applications. So with that as only breadcrumb
> my
> guess would be that they almost always have additional applifiers on those
> paths
> and we should figure out how to describe the aggregate device.
I managed to reach the applications engineer responsible of this part and indeed
the purpose of the external routing is to connect other LNAs or filters with different
gains.
That being said, I think David's second suggestion might be a way to go:
" Have the devicetree specify the gain of the two external bypass amplifiers
so that we can use the hardwaregain attribute to select between the 4 mux
positions without needing a custom attribute. This works as long as none
of the amplifiers have the same gain."
Looking forward to your feedback so I can start implementing it in v4.
Thanks
>
> A stop gap might be to merge the driver without this support till we figure out
> how to do it.
>
> Jonathan
>
>
> > +
> > + Note: Selecting an external path automatically sets the
> hardware gain
> > + to 0dB (bypass mode) since external paths require bypass
> operation.
> > +
> > +What:
> /sys/bus/iio/devices/iio:deviceX/signal_path_available
> > +Date: January 2025
> > +KernelVersion: 6.14
> > +Contact: linux-iio@vger.kernel.org
> > +Description:
> > + Reading this attribute returns a space-separated list of all
> > + available signal paths for the ADL8113 device. The available
> paths
> > + may depend on the current gain mode (hardwaregain setting).
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-11-19 9:09 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-14 11:57 [PATCH v3 0/3] iio: amplifiers: add support for ADL8113 Low Noise Amplifier Antoniu Miclaus
2025-11-14 11:57 ` [PATCH v3 1/3] dt-bindings: iio: amplifiers: add adl8113 Antoniu Miclaus
2025-11-17 19:22 ` Conor Dooley
2025-11-17 23:42 ` David Lechner
2025-11-14 11:57 ` [PATCH v3 2/3] iio: amplifiers: adl8113: add driver support Antoniu Miclaus
2025-11-16 15:38 ` Jonathan Cameron
2025-11-14 11:57 ` [PATCH v3 3/3] Documentation: ABI: adl8113: add documentation Antoniu Miclaus
2025-11-16 15:50 ` Jonathan Cameron
2025-11-17 23:59 ` David Lechner
2025-11-18 8:08 ` Nuno Sá
2025-11-19 9:09 ` Miclaus, Antoniu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox