ap806-system-controller.txt 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. Marvell Armada AP806 System Controller
  2. ======================================
  3. The AP806 is one of the two core HW blocks of the Marvell Armada 7K/8K
  4. SoCs. It contains system controllers, which provide several registers
  5. giving access to numerous features: clocks, pin-muxing and many other
  6. SoC configuration items. This DT binding allows to describe these
  7. system controllers.
  8. For the top level node:
  9. - compatible: must be: "syscon", "simple-mfd";
  10. - reg: register area of the AP806 system controller
  11. SYSTEM CONTROLLER 0
  12. ===================
  13. Clocks:
  14. -------
  15. The Device Tree node representing the AP806 system controller provides
  16. a number of clocks:
  17. - 0: clock of CPU cluster 0
  18. - 1: clock of CPU cluster 1
  19. - 2: fixed PLL at 1200 Mhz
  20. - 3: MSS clock, derived from the fixed PLL
  21. Required properties:
  22. - compatible: must be: "marvell,ap806-clock"
  23. - #clock-cells: must be set to 1
  24. Pinctrl:
  25. --------
  26. For common binding part and usage, refer to
  27. Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt.
  28. Required properties:
  29. - compatible must be "marvell,ap806-pinctrl",
  30. Available mpp pins/groups and functions:
  31. Note: brackets (x) are not part of the mpp name for marvell,function and given
  32. only for more detailed description in this document.
  33. name pins functions
  34. ================================================================================
  35. mpp0 0 gpio, sdio(clk), spi0(clk)
  36. mpp1 1 gpio, sdio(cmd), spi0(miso)
  37. mpp2 2 gpio, sdio(d0), spi0(mosi)
  38. mpp3 3 gpio, sdio(d1), spi0(cs0n)
  39. mpp4 4 gpio, sdio(d2), i2c0(sda)
  40. mpp5 5 gpio, sdio(d3), i2c0(sdk)
  41. mpp6 6 gpio, sdio(ds)
  42. mpp7 7 gpio, sdio(d4), uart1(rxd)
  43. mpp8 8 gpio, sdio(d5), uart1(txd)
  44. mpp9 9 gpio, sdio(d6), spi0(cs1n)
  45. mpp10 10 gpio, sdio(d7)
  46. mpp11 11 gpio, uart0(txd)
  47. mpp12 12 gpio, sdio(pw_off), sdio(hw_rst)
  48. mpp13 13 gpio
  49. mpp14 14 gpio
  50. mpp15 15 gpio
  51. mpp16 16 gpio
  52. mpp17 17 gpio
  53. mpp18 18 gpio
  54. mpp19 19 gpio, uart0(rxd), sdio(pw_off)
  55. GPIO:
  56. -----
  57. For common binding part and usage, refer to
  58. Documentation/devicetree/bindings/gpio/gpio-mvebu.txt.
  59. Required properties:
  60. - compatible: "marvell,armada-8k-gpio"
  61. - offset: offset address inside the syscon block
  62. Example:
  63. ap_syscon: system-controller@6f4000 {
  64. compatible = "syscon", "simple-mfd";
  65. reg = <0x6f4000 0x1000>;
  66. ap_clk: clock {
  67. compatible = "marvell,ap806-clock";
  68. #clock-cells = <1>;
  69. };
  70. ap_pinctrl: pinctrl {
  71. compatible = "marvell,ap806-pinctrl";
  72. };
  73. ap_gpio: gpio {
  74. compatible = "marvell,armada-8k-gpio";
  75. offset = <0x1040>;
  76. ngpios = <19>;
  77. gpio-controller;
  78. #gpio-cells = <2>;
  79. gpio-ranges = <&ap_pinctrl 0 0 19>;
  80. };
  81. };
  82. SYSTEM CONTROLLER 1
  83. ===================
  84. Thermal:
  85. --------
  86. For common binding part and usage, refer to
  87. Documentation/devicetree/bindings/thermal/thermal.txt
  88. The thermal IP can probe the temperature all around the processor. It
  89. may feature several channels, each of them wired to one sensor.
  90. Required properties:
  91. - compatible: must be one of:
  92. * marvell,armada-ap806-thermal
  93. - reg: register range associated with the thermal functions.
  94. Optional properties:
  95. - #thermal-sensor-cells: shall be <1> when thermal-zones subnodes refer
  96. to this IP and represents the channel ID. There is one sensor per
  97. channel. O refers to the thermal IP internal channel, while positive
  98. IDs refer to each CPU.
  99. Example:
  100. ap_syscon1: system-controller@6f8000 {
  101. compatible = "syscon", "simple-mfd";
  102. reg = <0x6f8000 0x1000>;
  103. ap_thermal: thermal-sensor@80 {
  104. compatible = "marvell,armada-ap806-thermal";
  105. reg = <0x80 0x10>;
  106. #thermal-sensor-cells = <1>;
  107. };
  108. };