1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/ti,am3359-adc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI AM3359 ADC
8
9maintainers:
10  - Miquel Raynal <miquel.raynal@bootlin.com>
11
12properties:
13  compatible:
14    oneOf:
15      - enum:
16          - ti,am3359-adc
17          - ti,am4372-adc
18      - items:
19          - enum:
20              - ti,am654-adc
21          - const: ti,am3359-adc
22
23  '#io-channel-cells':
24    const: 1
25
26  ti,adc-channels:
27    description: List of analog inputs available for ADC. AIN0 = 0, AIN1 = 1 and
28      so on until AIN7 = 7.
29    $ref: /schemas/types.yaml#/definitions/uint32-array
30    minItems: 1
31    maxItems: 8
32
33  ti,chan-step-opendelay:
34    description: List of open delays for each channel of ADC in the order of
35      ti,adc-channels. The value corresponds to the number of ADC clock cycles
36      to wait after applying the step configuration registers and before sending
37      the start of ADC conversion. Maximum value is 0x3FFFF.
38    $ref: /schemas/types.yaml#/definitions/uint32-array
39    minItems: 1
40    maxItems: 8
41
42  ti,chan-step-sampledelay:
43    description: List of sample delays for each channel of ADC in the order of
44      ti,adc-channels. The value corresponds to the number of ADC clock cycles
45      to sample (to hold start of conversion high). Maximum value is 0xFF.
46    $ref: /schemas/types.yaml#/definitions/uint32-array
47    minItems: 1
48    maxItems: 8
49
50  ti,chan-step-avg:
51    description: Number of averages to be performed for each channel of ADC. If
52      average is 16 (this is also the maximum) then input is sampled 16 times
53      and averaged to get more accurate value. This increases the time taken by
54      ADC to generate a sample. Maximum value is 16.
55    $ref: /schemas/types.yaml#/definitions/uint32-array
56    minItems: 1
57    maxItems: 8
58
59required:
60  - compatible
61  - '#io-channel-cells'
62  - ti,adc-channels
63
64additionalProperties: false
65
66examples:
67  - |
68    adc {
69        compatible = "ti,am3359-adc";
70        #io-channel-cells = <1>;
71        ti,adc-channels = <4 5 6 7>;
72        ti,chan-step-opendelay = <0x098 0x3ffff 0x098 0x0>;
73        ti,chan-step-sampledelay = <0xff 0x0 0xf 0x0>;
74        ti,chan-step-avg = <16 2 4 8>;
75    };
76