| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| # Copyright 2022 Analog Devices Inc. |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/adc/adi,ad4130.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Analog Devices AD4130 ADC device driver |
| |
| maintainers: |
| - Cosmin Tanislav <cosmin.tanislav@analog.com> |
| |
| description: | |
| Bindings for the Analog Devices AD4130 ADC. Datasheet can be found here: |
| https://www.analog.com/media/en/technical-documentation/data-sheets/AD4130-8.pdf |
| |
| properties: |
| compatible: |
| enum: |
| - adi,ad4130 |
| |
| reg: |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| description: phandle to the master clock (mclk) |
| |
| clock-names: |
| items: |
| - const: mclk |
| |
| interrupts: |
| maxItems: 1 |
| |
| interrupt-names: |
| description: | |
| Specify which interrupt pin should be configured as Data Ready / FIFO |
| interrupt. |
| Default if not supplied is int. |
| enum: |
| - int |
| - clk |
| - p2 |
| - dout |
| |
| '#address-cells': |
| const: 1 |
| |
| '#size-cells': |
| const: 0 |
| |
| '#clock-cells': |
| const: 0 |
| |
| clock-output-names: |
| maxItems: 1 |
| |
| refin1-supply: |
| description: refin1 supply. Can be used as reference for conversion. |
| |
| refin2-supply: |
| description: refin2 supply. Can be used as reference for conversion. |
| |
| avdd-supply: |
| description: AVDD voltage supply. Can be used as reference for conversion. |
| |
| iovdd-supply: |
| description: IOVDD voltage supply. Used for the chip interface. |
| |
| spi-max-frequency: |
| maximum: 5000000 |
| |
| adi,ext-clk-freq-hz: |
| description: Specify the frequency of the external clock. |
| enum: [76800, 153600] |
| default: 76800 |
| |
| adi,bipolar: |
| description: Specify if the device should be used in bipolar mode. |
| type: boolean |
| |
| adi,vbias-pins: |
| description: Analog inputs to apply a voltage bias of (AVDD − AVSS) / 2 to. |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| minItems: 1 |
| maxItems: 16 |
| items: |
| minimum: 0 |
| maximum: 15 |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| |
| patternProperties: |
| "^channel@([0-9a-f])$": |
| type: object |
| $ref: adc.yaml |
| unevaluatedProperties: false |
| |
| properties: |
| reg: |
| description: The channel number. |
| minimum: 0 |
| maximum: 15 |
| |
| diff-channels: |
| description: | |
| Besides the analog inputs available, internal inputs can be used. |
| 16: Internal temperature sensor. |
| 17: AVSS |
| 18: Internal reference |
| 19: DGND |
| 20: (AVDD − AVSS)/6+ |
| 21: (AVDD − AVSS)/6- |
| 22: (IOVDD − DGND)/6+ |
| 23: (IOVDD − DGND)/6- |
| 24: (ALDO − AVSS)/6+ |
| 25: (ALDO − AVSS)/6- |
| 26: (DLDO − DGND)/6+ |
| 27: (DLDO − DGND)/6- |
| 28: V_MV_P |
| 29: V_MV_M |
| items: |
| minimum: 0 |
| maximum: 29 |
| |
| adi,reference-select: |
| description: | |
| Select the reference source to use when converting on the |
| specific channel. Valid values are: |
| 0: REFIN1(+)/REFIN1(−) |
| 1: REFIN2(+)/REFIN2(−) |
| 2: REFOUT/AVSS (Internal reference) |
| 3: AVDD/AVSS |
| If not specified, REFIN1 is used. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [0, 1, 2, 3] |
| default: 0 |
| |
| adi,excitation-pin-0: |
| description: | |
| Analog input to apply excitation current to while the channel |
| is active. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 15 |
| default: 0 |
| |
| adi,excitation-pin-1: |
| description: | |
| Analog input to apply excitation current to while this channel |
| is active. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 15 |
| default: 0 |
| |
| adi,excitation-current-0-nanoamp: |
| description: | |
| Excitation current in nanoamps to be applied to pin specified in |
| adi,excitation-pin-0 while this channel is active. |
| enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000] |
| default: 0 |
| |
| adi,excitation-current-1-nanoamp: |
| description: | |
| Excitation current in nanoamps to be applied to pin specified in |
| adi,excitation-pin-1 while this channel is active. |
| enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000] |
| default: 0 |
| |
| adi,burnout-current-nanoamp: |
| description: | |
| Burnout current in nanoamps to be applied for this channel. |
| enum: [0, 500, 2000, 4000] |
| default: 0 |
| |
| adi,buffered-positive: |
| description: Enable buffered mode for positive input. |
| type: boolean |
| |
| adi,buffered-negative: |
| description: Enable buffered mode for negative input. |
| type: boolean |
| |
| required: |
| - reg |
| - diff-channels |
| |
| allOf: |
| - $ref: /schemas/spi/spi-peripheral-props.yaml# |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| adc@0 { |
| compatible = "adi,ad4130"; |
| reg = <0>; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| spi-max-frequency = <5000000>; |
| interrupts = <27 IRQ_TYPE_EDGE_FALLING>; |
| interrupt-parent = <&gpio>; |
| |
| channel@0 { |
| reg = <0>; |
| |
| adi,reference-select = <2>; |
| |
| /* AIN8, AIN9 */ |
| diff-channels = <8 9>; |
| }; |
| |
| channel@1 { |
| reg = <1>; |
| |
| adi,reference-select = <2>; |
| |
| /* AIN10, AIN11 */ |
| diff-channels = <10 11>; |
| }; |
| |
| channel@2 { |
| reg = <2>; |
| |
| adi,reference-select = <2>; |
| |
| /* Temperature Sensor, DGND */ |
| diff-channels = <16 19>; |
| }; |
| |
| channel@3 { |
| reg = <3>; |
| |
| adi,reference-select = <2>; |
| |
| /* Internal reference, DGND */ |
| diff-channels = <18 19>; |
| }; |
| |
| channel@4 { |
| reg = <4>; |
| |
| adi,reference-select = <2>; |
| |
| /* DGND, DGND */ |
| diff-channels = <19 19>; |
| }; |
| }; |
| }; |