# 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

  ctrl-gpios:
    items:
      - description: VA control pin
      - description: VB control pin

  adi,external-bypass-a-gain-db:
    description:
      Gain in dB of external amplifier connected to bypass path A (OUT_A/IN_A).
      When specified, this gain value becomes selectable via the hardwaregain
      attribute and automatically routes through the external A path.

  adi,external-bypass-b-gain-db:
    description:
      Gain in dB of external amplifier connected to bypass path B (OUT_B/IN_B).
      When specified, this gain value becomes selectable via the hardwaregain
      attribute and automatically routes through the external B path.

required:
  - compatible
  - ctrl-gpios
  - vdd1-supply
  - vdd2-supply
  - vss2-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    /* Basic configuration with only internal paths */
    amplifier {
        compatible = "adi,adl8113";
        ctrl-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>,
                     <&gpio 23 GPIO_ACTIVE_HIGH>;
        vdd1-supply = <&vdd1_5v>;
        vdd2-supply = <&vdd2_3v3>;
        vss2-supply = <&vss2_neg>;
    };

  - |
    #include <dt-bindings/gpio/gpio.h>

    /* Configuration with external bypass amplifiers */
    amplifier {
        compatible = "adi,adl8113";
        ctrl-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>,
                     <&gpio 25 GPIO_ACTIVE_HIGH>;
        vdd1-supply = <&vdd1_5v>;
        vdd2-supply = <&vdd2_3v3>;
        vss2-supply = <&vss2_neg>;
        adi,external-bypass-a-gain-db = <20>;  /* 20dB external amp on path A */
        adi,external-bypass-b-gain-db = <6>;   /* 6dB external amp on path B */
    };
...
