xref: /openbmc/linux/Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1b356ceb3SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0
2b356ceb3SKrzysztof Kozlowski%YAML 1.2
3b356ceb3SKrzysztof Kozlowski---
4b356ceb3SKrzysztof Kozlowski$id: http://devicetree.org/schemas/iio/adc/samsung,exynos-adc.yaml#
5b356ceb3SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6b356ceb3SKrzysztof Kozlowski
7b356ceb3SKrzysztof Kozlowskititle: Samsung Exynos Analog to Digital Converter (ADC)
8b356ceb3SKrzysztof Kozlowski
9b356ceb3SKrzysztof Kozlowskimaintainers:
10b356ceb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
11b356ceb3SKrzysztof Kozlowski
12b356ceb3SKrzysztof Kozlowskiproperties:
13b356ceb3SKrzysztof Kozlowski  compatible:
14b356ceb3SKrzysztof Kozlowski    enum:
15b356ceb3SKrzysztof Kozlowski      - samsung,exynos-adc-v1                 # Exynos5250
16b356ceb3SKrzysztof Kozlowski      - samsung,exynos-adc-v2
17b356ceb3SKrzysztof Kozlowski      - samsung,exynos3250-adc
18b356ceb3SKrzysztof Kozlowski      - samsung,exynos4212-adc                # Exynos4212 and Exynos4412
19b356ceb3SKrzysztof Kozlowski      - samsung,exynos7-adc
20b356ceb3SKrzysztof Kozlowski      - samsung,s3c2410-adc
21b356ceb3SKrzysztof Kozlowski      - samsung,s3c2416-adc
22b356ceb3SKrzysztof Kozlowski      - samsung,s3c2440-adc
23b356ceb3SKrzysztof Kozlowski      - samsung,s3c2443-adc
24b356ceb3SKrzysztof Kozlowski      - samsung,s3c6410-adc
25b356ceb3SKrzysztof Kozlowski      - samsung,s5pv210-adc
26b356ceb3SKrzysztof Kozlowski
27b356ceb3SKrzysztof Kozlowski  reg:
289dacf8b5SKrzysztof Kozlowski    maxItems: 1
29b356ceb3SKrzysztof Kozlowski
30b356ceb3SKrzysztof Kozlowski  clocks:
31b356ceb3SKrzysztof Kozlowski    description:
32b356ceb3SKrzysztof Kozlowski      Phandle to ADC bus clock. For Exynos3250 additional clock is needed.
33b356ceb3SKrzysztof Kozlowski    minItems: 1
34b356ceb3SKrzysztof Kozlowski    maxItems: 2
35b356ceb3SKrzysztof Kozlowski
36b356ceb3SKrzysztof Kozlowski  clock-names:
37b356ceb3SKrzysztof Kozlowski    description:
38b356ceb3SKrzysztof Kozlowski      Must contain clock names (adc, sclk) matching phandles in clocks
39b356ceb3SKrzysztof Kozlowski      property.
40b356ceb3SKrzysztof Kozlowski    minItems: 1
41b356ceb3SKrzysztof Kozlowski    maxItems: 2
42b356ceb3SKrzysztof Kozlowski
43b356ceb3SKrzysztof Kozlowski  interrupts:
443b17dd22SKrzysztof Kozlowski    description:
453b17dd22SKrzysztof Kozlowski      ADC interrupt followed by optional touchscreen interrupt.
463b17dd22SKrzysztof Kozlowski    minItems: 1
473b17dd22SKrzysztof Kozlowski    maxItems: 2
48b356ceb3SKrzysztof Kozlowski
49b356ceb3SKrzysztof Kozlowski  "#io-channel-cells":
50b356ceb3SKrzysztof Kozlowski    const: 1
51b356ceb3SKrzysztof Kozlowski
52f3dde260SRob Herring  vdd-supply: true
53b356ceb3SKrzysztof Kozlowski
54b356ceb3SKrzysztof Kozlowski  samsung,syscon-phandle:
5534d1e754SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
56b356ceb3SKrzysztof Kozlowski    description:
57b356ceb3SKrzysztof Kozlowski      Phandle to the PMU system controller node (to access the ADC_PHY
589dacf8b5SKrzysztof Kozlowski      register on Exynos3250/4x12/5250/5420/5800).
59b356ceb3SKrzysztof Kozlowski
60b356ceb3SKrzysztof Kozlowski  has-touchscreen:
61b356ceb3SKrzysztof Kozlowski    description:
62b356ceb3SKrzysztof Kozlowski      If present, indicates that a touchscreen is connected and usable.
63b356ceb3SKrzysztof Kozlowski    type: boolean
64b356ceb3SKrzysztof Kozlowski
65b356ceb3SKrzysztof Kozlowskirequired:
66b356ceb3SKrzysztof Kozlowski  - compatible
67b356ceb3SKrzysztof Kozlowski  - reg
68b356ceb3SKrzysztof Kozlowski  - clocks
69b356ceb3SKrzysztof Kozlowski  - clock-names
70b356ceb3SKrzysztof Kozlowski  - interrupts
71b356ceb3SKrzysztof Kozlowski  - "#io-channel-cells"
72b356ceb3SKrzysztof Kozlowski  - vdd-supply
73b356ceb3SKrzysztof Kozlowski
746a0e321eSRob HerringadditionalProperties:
756a0e321eSRob Herring  type: object
766a0e321eSRob Herring
77b356ceb3SKrzysztof KozlowskiallOf:
78b356ceb3SKrzysztof Kozlowski  - if:
79b356ceb3SKrzysztof Kozlowski      properties:
80b356ceb3SKrzysztof Kozlowski        compatible:
81b356ceb3SKrzysztof Kozlowski          contains:
82b356ceb3SKrzysztof Kozlowski            enum:
83b356ceb3SKrzysztof Kozlowski              - samsung,exynos-adc-v1
84b356ceb3SKrzysztof Kozlowski              - samsung,exynos-adc-v2
85b356ceb3SKrzysztof Kozlowski              - samsung,exynos3250-adc
86b356ceb3SKrzysztof Kozlowski              - samsung,exynos4212-adc
87b356ceb3SKrzysztof Kozlowski    then:
88b356ceb3SKrzysztof Kozlowski      required:
89b356ceb3SKrzysztof Kozlowski        - samsung,syscon-phandle
90b356ceb3SKrzysztof Kozlowski
91b356ceb3SKrzysztof Kozlowski  - if:
92b356ceb3SKrzysztof Kozlowski      properties:
93b356ceb3SKrzysztof Kozlowski        compatible:
94b356ceb3SKrzysztof Kozlowski          contains:
95b356ceb3SKrzysztof Kozlowski            enum:
96b356ceb3SKrzysztof Kozlowski              - samsung,exynos3250-adc
97b356ceb3SKrzysztof Kozlowski    then:
98b356ceb3SKrzysztof Kozlowski      properties:
99b356ceb3SKrzysztof Kozlowski        clocks:
100b356ceb3SKrzysztof Kozlowski          minItems: 2
101b356ceb3SKrzysztof Kozlowski          maxItems: 2
102b356ceb3SKrzysztof Kozlowski        clock-names:
103b356ceb3SKrzysztof Kozlowski          items:
104b356ceb3SKrzysztof Kozlowski            - const: adc
105b356ceb3SKrzysztof Kozlowski            - const: sclk
106b356ceb3SKrzysztof Kozlowski    else:
107b356ceb3SKrzysztof Kozlowski      properties:
108b356ceb3SKrzysztof Kozlowski        clocks:
109b356ceb3SKrzysztof Kozlowski          minItems: 1
110b356ceb3SKrzysztof Kozlowski          maxItems: 1
111b356ceb3SKrzysztof Kozlowski        clock-names:
112b356ceb3SKrzysztof Kozlowski          items:
113b356ceb3SKrzysztof Kozlowski            - const: adc
114b356ceb3SKrzysztof Kozlowski
1153b17dd22SKrzysztof Kozlowski  - if:
1163b17dd22SKrzysztof Kozlowski      required:
1173b17dd22SKrzysztof Kozlowski        - has-touchscreen
1183b17dd22SKrzysztof Kozlowski    then:
1193b17dd22SKrzysztof Kozlowski      properties:
1203b17dd22SKrzysztof Kozlowski        interrupts:
1213b17dd22SKrzysztof Kozlowski          minItems: 2
1223b17dd22SKrzysztof Kozlowski          maxItems: 2
1233b17dd22SKrzysztof Kozlowski
124b356ceb3SKrzysztof Kozlowskiexamples:
125b356ceb3SKrzysztof Kozlowski  - |
126b356ceb3SKrzysztof Kozlowski    adc: adc@12d10000 {
127b356ceb3SKrzysztof Kozlowski        compatible = "samsung,exynos-adc-v1";
128b356ceb3SKrzysztof Kozlowski        reg = <0x12d10000 0x100>;
129b356ceb3SKrzysztof Kozlowski        interrupts = <0 106 0>;
130b356ceb3SKrzysztof Kozlowski        #io-channel-cells = <1>;
131b356ceb3SKrzysztof Kozlowski
132b356ceb3SKrzysztof Kozlowski        clocks = <&clock 303>;
133b356ceb3SKrzysztof Kozlowski        clock-names = "adc";
134b356ceb3SKrzysztof Kozlowski
135b356ceb3SKrzysztof Kozlowski        vdd-supply = <&buck5_reg>;
136b356ceb3SKrzysztof Kozlowski        samsung,syscon-phandle = <&pmu_system_controller>;
137b356ceb3SKrzysztof Kozlowski
138b356ceb3SKrzysztof Kozlowski        /* NTC thermistor is a hwmon device */
139cc5faf26SGeert Uytterhoeven        thermistor {
140b356ceb3SKrzysztof Kozlowski            compatible = "murata,ncp15wb473";
141b356ceb3SKrzysztof Kozlowski            pullup-uv = <1800000>;
142b356ceb3SKrzysztof Kozlowski            pullup-ohm = <47000>;
143b356ceb3SKrzysztof Kozlowski            pulldown-ohm = <0>;
144b356ceb3SKrzysztof Kozlowski            io-channels = <&adc 4>;
145b356ceb3SKrzysztof Kozlowski        };
146b356ceb3SKrzysztof Kozlowski    };
147b356ceb3SKrzysztof Kozlowski
148b356ceb3SKrzysztof Kozlowski  - |
1496eda6f6dSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos3250.h>
1506eda6f6dSKrzysztof Kozlowski
151b356ceb3SKrzysztof Kozlowski    adc@126c0000 {
152b356ceb3SKrzysztof Kozlowski        compatible = "samsung,exynos3250-adc";
153*57b73eb9SKrzysztof Kozlowski        reg = <0x126c0000 0x100>;
154b356ceb3SKrzysztof Kozlowski        interrupts = <0 137 0>;
155b356ceb3SKrzysztof Kozlowski        #io-channel-cells = <1>;
156b356ceb3SKrzysztof Kozlowski
1576eda6f6dSKrzysztof Kozlowski        clocks = <&cmu CLK_TSADC>,
1586eda6f6dSKrzysztof Kozlowski                 <&cmu CLK_SCLK_TSADC>;
159b356ceb3SKrzysztof Kozlowski        clock-names = "adc", "sclk";
160b356ceb3SKrzysztof Kozlowski
161b356ceb3SKrzysztof Kozlowski        vdd-supply = <&buck5_reg>;
162b356ceb3SKrzysztof Kozlowski        samsung,syscon-phandle = <&pmu_system_controller>;
163b356ceb3SKrzysztof Kozlowski    };
164