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,s3c2410-adc 22 - samsung,s3c2416-adc 23 - samsung,s3c2440-adc 24 - samsung,s3c2443-adc 25 - samsung,s3c6410-adc 26 - samsung,s5pv210-adc 27 - items: 28 - enum: 29 - samsung,exynos5433-adc 30 - const: samsung,exynos7-adc 31 32 reg: 33 maxItems: 1 34 35 clocks: 36 description: 37 Phandle to ADC bus clock. For Exynos3250 additional clock is needed. 38 minItems: 1 39 maxItems: 2 40 41 clock-names: 42 description: 43 Must contain clock names (adc, sclk) matching phandles in clocks 44 property. 45 minItems: 1 46 maxItems: 2 47 48 interrupts: 49 description: 50 ADC interrupt followed by optional touchscreen interrupt. 51 minItems: 1 52 maxItems: 2 53 54 "#io-channel-cells": 55 const: 1 56 57 vdd-supply: true 58 59 samsung,syscon-phandle: 60 $ref: /schemas/types.yaml#/definitions/phandle 61 description: 62 Phandle to the PMU system controller node (to access the ADC_PHY 63 register on Exynos3250/4x12/5250/5420/5800). 64 65 has-touchscreen: 66 description: 67 If present, indicates that a touchscreen is connected and usable. 68 type: boolean 69 70required: 71 - compatible 72 - reg 73 - clocks 74 - clock-names 75 - interrupts 76 - "#io-channel-cells" 77 - vdd-supply 78 79additionalProperties: 80 type: object 81 82allOf: 83 - if: 84 properties: 85 compatible: 86 contains: 87 enum: 88 - samsung,exynos-adc-v1 89 - samsung,exynos-adc-v2 90 - samsung,exynos3250-adc 91 - samsung,exynos4212-adc 92 then: 93 required: 94 - samsung,syscon-phandle 95 96 - if: 97 properties: 98 compatible: 99 contains: 100 enum: 101 - samsung,exynos3250-adc 102 then: 103 properties: 104 clocks: 105 minItems: 2 106 maxItems: 2 107 clock-names: 108 items: 109 - const: adc 110 - const: sclk 111 else: 112 properties: 113 clocks: 114 minItems: 1 115 maxItems: 1 116 clock-names: 117 items: 118 - const: adc 119 120 - if: 121 required: 122 - has-touchscreen 123 then: 124 properties: 125 interrupts: 126 minItems: 2 127 maxItems: 2 128 129examples: 130 - | 131 adc: adc@12d10000 { 132 compatible = "samsung,exynos-adc-v1"; 133 reg = <0x12d10000 0x100>; 134 interrupts = <0 106 0>; 135 #io-channel-cells = <1>; 136 137 clocks = <&clock 303>; 138 clock-names = "adc"; 139 140 vdd-supply = <&buck5_reg>; 141 samsung,syscon-phandle = <&pmu_system_controller>; 142 143 /* NTC thermistor is a hwmon device */ 144 thermistor { 145 compatible = "murata,ncp15wb473"; 146 pullup-uv = <1800000>; 147 pullup-ohm = <47000>; 148 pulldown-ohm = <0>; 149 io-channels = <&adc 4>; 150 }; 151 }; 152 153 - | 154 #include <dt-bindings/clock/exynos3250.h> 155 156 adc@126c0000 { 157 compatible = "samsung,exynos3250-adc"; 158 reg = <0x126c0000 0x100>; 159 interrupts = <0 137 0>; 160 #io-channel-cells = <1>; 161 162 clocks = <&cmu CLK_TSADC>, 163 <&cmu CLK_SCLK_TSADC>; 164 clock-names = "adc", "sclk"; 165 166 vdd-supply = <&buck5_reg>; 167 samsung,syscon-phandle = <&pmu_system_controller>; 168 }; 169