diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2013-07-25 15:12:52 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2013-08-26 04:51:19 -0400 |
commit | de7dc935557b0b5fcfe4a9c4802f51e3e9cb8d45 (patch) | |
tree | aebe589839c1468b9eae74e3bc1b967f01f4c47e | |
parent | 98096560ebb84a3bbbc871bb6b67f25565113135 (diff) |
ARM: sun7i: Enable the A20 clocks in the DTSI
Now that the clock driver knows about the available clocks found on the
A20, we can build up the clock tree from the device tree.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-rw-r--r-- | arch/arm/boot/dts/sun7i-a20.dtsi | 126 |
1 files changed, 116 insertions, 10 deletions
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index f4e4524cd4f9..999ff45cb77e 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi | |||
@@ -44,7 +44,8 @@ | |||
44 | 44 | ||
45 | osc24M: osc24M@01c20050 { | 45 | osc24M: osc24M@01c20050 { |
46 | #clock-cells = <0>; | 46 | #clock-cells = <0>; |
47 | compatible = "fixed-clock"; | 47 | compatible = "allwinner,sun4i-osc-clk"; |
48 | reg = <0x01c20050 0x4>; | ||
48 | clock-frequency = <24000000>; | 49 | clock-frequency = <24000000>; |
49 | }; | 50 | }; |
50 | 51 | ||
@@ -53,6 +54,111 @@ | |||
53 | compatible = "fixed-clock"; | 54 | compatible = "fixed-clock"; |
54 | clock-frequency = <32768>; | 55 | clock-frequency = <32768>; |
55 | }; | 56 | }; |
57 | |||
58 | pll1: pll1@01c20000 { | ||
59 | #clock-cells = <0>; | ||
60 | compatible = "allwinner,sun4i-pll1-clk"; | ||
61 | reg = <0x01c20000 0x4>; | ||
62 | clocks = <&osc24M>; | ||
63 | }; | ||
64 | |||
65 | /* | ||
66 | * This is a dummy clock, to be used as placeholder on | ||
67 | * other mux clocks when a specific parent clock is not | ||
68 | * yet implemented. It should be dropped when the driver | ||
69 | * is complete. | ||
70 | */ | ||
71 | pll6: pll6 { | ||
72 | #clock-cells = <0>; | ||
73 | compatible = "fixed-clock"; | ||
74 | clock-frequency = <0>; | ||
75 | }; | ||
76 | |||
77 | cpu: cpu@01c20054 { | ||
78 | #clock-cells = <0>; | ||
79 | compatible = "allwinner,sun4i-cpu-clk"; | ||
80 | reg = <0x01c20054 0x4>; | ||
81 | clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll6>; | ||
82 | }; | ||
83 | |||
84 | axi: axi@01c20054 { | ||
85 | #clock-cells = <0>; | ||
86 | compatible = "allwinner,sun4i-axi-clk"; | ||
87 | reg = <0x01c20054 0x4>; | ||
88 | clocks = <&cpu>; | ||
89 | }; | ||
90 | |||
91 | ahb: ahb@01c20054 { | ||
92 | #clock-cells = <0>; | ||
93 | compatible = "allwinner,sun4i-ahb-clk"; | ||
94 | reg = <0x01c20054 0x4>; | ||
95 | clocks = <&axi>; | ||
96 | }; | ||
97 | |||
98 | ahb_gates: ahb_gates@01c20060 { | ||
99 | #clock-cells = <1>; | ||
100 | compatible = "allwinner,sun7i-a20-ahb-gates-clk"; | ||
101 | reg = <0x01c20060 0x8>; | ||
102 | clocks = <&ahb>; | ||
103 | clock-output-names = "ahb_usb0", "ahb_ehci0", | ||
104 | "ahb_ohci0", "ahb_ehci1", "ahb_ohci1", | ||
105 | "ahb_ss", "ahb_dma", "ahb_bist", "ahb_mmc0", | ||
106 | "ahb_mmc1", "ahb_mmc2", "ahb_mmc3", "ahb_ms", | ||
107 | "ahb_nand", "ahb_sdram", "ahb_ace", | ||
108 | "ahb_emac", "ahb_ts", "ahb_spi0", "ahb_spi1", | ||
109 | "ahb_spi2", "ahb_spi3", "ahb_sata", | ||
110 | "ahb_hstimer", "ahb_ve", "ahb_tvd", "ahb_tve0", | ||
111 | "ahb_tve1", "ahb_lcd0", "ahb_lcd1", "ahb_csi0", | ||
112 | "ahb_csi1", "ahb_hdmi1", "ahb_hdmi0", | ||
113 | "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0", | ||
114 | "ahb_de_fe1", "ahb_gmac", "ahb_mp", | ||
115 | "ahb_mali"; | ||
116 | }; | ||
117 | |||
118 | apb0: apb0@01c20054 { | ||
119 | #clock-cells = <0>; | ||
120 | compatible = "allwinner,sun4i-apb0-clk"; | ||
121 | reg = <0x01c20054 0x4>; | ||
122 | clocks = <&ahb>; | ||
123 | }; | ||
124 | |||
125 | apb0_gates: apb0_gates@01c20068 { | ||
126 | #clock-cells = <1>; | ||
127 | compatible = "allwinner,sun7i-a20-apb0-gates-clk"; | ||
128 | reg = <0x01c20068 0x4>; | ||
129 | clocks = <&apb0>; | ||
130 | clock-output-names = "apb0_codec", "apb0_spdif", | ||
131 | "apb0_ac97", "apb0_iis0", "apb0_iis1", | ||
132 | "apb0_pio", "apb0_ir0", "apb0_ir1", | ||
133 | "apb0_iis2", "apb0_keypad"; | ||
134 | }; | ||
135 | |||
136 | apb1_mux: apb1_mux@01c20058 { | ||
137 | #clock-cells = <0>; | ||
138 | compatible = "allwinner,sun4i-apb1-mux-clk"; | ||
139 | reg = <0x01c20058 0x4>; | ||
140 | clocks = <&osc24M>, <&pll6>, <&osc32k>; | ||
141 | }; | ||
142 | |||
143 | apb1: apb1@01c20058 { | ||
144 | #clock-cells = <0>; | ||
145 | compatible = "allwinner,sun4i-apb1-clk"; | ||
146 | reg = <0x01c20058 0x4>; | ||
147 | clocks = <&apb1_mux>; | ||
148 | }; | ||
149 | |||
150 | apb1_gates: apb1_gates@01c2006c { | ||
151 | #clock-cells = <1>; | ||
152 | compatible = "allwinner,sun7i-a20-apb1-gates-clk"; | ||
153 | reg = <0x01c2006c 0x4>; | ||
154 | clocks = <&apb1>; | ||
155 | clock-output-names = "apb1_i2c0", "apb1_i2c1", | ||
156 | "apb1_i2c2", "apb1_i2c3", "apb1_can", | ||
157 | "apb1_scr", "apb1_ps20", "apb1_ps21", | ||
158 | "apb1_i2c4", "apb1_uart0", "apb1_uart1", | ||
159 | "apb1_uart2", "apb1_uart3", "apb1_uart4", | ||
160 | "apb1_uart5", "apb1_uart6", "apb1_uart7"; | ||
161 | }; | ||
56 | }; | 162 | }; |
57 | 163 | ||
58 | soc@01c00000 { | 164 | soc@01c00000 { |
@@ -65,7 +171,7 @@ | |||
65 | compatible = "allwinner,sun7i-a20-pinctrl"; | 171 | compatible = "allwinner,sun7i-a20-pinctrl"; |
66 | reg = <0x01c20800 0x400>; | 172 | reg = <0x01c20800 0x400>; |
67 | interrupts = <0 28 1>; | 173 | interrupts = <0 28 1>; |
68 | clocks = <&osc24M>; | 174 | clocks = <&apb0_gates 5>; |
69 | gpio-controller; | 175 | gpio-controller; |
70 | interrupt-controller; | 176 | interrupt-controller; |
71 | #address-cells = <1>; | 177 | #address-cells = <1>; |
@@ -117,7 +223,7 @@ | |||
117 | interrupts = <0 1 1>; | 223 | interrupts = <0 1 1>; |
118 | reg-shift = <2>; | 224 | reg-shift = <2>; |
119 | reg-io-width = <4>; | 225 | reg-io-width = <4>; |
120 | clocks = <&osc24M>; | 226 | clocks = <&apb1_gates 16>; |
121 | status = "disabled"; | 227 | status = "disabled"; |
122 | }; | 228 | }; |
123 | 229 | ||
@@ -127,7 +233,7 @@ | |||
127 | interrupts = <0 2 1>; | 233 | interrupts = <0 2 1>; |
128 | reg-shift = <2>; | 234 | reg-shift = <2>; |
129 | reg-io-width = <4>; | 235 | reg-io-width = <4>; |
130 | clocks = <&osc24M>; | 236 | clocks = <&apb1_gates 17>; |
131 | status = "disabled"; | 237 | status = "disabled"; |
132 | }; | 238 | }; |
133 | 239 | ||
@@ -137,7 +243,7 @@ | |||
137 | interrupts = <0 3 1>; | 243 | interrupts = <0 3 1>; |
138 | reg-shift = <2>; | 244 | reg-shift = <2>; |
139 | reg-io-width = <4>; | 245 | reg-io-width = <4>; |
140 | clocks = <&osc24M>; | 246 | clocks = <&apb1_gates 18>; |
141 | status = "disabled"; | 247 | status = "disabled"; |
142 | }; | 248 | }; |
143 | 249 | ||
@@ -147,7 +253,7 @@ | |||
147 | interrupts = <0 4 1>; | 253 | interrupts = <0 4 1>; |
148 | reg-shift = <2>; | 254 | reg-shift = <2>; |
149 | reg-io-width = <4>; | 255 | reg-io-width = <4>; |
150 | clocks = <&osc24M>; | 256 | clocks = <&apb1_gates 19>; |
151 | status = "disabled"; | 257 | status = "disabled"; |
152 | }; | 258 | }; |
153 | 259 | ||
@@ -157,7 +263,7 @@ | |||
157 | interrupts = <0 17 1>; | 263 | interrupts = <0 17 1>; |
158 | reg-shift = <2>; | 264 | reg-shift = <2>; |
159 | reg-io-width = <4>; | 265 | reg-io-width = <4>; |
160 | clocks = <&osc24M>; | 266 | clocks = <&apb1_gates 20>; |
161 | status = "disabled"; | 267 | status = "disabled"; |
162 | }; | 268 | }; |
163 | 269 | ||
@@ -167,7 +273,7 @@ | |||
167 | interrupts = <0 18 1>; | 273 | interrupts = <0 18 1>; |
168 | reg-shift = <2>; | 274 | reg-shift = <2>; |
169 | reg-io-width = <4>; | 275 | reg-io-width = <4>; |
170 | clocks = <&osc24M>; | 276 | clocks = <&apb1_gates 21>; |
171 | status = "disabled"; | 277 | status = "disabled"; |
172 | }; | 278 | }; |
173 | 279 | ||
@@ -177,7 +283,7 @@ | |||
177 | interrupts = <0 19 1>; | 283 | interrupts = <0 19 1>; |
178 | reg-shift = <2>; | 284 | reg-shift = <2>; |
179 | reg-io-width = <4>; | 285 | reg-io-width = <4>; |
180 | clocks = <&osc24M>; | 286 | clocks = <&apb1_gates 22>; |
181 | status = "disabled"; | 287 | status = "disabled"; |
182 | }; | 288 | }; |
183 | 289 | ||
@@ -187,7 +293,7 @@ | |||
187 | interrupts = <0 20 1>; | 293 | interrupts = <0 20 1>; |
188 | reg-shift = <2>; | 294 | reg-shift = <2>; |
189 | reg-io-width = <4>; | 295 | reg-io-width = <4>; |
190 | clocks = <&osc24M>; | 296 | clocks = <&apb1_gates 23>; |
191 | status = "disabled"; | 297 | status = "disabled"; |
192 | }; | 298 | }; |
193 | 299 | ||