| 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 controllers. |
| Must be "samsung,exynos-adc-v2" for |
| future controllers. |
| Must be "samsung,exynos3250-adc" for |
| controllers compatible with ADC of Exynos3250. |
| - reg: Contains ADC register address range (base address and |
| length) and the address of the phy enable register. |
| - 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. |
| |
| 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>, <0x10040718 0x4>; |
| interrupts = <0 106 0>; |
| #io-channel-cells = <1>; |
| io-channel-ranges; |
| |
| clocks = <&clock 303>; |
| clock-names = "adc"; |
| |
| vdd-supply = <&buck5_reg>; |
| }; |
| |
| 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>, <0x10020718 0x4>; |
| 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>; |
| }; |
| |
| 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. |