108 lines
3.4 KiB
Plaintext
108 lines
3.4 KiB
Plaintext
|
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 Exynos5250 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,exynos4212-adc" for
|
||
|
controllers compatible with ADC of Exynos4212 and Exynos4412.
|
||
|
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
|
||
|
Must be "samsung,s5pv210-adc" for
|
||
|
the ADC in s5pv210 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)
|
||
|
Optional properties:
|
||
|
- has-touchscreen: If present, indicates that a touchscreen is
|
||
|
connected an usable.
|
||
|
|
||
|
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.
|