exynos-adc.txt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. Samsung Exynos Analog to Digital Converter bindings
  2. The devicetree bindings are for the new ADC driver written for
  3. Exynos4 and upward SoCs from Samsung.
  4. New driver handles the following
  5. 1. Supports ADC IF found on EXYNOS4412/EXYNOS5250
  6. and future SoCs from Samsung
  7. 2. Add ADC driver under iio/adc framework
  8. 3. Also adds the Documentation for device tree bindings
  9. Required properties:
  10. - compatible: Must be "samsung,exynos-adc-v1"
  11. for exynos4412/5250 and s5pv210 controllers.
  12. Must be "samsung,exynos-adc-v2" for
  13. future controllers.
  14. Must be "samsung,exynos3250-adc" for
  15. controllers compatible with ADC of Exynos3250.
  16. Must be "samsung,exynos7-adc" for
  17. the ADC in Exynos7 and compatibles
  18. Must be "samsung,s3c2410-adc" for
  19. the ADC in s3c2410 and compatibles
  20. Must be "samsung,s3c2416-adc" for
  21. the ADC in s3c2416 and compatibles
  22. Must be "samsung,s3c2440-adc" for
  23. the ADC in s3c2440 and compatibles
  24. Must be "samsung,s3c2443-adc" for
  25. the ADC in s3c2443 and compatibles
  26. Must be "samsung,s3c6410-adc" for
  27. the ADC in s3c6410 and compatibles
  28. - reg: List of ADC register address range
  29. - The base address and range of ADC register
  30. - The base address and range of ADC_PHY register (every
  31. SoC except for s3c24xx/s3c64xx ADC)
  32. - interrupts: Contains the interrupt information for the timer. The
  33. format is being dependent on which interrupt controller
  34. the Samsung device uses.
  35. - #io-channel-cells = <1>; As ADC has multiple outputs
  36. - clocks From common clock bindings: handles to clocks specified
  37. in "clock-names" property, in the same order.
  38. - clock-names From common clock bindings: list of clock input names
  39. used by ADC block:
  40. - "adc" : ADC bus clock
  41. - "sclk" : ADC special clock (only for Exynos3250 and
  42. compatible ADC block)
  43. - vdd-supply VDD input supply.
  44. - samsung,syscon-phandle Contains the PMU system controller node
  45. (To access the ADC_PHY register on Exynos5250/5420/5800/3250)
  46. Optional properties:
  47. - has-touchscreen: If present, indicates that a touchscreen is
  48. connected an usable.
  49. Note: child nodes can be added for auto probing from device tree.
  50. Example: adding device info in dtsi file
  51. adc: adc@12D10000 {
  52. compatible = "samsung,exynos-adc-v1";
  53. reg = <0x12D10000 0x100>;
  54. interrupts = <0 106 0>;
  55. #io-channel-cells = <1>;
  56. io-channel-ranges;
  57. clocks = <&clock 303>;
  58. clock-names = "adc";
  59. vdd-supply = <&buck5_reg>;
  60. samsung,syscon-phandle = <&pmu_system_controller>;
  61. };
  62. Example: adding device info in dtsi file for Exynos3250 with additional sclk
  63. adc: adc@126C0000 {
  64. compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2;
  65. reg = <0x126C0000 0x100>;
  66. interrupts = <0 137 0>;
  67. #io-channel-cells = <1>;
  68. io-channel-ranges;
  69. clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>;
  70. clock-names = "adc", "sclk";
  71. vdd-supply = <&buck5_reg>;
  72. samsung,syscon-phandle = <&pmu_system_controller>;
  73. };
  74. Example: Adding child nodes in dts file
  75. adc@12D10000 {
  76. /* NTC thermistor is a hwmon device */
  77. ncp15wb473@0 {
  78. compatible = "murata,ncp15wb473";
  79. pullup-uv = <1800000>;
  80. pullup-ohm = <47000>;
  81. pulldown-ohm = <0>;
  82. io-channels = <&adc 4>;
  83. };
  84. };
  85. Note: Does not apply to ADC driver under arch/arm/plat-samsung/
  86. Note: The child node can be added under the adc node or separately.