aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2014-06-26 11:55:44 -0400
committerMaxime Ripard <maxime.ripard@free-electrons.com>2014-07-04 06:03:50 -0400
commit8e9842406c1889782613f31a81a579ba14ef9e0f (patch)
treed822cbfc8f73783c33526093820b8a83a59be783
parent4a5c586127253bdfa4d8b5bc72be1a9ad6ba5585 (diff)
ARM: sun8i: Add basic clock nodes to the DTSI
Now that we have support for sun8i specific clocks in the driver, add the corresponding clock nodes to the DTSI. Also update the existing peripherals with the correct clocks. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-rw-r--r--arch/arm/boot/dts/sun8i-a23.dtsi125
1 files changed, 120 insertions, 5 deletions
diff --git a/arch/arm/boot/dts/sun8i-a23.dtsi b/arch/arm/boot/dts/sun8i-a23.dtsi
index ac5f69afb595..79c40834bc0a 100644
--- a/arch/arm/boot/dts/sun8i-a23.dtsi
+++ b/arch/arm/boot/dts/sun8i-a23.dtsi
@@ -64,6 +64,121 @@
64 clock-frequency = <32768>; 64 clock-frequency = <32768>;
65 clock-output-names = "osc32k"; 65 clock-output-names = "osc32k";
66 }; 66 };
67
68 pll1: clk@01c20000 {
69 #clock-cells = <0>;
70 compatible = "allwinner,sun8i-a23-pll1-clk";
71 reg = <0x01c20000 0x4>;
72 clocks = <&osc24M>;
73 clock-output-names = "pll1";
74 };
75
76 /* dummy clock until actually implemented */
77 pll6: pll6_clk {
78 #clock-cells = <0>;
79 compatible = "fixed-clock";
80 clock-frequency = <600000000>;
81 clock-output-names = "pll6";
82 };
83
84 cpu: cpu_clk@01c20050 {
85 #clock-cells = <0>;
86 compatible = "allwinner,sun4i-a10-cpu-clk";
87 reg = <0x01c20050 0x4>;
88
89 /*
90 * PLL1 is listed twice here.
91 * While it looks suspicious, it's actually documented
92 * that way both in the datasheet and in the code from
93 * Allwinner.
94 */
95 clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll1>;
96 clock-output-names = "cpu";
97 };
98
99 axi: axi_clk@01c20050 {
100 #clock-cells = <0>;
101 compatible = "allwinner,sun8i-a23-axi-clk";
102 reg = <0x01c20050 0x4>;
103 clocks = <&cpu>;
104 clock-output-names = "axi";
105 };
106
107 ahb1_mux: ahb1_mux_clk@01c20054 {
108 #clock-cells = <0>;
109 compatible = "allwinner,sun6i-a31-ahb1-mux-clk";
110 reg = <0x01c20054 0x4>;
111 clocks = <&osc32k>, <&osc24M>, <&axi>, <&pll6>;
112 clock-output-names = "ahb1_mux";
113 };
114
115 ahb1: ahb1_clk@01c20054 {
116 #clock-cells = <0>;
117 compatible = "allwinner,sun4i-a10-ahb-clk";
118 reg = <0x01c20054 0x4>;
119 clocks = <&ahb1_mux>;
120 clock-output-names = "ahb1";
121 };
122
123 apb1: apb1_clk@01c20054 {
124 #clock-cells = <0>;
125 compatible = "allwinner,sun4i-a10-apb0-clk";
126 reg = <0x01c20054 0x4>;
127 clocks = <&ahb1>;
128 clock-output-names = "apb1";
129 };
130
131 ahb1_gates: clk@01c20060 {
132 #clock-cells = <1>;
133 compatible = "allwinner,sun8i-a23-ahb1-gates-clk";
134 reg = <0x01c20060 0x8>;
135 clocks = <&ahb1>;
136 clock-output-names = "ahb1_mipidsi", "ahb1_dma",
137 "ahb1_mmc0", "ahb1_mmc1", "ahb1_mmc2",
138 "ahb1_nand", "ahb1_sdram",
139 "ahb1_hstimer", "ahb1_spi0",
140 "ahb1_spi1", "ahb1_otg", "ahb1_ehci",
141 "ahb1_ohci", "ahb1_ve", "ahb1_lcd",
142 "ahb1_csi", "ahb1_be", "ahb1_fe",
143 "ahb1_gpu", "ahb1_spinlock",
144 "ahb1_drc";
145 };
146
147 apb1_gates: clk@01c20068 {
148 #clock-cells = <1>;
149 compatible = "allwinner,sun8i-a23-apb1-gates-clk";
150 reg = <0x01c20068 0x4>;
151 clocks = <&apb1>;
152 clock-output-names = "apb1_codec", "apb1_pio",
153 "apb1_daudio0", "apb1_daudio1";
154 };
155
156 apb2_mux: apb2_mux_clk@01c20058 {
157 #clock-cells = <0>;
158 compatible = "allwinner,sun4i-a10-apb1-mux-clk";
159 reg = <0x01c20058 0x4>;
160 clocks = <&osc32k>, <&osc24M>, <&pll6>, <&pll6>;
161 clock-output-names = "apb2_mux";
162 };
163
164 apb2: apb2_clk@01c20058 {
165 #clock-cells = <0>;
166 compatible = "allwinner,sun6i-a31-apb2-div-clk";
167 reg = <0x01c20058 0x4>;
168 clocks = <&apb2_mux>;
169 clock-output-names = "apb2";
170 };
171
172 apb2_gates: clk@01c2006c {
173 #clock-cells = <1>;
174 compatible = "allwinner,sun8i-a23-apb2-gates-clk";
175 reg = <0x01c2006c 0x4>;
176 clocks = <&apb2>;
177 clock-output-names = "apb2_i2c0", "apb2_i2c1",
178 "apb2_i2c2", "apb2_uart0",
179 "apb2_uart1", "apb2_uart2",
180 "apb2_uart3", "apb2_uart4";
181 };
67 }; 182 };
68 183
69 soc@01c00000 { 184 soc@01c00000 {
@@ -92,7 +207,7 @@
92 interrupts = <0 0 4>; 207 interrupts = <0 0 4>;
93 reg-shift = <2>; 208 reg-shift = <2>;
94 reg-io-width = <4>; 209 reg-io-width = <4>;
95 clocks = <&osc24M>; 210 clocks = <&apb2_gates 16>;
96 status = "disabled"; 211 status = "disabled";
97 }; 212 };
98 213
@@ -102,7 +217,7 @@
102 interrupts = <0 1 4>; 217 interrupts = <0 1 4>;
103 reg-shift = <2>; 218 reg-shift = <2>;
104 reg-io-width = <4>; 219 reg-io-width = <4>;
105 clocks = <&osc24M>; 220 clocks = <&apb2_gates 17>;
106 status = "disabled"; 221 status = "disabled";
107 }; 222 };
108 223
@@ -112,7 +227,7 @@
112 interrupts = <0 2 4>; 227 interrupts = <0 2 4>;
113 reg-shift = <2>; 228 reg-shift = <2>;
114 reg-io-width = <4>; 229 reg-io-width = <4>;
115 clocks = <&osc24M>; 230 clocks = <&apb2_gates 18>;
116 status = "disabled"; 231 status = "disabled";
117 }; 232 };
118 233
@@ -122,7 +237,7 @@
122 interrupts = <0 3 4>; 237 interrupts = <0 3 4>;
123 reg-shift = <2>; 238 reg-shift = <2>;
124 reg-io-width = <4>; 239 reg-io-width = <4>;
125 clocks = <&osc24M>; 240 clocks = <&apb2_gates 19>;
126 status = "disabled"; 241 status = "disabled";
127 }; 242 };
128 243
@@ -132,7 +247,7 @@
132 interrupts = <0 4 4>; 247 interrupts = <0 4 4>;
133 reg-shift = <2>; 248 reg-shift = <2>;
134 reg-io-width = <4>; 249 reg-io-width = <4>;
135 clocks = <&osc24M>; 250 clocks = <&apb2_gates 20>;
136 status = "disabled"; 251 status = "disabled";
137 }; 252 };
138 253