162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci# Copyright 2019 Analog Devices Inc. 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/adc/adi,ad7124.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: Analog Devices AD7124 ADC device driver 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Stefan Popa <stefan.popa@analog.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: | 1462306a36Sopenharmony_ci Bindings for the Analog Devices AD7124 ADC device. Datasheet can be 1562306a36Sopenharmony_ci found here: 1662306a36Sopenharmony_ci https://www.analog.com/media/en/technical-documentation/data-sheets/AD7124-8.pdf 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci enum: 2162306a36Sopenharmony_ci - adi,ad7124-4 2262306a36Sopenharmony_ci - adi,ad7124-8 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci reg: 2562306a36Sopenharmony_ci description: SPI chip select number for the device 2662306a36Sopenharmony_ci maxItems: 1 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci clocks: 2962306a36Sopenharmony_ci maxItems: 1 3062306a36Sopenharmony_ci description: phandle to the master clock (mclk) 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci clock-names: 3362306a36Sopenharmony_ci items: 3462306a36Sopenharmony_ci - const: mclk 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci interrupts: 3762306a36Sopenharmony_ci description: IRQ line for the ADC 3862306a36Sopenharmony_ci maxItems: 1 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci '#address-cells': 4162306a36Sopenharmony_ci const: 1 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci '#size-cells': 4462306a36Sopenharmony_ci const: 0 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci refin1-supply: 4762306a36Sopenharmony_ci description: refin1 supply can be used as reference for conversion. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci refin2-supply: 5062306a36Sopenharmony_ci description: refin2 supply can be used as reference for conversion. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci avdd-supply: 5362306a36Sopenharmony_ci description: avdd supply can be used as reference for conversion. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_cirequired: 5662306a36Sopenharmony_ci - compatible 5762306a36Sopenharmony_ci - reg 5862306a36Sopenharmony_ci - clocks 5962306a36Sopenharmony_ci - clock-names 6062306a36Sopenharmony_ci - interrupts 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_cipatternProperties: 6362306a36Sopenharmony_ci "^channel@([0-9]|1[0-5])$": 6462306a36Sopenharmony_ci $ref: adc.yaml 6562306a36Sopenharmony_ci type: object 6662306a36Sopenharmony_ci description: | 6762306a36Sopenharmony_ci Represents the external channels which are connected to the ADC. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci properties: 7062306a36Sopenharmony_ci reg: 7162306a36Sopenharmony_ci description: | 7262306a36Sopenharmony_ci The channel number. It can have up to 8 channels on ad7124-4 7362306a36Sopenharmony_ci and 16 channels on ad7124-8, numbered from 0 to 15. 7462306a36Sopenharmony_ci items: 7562306a36Sopenharmony_ci minimum: 0 7662306a36Sopenharmony_ci maximum: 15 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci adi,reference-select: 7962306a36Sopenharmony_ci description: | 8062306a36Sopenharmony_ci Select the reference source to use when converting on 8162306a36Sopenharmony_ci the specific channel. Valid values are: 8262306a36Sopenharmony_ci 0: REFIN1(+)/REFIN1(−). 8362306a36Sopenharmony_ci 1: REFIN2(+)/REFIN2(−). 8462306a36Sopenharmony_ci 3: AVDD 8562306a36Sopenharmony_ci If this field is left empty, internal reference is selected. 8662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 8762306a36Sopenharmony_ci enum: [0, 1, 3] 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci diff-channels: true 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci bipolar: true 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci adi,buffered-positive: 9462306a36Sopenharmony_ci description: Enable buffered mode for positive input. 9562306a36Sopenharmony_ci type: boolean 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci adi,buffered-negative: 9862306a36Sopenharmony_ci description: Enable buffered mode for negative input. 9962306a36Sopenharmony_ci type: boolean 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci required: 10262306a36Sopenharmony_ci - reg 10362306a36Sopenharmony_ci - diff-channels 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci additionalProperties: false 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciallOf: 10862306a36Sopenharmony_ci - $ref: /schemas/spi/spi-peripheral-props.yaml# 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ciunevaluatedProperties: false 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ciexamples: 11362306a36Sopenharmony_ci - | 11462306a36Sopenharmony_ci spi { 11562306a36Sopenharmony_ci #address-cells = <1>; 11662306a36Sopenharmony_ci #size-cells = <0>; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci adc@0 { 11962306a36Sopenharmony_ci compatible = "adi,ad7124-4"; 12062306a36Sopenharmony_ci reg = <0>; 12162306a36Sopenharmony_ci spi-max-frequency = <5000000>; 12262306a36Sopenharmony_ci interrupts = <25 2>; 12362306a36Sopenharmony_ci interrupt-parent = <&gpio>; 12462306a36Sopenharmony_ci refin1-supply = <&adc_vref>; 12562306a36Sopenharmony_ci clocks = <&ad7124_mclk>; 12662306a36Sopenharmony_ci clock-names = "mclk"; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci #address-cells = <1>; 12962306a36Sopenharmony_ci #size-cells = <0>; 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci channel@0 { 13262306a36Sopenharmony_ci reg = <0>; 13362306a36Sopenharmony_ci diff-channels = <0 1>; 13462306a36Sopenharmony_ci adi,reference-select = <0>; 13562306a36Sopenharmony_ci adi,buffered-positive; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci channel@1 { 13962306a36Sopenharmony_ci reg = <1>; 14062306a36Sopenharmony_ci bipolar; 14162306a36Sopenharmony_ci diff-channels = <2 3>; 14262306a36Sopenharmony_ci adi,reference-select = <0>; 14362306a36Sopenharmony_ci adi,buffered-positive; 14462306a36Sopenharmony_ci adi,buffered-negative; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci channel@2 { 14862306a36Sopenharmony_ci reg = <2>; 14962306a36Sopenharmony_ci diff-channels = <4 5>; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci channel@3 { 15362306a36Sopenharmony_ci reg = <3>; 15462306a36Sopenharmony_ci diff-channels = <6 7>; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci }; 15762306a36Sopenharmony_ci }; 158