mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 20:05:18 +07:00
2bb8ad9b44
This adds support for the touchscreen on Samsung s3c64xx. The driver is completely untested but shows roughly how it could be done, following the example of the at91 driver. compared to the old plat-samsung/adc driver, there is no support for prioritizing ts over other clients, nor for oversampling. From my reading of the code, the priorities didn't actually have any effect at all, but the oversampling might be needed. Verifying this driver is the main issue that is currently holding up multiplatform support for s3c64xx, so any help in testing is very much appreciated. The current version uses the IS_REACHABLE() that is going to be introduced in the linux-media tree, please comment this out for testing. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
104 lines
3.2 KiB
Plaintext
104 lines
3.2 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 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)
|
|
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.
|