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