Merge branch 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / iio / adc / atmel,sama9260-adc.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iio/adc/atmel,sama9260-adc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: AT91 sama9260 and similar Analog to Digital Converter (ADC)
8
9 maintainers:
10   - Alexandre Belloni <alexandre.belloni@bootlin.com>
11
12 properties:
13   compatible:
14     enum:
15       - atmel,at91sam9260-adc
16       - atmel,at91sam9rl-adc
17       - atmel,at91sam9g45-adc
18       - atmel,at91sam9x5-adc
19       - atmel,at91sama5d3-adc
20
21   reg:
22     maxItems: 1
23
24   interrupts:
25     maxItems: 1
26
27   clocks:
28     minItems: 2
29     maxItems: 2
30
31   clock-names:
32     items:
33       - const: adc_clk
34       - const: adc_op_clk
35
36   atmel,adc-channels-used:
37     $ref: /schemas/types.yaml#/definitions/uint32
38     description: Bitmask of the channels muxed and enabled for this device
39
40   atmel,adc-startup-time:
41     $ref: /schemas/types.yaml#/definitions/uint32
42     description:
43       Startup Time of the ADC in microseconds as defined in the datasheet
44
45   atmel,adc-vref:
46     $ref: /schemas/types.yaml#/definitions/uint32
47     description: Reference voltage in millivolts for the conversions
48
49   atmel,adc-use-external-triggers:
50     $ref: /schemas/types.yaml#/definitions/flag
51     description: Enable the external triggers
52
53   atmel,adc-use-res:
54     $ref: /schemas/types.yaml#/definitions/string
55     description:
56       String corresponding to an identifier from atmel,adc-res-names property.
57       If not specified, the highest resolution will be used.
58     enum:
59       - "lowres"
60       - "highres"
61
62   atmel,adc-sleep-mode:
63     $ref: /schemas/types.yaml#/definitions/flag
64     description: Enable sleep mode when no conversion
65
66   atmel,adc-sample-hold-time:
67     $ref: /schemas/types.yaml#/definitions/uint32
68     description: Sample and Hold Time in microseconds
69
70   atmel,adc-ts-wires:
71     $ref: /schemas/types.yaml#/definitions/uint32
72     description: |
73       Number of touchscreen wires. Must be set to enable touchscreen.
74       NOTE: when adc touchscreen is enabled, the adc hardware trigger will be
75       disabled. Since touchscreen will occupy the trigger register.
76     enum:
77       - 4
78       - 5
79
80   atmel,adc-ts-pressure-threshold:
81     $ref: /schemas/types.yaml#/definitions/uint32
82     description:
83       Pressure threshold for touchscreen.
84
85   "#io-channel-cells":
86     const: 1
87
88 additionalProperties: false
89
90 required:
91   - compatible
92   - reg
93   - interrupts
94   - clocks
95   - clock-names
96   - atmel,adc-channels-used
97   - atmel,adc-startup-time
98   - atmel,adc-vref
99
100 examples:
101   - |
102     #include <dt-bindings/dma/at91.h>
103     #include <dt-bindings/interrupt-controller/irq.h>
104     soc {
105         #address-cells = <1>;
106         #size-cells = <1>;
107
108         adc@fffb0000 {
109             compatible = "atmel,at91sam9260-adc";
110             reg = <0xfffb0000 0x100>;
111             interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
112             clocks = <&adc_clk>, <&adc_op_clk>;
113             clock-names = "adc_clk", "adc_op_clk";
114             atmel,adc-channels-used = <0xff>;
115             atmel,adc-startup-time = <40>;
116             atmel,adc-use-external-triggers;
117             atmel,adc-vref = <3300>;
118             atmel,adc-use-res = "lowres";
119         };
120     };
121 ...