exynos-adc.txt 3.2 KB
Newer Older
1 2
Samsung Exynos Analog to Digital Converter bindings

3
The devicetree bindings are for the new ADC driver written for
4 5 6 7 8 9 10 11 12 13
Exynos4 and upward SoCs from Samsung.

New driver handles the following
1. Supports ADC IF found on EXYNOS4412/EXYNOS5250
   and future SoCs from Samsung
2. Add ADC driver under iio/adc framework
3. Also adds the Documentation for device tree bindings

Required properties:
- compatible:		Must be "samsung,exynos-adc-v1"
14
				for exynos4412/5250 and s5pv210 controllers.
15 16
			Must be "samsung,exynos-adc-v2" for
				future controllers.
17 18
			Must be "samsung,exynos3250-adc" for
				controllers compatible with ADC of Exynos3250.
19 20
			Must be "samsung,exynos7-adc" for
				the ADC in Exynos7 and compatibles
21 22 23 24 25 26 27 28
			Must be "samsung,s3c2410-adc" for
				the ADC in s3c2410 and compatibles
			Must be "samsung,s3c2416-adc" for
				the ADC in s3c2416 and compatibles
			Must be "samsung,s3c2440-adc" for
				the ADC in s3c2440 and compatibles
			Must be "samsung,s3c2443-adc" for
				the ADC in s3c2443 and compatibles
29 30
			Must be "samsung,s3c6410-adc" for
				the ADC in s3c6410 and compatibles
31 32 33 34
- reg:			List of ADC register address range
			- The base address and range of ADC register
			- The base address and range of ADC_PHY register (every
			  SoC except for s3c24xx/s3c64xx ADC)
35 36 37 38
- interrupts: 		Contains the interrupt information for the timer. The
			format is being dependent on which interrupt controller
			the Samsung device uses.
- #io-channel-cells = <1>; As ADC has multiple outputs
39 40 41 42 43 44 45
- clocks		From common clock bindings: handles to clocks specified
			in "clock-names" property, in the same order.
- clock-names		From common clock bindings: list of clock input names
			used by ADC block:
			- "adc" : ADC bus clock
			- "sclk" : ADC special clock (only for Exynos3250 and
				   compatible ADC block)
46
- vdd-supply		VDD input supply.
47

48 49
- samsung,syscon-phandle Contains the PMU system controller node
			(To access the ADC_PHY register on Exynos5250/5420/5800/3250)
50 51 52
Optional properties:
- has-touchscreen:	If present, indicates that a touchscreen is
			connected an usable.
53

54 55 56 57
Note: child nodes can be added for auto probing from device tree.

Example: adding device info in dtsi file

58
adc: adc@12d10000 {
59
	compatible = "samsung,exynos-adc-v1";
60
	reg = <0x12D10000 0x100>;
61 62 63
	interrupts = <0 106 0>;
	#io-channel-cells = <1>;
	io-channel-ranges;
64 65 66 67 68

	clocks = <&clock 303>;
	clock-names = "adc";

	vdd-supply = <&buck5_reg>;
69
	samsung,syscon-phandle = <&pmu_system_controller>;
70 71
};

72 73
Example: adding device info in dtsi file for Exynos3250 with additional sclk

74
adc: adc@126c0000 {
75
	compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2;
76
	reg = <0x126C0000 0x100>;
77 78 79 80 81 82 83 84
	interrupts = <0 137 0>;
	#io-channel-cells = <1>;
	io-channel-ranges;

	clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>;
	clock-names = "adc", "sclk";

	vdd-supply = <&buck5_reg>;
85
	samsung,syscon-phandle = <&pmu_system_controller>;
86
};
87 88 89

Example: Adding child nodes in dts file

90
adc@12d10000 {
91 92 93

	/* NTC thermistor is a hwmon device */
	ncp15wb473@0 {
94
		compatible = "murata,ncp15wb473";
95
		pullup-uv = <1800000>;
96 97 98 99 100 101 102
		pullup-ohm = <47000>;
		pulldown-ohm = <0>;
		io-channels = <&adc 4>;
	};
};

Note: Does not apply to ADC driver under arch/arm/plat-samsung/
103
Note: The child node can be added under the adc node or separately.