blob: 7e8328e9ce1306065e062204d93ebb7bf37ce484 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/amlogic,meson-saradc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Amlogic Meson SAR (Successive Approximation Register) A/D converter
8
9maintainers:
10 - Martin Blumenstingl <martin.blumenstingl@googlemail.com>
11
12description:
13 Binding covers a range of ADCs found on Amlogic Meson SoCs.
14
15properties:
16 compatible:
17 oneOf:
18 - const: amlogic,meson-saradc
19 - items:
20 - enum:
21 - amlogic,meson8-saradc
22 - amlogic,meson8b-saradc
23 - amlogic,meson8m2-saradc
24 - amlogic,meson-gxbb-saradc
25 - amlogic,meson-gxl-saradc
26 - amlogic,meson-gxm-saradc
27 - amlogic,meson-axg-saradc
28 - amlogic,meson-g12a-saradc
29 - const: amlogic,meson-saradc
30
31 reg:
32 maxItems: 1
33
34 interrupts:
35 description: Interrupt indicates end of sampling.
36 maxItems: 1
37
38 clocks:
39 minItems: 2
40 maxItems: 4
41
42 clock-names:
43 minItems: 2
44 items:
45 - const: clkin
46 - const: core
47 - const: adc_clk
48 - const: adc_sel
49
50 vref-supply: true
51
52 "#io-channel-cells":
53 const: 1
54
55 amlogic,hhi-sysctrl:
56 $ref: /schemas/types.yaml#/definitions/phandle
57 description:
58 Syscon which contains the 5th bit of the TSC (temperature sensor
59 coefficient) on Meson8b and Meson8m2 (which used to calibrate the
60 temperature sensor)
61
62 nvmem-cells:
63 description: phandle to the temperature_calib eFuse cells
64 maxItems: 1
65
66 nvmem-cell-names:
67 const: temperature_calib
68
69allOf:
70 - if:
71 properties:
72 compatible:
73 contains:
74 enum:
75 - amlogic,meson8-saradc
76 - amlogic,meson8b-saradc
77 - amlogic,meson8m2-saradc
78 then:
79 properties:
80 clocks:
81 maxItems: 2
82 clock-names:
83 maxItems: 2
84 else:
85 properties:
86 nvmem-cells: false
87 mvmem-cel-names: false
88 clocks:
89 minItems: 4
90 clock-names:
91 minItems: 4
92
93 - if:
94 properties:
95 compatible:
96 contains:
97 enum:
98 - amlogic,meson8b-saradc
99 - amlogic,meson8m2-saradc
100 then:
101 properties:
102 amlogic,hhi-sysctrl: true
103 else:
104 properties:
105 amlogic,hhi-sysctrl: false
106
107required:
108 - compatible
109 - reg
110 - interrupts
111 - clocks
112 - clock-names
113 - "#io-channel-cells"
114
115additionalProperties: false
116
117examples:
118 - |
119 #include <dt-bindings/interrupt-controller/irq.h>
120 #include <dt-bindings/clock/gxbb-clkc.h>
121 #include <dt-bindings/interrupt-controller/arm-gic.h>
122 soc {
123 #address-cells = <2>;
124 #size-cells = <2>;
125 adc@8680 {
126 compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
127 #io-channel-cells = <1>;
128 reg = <0x0 0x8680 0x0 0x34>;
129 interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
130 clocks = <&xtal>,
131 <&clkc CLKID_SAR_ADC>,
132 <&clkc CLKID_SAR_ADC_CLK>,
133 <&clkc CLKID_SAR_ADC_SEL>;
134 clock-names = "clkin", "core", "adc_clk", "adc_sel";
135 };
136 adc@9680 {
137 compatible = "amlogic,meson8b-saradc", "amlogic,meson-saradc";
138 #io-channel-cells = <1>;
139 reg = <0x0 0x9680 0x0 0x34>;
140 interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
141 clocks = <&xtal>, <&clkc CLKID_SAR_ADC>;
142 clock-names = "clkin", "core";
143 nvmem-cells = <&tsens_caldata>;
144 nvmem-cell-names = "temperature_calib";
145 amlogic,hhi-sysctrl = <&hhi>;
146 };
147 };
148...