File Index
Files and directories
Sign in
FILE

samsung,exynos-adc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/iio/adc/samsung,exynos-adc.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Samsung Exynos Analog to Digital Converter (ADC)
  8
  9maintainers:
 10  - Krzysztof Kozlowski <krzk@kernel.org>
 11
 12properties:
 13  compatible:
 14    oneOf:
 15      - enum:
 16          - samsung,exynos-adc-v1                 # Exynos5250
 17          - samsung,exynos-adc-v2
 18          - samsung,exynos3250-adc
 19          - samsung,exynos4212-adc                # Exynos4212 and Exynos4412
 20          - samsung,exynos7-adc
 21          - samsung,s3c6410-adc
 22          - samsung,s5pv210-adc
 23      - items:
 24          - enum:
 25              - samsung,exynos5433-adc
 26          - const: samsung,exynos7-adc
 27
 28  reg:
 29    maxItems: 1
 30
 31  clocks:
 32    description:
 33      Phandle to ADC bus clock. For Exynos3250 additional clock is needed.
 34    minItems: 1
 35    maxItems: 2
 36
 37  clock-names:
 38    description:
 39      Must contain clock names (adc, sclk) matching phandles in clocks
 40      property.
 41    minItems: 1
 42    maxItems: 2
 43
 44  interrupts:
 45    minItems: 1
 46    maxItems: 2
 47
 48  "#io-channel-cells":
 49    const: 1
 50
 51  vdd-supply: true
 52
 53  samsung,syscon-phandle:
 54    $ref: /schemas/types.yaml#/definitions/phandle
 55    description:
 56      Phandle to the PMU system controller node (to access the ADC_PHY
 57      register on Exynos3250/4x12/5250/5420/5800).
 58
 59required:
 60  - compatible
 61  - reg
 62  - clocks
 63  - clock-names
 64  - interrupts
 65  - "#io-channel-cells"
 66  - vdd-supply
 67
 68additionalProperties:
 69  type: object
 70
 71allOf:
 72  - if:
 73      properties:
 74        compatible:
 75          contains:
 76            enum:
 77              - samsung,exynos-adc-v1
 78              - samsung,exynos-adc-v2
 79              - samsung,exynos3250-adc
 80              - samsung,exynos4212-adc
 81    then:
 82      required:
 83        - samsung,syscon-phandle
 84
 85  - if:
 86      properties:
 87        compatible:
 88          contains:
 89            enum:
 90              - samsung,exynos3250-adc
 91    then:
 92      properties:
 93        clocks:
 94          minItems: 2
 95          maxItems: 2
 96        clock-names:
 97          items:
 98            - const: adc
 99            - const: sclk
100    else:
101      properties:
102        clocks:
103          minItems: 1
104          maxItems: 1
105        clock-names:
106          items:
107            - const: adc
108
109  - if:
110      properties:
111        compatible:
112          contains:
113            const: samsung,s5pv210-adc
114    then:
115      properties:
116        interrupts:
117          items:
118            - description: main (ADC)
119            - description: pending (PENDN)
120    else:
121      properties:
122        interrupts:
123          maxItems: 1
124
125examples:
126  - |
127    #include <dt-bindings/interrupt-controller/arm-gic.h>
128
129    adc: adc@12d10000 {
130        compatible = "samsung,exynos-adc-v1";
131        reg = <0x12d10000 0x100>;
132        interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
133        #io-channel-cells = <1>;
134
135        clocks = <&clock 303>;
136        clock-names = "adc";
137
138        vdd-supply = <&buck5_reg>;
139        samsung,syscon-phandle = <&pmu_system_controller>;
140
141        /* NTC thermistor is a hwmon device */
142        thermistor {
143            compatible = "murata,ncp15wb473";
144            pullup-uv = <1800000>;
145            pullup-ohm = <47000>;
146            pulldown-ohm = <0>;
147            io-channels = <&adc 4>;
148        };
149    };
150
151  - |
152    #include <dt-bindings/clock/exynos3250.h>
153    #include <dt-bindings/interrupt-controller/arm-gic.h>
154
155    adc@126c0000 {
156        compatible = "samsung,exynos3250-adc";
157        reg = <0x126c0000 0x100>;
158        interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
159        #io-channel-cells = <1>;
160
161        clocks = <&cmu CLK_TSADC>,
162                 <&cmu CLK_SCLK_TSADC>;
163        clock-names = "adc", "sclk";
164
165        vdd-supply = <&buck5_reg>;
166        samsung,syscon-phandle = <&pmu_system_controller>;
167    };
~/ Read-only file preview.