aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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