1 // SPDX-License-Identifier: GPL-2.0
5 compatible = "brcm,bcm7425";
11 mips-hpt-frequency = <163125000>;
14 compatible = "brcm,bmips5000";
20 compatible = "brcm,bmips5000";
30 cpu_intc: interrupt-controller {
32 compatible = "mti,cpu-interrupt-controller";
35 #interrupt-cells = <1>;
40 compatible = "fixed-clock";
42 clock-frequency = <81000000>;
46 compatible = "fixed-clock";
48 clock-frequency = <27000000>;
56 compatible = "simple-bus";
57 ranges = <0 0x10000000 0x01000000>;
59 periph_intc: interrupt-controller@41a400 {
60 compatible = "brcm,bcm7038-l1-intc";
61 reg = <0x41a400 0x30>, <0x41a600 0x30>;
64 #interrupt-cells = <1>;
66 interrupt-parent = <&cpu_intc>;
67 interrupts = <2>, <3>;
70 sun_l2_intc: interrupt-controller@403000 {
71 compatible = "brcm,l2-intc";
72 reg = <0x403000 0x30>;
74 #interrupt-cells = <1>;
75 interrupt-parent = <&periph_intc>;
80 compatible = "brcm,bcm7400-gisb-arb";
81 reg = <0x400000 0xdc>;
83 interrupt-parent = <&sun_l2_intc>;
84 interrupts = <0>, <2>;
85 brcm,gisb-arb-master-mask = <0x177b>;
86 brcm,gisb-arb-master-names = "ssp_0", "cpu_0", "pcie_0",
93 upg_irq0_intc: interrupt-controller@406780 {
94 compatible = "brcm,bcm7120-l2-intc";
97 brcm,int-map-mask = <0x44>, <0x7000000>;
98 brcm,int-fwd-mask = <0x70000>;
100 interrupt-controller;
101 #interrupt-cells = <1>;
103 interrupt-parent = <&periph_intc>;
104 interrupts = <55>, <53>;
105 interrupt-names = "upg_main", "upg_bsc";
108 upg_aon_irq0_intc: interrupt-controller@409480 {
109 compatible = "brcm,bcm7120-l2-intc";
110 reg = <0x409480 0x8>;
112 brcm,int-map-mask = <0x40>, <0x18000000>, <0x100000>;
113 brcm,int-fwd-mask = <0>;
116 interrupt-controller;
117 #interrupt-cells = <1>;
119 interrupt-parent = <&periph_intc>;
120 interrupts = <56>, <54>, <59>;
121 interrupt-names = "upg_main_aon", "upg_bsc_aon",
125 sun_top_ctrl: syscon@404000 {
126 compatible = "brcm,bcm7425-sun-top-ctrl", "syscon";
127 reg = <0x404000 0x51c>;
132 compatible = "brcm,brcmstb-reboot";
133 syscon = <&sun_top_ctrl 0x304 0x308>;
136 uart0: serial@406b00 {
137 compatible = "ns16550a";
138 reg = <0x406b00 0x20>;
139 reg-io-width = <0x4>;
141 interrupt-parent = <&periph_intc>;
143 clocks = <&uart_clk>;
147 uart1: serial@406b40 {
148 compatible = "ns16550a";
149 reg = <0x406b40 0x20>;
150 reg-io-width = <0x4>;
152 interrupt-parent = <&periph_intc>;
154 clocks = <&uart_clk>;
158 uart2: serial@406b80 {
159 compatible = "ns16550a";
160 reg = <0x406b80 0x20>;
161 reg-io-width = <0x4>;
163 interrupt-parent = <&periph_intc>;
165 clocks = <&uart_clk>;
170 clock-frequency = <390000>;
171 compatible = "brcm,brcmstb-i2c";
172 interrupt-parent = <&upg_aon_irq0_intc>;
173 reg = <0x409180 0x58>;
175 interrupt-names = "upg_bsca";
180 clock-frequency = <390000>;
181 compatible = "brcm,brcmstb-i2c";
182 interrupt-parent = <&upg_aon_irq0_intc>;
183 reg = <0x409400 0x58>;
185 interrupt-names = "upg_bscb";
190 clock-frequency = <390000>;
191 compatible = "brcm,brcmstb-i2c";
192 interrupt-parent = <&upg_irq0_intc>;
193 reg = <0x406200 0x58>;
195 interrupt-names = "upg_bscc";
200 clock-frequency = <390000>;
201 compatible = "brcm,brcmstb-i2c";
202 interrupt-parent = <&upg_irq0_intc>;
203 reg = <0x406280 0x58>;
205 interrupt-names = "upg_bscd";
210 clock-frequency = <390000>;
211 compatible = "brcm,brcmstb-i2c";
212 interrupt-parent = <&upg_irq0_intc>;
213 reg = <0x406300 0x58>;
215 interrupt-names = "upg_bsce";
220 compatible = "brcm,bcm7038-pwm";
221 reg = <0x406580 0x28>;
228 compatible = "brcm,bcm7038-pwm";
229 reg = <0x406800 0x28>;
235 watchdog: watchdog@4067e8 {
237 compatible = "brcm,bcm7038-wdt";
238 reg = <0x4067e8 0x14>;
242 aon_pm_l2_intc: interrupt-controller@408440 {
243 compatible = "brcm,l2-intc";
244 reg = <0x408440 0x30>;
245 interrupt-controller;
246 #interrupt-cells = <1>;
247 interrupt-parent = <&periph_intc>;
252 aon_ctrl: syscon@408000 {
253 compatible = "brcm,brcmstb-aon-ctrl";
254 reg = <0x408000 0x100>, <0x408200 0x200>;
255 reg-names = "aon-ctrl", "aon-sram";
258 timers: timer@4067c0 {
259 compatible = "brcm,brcmstb-timers";
260 reg = <0x4067c0 0x40>;
263 upg_gio: gpio@406700 {
264 compatible = "brcm,brcmstb-gpio";
265 reg = <0x406700 0x80>;
267 #interrupt-cells = <2>;
269 interrupt-controller;
270 interrupt-parent = <&upg_irq0_intc>;
272 brcm,gpio-bank-widths = <32 32 32 21>;
275 upg_gio_aon: gpio@4094c0 {
276 compatible = "brcm,brcmstb-gpio";
277 reg = <0x4094c0 0x40>;
279 #interrupt-cells = <2>;
281 interrupt-controller;
282 interrupt-parent = <&upg_aon_irq0_intc>;
284 interrupts-extended = <&upg_aon_irq0_intc 6>,
287 brcm,gpio-bank-widths = <18 4>;
290 enet0: ethernet@b80000 {
291 phy-mode = "internal";
292 phy-handle = <&phy1>;
293 mac-address = [ 00 10 18 36 23 1a ];
294 compatible = "brcm,genet-v3";
295 #address-cells = <0x1>;
297 reg = <0xb80000 0x11c88>;
298 interrupts = <17>, <18>;
299 interrupt-parent = <&periph_intc>;
303 compatible = "brcm,genet-mdio-v3";
304 #address-cells = <0x1>;
308 phy1: ethernet-phy@1 {
311 compatible = "brcm,40nm-ephy",
312 "ethernet-phy-ieee802.3-c22";
318 compatible = "brcm,bcm7425-ehci", "generic-ehci";
319 reg = <0x480300 0x100>;
321 interrupt-parent = <&periph_intc>;
327 compatible = "brcm,bcm7425-ohci", "generic-ohci";
328 reg = <0x480400 0x100>;
331 interrupt-parent = <&periph_intc>;
337 compatible = "brcm,bcm7425-ehci", "generic-ehci";
338 reg = <0x480500 0x100>;
340 interrupt-parent = <&periph_intc>;
346 compatible = "brcm,bcm7425-ohci", "generic-ohci";
347 reg = <0x480600 0x100>;
350 interrupt-parent = <&periph_intc>;
356 compatible = "brcm,bcm7425-ehci", "generic-ehci";
357 reg = <0x490300 0x100>;
359 interrupt-parent = <&periph_intc>;
365 compatible = "brcm,bcm7425-ohci", "generic-ohci";
366 reg = <0x490400 0x100>;
369 interrupt-parent = <&periph_intc>;
375 compatible = "brcm,bcm7425-ehci", "generic-ehci";
376 reg = <0x490500 0x100>;
378 interrupt-parent = <&periph_intc>;
384 compatible = "brcm,bcm7425-ohci", "generic-ohci";
385 reg = <0x490600 0x100>;
388 interrupt-parent = <&periph_intc>;
393 hif_l2_intc: interrupt-controller@41a000 {
394 compatible = "brcm,l2-intc";
395 reg = <0x41a000 0x30>;
396 interrupt-controller;
397 #interrupt-cells = <1>;
398 interrupt-parent = <&periph_intc>;
403 compatible = "brcm,brcmnand-v5.0", "brcm,brcmnand";
404 #address-cells = <1>;
406 reg-names = "nand", "flash-edu";
407 reg = <0x41b800 0x400>, <0x41bc00 0x24>;
408 interrupt-parent = <&hif_l2_intc>;
414 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
415 reg-names = "ahci", "top-ctrl";
416 reg = <0x181000 0xa9c>, <0x180020 0x1c>;
417 interrupt-parent = <&periph_intc>;
419 #address-cells = <1>;
434 sata_phy: sata-phy@180100 {
435 compatible = "brcm,bcm7425-sata-phy", "brcm,phy-sata3";
436 reg = <0x180100 0x0eff>;
438 #address-cells = <1>;
442 sata_phy0: sata-phy@0 {
447 sata_phy1: sata-phy@1 {
453 sdhci0: sdhci@419000 {
454 compatible = "brcm,bcm7425-sdhci";
455 reg = <0x419000 0x100>;
456 interrupt-parent = <&periph_intc>;
463 sdhci1: sdhci@419200 {
464 compatible = "brcm,bcm7425-sdhci";
465 reg = <0x419200 0x100>;
466 interrupt-parent = <&periph_intc>;
473 spi_l2_intc: interrupt-controller@41ad00 {
474 compatible = "brcm,l2-intc";
475 reg = <0x41ad00 0x30>;
476 interrupt-controller;
477 #interrupt-cells = <1>;
478 interrupt-parent = <&periph_intc>;
483 #address-cells = <0x1>;
485 compatible = "brcm,spi-bcm-qspi",
486 "brcm,spi-brcmstb-qspi";
488 reg = <0x419920 0x4 0x41c200 0x188 0x41c000 0x50>;
489 reg-names = "cs_reg", "hif_mspi", "bspi";
490 interrupts = <0x0 0x1 0x2 0x3 0x4 0x5 0x6>;
491 interrupt-parent = <&spi_l2_intc>;
492 interrupt-names = "spi_lr_fullness_reached",
493 "spi_lr_session_aborted",
495 "spi_lr_session_done",
503 #address-cells = <1>;
505 compatible = "brcm,spi-bcm-qspi",
506 "brcm,spi-brcmstb-mspi";
508 reg = <0x409200 0x180>;
511 interrupt-parent = <&upg_aon_irq0_intc>;
512 interrupt-names = "mspi_done";
516 waketimer: waketimer@409580 {
517 compatible = "brcm,brcmstb-waketimer";
518 reg = <0x409580 0x14>;
520 interrupt-parent = <&aon_pm_l2_intc>;
521 interrupt-names = "timer";
528 compatible = "simple-bus";
529 ranges = <0x0 0x103b0000 0x1a000>;
530 #address-cells = <1>;
533 memory-controller@0 {
534 compatible = "brcm,brcmstb-memc", "simple-bus";
535 ranges = <0x0 0x0 0xa000>;
536 #address-cells = <1>;
540 compatible = "brcm,brcmstb-memc-arb";
541 reg = <0x1000 0x248>;
545 compatible = "brcm,brcmstb-memc-ddr";
546 reg = <0x2000 0x300>;
550 compatible = "brcm,brcmstb-ddr-phy";
555 compatible = "brcm,brcmstb-ddr-shimphy";
556 reg = <0x8000 0x13c>;
560 memory-controller@1 {
561 compatible = "brcm,brcmstb-memc", "simple-bus";
562 ranges = <0x0 0x10000 0xa000>;
563 #address-cells = <1>;
567 compatible = "brcm,brcmstb-memc-arb";
568 reg = <0x1000 0x248>;
572 compatible = "brcm,brcmstb-memc-ddr";
573 reg = <0x2000 0x300>;
577 compatible = "brcm,brcmstb-ddr-phy";
582 compatible = "brcm,brcmstb-ddr-shimphy";
583 reg = <0x8000 0x13c>;