diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-11-01 21:46:17 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-11-01 21:46:17 -0400 |
commit | b8df0ea26ac17c9a073f235c7fdfbdd1851b59ea (patch) | |
tree | 5e57a2fdc5fa05155d7d8214ad054b16f6b1c3d8 /arch/arm/boot | |
parent | 884897e6a10a86de0e611a76f4bf3fd0068a672c (diff) | |
parent | 76780127914d5dc69a458eda5e471e65a5fd3dc9 (diff) |
Merge branch 'picoxcell/soc' into next/soc
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/picoxcell-pc3x2.dtsi | 249 | ||||
-rw-r--r-- | arch/arm/boot/dts/picoxcell-pc3x3.dtsi | 365 | ||||
-rw-r--r-- | arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts | 86 | ||||
-rw-r--r-- | arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts | 92 |
4 files changed, 792 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/picoxcell-pc3x2.dtsi b/arch/arm/boot/dts/picoxcell-pc3x2.dtsi new file mode 100644 index 000000000000..f0a8c2068ea7 --- /dev/null +++ b/arch/arm/boot/dts/picoxcell-pc3x2.dtsi | |||
@@ -0,0 +1,249 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Picochip, Jamie Iles | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | /include/ "skeleton.dtsi" | ||
14 | / { | ||
15 | model = "Picochip picoXcell PC3X2"; | ||
16 | compatible = "picochip,pc3x2"; | ||
17 | #address-cells = <1>; | ||
18 | #size-cells = <1>; | ||
19 | |||
20 | cpus { | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <0>; | ||
23 | |||
24 | cpu@0 { | ||
25 | compatible = "arm,1176jz-s"; | ||
26 | clock-frequency = <400000000>; | ||
27 | reg = <0>; | ||
28 | d-cache-line-size = <32>; | ||
29 | d-cache-size = <32768>; | ||
30 | i-cache-line-size = <32>; | ||
31 | i-cache-size = <32768>; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | clocks { | ||
36 | #address-cells = <1>; | ||
37 | #size-cells = <1>; | ||
38 | ranges; | ||
39 | |||
40 | pclk: clock@0 { | ||
41 | compatible = "fixed-clock"; | ||
42 | clock-outputs = "bus", "pclk"; | ||
43 | clock-frequency = <200000000>; | ||
44 | ref-clock = <&ref_clk>, "ref"; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | paxi { | ||
49 | compatible = "simple-bus"; | ||
50 | #address-cells = <1>; | ||
51 | #size-cells = <1>; | ||
52 | ranges = <0 0x80000000 0x400000>; | ||
53 | |||
54 | emac: gem@30000 { | ||
55 | compatible = "cadence,gem"; | ||
56 | reg = <0x30000 0x10000>; | ||
57 | interrupts = <31>; | ||
58 | }; | ||
59 | |||
60 | dmac1: dmac@40000 { | ||
61 | compatible = "snps,dw-dmac"; | ||
62 | reg = <0x40000 0x10000>; | ||
63 | interrupts = <25>; | ||
64 | }; | ||
65 | |||
66 | dmac2: dmac@50000 { | ||
67 | compatible = "snps,dw-dmac"; | ||
68 | reg = <0x50000 0x10000>; | ||
69 | interrupts = <26>; | ||
70 | }; | ||
71 | |||
72 | vic0: interrupt-controller@60000 { | ||
73 | compatible = "arm,pl192-vic"; | ||
74 | interrupt-controller; | ||
75 | reg = <0x60000 0x1000>; | ||
76 | #interrupt-cells = <1>; | ||
77 | }; | ||
78 | |||
79 | vic1: interrupt-controller@64000 { | ||
80 | compatible = "arm,pl192-vic"; | ||
81 | interrupt-controller; | ||
82 | reg = <0x64000 0x1000>; | ||
83 | #interrupt-cells = <1>; | ||
84 | }; | ||
85 | |||
86 | fuse: picoxcell-fuse@80000 { | ||
87 | compatible = "picoxcell,fuse-pc3x2"; | ||
88 | reg = <0x80000 0x10000>; | ||
89 | }; | ||
90 | |||
91 | ssi: picoxcell-spi@90000 { | ||
92 | compatible = "picoxcell,spi"; | ||
93 | reg = <0x90000 0x10000>; | ||
94 | interrupt-parent = <&vic0>; | ||
95 | interrupts = <10>; | ||
96 | }; | ||
97 | |||
98 | ipsec: spacc@100000 { | ||
99 | compatible = "picochip,spacc-ipsec"; | ||
100 | reg = <0x100000 0x10000>; | ||
101 | interrupt-parent = <&vic0>; | ||
102 | interrupts = <24>; | ||
103 | ref-clock = <&pclk>, "ref"; | ||
104 | }; | ||
105 | |||
106 | srtp: spacc@140000 { | ||
107 | compatible = "picochip,spacc-srtp"; | ||
108 | reg = <0x140000 0x10000>; | ||
109 | interrupt-parent = <&vic0>; | ||
110 | interrupts = <23>; | ||
111 | }; | ||
112 | |||
113 | l2_engine: spacc@180000 { | ||
114 | compatible = "picochip,spacc-l2"; | ||
115 | reg = <0x180000 0x10000>; | ||
116 | interrupt-parent = <&vic0>; | ||
117 | interrupts = <22>; | ||
118 | ref-clock = <&pclk>, "ref"; | ||
119 | }; | ||
120 | |||
121 | apb { | ||
122 | compatible = "simple-bus"; | ||
123 | #address-cells = <1>; | ||
124 | #size-cells = <1>; | ||
125 | ranges = <0 0x200000 0x80000>; | ||
126 | |||
127 | rtc0: rtc@00000 { | ||
128 | compatible = "picochip,pc3x2-rtc"; | ||
129 | clock-freq = <200000000>; | ||
130 | reg = <0x00000 0xf>; | ||
131 | interrupt-parent = <&vic1>; | ||
132 | interrupts = <8>; | ||
133 | }; | ||
134 | |||
135 | timer0: timer@10000 { | ||
136 | compatible = "picochip,pc3x2-timer"; | ||
137 | interrupt-parent = <&vic0>; | ||
138 | interrupts = <4>; | ||
139 | clock-freq = <200000000>; | ||
140 | reg = <0x10000 0x14>; | ||
141 | }; | ||
142 | |||
143 | timer1: timer@10014 { | ||
144 | compatible = "picochip,pc3x2-timer"; | ||
145 | interrupt-parent = <&vic0>; | ||
146 | interrupts = <5>; | ||
147 | clock-freq = <200000000>; | ||
148 | reg = <0x10014 0x14>; | ||
149 | }; | ||
150 | |||
151 | timer2: timer@10028 { | ||
152 | compatible = "picochip,pc3x2-timer"; | ||
153 | interrupt-parent = <&vic0>; | ||
154 | interrupts = <6>; | ||
155 | clock-freq = <200000000>; | ||
156 | reg = <0x10028 0x14>; | ||
157 | }; | ||
158 | |||
159 | timer3: timer@1003c { | ||
160 | compatible = "picochip,pc3x2-timer"; | ||
161 | interrupt-parent = <&vic0>; | ||
162 | interrupts = <7>; | ||
163 | clock-freq = <200000000>; | ||
164 | reg = <0x1003c 0x14>; | ||
165 | }; | ||
166 | |||
167 | gpio: gpio@20000 { | ||
168 | compatible = "snps,dw-apb-gpio"; | ||
169 | reg = <0x20000 0x1000>; | ||
170 | #address-cells = <1>; | ||
171 | #size-cells = <0>; | ||
172 | reg-io-width = <4>; | ||
173 | |||
174 | banka: gpio-controller@0 { | ||
175 | compatible = "snps,dw-apb-gpio-bank"; | ||
176 | gpio-controller; | ||
177 | #gpio-cells = <2>; | ||
178 | gpio-generic,nr-gpio = <8>; | ||
179 | |||
180 | regoffset-dat = <0x50>; | ||
181 | regoffset-set = <0x00>; | ||
182 | regoffset-dirout = <0x04>; | ||
183 | }; | ||
184 | |||
185 | bankb: gpio-controller@1 { | ||
186 | compatible = "snps,dw-apb-gpio-bank"; | ||
187 | gpio-controller; | ||
188 | #gpio-cells = <2>; | ||
189 | gpio-generic,nr-gpio = <8>; | ||
190 | |||
191 | regoffset-dat = <0x54>; | ||
192 | regoffset-set = <0x0c>; | ||
193 | regoffset-dirout = <0x10>; | ||
194 | }; | ||
195 | }; | ||
196 | |||
197 | uart0: uart@30000 { | ||
198 | compatible = "snps,dw-apb-uart"; | ||
199 | reg = <0x30000 0x1000>; | ||
200 | interrupt-parent = <&vic1>; | ||
201 | interrupts = <10>; | ||
202 | clock-frequency = <3686400>; | ||
203 | reg-shift = <2>; | ||
204 | reg-io-width = <4>; | ||
205 | }; | ||
206 | |||
207 | uart1: uart@40000 { | ||
208 | compatible = "snps,dw-apb-uart"; | ||
209 | reg = <0x40000 0x1000>; | ||
210 | interrupt-parent = <&vic1>; | ||
211 | interrupts = <9>; | ||
212 | clock-frequency = <3686400>; | ||
213 | reg-shift = <2>; | ||
214 | reg-io-width = <4>; | ||
215 | }; | ||
216 | |||
217 | wdog: watchdog@50000 { | ||
218 | compatible = "snps,dw-apb-wdg"; | ||
219 | reg = <0x50000 0x10000>; | ||
220 | interrupt-parent = <&vic0>; | ||
221 | interrupts = <11>; | ||
222 | bus-clock = <&pclk>, "bus"; | ||
223 | }; | ||
224 | }; | ||
225 | }; | ||
226 | |||
227 | rwid-axi { | ||
228 | #address-cells = <1>; | ||
229 | #size-cells = <1>; | ||
230 | compatible = "simple-bus"; | ||
231 | ranges; | ||
232 | |||
233 | ebi@50000000 { | ||
234 | compatible = "simple-bus"; | ||
235 | #address-cells = <2>; | ||
236 | #size-cells = <1>; | ||
237 | ranges = <0 0 0x40000000 0x08000000 | ||
238 | 1 0 0x48000000 0x08000000 | ||
239 | 2 0 0x50000000 0x08000000 | ||
240 | 3 0 0x58000000 0x08000000>; | ||
241 | }; | ||
242 | |||
243 | axi2pico@c0000000 { | ||
244 | compatible = "picochip,axi2pico-pc3x2"; | ||
245 | reg = <0xc0000000 0x10000>; | ||
246 | interrupts = <13 14 15 16 17 18 19 20 21>; | ||
247 | }; | ||
248 | }; | ||
249 | }; | ||
diff --git a/arch/arm/boot/dts/picoxcell-pc3x3.dtsi b/arch/arm/boot/dts/picoxcell-pc3x3.dtsi new file mode 100644 index 000000000000..daa962d191e6 --- /dev/null +++ b/arch/arm/boot/dts/picoxcell-pc3x3.dtsi | |||
@@ -0,0 +1,365 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Picochip, Jamie Iles | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | /include/ "skeleton.dtsi" | ||
14 | / { | ||
15 | model = "Picochip picoXcell PC3X3"; | ||
16 | compatible = "picochip,pc3x3"; | ||
17 | #address-cells = <1>; | ||
18 | #size-cells = <1>; | ||
19 | |||
20 | cpus { | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <0>; | ||
23 | |||
24 | cpu@0 { | ||
25 | compatible = "arm,1176jz-s"; | ||
26 | cpu-clock = <&arm_clk>, "cpu"; | ||
27 | reg = <0>; | ||
28 | d-cache-line-size = <32>; | ||
29 | d-cache-size = <32768>; | ||
30 | i-cache-line-size = <32>; | ||
31 | i-cache-size = <32768>; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | clocks { | ||
36 | #address-cells = <1>; | ||
37 | #size-cells = <1>; | ||
38 | ranges; | ||
39 | |||
40 | clkgate: clkgate@800a0048 { | ||
41 | #address-cells = <1>; | ||
42 | #size-cells = <0>; | ||
43 | reg = <0x800a0048 4>; | ||
44 | compatible = "picochip,pc3x3-clk-gate"; | ||
45 | |||
46 | tzprot_clk: clock@0 { | ||
47 | compatible = "picochip,pc3x3-gated-clk"; | ||
48 | clock-outputs = "bus"; | ||
49 | picochip,clk-disable-bit = <0>; | ||
50 | clock-frequency = <200000000>; | ||
51 | ref-clock = <&ref_clk>, "ref"; | ||
52 | }; | ||
53 | |||
54 | spi_clk: clock@1 { | ||
55 | compatible = "picochip,pc3x3-gated-clk"; | ||
56 | clock-outputs = "bus"; | ||
57 | picochip,clk-disable-bit = <1>; | ||
58 | clock-frequency = <200000000>; | ||
59 | ref-clock = <&ref_clk>, "ref"; | ||
60 | }; | ||
61 | |||
62 | dmac0_clk: clock@2 { | ||
63 | compatible = "picochip,pc3x3-gated-clk"; | ||
64 | clock-outputs = "bus"; | ||
65 | picochip,clk-disable-bit = <2>; | ||
66 | clock-frequency = <200000000>; | ||
67 | ref-clock = <&ref_clk>, "ref"; | ||
68 | }; | ||
69 | |||
70 | dmac1_clk: clock@3 { | ||
71 | compatible = "picochip,pc3x3-gated-clk"; | ||
72 | clock-outputs = "bus"; | ||
73 | picochip,clk-disable-bit = <3>; | ||
74 | clock-frequency = <200000000>; | ||
75 | ref-clock = <&ref_clk>, "ref"; | ||
76 | }; | ||
77 | |||
78 | ebi_clk: clock@4 { | ||
79 | compatible = "picochip,pc3x3-gated-clk"; | ||
80 | clock-outputs = "bus"; | ||
81 | picochip,clk-disable-bit = <4>; | ||
82 | clock-frequency = <200000000>; | ||
83 | ref-clock = <&ref_clk>, "ref"; | ||
84 | }; | ||
85 | |||
86 | ipsec_clk: clock@5 { | ||
87 | compatible = "picochip,pc3x3-gated-clk"; | ||
88 | clock-outputs = "bus"; | ||
89 | picochip,clk-disable-bit = <5>; | ||
90 | clock-frequency = <200000000>; | ||
91 | ref-clock = <&ref_clk>, "ref"; | ||
92 | }; | ||
93 | |||
94 | l2_clk: clock@6 { | ||
95 | compatible = "picochip,pc3x3-gated-clk"; | ||
96 | clock-outputs = "bus"; | ||
97 | picochip,clk-disable-bit = <6>; | ||
98 | clock-frequency = <200000000>; | ||
99 | ref-clock = <&ref_clk>, "ref"; | ||
100 | }; | ||
101 | |||
102 | trng_clk: clock@7 { | ||
103 | compatible = "picochip,pc3x3-gated-clk"; | ||
104 | clock-outputs = "bus"; | ||
105 | picochip,clk-disable-bit = <7>; | ||
106 | clock-frequency = <200000000>; | ||
107 | ref-clock = <&ref_clk>, "ref"; | ||
108 | }; | ||
109 | |||
110 | fuse_clk: clock@8 { | ||
111 | compatible = "picochip,pc3x3-gated-clk"; | ||
112 | clock-outputs = "bus"; | ||
113 | picochip,clk-disable-bit = <8>; | ||
114 | clock-frequency = <200000000>; | ||
115 | ref-clock = <&ref_clk>, "ref"; | ||
116 | }; | ||
117 | |||
118 | otp_clk: clock@9 { | ||
119 | compatible = "picochip,pc3x3-gated-clk"; | ||
120 | clock-outputs = "bus"; | ||
121 | picochip,clk-disable-bit = <9>; | ||
122 | clock-frequency = <200000000>; | ||
123 | ref-clock = <&ref_clk>, "ref"; | ||
124 | }; | ||
125 | }; | ||
126 | |||
127 | arm_clk: clock@11 { | ||
128 | compatible = "picochip,pc3x3-pll"; | ||
129 | reg = <0x800a0050 0x8>; | ||
130 | picochip,min-freq = <140000000>; | ||
131 | picochip,max-freq = <700000000>; | ||
132 | ref-clock = <&ref_clk>, "ref"; | ||
133 | clock-outputs = "cpu"; | ||
134 | }; | ||
135 | |||
136 | pclk: clock@12 { | ||
137 | compatible = "fixed-clock"; | ||
138 | clock-outputs = "bus", "pclk"; | ||
139 | clock-frequency = <200000000>; | ||
140 | ref-clock = <&ref_clk>, "ref"; | ||
141 | }; | ||
142 | }; | ||
143 | |||
144 | paxi { | ||
145 | compatible = "simple-bus"; | ||
146 | #address-cells = <1>; | ||
147 | #size-cells = <1>; | ||
148 | ranges = <0 0x80000000 0x400000>; | ||
149 | |||
150 | emac: gem@30000 { | ||
151 | compatible = "cadence,gem"; | ||
152 | reg = <0x30000 0x10000>; | ||
153 | interrupt-parent = <&vic0>; | ||
154 | interrupts = <31>; | ||
155 | }; | ||
156 | |||
157 | dmac1: dmac@40000 { | ||
158 | compatible = "snps,dw-dmac"; | ||
159 | reg = <0x40000 0x10000>; | ||
160 | interrupt-parent = <&vic0>; | ||
161 | interrupts = <25>; | ||
162 | }; | ||
163 | |||
164 | dmac2: dmac@50000 { | ||
165 | compatible = "snps,dw-dmac"; | ||
166 | reg = <0x50000 0x10000>; | ||
167 | interrupt-parent = <&vic0>; | ||
168 | interrupts = <26>; | ||
169 | }; | ||
170 | |||
171 | vic0: interrupt-controller@60000 { | ||
172 | compatible = "arm,pl192-vic"; | ||
173 | interrupt-controller; | ||
174 | reg = <0x60000 0x1000>; | ||
175 | #interrupt-cells = <1>; | ||
176 | }; | ||
177 | |||
178 | vic1: interrupt-controller@64000 { | ||
179 | compatible = "arm,pl192-vic"; | ||
180 | interrupt-controller; | ||
181 | reg = <0x64000 0x1000>; | ||
182 | #interrupt-cells = <1>; | ||
183 | }; | ||
184 | |||
185 | fuse: picoxcell-fuse@80000 { | ||
186 | compatible = "picoxcell,fuse-pc3x3"; | ||
187 | reg = <0x80000 0x10000>; | ||
188 | }; | ||
189 | |||
190 | ssi: picoxcell-spi@90000 { | ||
191 | compatible = "picoxcell,spi"; | ||
192 | reg = <0x90000 0x10000>; | ||
193 | interrupt-parent = <&vic0>; | ||
194 | interrupts = <10>; | ||
195 | }; | ||
196 | |||
197 | ipsec: spacc@100000 { | ||
198 | compatible = "picochip,spacc-ipsec"; | ||
199 | reg = <0x100000 0x10000>; | ||
200 | interrupt-parent = <&vic0>; | ||
201 | interrupts = <24>; | ||
202 | ref-clock = <&ipsec_clk>, "ref"; | ||
203 | }; | ||
204 | |||
205 | srtp: spacc@140000 { | ||
206 | compatible = "picochip,spacc-srtp"; | ||
207 | reg = <0x140000 0x10000>; | ||
208 | interrupt-parent = <&vic0>; | ||
209 | interrupts = <23>; | ||
210 | }; | ||
211 | |||
212 | l2_engine: spacc@180000 { | ||
213 | compatible = "picochip,spacc-l2"; | ||
214 | reg = <0x180000 0x10000>; | ||
215 | interrupt-parent = <&vic0>; | ||
216 | interrupts = <22>; | ||
217 | ref-clock = <&l2_clk>, "ref"; | ||
218 | }; | ||
219 | |||
220 | apb { | ||
221 | compatible = "simple-bus"; | ||
222 | #address-cells = <1>; | ||
223 | #size-cells = <1>; | ||
224 | ranges = <0 0x200000 0x80000>; | ||
225 | |||
226 | rtc0: rtc@00000 { | ||
227 | compatible = "picochip,pc3x2-rtc"; | ||
228 | clock-freq = <200000000>; | ||
229 | reg = <0x00000 0xf>; | ||
230 | interrupt-parent = <&vic0>; | ||
231 | interrupts = <8>; | ||
232 | }; | ||
233 | |||
234 | timer0: timer@10000 { | ||
235 | compatible = "picochip,pc3x2-timer"; | ||
236 | interrupt-parent = <&vic0>; | ||
237 | interrupts = <4>; | ||
238 | clock-freq = <200000000>; | ||
239 | reg = <0x10000 0x14>; | ||
240 | }; | ||
241 | |||
242 | timer1: timer@10014 { | ||
243 | compatible = "picochip,pc3x2-timer"; | ||
244 | interrupt-parent = <&vic0>; | ||
245 | interrupts = <5>; | ||
246 | clock-freq = <200000000>; | ||
247 | reg = <0x10014 0x14>; | ||
248 | }; | ||
249 | |||
250 | gpio: gpio@20000 { | ||
251 | compatible = "snps,dw-apb-gpio"; | ||
252 | reg = <0x20000 0x1000>; | ||
253 | #address-cells = <1>; | ||
254 | #size-cells = <0>; | ||
255 | reg-io-width = <4>; | ||
256 | |||
257 | banka: gpio-controller@0 { | ||
258 | compatible = "snps,dw-apb-gpio-bank"; | ||
259 | gpio-controller; | ||
260 | #gpio-cells = <2>; | ||
261 | gpio-generic,nr-gpio = <8>; | ||
262 | |||
263 | regoffset-dat = <0x50>; | ||
264 | regoffset-set = <0x00>; | ||
265 | regoffset-dirout = <0x04>; | ||
266 | }; | ||
267 | |||
268 | bankb: gpio-controller@1 { | ||
269 | compatible = "snps,dw-apb-gpio-bank"; | ||
270 | gpio-controller; | ||
271 | #gpio-cells = <2>; | ||
272 | gpio-generic,nr-gpio = <16>; | ||
273 | |||
274 | regoffset-dat = <0x54>; | ||
275 | regoffset-set = <0x0c>; | ||
276 | regoffset-dirout = <0x10>; | ||
277 | }; | ||
278 | |||
279 | bankd: gpio-controller@2 { | ||
280 | compatible = "snps,dw-apb-gpio-bank"; | ||
281 | gpio-controller; | ||
282 | #gpio-cells = <2>; | ||
283 | gpio-generic,nr-gpio = <30>; | ||
284 | |||
285 | regoffset-dat = <0x5c>; | ||
286 | regoffset-set = <0x24>; | ||
287 | regoffset-dirout = <0x28>; | ||
288 | }; | ||
289 | }; | ||
290 | |||
291 | uart0: uart@30000 { | ||
292 | compatible = "snps,dw-apb-uart"; | ||
293 | reg = <0x30000 0x1000>; | ||
294 | interrupt-parent = <&vic1>; | ||
295 | interrupts = <10>; | ||
296 | clock-frequency = <3686400>; | ||
297 | reg-shift = <2>; | ||
298 | reg-io-width = <4>; | ||
299 | }; | ||
300 | |||
301 | uart1: uart@40000 { | ||
302 | compatible = "snps,dw-apb-uart"; | ||
303 | reg = <0x40000 0x1000>; | ||
304 | interrupt-parent = <&vic1>; | ||
305 | interrupts = <9>; | ||
306 | clock-frequency = <3686400>; | ||
307 | reg-shift = <2>; | ||
308 | reg-io-width = <4>; | ||
309 | }; | ||
310 | |||
311 | wdog: watchdog@50000 { | ||
312 | compatible = "snps,dw-apb-wdg"; | ||
313 | reg = <0x50000 0x10000>; | ||
314 | interrupt-parent = <&vic0>; | ||
315 | interrupts = <11>; | ||
316 | bus-clock = <&pclk>, "bus"; | ||
317 | }; | ||
318 | |||
319 | timer2: timer@60000 { | ||
320 | compatible = "picochip,pc3x2-timer"; | ||
321 | interrupt-parent = <&vic0>; | ||
322 | interrupts = <6>; | ||
323 | clock-freq = <200000000>; | ||
324 | reg = <0x60000 0x14>; | ||
325 | }; | ||
326 | |||
327 | timer3: timer@60014 { | ||
328 | compatible = "picochip,pc3x2-timer"; | ||
329 | interrupt-parent = <&vic0>; | ||
330 | interrupts = <7>; | ||
331 | clock-freq = <200000000>; | ||
332 | reg = <0x60014 0x14>; | ||
333 | }; | ||
334 | }; | ||
335 | }; | ||
336 | |||
337 | rwid-axi { | ||
338 | #address-cells = <1>; | ||
339 | #size-cells = <1>; | ||
340 | compatible = "simple-bus"; | ||
341 | ranges; | ||
342 | |||
343 | ebi@50000000 { | ||
344 | compatible = "simple-bus"; | ||
345 | #address-cells = <2>; | ||
346 | #size-cells = <1>; | ||
347 | ranges = <0 0 0x40000000 0x08000000 | ||
348 | 1 0 0x48000000 0x08000000 | ||
349 | 2 0 0x50000000 0x08000000 | ||
350 | 3 0 0x58000000 0x08000000>; | ||
351 | }; | ||
352 | |||
353 | axi2pico@c0000000 { | ||
354 | compatible = "picochip,axi2pico-pc3x3"; | ||
355 | reg = <0xc0000000 0x10000>; | ||
356 | interrupt-parent = <&vic0>; | ||
357 | interrupts = <13 14 15 16 17 18 19 20 21>; | ||
358 | }; | ||
359 | |||
360 | otp@ffff8000 { | ||
361 | compatible = "picochip,otp-pc3x3"; | ||
362 | reg = <0xffff8000 0x8000>; | ||
363 | }; | ||
364 | }; | ||
365 | }; | ||
diff --git a/arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts b/arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts new file mode 100644 index 000000000000..1297414dd649 --- /dev/null +++ b/arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts | |||
@@ -0,0 +1,86 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Picochip, Jamie Iles | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | /include/ "picoxcell-pc3x2.dtsi" | ||
16 | / { | ||
17 | model = "Picochip PC7302 (PC3X2)"; | ||
18 | compatible = "picochip,pc7302-pc3x2", "picochip,pc3x2"; | ||
19 | |||
20 | memory { | ||
21 | device_type = "memory"; | ||
22 | reg = <0x0 0x08000000>; | ||
23 | }; | ||
24 | |||
25 | chosen { | ||
26 | linux,stdout-path = &uart0; | ||
27 | }; | ||
28 | |||
29 | clocks { | ||
30 | ref_clk: clock@1 { | ||
31 | compatible = "fixed-clock"; | ||
32 | clock-outputs = "ref"; | ||
33 | clock-frequency = <20000000>; | ||
34 | }; | ||
35 | }; | ||
36 | |||
37 | rwid-axi { | ||
38 | ebi@50000000 { | ||
39 | nand: gpio-nand@2,0 { | ||
40 | compatible = "gpio-control-nand"; | ||
41 | #address-cells = <1>; | ||
42 | #size-cells = <1>; | ||
43 | reg = <2 0x0000 0x1000>; | ||
44 | bus-clock = <&pclk>, "bus"; | ||
45 | gpio-control-nand,io-sync-reg = | ||
46 | <0x00000000 0x80220000>; | ||
47 | |||
48 | gpios = <&banka 1 0 /* rdy */ | ||
49 | &banka 2 0 /* nce */ | ||
50 | &banka 3 0 /* ale */ | ||
51 | &banka 4 0 /* cle */ | ||
52 | 0 /* nwp */>; | ||
53 | |||
54 | boot@100000 { | ||
55 | label = "Boot"; | ||
56 | reg = <0x100000 0x80000>; | ||
57 | }; | ||
58 | |||
59 | redundant-boot@200000 { | ||
60 | label = "Redundant Boot"; | ||
61 | reg = <0x200000 0x80000>; | ||
62 | }; | ||
63 | |||
64 | boot-env@300000 { | ||
65 | label = "Boot Evironment"; | ||
66 | reg = <0x300000 0x20000>; | ||
67 | }; | ||
68 | |||
69 | redundant-boot-env@320000 { | ||
70 | label = "Redundant Boot Environment"; | ||
71 | reg = <0x300000 0x20000>; | ||
72 | }; | ||
73 | |||
74 | kernel@380000 { | ||
75 | label = "Kernel"; | ||
76 | reg = <0x380000 0x800000>; | ||
77 | }; | ||
78 | |||
79 | fs@b80000 { | ||
80 | label = "File System"; | ||
81 | reg = <0xb80000 0xf480000>; | ||
82 | }; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
86 | }; | ||
diff --git a/arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts b/arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts new file mode 100644 index 000000000000..9e317a4f431c --- /dev/null +++ b/arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts | |||
@@ -0,0 +1,92 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Picochip, Jamie Iles | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | /include/ "picoxcell-pc3x3.dtsi" | ||
16 | / { | ||
17 | model = "Picochip PC7302 (PC3X3)"; | ||
18 | compatible = "picochip,pc7302-pc3x3", "picochip,pc3x3"; | ||
19 | |||
20 | memory { | ||
21 | device_type = "memory"; | ||
22 | reg = <0x0 0x08000000>; | ||
23 | }; | ||
24 | |||
25 | chosen { | ||
26 | linux,stdout-path = &uart0; | ||
27 | }; | ||
28 | |||
29 | clocks { | ||
30 | ref_clk: clock@10 { | ||
31 | compatible = "fixed-clock"; | ||
32 | clock-outputs = "ref"; | ||
33 | clock-frequency = <20000000>; | ||
34 | }; | ||
35 | |||
36 | clkgate: clkgate@800a0048 { | ||
37 | clock@4 { | ||
38 | picochip,clk-no-disable; | ||
39 | }; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | rwid-axi { | ||
44 | ebi@50000000 { | ||
45 | nand: gpio-nand@2,0 { | ||
46 | compatible = "gpio-control-nand"; | ||
47 | #address-cells = <1>; | ||
48 | #size-cells = <1>; | ||
49 | reg = <2 0x0000 0x1000>; | ||
50 | bus-clock = <&ebi_clk>, "bus"; | ||
51 | gpio-control-nand,io-sync-reg = | ||
52 | <0x00000000 0x80220000>; | ||
53 | |||
54 | gpios = <&banka 1 0 /* rdy */ | ||
55 | &banka 2 0 /* nce */ | ||
56 | &banka 3 0 /* ale */ | ||
57 | &banka 4 0 /* cle */ | ||
58 | 0 /* nwp */>; | ||
59 | |||
60 | boot@100000 { | ||
61 | label = "Boot"; | ||
62 | reg = <0x100000 0x80000>; | ||
63 | }; | ||
64 | |||
65 | redundant-boot@200000 { | ||
66 | label = "Redundant Boot"; | ||
67 | reg = <0x200000 0x80000>; | ||
68 | }; | ||
69 | |||
70 | boot-env@300000 { | ||
71 | label = "Boot Evironment"; | ||
72 | reg = <0x300000 0x20000>; | ||
73 | }; | ||
74 | |||
75 | redundant-boot-env@320000 { | ||
76 | label = "Redundant Boot Environment"; | ||
77 | reg = <0x300000 0x20000>; | ||
78 | }; | ||
79 | |||
80 | kernel@380000 { | ||
81 | label = "Kernel"; | ||
82 | reg = <0x380000 0x800000>; | ||
83 | }; | ||
84 | |||
85 | fs@b80000 { | ||
86 | label = "File System"; | ||
87 | reg = <0xb80000 0xf480000>; | ||
88 | }; | ||
89 | }; | ||
90 | }; | ||
91 | }; | ||
92 | }; | ||