Merge branch 'smack-for-3.19' of git://git.gitorious.org/smack-next/kernel into next
[cascardo/linux.git] / Documentation / devicetree / bindings / arm / samsung / exynos-adc.txt
1 Samsung Exynos Analog to Digital Converter bindings
2
3 The devicetree bindings are for the new ADC driver written for
4 Exynos4 and upward SoCs from Samsung.
5
6 New driver handles the following
7 1. Supports ADC IF found on EXYNOS4412/EXYNOS5250
8    and future SoCs from Samsung
9 2. Add ADC driver under iio/adc framework
10 3. Also adds the Documentation for device tree bindings
11
12 Required properties:
13 - compatible:           Must be "samsung,exynos-adc-v1"
14                                 for exynos4412/5250 controllers.
15                         Must be "samsung,exynos-adc-v2" for
16                                 future controllers.
17                         Must be "samsung,exynos3250-adc" for
18                                 controllers compatible with ADC of Exynos3250.
19 - reg:                  Contains ADC register address range (base address and
20                         length) and the address of the phy enable register.
21 - interrupts:           Contains the interrupt information for the timer. The
22                         format is being dependent on which interrupt controller
23                         the Samsung device uses.
24 - #io-channel-cells = <1>; As ADC has multiple outputs
25 - clocks                From common clock bindings: handles to clocks specified
26                         in "clock-names" property, in the same order.
27 - clock-names           From common clock bindings: list of clock input names
28                         used by ADC block:
29                         - "adc" : ADC bus clock
30                         - "sclk" : ADC special clock (only for Exynos3250 and
31                                    compatible ADC block)
32 - vdd-supply            VDD input supply.
33
34 Note: child nodes can be added for auto probing from device tree.
35
36 Example: adding device info in dtsi file
37
38 adc: adc@12D10000 {
39         compatible = "samsung,exynos-adc-v1";
40         reg = <0x12D10000 0x100>, <0x10040718 0x4>;
41         interrupts = <0 106 0>;
42         #io-channel-cells = <1>;
43         io-channel-ranges;
44
45         clocks = <&clock 303>;
46         clock-names = "adc";
47
48         vdd-supply = <&buck5_reg>;
49 };
50
51 Example: adding device info in dtsi file for Exynos3250 with additional sclk
52
53 adc: adc@126C0000 {
54         compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2;
55         reg = <0x126C0000 0x100>, <0x10020718 0x4>;
56         interrupts = <0 137 0>;
57         #io-channel-cells = <1>;
58         io-channel-ranges;
59
60         clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>;
61         clock-names = "adc", "sclk";
62
63         vdd-supply = <&buck5_reg>;
64 };
65
66 Example: Adding child nodes in dts file
67
68 adc@12D10000 {
69
70         /* NTC thermistor is a hwmon device */
71         ncp15wb473@0 {
72                 compatible = "murata,ncp15wb473";
73                 pullup-uv = <1800000>;
74                 pullup-ohm = <47000>;
75                 pulldown-ohm = <0>;
76                 io-channels = <&adc 4>;
77         };
78 };
79
80 Note: Does not apply to ADC driver under arch/arm/plat-samsung/
81 Note: The child node can be added under the adc node or separately.