~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/arm/marvell/ap80x-system-controller.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Marvell Armada AP80x System Controller
  2 ======================================
  3 
  4 The AP806/AP807 is one of the two core HW blocks of the Marvell Armada
  5 7K/8K/931x SoCs. It contains system controllers, which provide several
  6 registers giving access to numerous features: clocks, pin-muxing and
  7 many other SoC configuration items. This DT binding allows to describe
  8 these system controllers.
  9 
 10 For the top level node:
 11  - compatible: must be: "syscon", "simple-mfd";
 12  - reg: register area of the AP80x system controller
 13 
 14 SYSTEM CONTROLLER 0
 15 ===================
 16 
 17 Clocks:
 18 -------
 19 
 20 
 21 The Device Tree node representing the AP806/AP807 system controller
 22 provides a number of clocks:
 23 
 24  - 0: reference clock of CPU cluster 0
 25  - 1: reference clock of CPU cluster 1
 26  - 2: fixed PLL at 1200 Mhz
 27  - 3: MSS clock, derived from the fixed PLL
 28 
 29 Required properties:
 30 
 31  - compatible: must be one of:
 32    * "marvell,ap806-clock"
 33    * "marvell,ap807-clock"
 34  - #clock-cells: must be set to 1
 35 
 36 Pinctrl:
 37 --------
 38 
 39 For common binding part and usage, refer to
 40 Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt.
 41 
 42 Required properties:
 43 - compatible must be "marvell,ap806-pinctrl",
 44 
 45 Available mpp pins/groups and functions:
 46 Note: brackets (x) are not part of the mpp name for marvell,function and given
 47 only for more detailed description in this document.
 48 
 49 name    pins    functions
 50 ================================================================================
 51 mpp0    0       gpio, sdio(clk), spi0(clk)
 52 mpp1    1       gpio, sdio(cmd), spi0(miso)
 53 mpp2    2       gpio, sdio(d0), spi0(mosi)
 54 mpp3    3       gpio, sdio(d1), spi0(cs0n)
 55 mpp4    4       gpio, sdio(d2), i2c0(sda)
 56 mpp5    5       gpio, sdio(d3), i2c0(sdk)
 57 mpp6    6       gpio, sdio(ds)
 58 mpp7    7       gpio, sdio(d4), uart1(rxd)
 59 mpp8    8       gpio, sdio(d5), uart1(txd)
 60 mpp9    9       gpio, sdio(d6), spi0(cs1n)
 61 mpp10   10      gpio, sdio(d7)
 62 mpp11   11      gpio, uart0(txd)
 63 mpp12   12      gpio, sdio(pw_off), sdio(hw_rst)
 64 mpp13   13      gpio
 65 mpp14   14      gpio
 66 mpp15   15      gpio
 67 mpp16   16      gpio
 68 mpp17   17      gpio
 69 mpp18   18      gpio
 70 mpp19   19      gpio, uart0(rxd), sdio(pw_off)
 71 
 72 GPIO:
 73 -----
 74 For common binding part and usage, refer to
 75 Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml.
 76 
 77 Required properties:
 78 
 79 - compatible: "marvell,armada-8k-gpio"
 80 
 81 - offset: offset address inside the syscon block
 82 
 83 Optional properties:
 84 
 85 - marvell,pwm-offset: offset address of PWM duration control registers inside
 86   the syscon block
 87 
 88 Example:
 89 ap_syscon: system-controller@6f4000 {
 90         compatible = "syscon", "simple-mfd";
 91         reg = <0x6f4000 0x1000>;
 92 
 93         ap_clk: clock {
 94                 compatible = "marvell,ap806-clock";
 95                 #clock-cells = <1>;
 96         };
 97 
 98         ap_pinctrl: pinctrl {
 99                 compatible = "marvell,ap806-pinctrl";
100         };
101 
102         ap_gpio: gpio {
103                 compatible = "marvell,armada-8k-gpio";
104                 offset = <0x1040>;
105                 ngpios = <19>;
106                 gpio-controller;
107                 #gpio-cells = <2>;
108                 gpio-ranges = <&ap_pinctrl 0 0 19>;
109                 marvell,pwm-offset = <0x10c0>;
110                 #pwm-cells = <2>;
111                 clocks = <&ap_clk 3>;
112         };
113 };
114 
115 SYSTEM CONTROLLER 1
116 ===================
117 
118 Thermal:
119 --------
120 
121 For common binding part and usage, refer to
122 Documentation/devicetree/bindings/thermal/thermal*.yaml
123 
124 The thermal IP can probe the temperature all around the processor. It
125 may feature several channels, each of them wired to one sensor.
126 
127 It is possible to setup an overheat interrupt by giving at least one
128 critical point to any subnode of the thermal-zone node.
129 
130 Required properties:
131 - compatible: must be one of:
132   * marvell,armada-ap806-thermal
133 - reg: register range associated with the thermal functions.
134 
135 Optional properties:
136 - interrupts: overheat interrupt handle. Should point to line 18 of the
137   SEI irqchip. See interrupt-controller/interrupts.txt
138 - #thermal-sensor-cells: shall be <1> when thermal-zones subnodes refer
139   to this IP and represents the channel ID. There is one sensor per
140   channel. O refers to the thermal IP internal channel, while positive
141   IDs refer to each CPU.
142 
143 Example:
144 ap_syscon1: system-controller@6f8000 {
145         compatible = "syscon", "simple-mfd";
146         reg = <0x6f8000 0x1000>;
147 
148         ap_thermal: thermal-sensor@80 {
149                 compatible = "marvell,armada-ap806-thermal";
150                 reg = <0x80 0x10>;
151                 interrupt-parent = <&sei>;
152                 interrupts = <18>;
153                 #thermal-sensor-cells = <1>;
154         };
155 };
156 
157 Cluster clocks:
158 ---------------
159 
160 Device Tree Clock bindings for cluster clock of Marvell
161 AP806/AP807. Each cluster contain up to 2 CPUs running at the same
162 frequency.
163 
164 Required properties:
165  - compatible: must be one of:
166    * "marvell,ap806-cpu-clock"
167    * "marvell,ap807-cpu-clock"
168 - #clock-cells : should be set to 1.
169 
170 - clocks : shall be the input parent clock(s) phandle for the clock
171            (one per cluster)
172 
173 - reg: register range associated with the cluster clocks
174 
175 ap_syscon1: system-controller@6f8000 {
176         compatible = "marvell,armada-ap806-syscon1", "syscon", "simple-mfd";
177         reg = <0x6f8000 0x1000>;
178 
179         cpu_clk: clock-cpu@278 {
180                 compatible = "marvell,ap806-cpu-clock";
181                 clocks = <&ap_clk 0>, <&ap_clk 1>;
182                 #clock-cells = <1>;
183                 reg = <0x278 0xa30>;
184         };
185 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php