2 * Copyright (C) 2012 Altera <www.altera.com>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 /include/ "skeleton.dtsi"
40 compatible = "arm,cortex-a9";
43 next-level-cache = <&L2>;
46 compatible = "arm,cortex-a9";
49 next-level-cache = <&L2>;
54 compatible = "arm,cortex-a9-gic";
55 #interrupt-cells = <3>;
57 reg = <0xfffed000 0x1000>,
64 compatible = "simple-bus";
66 interrupt-parent = <&intc>;
70 compatible = "arm,amba-bus";
76 compatible = "arm,pl330", "arm,primecell";
77 reg = <0xffe01000 0x1000>;
78 interrupts = <0 180 4>;
86 compatible = "altr,clk-mgr";
87 reg = <0xffd04000 0x1000>;
95 compatible = "fixed-clock";
98 f2s_periph_ref_clk: f2s_periph_ref_clk {
100 compatible = "fixed-clock";
101 clock-frequency = <10000000>;
105 #address-cells = <1>;
108 compatible = "altr,socfpga-pll-clock";
114 compatible = "altr,socfpga-perip-clk";
115 clocks = <&main_pll>;
122 compatible = "altr,socfpga-perip-clk";
123 clocks = <&main_pll>;
128 dbg_base_clk: dbg_base_clk {
130 compatible = "altr,socfpga-perip-clk";
131 clocks = <&main_pll>;
136 main_qspi_clk: main_qspi_clk {
138 compatible = "altr,socfpga-perip-clk";
139 clocks = <&main_pll>;
143 main_nand_sdmmc_clk: main_nand_sdmmc_clk {
145 compatible = "altr,socfpga-perip-clk";
146 clocks = <&main_pll>;
150 cfg_s2f_usr0_clk: cfg_s2f_usr0_clk {
152 compatible = "altr,socfpga-perip-clk";
153 clocks = <&main_pll>;
158 periph_pll: periph_pll {
159 #address-cells = <1>;
162 compatible = "altr,socfpga-pll-clock";
166 emac0_clk: emac0_clk {
168 compatible = "altr,socfpga-perip-clk";
169 clocks = <&periph_pll>;
173 emac1_clk: emac1_clk {
175 compatible = "altr,socfpga-perip-clk";
176 clocks = <&periph_pll>;
180 per_qspi_clk: per_qsi_clk {
182 compatible = "altr,socfpga-perip-clk";
183 clocks = <&periph_pll>;
187 per_nand_mmc_clk: per_nand_mmc_clk {
189 compatible = "altr,socfpga-perip-clk";
190 clocks = <&periph_pll>;
194 per_base_clk: per_base_clk {
196 compatible = "altr,socfpga-perip-clk";
197 clocks = <&periph_pll>;
201 s2f_usr1_clk: s2f_usr1_clk {
203 compatible = "altr,socfpga-perip-clk";
204 clocks = <&periph_pll>;
209 sdram_pll: sdram_pll {
210 #address-cells = <1>;
213 compatible = "altr,socfpga-pll-clock";
217 ddr_dqs_clk: ddr_dqs_clk {
219 compatible = "altr,socfpga-perip-clk";
220 clocks = <&sdram_pll>;
224 ddr_2x_dqs_clk: ddr_2x_dqs_clk {
226 compatible = "altr,socfpga-perip-clk";
227 clocks = <&sdram_pll>;
231 ddr_dq_clk: ddr_dq_clk {
233 compatible = "altr,socfpga-perip-clk";
234 clocks = <&sdram_pll>;
238 s2f_usr2_clk: s2f_usr2_clk {
240 compatible = "altr,socfpga-perip-clk";
241 clocks = <&sdram_pll>;
246 mpu_periph_clk: mpu_periph_clk {
248 compatible = "altr,socfpga-gate-clk";
253 mpu_l2_ram_clk: mpu_l2_ram_clk {
255 compatible = "altr,socfpga-gate-clk";
260 l4_main_clk: l4_main_clk {
262 compatible = "altr,socfpga-gate-clk";
267 l3_main_clk: l3_main_clk {
269 compatible = "altr,socfpga-gate-clk";
273 l3_mp_clk: l3_mp_clk {
275 compatible = "altr,socfpga-gate-clk";
277 div-reg = <0x64 0 2>;
281 l3_sp_clk: l3_sp_clk {
283 compatible = "altr,socfpga-gate-clk";
285 div-reg = <0x64 2 2>;
288 l4_mp_clk: l4_mp_clk {
290 compatible = "altr,socfpga-gate-clk";
291 clocks = <&mainclk>, <&per_base_clk>;
292 div-reg = <0x64 4 3>;
296 l4_sp_clk: l4_sp_clk {
298 compatible = "altr,socfpga-gate-clk";
299 clocks = <&mainclk>, <&per_base_clk>;
300 div-reg = <0x64 7 3>;
304 dbg_at_clk: dbg_at_clk {
306 compatible = "altr,socfpga-gate-clk";
307 clocks = <&dbg_base_clk>;
308 div-reg = <0x68 0 2>;
314 compatible = "altr,socfpga-gate-clk";
315 clocks = <&dbg_base_clk>;
316 div-reg = <0x68 2 2>;
320 dbg_trace_clk: dbg_trace_clk {
322 compatible = "altr,socfpga-gate-clk";
323 clocks = <&dbg_base_clk>;
324 div-reg = <0x6C 0 3>;
328 dbg_timer_clk: dbg_timer_clk {
330 compatible = "altr,socfpga-gate-clk";
331 clocks = <&dbg_base_clk>;
337 compatible = "altr,socfpga-gate-clk";
338 clocks = <&cfg_s2f_usr0_clk>;
342 s2f_user0_clk: s2f_user0_clk {
344 compatible = "altr,socfpga-gate-clk";
345 clocks = <&cfg_s2f_usr0_clk>;
349 emac_0_clk: emac_0_clk {
351 compatible = "altr,socfpga-gate-clk";
352 clocks = <&emac0_clk>;
356 emac_1_clk: emac_1_clk {
358 compatible = "altr,socfpga-gate-clk";
359 clocks = <&emac1_clk>;
363 usb_mp_clk: usb_mp_clk {
365 compatible = "altr,socfpga-gate-clk";
366 clocks = <&per_base_clk>;
368 div-reg = <0xa4 0 3>;
371 spi_m_clk: spi_m_clk {
373 compatible = "altr,socfpga-gate-clk";
374 clocks = <&per_base_clk>;
376 div-reg = <0xa4 3 3>;
381 compatible = "altr,socfpga-gate-clk";
382 clocks = <&per_base_clk>;
384 div-reg = <0xa4 6 3>;
389 compatible = "altr,socfpga-gate-clk";
390 clocks = <&per_base_clk>;
392 div-reg = <0xa4 9 3>;
395 gpio_db_clk: gpio_db_clk {
397 compatible = "altr,socfpga-gate-clk";
398 clocks = <&per_base_clk>;
400 div-reg = <0xa8 0 24>;
403 s2f_user1_clk: s2f_user1_clk {
405 compatible = "altr,socfpga-gate-clk";
406 clocks = <&s2f_usr1_clk>;
410 sdmmc_clk: sdmmc_clk {
412 compatible = "altr,socfpga-gate-clk";
413 clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
417 nand_x_clk: nand_x_clk {
419 compatible = "altr,socfpga-gate-clk";
420 clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
426 compatible = "altr,socfpga-gate-clk";
427 clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
428 clk-gate = <0xa0 10>;
434 compatible = "altr,socfpga-gate-clk";
435 clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>;
436 clk-gate = <0xa0 11>;
441 gmac0: ethernet@ff700000 {
442 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
443 reg = <0xff700000 0x2000>;
444 interrupts = <0 115 4>;
445 interrupt-names = "macirq";
446 mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
447 clocks = <&emac0_clk>;
448 clock-names = "stmmaceth";
452 gmac1: ethernet@ff702000 {
453 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
454 reg = <0xff702000 0x2000>;
455 interrupts = <0 120 4>;
456 interrupt-names = "macirq";
457 mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
458 clocks = <&emac1_clk>;
459 clock-names = "stmmaceth";
463 L2: l2-cache@fffef000 {
464 compatible = "arm,pl310-cache";
465 reg = <0xfffef000 0x1000>;
466 interrupts = <0 38 0x04>;
473 compatible = "arm,cortex-a9-twd-timer";
474 reg = <0xfffec600 0x100>;
475 interrupts = <1 13 0xf04>;
478 timer0: timer0@ffc08000 {
479 compatible = "snps,dw-apb-timer";
480 interrupts = <0 167 4>;
481 reg = <0xffc08000 0x1000>;
484 timer1: timer1@ffc09000 {
485 compatible = "snps,dw-apb-timer";
486 interrupts = <0 168 4>;
487 reg = <0xffc09000 0x1000>;
490 timer2: timer2@ffd00000 {
491 compatible = "snps,dw-apb-timer";
492 interrupts = <0 169 4>;
493 reg = <0xffd00000 0x1000>;
496 timer3: timer3@ffd01000 {
497 compatible = "snps,dw-apb-timer";
498 interrupts = <0 170 4>;
499 reg = <0xffd01000 0x1000>;
502 uart0: serial0@ffc02000 {
503 compatible = "snps,dw-apb-uart";
504 reg = <0xffc02000 0x1000>;
505 interrupts = <0 162 4>;
510 uart1: serial1@ffc03000 {
511 compatible = "snps,dw-apb-uart";
512 reg = <0xffc03000 0x1000>;
513 interrupts = <0 163 4>;
519 compatible = "altr,rst-mgr";
520 reg = <0xffd05000 0x1000>;
524 compatible = "altr,sys-mgr";
525 reg = <0xffd08000 0x4000>;