Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / Documentation / devicetree / bindings / arm / samsung / exynos-adc.txt
diff --git a/kernel/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt b/kernel/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt
new file mode 100644 (file)
index 0000000..f46ca9a
--- /dev/null
@@ -0,0 +1,100 @@
+Samsung Exynos Analog to Digital Converter bindings
+
+The devicetree bindings are for the new ADC driver written for
+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"
+                               for exynos4412/5250 and s5pv210 controllers.
+                       Must be "samsung,exynos-adc-v2" for
+                               future controllers.
+                       Must be "samsung,exynos3250-adc" for
+                               controllers compatible with ADC of Exynos3250.
+                       Must be "samsung,exynos7-adc" for
+                               the ADC in Exynos7 and compatibles
+                       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
+                       Must be "samsung,s3c6410-adc" for
+                               the ADC in s3c6410 and compatibles
+- 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)
+- 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
+- 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)
+- vdd-supply           VDD input supply.
+
+- samsung,syscon-phandle Contains the PMU system controller node
+                       (To access the ADC_PHY register on Exynos5250/5420/5800/3250)
+
+Note: child nodes can be added for auto probing from device tree.
+
+Example: adding device info in dtsi file
+
+adc: adc@12D10000 {
+       compatible = "samsung,exynos-adc-v1";
+       reg = <0x12D10000 0x100>;
+       interrupts = <0 106 0>;
+       #io-channel-cells = <1>;
+       io-channel-ranges;
+
+       clocks = <&clock 303>;
+       clock-names = "adc";
+
+       vdd-supply = <&buck5_reg>;
+       samsung,syscon-phandle = <&pmu_system_controller>;
+};
+
+Example: adding device info in dtsi file for Exynos3250 with additional sclk
+
+adc: adc@126C0000 {
+       compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2;
+       reg = <0x126C0000 0x100>;
+       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>;
+       samsung,syscon-phandle = <&pmu_system_controller>;
+};
+
+Example: Adding child nodes in dts file
+
+adc@12D10000 {
+
+       /* NTC thermistor is a hwmon device */
+       ncp15wb473@0 {
+               compatible = "murata,ncp15wb473";
+               pullup-uv = <1800000>;
+               pullup-ohm = <47000>;
+               pulldown-ohm = <0>;
+               io-channels = <&adc 4>;
+       };
+};
+
+Note: Does not apply to ADC driver under arch/arm/plat-samsung/
+Note: The child node can be added under the adc node or separately.