xref: /freebsd/sys/contrib/device-tree/Bindings/iio/adc/samsung,exynos-adc.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/iio/adc/samsung,exynos-adc.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Samsung Exynos Analog to Digital Converter (ADC)
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotproperties:
13c66ec88fSEmmanuel Vadot  compatible:
14*8d13bc63SEmmanuel Vadot    oneOf:
15*8d13bc63SEmmanuel Vadot      - enum:
16c66ec88fSEmmanuel Vadot          - samsung,exynos-adc-v1                 # Exynos5250
17c66ec88fSEmmanuel Vadot          - samsung,exynos-adc-v2
18c66ec88fSEmmanuel Vadot          - samsung,exynos3250-adc
19c66ec88fSEmmanuel Vadot          - samsung,exynos4212-adc                # Exynos4212 and Exynos4412
20c66ec88fSEmmanuel Vadot          - samsung,exynos7-adc
21c66ec88fSEmmanuel Vadot          - samsung,s3c2410-adc
22c66ec88fSEmmanuel Vadot          - samsung,s3c2416-adc
23c66ec88fSEmmanuel Vadot          - samsung,s3c2440-adc
24c66ec88fSEmmanuel Vadot          - samsung,s3c2443-adc
25c66ec88fSEmmanuel Vadot          - samsung,s3c6410-adc
26c66ec88fSEmmanuel Vadot          - samsung,s5pv210-adc
27*8d13bc63SEmmanuel Vadot      - items:
28*8d13bc63SEmmanuel Vadot          - enum:
29*8d13bc63SEmmanuel Vadot              - samsung,exynos5433-adc
30*8d13bc63SEmmanuel Vadot          - const: samsung,exynos7-adc
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot  reg:
33c66ec88fSEmmanuel Vadot    maxItems: 1
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot  clocks:
36c66ec88fSEmmanuel Vadot    description:
37c66ec88fSEmmanuel Vadot      Phandle to ADC bus clock. For Exynos3250 additional clock is needed.
38c66ec88fSEmmanuel Vadot    minItems: 1
39c66ec88fSEmmanuel Vadot    maxItems: 2
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  clock-names:
42c66ec88fSEmmanuel Vadot    description:
43c66ec88fSEmmanuel Vadot      Must contain clock names (adc, sclk) matching phandles in clocks
44c66ec88fSEmmanuel Vadot      property.
45c66ec88fSEmmanuel Vadot    minItems: 1
46c66ec88fSEmmanuel Vadot    maxItems: 2
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot  interrupts:
496be33864SEmmanuel Vadot    description:
506be33864SEmmanuel Vadot      ADC interrupt followed by optional touchscreen interrupt.
516be33864SEmmanuel Vadot    minItems: 1
526be33864SEmmanuel Vadot    maxItems: 2
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot  "#io-channel-cells":
55c66ec88fSEmmanuel Vadot    const: 1
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot  vdd-supply: true
58c66ec88fSEmmanuel Vadot
59c66ec88fSEmmanuel Vadot  samsung,syscon-phandle:
60cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
61c66ec88fSEmmanuel Vadot    description:
62c66ec88fSEmmanuel Vadot      Phandle to the PMU system controller node (to access the ADC_PHY
63c66ec88fSEmmanuel Vadot      register on Exynos3250/4x12/5250/5420/5800).
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot  has-touchscreen:
66c66ec88fSEmmanuel Vadot    description:
67c66ec88fSEmmanuel Vadot      If present, indicates that a touchscreen is connected and usable.
68c66ec88fSEmmanuel Vadot    type: boolean
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadotrequired:
71c66ec88fSEmmanuel Vadot  - compatible
72c66ec88fSEmmanuel Vadot  - reg
73c66ec88fSEmmanuel Vadot  - clocks
74c66ec88fSEmmanuel Vadot  - clock-names
75c66ec88fSEmmanuel Vadot  - interrupts
76c66ec88fSEmmanuel Vadot  - "#io-channel-cells"
77c66ec88fSEmmanuel Vadot  - vdd-supply
78c66ec88fSEmmanuel Vadot
796be33864SEmmanuel VadotadditionalProperties:
806be33864SEmmanuel Vadot  type: object
816be33864SEmmanuel Vadot
82c66ec88fSEmmanuel VadotallOf:
83c66ec88fSEmmanuel Vadot  - if:
84c66ec88fSEmmanuel Vadot      properties:
85c66ec88fSEmmanuel Vadot        compatible:
86c66ec88fSEmmanuel Vadot          contains:
87c66ec88fSEmmanuel Vadot            enum:
88c66ec88fSEmmanuel Vadot              - samsung,exynos-adc-v1
89c66ec88fSEmmanuel Vadot              - samsung,exynos-adc-v2
90c66ec88fSEmmanuel Vadot              - samsung,exynos3250-adc
91c66ec88fSEmmanuel Vadot              - samsung,exynos4212-adc
92c66ec88fSEmmanuel Vadot    then:
93c66ec88fSEmmanuel Vadot      required:
94c66ec88fSEmmanuel Vadot        - samsung,syscon-phandle
95c66ec88fSEmmanuel Vadot
96c66ec88fSEmmanuel Vadot  - if:
97c66ec88fSEmmanuel Vadot      properties:
98c66ec88fSEmmanuel Vadot        compatible:
99c66ec88fSEmmanuel Vadot          contains:
100c66ec88fSEmmanuel Vadot            enum:
101c66ec88fSEmmanuel Vadot              - samsung,exynos3250-adc
102c66ec88fSEmmanuel Vadot    then:
103c66ec88fSEmmanuel Vadot      properties:
104c66ec88fSEmmanuel Vadot        clocks:
105c66ec88fSEmmanuel Vadot          minItems: 2
106c66ec88fSEmmanuel Vadot          maxItems: 2
107c66ec88fSEmmanuel Vadot        clock-names:
108c66ec88fSEmmanuel Vadot          items:
109c66ec88fSEmmanuel Vadot            - const: adc
110c66ec88fSEmmanuel Vadot            - const: sclk
111c66ec88fSEmmanuel Vadot    else:
112c66ec88fSEmmanuel Vadot      properties:
113c66ec88fSEmmanuel Vadot        clocks:
114c66ec88fSEmmanuel Vadot          minItems: 1
115c66ec88fSEmmanuel Vadot          maxItems: 1
116c66ec88fSEmmanuel Vadot        clock-names:
117c66ec88fSEmmanuel Vadot          items:
118c66ec88fSEmmanuel Vadot            - const: adc
119c66ec88fSEmmanuel Vadot
1206be33864SEmmanuel Vadot  - if:
1216be33864SEmmanuel Vadot      required:
1226be33864SEmmanuel Vadot        - has-touchscreen
1236be33864SEmmanuel Vadot    then:
1246be33864SEmmanuel Vadot      properties:
1256be33864SEmmanuel Vadot        interrupts:
1266be33864SEmmanuel Vadot          minItems: 2
1276be33864SEmmanuel Vadot          maxItems: 2
1286be33864SEmmanuel Vadot
129c66ec88fSEmmanuel Vadotexamples:
130c66ec88fSEmmanuel Vadot  - |
131c66ec88fSEmmanuel Vadot    adc: adc@12d10000 {
132c66ec88fSEmmanuel Vadot        compatible = "samsung,exynos-adc-v1";
133c66ec88fSEmmanuel Vadot        reg = <0x12d10000 0x100>;
134c66ec88fSEmmanuel Vadot        interrupts = <0 106 0>;
135c66ec88fSEmmanuel Vadot        #io-channel-cells = <1>;
136c66ec88fSEmmanuel Vadot
137c66ec88fSEmmanuel Vadot        clocks = <&clock 303>;
138c66ec88fSEmmanuel Vadot        clock-names = "adc";
139c66ec88fSEmmanuel Vadot
140c66ec88fSEmmanuel Vadot        vdd-supply = <&buck5_reg>;
141c66ec88fSEmmanuel Vadot        samsung,syscon-phandle = <&pmu_system_controller>;
142c66ec88fSEmmanuel Vadot
143c66ec88fSEmmanuel Vadot        /* NTC thermistor is a hwmon device */
1448cc087a1SEmmanuel Vadot        thermistor {
145c66ec88fSEmmanuel Vadot            compatible = "murata,ncp15wb473";
146c66ec88fSEmmanuel Vadot            pullup-uv = <1800000>;
147c66ec88fSEmmanuel Vadot            pullup-ohm = <47000>;
148c66ec88fSEmmanuel Vadot            pulldown-ohm = <0>;
149c66ec88fSEmmanuel Vadot            io-channels = <&adc 4>;
150c66ec88fSEmmanuel Vadot        };
151c66ec88fSEmmanuel Vadot    };
152c66ec88fSEmmanuel Vadot
153c66ec88fSEmmanuel Vadot  - |
154c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/exynos3250.h>
155c66ec88fSEmmanuel Vadot
156c66ec88fSEmmanuel Vadot    adc@126c0000 {
157c66ec88fSEmmanuel Vadot        compatible = "samsung,exynos3250-adc";
158cb7aa33aSEmmanuel Vadot        reg = <0x126c0000 0x100>;
159c66ec88fSEmmanuel Vadot        interrupts = <0 137 0>;
160c66ec88fSEmmanuel Vadot        #io-channel-cells = <1>;
161c66ec88fSEmmanuel Vadot
162c66ec88fSEmmanuel Vadot        clocks = <&cmu CLK_TSADC>,
163c66ec88fSEmmanuel Vadot                 <&cmu CLK_SCLK_TSADC>;
164c66ec88fSEmmanuel Vadot        clock-names = "adc", "sclk";
165c66ec88fSEmmanuel Vadot
166c66ec88fSEmmanuel Vadot        vdd-supply = <&buck5_reg>;
167c66ec88fSEmmanuel Vadot        samsung,syscon-phandle = <&pmu_system_controller>;
168c66ec88fSEmmanuel Vadot    };
169