162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci# Copyright 2022 Analog Devices Inc. 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/adc/adi,ad4130.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: Analog Devices AD4130 ADC device driver 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Cosmin Tanislav <cosmin.tanislav@analog.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: | 1462306a36Sopenharmony_ci Bindings for the Analog Devices AD4130 ADC. Datasheet can be found here: 1562306a36Sopenharmony_ci https://www.analog.com/media/en/technical-documentation/data-sheets/AD4130-8.pdf 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciproperties: 1862306a36Sopenharmony_ci compatible: 1962306a36Sopenharmony_ci enum: 2062306a36Sopenharmony_ci - adi,ad4130 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci reg: 2362306a36Sopenharmony_ci maxItems: 1 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci clocks: 2662306a36Sopenharmony_ci maxItems: 1 2762306a36Sopenharmony_ci description: phandle to the master clock (mclk) 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci clock-names: 3062306a36Sopenharmony_ci items: 3162306a36Sopenharmony_ci - const: mclk 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci interrupts: 3462306a36Sopenharmony_ci maxItems: 1 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci interrupt-names: 3762306a36Sopenharmony_ci description: | 3862306a36Sopenharmony_ci Specify which interrupt pin should be configured as Data Ready / FIFO 3962306a36Sopenharmony_ci interrupt. 4062306a36Sopenharmony_ci Default if not supplied is int. 4162306a36Sopenharmony_ci enum: 4262306a36Sopenharmony_ci - int 4362306a36Sopenharmony_ci - clk 4462306a36Sopenharmony_ci - p2 4562306a36Sopenharmony_ci - dout 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci '#address-cells': 4862306a36Sopenharmony_ci const: 1 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci '#size-cells': 5162306a36Sopenharmony_ci const: 0 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci '#clock-cells': 5462306a36Sopenharmony_ci const: 0 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci clock-output-names: 5762306a36Sopenharmony_ci maxItems: 1 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci refin1-supply: 6062306a36Sopenharmony_ci description: refin1 supply. Can be used as reference for conversion. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci refin2-supply: 6362306a36Sopenharmony_ci description: refin2 supply. Can be used as reference for conversion. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci avdd-supply: 6662306a36Sopenharmony_ci description: AVDD voltage supply. Can be used as reference for conversion. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci iovdd-supply: 6962306a36Sopenharmony_ci description: IOVDD voltage supply. Used for the chip interface. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci spi-max-frequency: 7262306a36Sopenharmony_ci maximum: 5000000 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci adi,ext-clk-freq-hz: 7562306a36Sopenharmony_ci description: Specify the frequency of the external clock. 7662306a36Sopenharmony_ci enum: [76800, 153600] 7762306a36Sopenharmony_ci default: 76800 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci adi,bipolar: 8062306a36Sopenharmony_ci description: Specify if the device should be used in bipolar mode. 8162306a36Sopenharmony_ci type: boolean 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci adi,vbias-pins: 8462306a36Sopenharmony_ci description: Analog inputs to apply a voltage bias of (AVDD − AVSS) / 2 to. 8562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 8662306a36Sopenharmony_ci minItems: 1 8762306a36Sopenharmony_ci maxItems: 16 8862306a36Sopenharmony_ci items: 8962306a36Sopenharmony_ci minimum: 0 9062306a36Sopenharmony_ci maximum: 15 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_cirequired: 9362306a36Sopenharmony_ci - compatible 9462306a36Sopenharmony_ci - reg 9562306a36Sopenharmony_ci - interrupts 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_cipatternProperties: 9862306a36Sopenharmony_ci "^channel@([0-9a-f])$": 9962306a36Sopenharmony_ci type: object 10062306a36Sopenharmony_ci $ref: adc.yaml 10162306a36Sopenharmony_ci unevaluatedProperties: false 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci properties: 10462306a36Sopenharmony_ci reg: 10562306a36Sopenharmony_ci description: The channel number. 10662306a36Sopenharmony_ci minimum: 0 10762306a36Sopenharmony_ci maximum: 15 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci diff-channels: 11062306a36Sopenharmony_ci description: | 11162306a36Sopenharmony_ci Besides the analog inputs available, internal inputs can be used. 11262306a36Sopenharmony_ci 16: Internal temperature sensor. 11362306a36Sopenharmony_ci 17: AVSS 11462306a36Sopenharmony_ci 18: Internal reference 11562306a36Sopenharmony_ci 19: DGND 11662306a36Sopenharmony_ci 20: (AVDD − AVSS)/6+ 11762306a36Sopenharmony_ci 21: (AVDD − AVSS)/6- 11862306a36Sopenharmony_ci 22: (IOVDD − DGND)/6+ 11962306a36Sopenharmony_ci 23: (IOVDD − DGND)/6- 12062306a36Sopenharmony_ci 24: (ALDO − AVSS)/6+ 12162306a36Sopenharmony_ci 25: (ALDO − AVSS)/6- 12262306a36Sopenharmony_ci 26: (DLDO − DGND)/6+ 12362306a36Sopenharmony_ci 27: (DLDO − DGND)/6- 12462306a36Sopenharmony_ci 28: V_MV_P 12562306a36Sopenharmony_ci 29: V_MV_M 12662306a36Sopenharmony_ci items: 12762306a36Sopenharmony_ci minimum: 0 12862306a36Sopenharmony_ci maximum: 29 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci adi,reference-select: 13162306a36Sopenharmony_ci description: | 13262306a36Sopenharmony_ci Select the reference source to use when converting on the 13362306a36Sopenharmony_ci specific channel. Valid values are: 13462306a36Sopenharmony_ci 0: REFIN1(+)/REFIN1(−) 13562306a36Sopenharmony_ci 1: REFIN2(+)/REFIN2(−) 13662306a36Sopenharmony_ci 2: REFOUT/AVSS (Internal reference) 13762306a36Sopenharmony_ci 3: AVDD/AVSS 13862306a36Sopenharmony_ci If not specified, REFIN1 is used. 13962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 14062306a36Sopenharmony_ci enum: [0, 1, 2, 3] 14162306a36Sopenharmony_ci default: 0 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci adi,excitation-pin-0: 14462306a36Sopenharmony_ci description: | 14562306a36Sopenharmony_ci Analog input to apply excitation current to while the channel 14662306a36Sopenharmony_ci is active. 14762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 14862306a36Sopenharmony_ci minimum: 0 14962306a36Sopenharmony_ci maximum: 15 15062306a36Sopenharmony_ci default: 0 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci adi,excitation-pin-1: 15362306a36Sopenharmony_ci description: | 15462306a36Sopenharmony_ci Analog input to apply excitation current to while this channel 15562306a36Sopenharmony_ci is active. 15662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 15762306a36Sopenharmony_ci minimum: 0 15862306a36Sopenharmony_ci maximum: 15 15962306a36Sopenharmony_ci default: 0 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci adi,excitation-current-0-nanoamp: 16262306a36Sopenharmony_ci description: | 16362306a36Sopenharmony_ci Excitation current in nanoamps to be applied to pin specified in 16462306a36Sopenharmony_ci adi,excitation-pin-0 while this channel is active. 16562306a36Sopenharmony_ci enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000] 16662306a36Sopenharmony_ci default: 0 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci adi,excitation-current-1-nanoamp: 16962306a36Sopenharmony_ci description: | 17062306a36Sopenharmony_ci Excitation current in nanoamps to be applied to pin specified in 17162306a36Sopenharmony_ci adi,excitation-pin-1 while this channel is active. 17262306a36Sopenharmony_ci enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000] 17362306a36Sopenharmony_ci default: 0 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci adi,burnout-current-nanoamp: 17662306a36Sopenharmony_ci description: | 17762306a36Sopenharmony_ci Burnout current in nanoamps to be applied for this channel. 17862306a36Sopenharmony_ci enum: [0, 500, 2000, 4000] 17962306a36Sopenharmony_ci default: 0 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci adi,buffered-positive: 18262306a36Sopenharmony_ci description: Enable buffered mode for positive input. 18362306a36Sopenharmony_ci type: boolean 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci adi,buffered-negative: 18662306a36Sopenharmony_ci description: Enable buffered mode for negative input. 18762306a36Sopenharmony_ci type: boolean 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci required: 19062306a36Sopenharmony_ci - reg 19162306a36Sopenharmony_ci - diff-channels 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ciallOf: 19462306a36Sopenharmony_ci - $ref: /schemas/spi/spi-peripheral-props.yaml# 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ciunevaluatedProperties: false 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciexamples: 19962306a36Sopenharmony_ci - | 20062306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci spi { 20362306a36Sopenharmony_ci #address-cells = <1>; 20462306a36Sopenharmony_ci #size-cells = <0>; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci adc@0 { 20762306a36Sopenharmony_ci compatible = "adi,ad4130"; 20862306a36Sopenharmony_ci reg = <0>; 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci #address-cells = <1>; 21162306a36Sopenharmony_ci #size-cells = <0>; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci spi-max-frequency = <5000000>; 21462306a36Sopenharmony_ci interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 21562306a36Sopenharmony_ci interrupt-parent = <&gpio>; 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci channel@0 { 21862306a36Sopenharmony_ci reg = <0>; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci adi,reference-select = <2>; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci /* AIN8, AIN9 */ 22362306a36Sopenharmony_ci diff-channels = <8 9>; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci channel@1 { 22762306a36Sopenharmony_ci reg = <1>; 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci adi,reference-select = <2>; 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci /* AIN10, AIN11 */ 23262306a36Sopenharmony_ci diff-channels = <10 11>; 23362306a36Sopenharmony_ci }; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci channel@2 { 23662306a36Sopenharmony_ci reg = <2>; 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci adi,reference-select = <2>; 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci /* Temperature Sensor, DGND */ 24162306a36Sopenharmony_ci diff-channels = <16 19>; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci channel@3 { 24562306a36Sopenharmony_ci reg = <3>; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci adi,reference-select = <2>; 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ci /* Internal reference, DGND */ 25062306a36Sopenharmony_ci diff-channels = <18 19>; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ci channel@4 { 25462306a36Sopenharmony_ci reg = <4>; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci adi,reference-select = <2>; 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci /* DGND, DGND */ 25962306a36Sopenharmony_ci diff-channels = <19 19>; 26062306a36Sopenharmony_ci }; 26162306a36Sopenharmony_ci }; 26262306a36Sopenharmony_ci }; 263