1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2011 Picochip, Jamie Iles
6 model = "Picochip picoXcell PC3X3";
7 compatible = "picochip,pc3x3";
16 compatible = "arm,arm1176jz-s";
18 cpu-clock = <&arm_clk>, "cpu";
19 d-cache-line-size = <32>;
20 d-cache-size = <32768>;
21 i-cache-line-size = <32>;
22 i-cache-size = <32768>;
31 clkgate: clkgate@800a0048 {
35 compatible = "picochip,pc3x3-clk-gate";
38 compatible = "picochip,pc3x3-gated-clk";
39 clock-outputs = "bus";
40 picochip,clk-disable-bit = <0>;
41 clock-frequency = <200000000>;
42 ref-clock = <&ref_clk>, "ref";
46 compatible = "picochip,pc3x3-gated-clk";
47 clock-outputs = "bus";
48 picochip,clk-disable-bit = <1>;
49 clock-frequency = <200000000>;
50 ref-clock = <&ref_clk>, "ref";
54 compatible = "picochip,pc3x3-gated-clk";
55 clock-outputs = "bus";
56 picochip,clk-disable-bit = <2>;
57 clock-frequency = <200000000>;
58 ref-clock = <&ref_clk>, "ref";
62 compatible = "picochip,pc3x3-gated-clk";
63 clock-outputs = "bus";
64 picochip,clk-disable-bit = <3>;
65 clock-frequency = <200000000>;
66 ref-clock = <&ref_clk>, "ref";
70 compatible = "picochip,pc3x3-gated-clk";
71 clock-outputs = "bus";
72 picochip,clk-disable-bit = <4>;
73 clock-frequency = <200000000>;
74 ref-clock = <&ref_clk>, "ref";
78 compatible = "picochip,pc3x3-gated-clk";
79 clock-outputs = "bus";
80 picochip,clk-disable-bit = <5>;
81 clock-frequency = <200000000>;
82 ref-clock = <&ref_clk>, "ref";
86 compatible = "picochip,pc3x3-gated-clk";
87 clock-outputs = "bus";
88 picochip,clk-disable-bit = <6>;
89 clock-frequency = <200000000>;
90 ref-clock = <&ref_clk>, "ref";
94 compatible = "picochip,pc3x3-gated-clk";
95 clock-outputs = "bus";
96 picochip,clk-disable-bit = <7>;
97 clock-frequency = <200000000>;
98 ref-clock = <&ref_clk>, "ref";
102 compatible = "picochip,pc3x3-gated-clk";
103 clock-outputs = "bus";
104 picochip,clk-disable-bit = <8>;
105 clock-frequency = <200000000>;
106 ref-clock = <&ref_clk>, "ref";
110 compatible = "picochip,pc3x3-gated-clk";
111 clock-outputs = "bus";
112 picochip,clk-disable-bit = <9>;
113 clock-frequency = <200000000>;
114 ref-clock = <&ref_clk>, "ref";
119 compatible = "picochip,pc3x3-pll";
120 reg = <0x800a0050 0x8>;
121 picochip,min-freq = <140000000>;
122 picochip,max-freq = <700000000>;
123 ref-clock = <&ref_clk>, "ref";
124 clock-outputs = "cpu";
128 compatible = "fixed-clock";
129 clock-outputs = "bus", "pclk";
130 clock-frequency = <200000000>;
131 ref-clock = <&ref_clk>, "ref";
136 compatible = "simple-bus";
137 #address-cells = <1>;
139 ranges = <0 0x80000000 0x400000>;
142 compatible = "cadence,gem";
143 reg = <0x30000 0x10000>;
144 interrupt-parent = <&vic0>;
149 compatible = "snps,dw-dmac";
150 reg = <0x40000 0x10000>;
151 interrupt-parent = <&vic0>;
156 compatible = "snps,dw-dmac";
157 reg = <0x50000 0x10000>;
158 interrupt-parent = <&vic0>;
162 vic0: interrupt-controller@60000 {
163 compatible = "arm,pl192-vic";
164 interrupt-controller;
165 reg = <0x60000 0x1000>;
166 #interrupt-cells = <1>;
169 vic1: interrupt-controller@64000 {
170 compatible = "arm,pl192-vic";
171 interrupt-controller;
172 reg = <0x64000 0x1000>;
173 #interrupt-cells = <1>;
176 fuse: picoxcell-fuse@80000 {
177 compatible = "picoxcell,fuse-pc3x3";
178 reg = <0x80000 0x10000>;
181 ssi: picoxcell-spi@90000 {
182 compatible = "picoxcell,spi";
183 reg = <0x90000 0x10000>;
184 interrupt-parent = <&vic0>;
188 ipsec: spacc@100000 {
189 compatible = "picochip,spacc-ipsec";
190 reg = <0x100000 0x10000>;
191 interrupt-parent = <&vic0>;
193 ref-clock = <&ipsec_clk>, "ref";
197 compatible = "picochip,spacc-srtp";
198 reg = <0x140000 0x10000>;
199 interrupt-parent = <&vic0>;
203 l2_engine: spacc@180000 {
204 compatible = "picochip,spacc-l2";
205 reg = <0x180000 0x10000>;
206 interrupt-parent = <&vic0>;
208 ref-clock = <&l2_clk>, "ref";
212 compatible = "simple-bus";
213 #address-cells = <1>;
215 ranges = <0 0x200000 0x80000>;
218 compatible = "picochip,pc3x2-rtc";
219 clock-freq = <200000000>;
221 interrupt-parent = <&vic0>;
225 timer0: timer@10000 {
226 compatible = "picochip,pc3x2-timer";
227 interrupt-parent = <&vic0>;
229 clock-freq = <200000000>;
230 reg = <0x10000 0x14>;
233 timer1: timer@10014 {
234 compatible = "picochip,pc3x2-timer";
235 interrupt-parent = <&vic0>;
237 clock-freq = <200000000>;
238 reg = <0x10014 0x14>;
242 compatible = "snps,dw-apb-gpio";
243 reg = <0x20000 0x1000>;
244 #address-cells = <1>;
247 banka: gpio-controller@0 {
248 compatible = "snps,dw-apb-gpio-bank";
251 gpio-generic,nr-gpio = <8>;
253 regoffset-dat = <0x50>;
254 regoffset-set = <0x00>;
255 regoffset-dirout = <0x04>;
258 bankb: gpio-controller@1 {
259 compatible = "snps,dw-apb-gpio-bank";
262 gpio-generic,nr-gpio = <16>;
264 regoffset-dat = <0x54>;
265 regoffset-set = <0x0c>;
266 regoffset-dirout = <0x10>;
269 bankd: gpio-controller@2 {
270 compatible = "snps,dw-apb-gpio-bank";
273 gpio-generic,nr-gpio = <30>;
275 regoffset-dat = <0x5c>;
276 regoffset-set = <0x24>;
277 regoffset-dirout = <0x28>;
282 compatible = "snps,dw-apb-uart";
283 reg = <0x30000 0x1000>;
284 interrupt-parent = <&vic1>;
286 clock-frequency = <3686400>;
292 compatible = "snps,dw-apb-uart";
293 reg = <0x40000 0x1000>;
294 interrupt-parent = <&vic1>;
296 clock-frequency = <3686400>;
301 wdog: watchdog@50000 {
302 compatible = "snps,dw-apb-wdg";
303 reg = <0x50000 0x10000>;
304 interrupt-parent = <&vic0>;
306 bus-clock = <&pclk>, "bus";
309 timer2: timer@60000 {
310 compatible = "picochip,pc3x2-timer";
311 interrupt-parent = <&vic0>;
313 clock-freq = <200000000>;
314 reg = <0x60000 0x14>;
317 timer3: timer@60014 {
318 compatible = "picochip,pc3x2-timer";
319 interrupt-parent = <&vic0>;
321 clock-freq = <200000000>;
322 reg = <0x60014 0x14>;
328 #address-cells = <1>;
330 compatible = "simple-bus";
334 compatible = "simple-bus";
335 #address-cells = <2>;
337 ranges = <0 0 0x40000000 0x08000000
338 1 0 0x48000000 0x08000000
339 2 0 0x50000000 0x08000000
340 3 0 0x58000000 0x08000000>;
344 compatible = "picochip,axi2pico-pc3x3";
345 reg = <0xc0000000 0x10000>;
346 interrupt-parent = <&vic0>;
347 interrupts = <13 14 15 16 17 18 19 20 21>;
351 compatible = "picochip,otp-pc3x3";
352 reg = <0xffff8000 0x8000>;