# 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 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 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>; }; }; };