1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
22eb4d8dcSEmmanuel Vadot
32eb4d8dcSEmmanuel Vadot#include "dt-bindings/clock/bcm63268-clock.h"
42eb4d8dcSEmmanuel Vadot#include "dt-bindings/reset/bcm63268-reset.h"
52eb4d8dcSEmmanuel Vadot#include "dt-bindings/soc/bcm63268-pm.h"
62eb4d8dcSEmmanuel Vadot
7c66ec88fSEmmanuel Vadot/ {
8c66ec88fSEmmanuel Vadot	#address-cells = <1>;
9c66ec88fSEmmanuel Vadot	#size-cells = <1>;
10c66ec88fSEmmanuel Vadot	compatible = "brcm,bcm63268";
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot	cpus {
13c66ec88fSEmmanuel Vadot		#address-cells = <1>;
14c66ec88fSEmmanuel Vadot		#size-cells = <0>;
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel Vadot		mips-hpt-frequency = <200000000>;
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot		cpu@0 {
19c66ec88fSEmmanuel Vadot			compatible = "brcm,bmips4350";
20c66ec88fSEmmanuel Vadot			device_type = "cpu";
21c66ec88fSEmmanuel Vadot			reg = <0>;
22c66ec88fSEmmanuel Vadot		};
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot		cpu@1 {
25c66ec88fSEmmanuel Vadot			compatible = "brcm,bmips4350";
26c66ec88fSEmmanuel Vadot			device_type = "cpu";
27c66ec88fSEmmanuel Vadot			reg = <1>;
28c66ec88fSEmmanuel Vadot		};
29c66ec88fSEmmanuel Vadot	};
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot	clocks {
322eb4d8dcSEmmanuel Vadot		periph_osc: periph-osc {
33c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
34c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
35c66ec88fSEmmanuel Vadot			clock-frequency = <50000000>;
362eb4d8dcSEmmanuel Vadot			clock-output-names = "periph";
372eb4d8dcSEmmanuel Vadot		};
382eb4d8dcSEmmanuel Vadot
392eb4d8dcSEmmanuel Vadot		hsspi_osc: hsspi-osc {
402eb4d8dcSEmmanuel Vadot			compatible = "fixed-clock";
412eb4d8dcSEmmanuel Vadot
422eb4d8dcSEmmanuel Vadot			#clock-cells = <0>;
432eb4d8dcSEmmanuel Vadot
442eb4d8dcSEmmanuel Vadot			clock-frequency = <400000000>;
452eb4d8dcSEmmanuel Vadot			clock-output-names = "hsspi_osc";
46c66ec88fSEmmanuel Vadot		};
47c66ec88fSEmmanuel Vadot	};
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadot	aliases {
502eb4d8dcSEmmanuel Vadot		nflash = &nflash;
51c66ec88fSEmmanuel Vadot		serial0 = &uart0;
52c66ec88fSEmmanuel Vadot		serial1 = &uart1;
532eb4d8dcSEmmanuel Vadot		spi0 = &lsspi;
542eb4d8dcSEmmanuel Vadot		spi1 = &hsspi;
55c66ec88fSEmmanuel Vadot	};
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot	cpu_intc: interrupt-controller {
58c66ec88fSEmmanuel Vadot		#address-cells = <0>;
59c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
60c66ec88fSEmmanuel Vadot
61c66ec88fSEmmanuel Vadot		interrupt-controller;
62c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
63c66ec88fSEmmanuel Vadot	};
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot	ubus {
66c66ec88fSEmmanuel Vadot		#address-cells = <1>;
67c66ec88fSEmmanuel Vadot		#size-cells = <1>;
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
70c66ec88fSEmmanuel Vadot		ranges;
71c66ec88fSEmmanuel Vadot
722eb4d8dcSEmmanuel Vadot		periph_clk: clock-controller@10000004 {
73c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm63268-clocks";
74c66ec88fSEmmanuel Vadot			reg = <0x10000004 0x4>;
75c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
76c66ec88fSEmmanuel Vadot		};
77c66ec88fSEmmanuel Vadot
782eb4d8dcSEmmanuel Vadot		pll_cntl: syscon@10000008 {
79c66ec88fSEmmanuel Vadot			compatible = "syscon";
802eb4d8dcSEmmanuel Vadot			reg = <0x10000008 0x4>;
81c66ec88fSEmmanuel Vadot			native-endian;
82c66ec88fSEmmanuel Vadot
832eb4d8dcSEmmanuel Vadot			reboot {
84c66ec88fSEmmanuel Vadot				compatible = "syscon-reboot";
85c66ec88fSEmmanuel Vadot				offset = <0x0>;
86c66ec88fSEmmanuel Vadot				mask = <0x1>;
87c66ec88fSEmmanuel Vadot			};
882eb4d8dcSEmmanuel Vadot		};
89c66ec88fSEmmanuel Vadot
905def4c47SEmmanuel Vadot		periph_rst: reset-controller@10000010 {
915def4c47SEmmanuel Vadot			compatible = "brcm,bcm6345-reset";
925def4c47SEmmanuel Vadot			reg = <0x10000010 0x4>;
935def4c47SEmmanuel Vadot			#reset-cells = <1>;
945def4c47SEmmanuel Vadot		};
955def4c47SEmmanuel Vadot
96c66ec88fSEmmanuel Vadot		periph_intc: interrupt-controller@10000020 {
97c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6345-l1-intc";
98c66ec88fSEmmanuel Vadot			reg = <0x10000020 0x20>,
99c66ec88fSEmmanuel Vadot			      <0x10000040 0x20>;
100c66ec88fSEmmanuel Vadot
101c66ec88fSEmmanuel Vadot			interrupt-controller;
102c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot			interrupt-parent = <&cpu_intc>;
105c66ec88fSEmmanuel Vadot			interrupts = <2>, <3>;
106c66ec88fSEmmanuel Vadot		};
107c66ec88fSEmmanuel Vadot
1087ef62cebSEmmanuel Vadot		timer-mfd@10000080 {
1097ef62cebSEmmanuel Vadot			compatible = "brcm,bcm7038-twd", "simple-mfd", "syscon";
1107ef62cebSEmmanuel Vadot			reg = <0x10000080 0x30>;
1117ef62cebSEmmanuel Vadot			ranges = <0x0 0x10000080 0x30>;
112*8bab661aSEmmanuel Vadot			#address-cells = <1>;
113*8bab661aSEmmanuel Vadot			#size-cells = <1>;
114*8bab661aSEmmanuel Vadot
115*8bab661aSEmmanuel Vadot			timer@0 {
116*8bab661aSEmmanuel Vadot				compatible = "brcm,bcm6345-timer";
117*8bab661aSEmmanuel Vadot				reg = <0x0 0x1c>;
118*8bab661aSEmmanuel Vadot			};
1197ef62cebSEmmanuel Vadot
1207ef62cebSEmmanuel Vadot			wdt: watchdog@1c {
1212eb4d8dcSEmmanuel Vadot				compatible = "brcm,bcm7038-wdt";
1227ef62cebSEmmanuel Vadot				reg = <0x1c 0xc>;
1232eb4d8dcSEmmanuel Vadot
1242eb4d8dcSEmmanuel Vadot				clocks = <&periph_osc>;
1252eb4d8dcSEmmanuel Vadot				clock-names = "refclk";
1262eb4d8dcSEmmanuel Vadot
1272eb4d8dcSEmmanuel Vadot				timeout-sec = <30>;
1282eb4d8dcSEmmanuel Vadot			};
1297ef62cebSEmmanuel Vadot		};
1302eb4d8dcSEmmanuel Vadot
131c66ec88fSEmmanuel Vadot		uart0: serial@10000180 {
132c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6345-uart";
133c66ec88fSEmmanuel Vadot			reg = <0x10000180 0x18>;
134c66ec88fSEmmanuel Vadot
135c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
136c66ec88fSEmmanuel Vadot			interrupts = <5>;
137c66ec88fSEmmanuel Vadot
1382eb4d8dcSEmmanuel Vadot			clocks = <&periph_osc>;
139c66ec88fSEmmanuel Vadot			clock-names = "refclk";
140c66ec88fSEmmanuel Vadot
141c66ec88fSEmmanuel Vadot			status = "disabled";
142c66ec88fSEmmanuel Vadot		};
143c66ec88fSEmmanuel Vadot
1442eb4d8dcSEmmanuel Vadot		nflash: nand@10000200 {
1452eb4d8dcSEmmanuel Vadot			#address-cells = <1>;
1462eb4d8dcSEmmanuel Vadot			#size-cells = <0>;
1472eb4d8dcSEmmanuel Vadot			compatible = "brcm,nand-bcm6368",
1482eb4d8dcSEmmanuel Vadot				     "brcm,brcmnand-v4.0",
1492eb4d8dcSEmmanuel Vadot				     "brcm,brcmnand";
1502eb4d8dcSEmmanuel Vadot			reg = <0x10000200 0x180>,
1512eb4d8dcSEmmanuel Vadot			      <0x10000600 0x200>,
1522eb4d8dcSEmmanuel Vadot			      <0x100000b0 0x10>;
1532eb4d8dcSEmmanuel Vadot			reg-names = "nand",
1542eb4d8dcSEmmanuel Vadot				    "nand-cache",
1552eb4d8dcSEmmanuel Vadot				    "nand-int-base";
1562eb4d8dcSEmmanuel Vadot
1572eb4d8dcSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
1582eb4d8dcSEmmanuel Vadot			interrupts = <50>;
1592eb4d8dcSEmmanuel Vadot
1602eb4d8dcSEmmanuel Vadot			clocks = <&periph_clk BCM63268_CLK_NAND>;
1612eb4d8dcSEmmanuel Vadot			clock-names = "nand";
1622eb4d8dcSEmmanuel Vadot
1632eb4d8dcSEmmanuel Vadot			status = "disabled";
1642eb4d8dcSEmmanuel Vadot		};
1652eb4d8dcSEmmanuel Vadot
166c66ec88fSEmmanuel Vadot		uart1: serial@100001a0 {
167c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6345-uart";
168c66ec88fSEmmanuel Vadot			reg = <0x100001a0 0x18>;
169c66ec88fSEmmanuel Vadot
170c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
171c66ec88fSEmmanuel Vadot			interrupts = <34>;
172c66ec88fSEmmanuel Vadot
1732eb4d8dcSEmmanuel Vadot			clocks = <&periph_osc>;
174c66ec88fSEmmanuel Vadot			clock-names = "refclk";
175c66ec88fSEmmanuel Vadot
176c66ec88fSEmmanuel Vadot			status = "disabled";
177c66ec88fSEmmanuel Vadot		};
178c66ec88fSEmmanuel Vadot
1792eb4d8dcSEmmanuel Vadot		lsspi: spi@10000800 {
1802eb4d8dcSEmmanuel Vadot			#address-cells = <1>;
1812eb4d8dcSEmmanuel Vadot			#size-cells = <0>;
1822eb4d8dcSEmmanuel Vadot			compatible = "brcm,bcm6358-spi";
1832eb4d8dcSEmmanuel Vadot			reg = <0x10000800 0x70c>;
1842eb4d8dcSEmmanuel Vadot
1852eb4d8dcSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
1862eb4d8dcSEmmanuel Vadot			interrupts = <80>;
1872eb4d8dcSEmmanuel Vadot
1882eb4d8dcSEmmanuel Vadot			clocks = <&periph_clk BCM63268_CLK_SPI>;
1892eb4d8dcSEmmanuel Vadot			clock-names = "spi";
1902eb4d8dcSEmmanuel Vadot
1912eb4d8dcSEmmanuel Vadot			resets = <&periph_rst BCM63268_RST_SPI>;
1922eb4d8dcSEmmanuel Vadot
1932eb4d8dcSEmmanuel Vadot			status = "disabled";
1942eb4d8dcSEmmanuel Vadot		};
1952eb4d8dcSEmmanuel Vadot
1962eb4d8dcSEmmanuel Vadot		hsspi: spi@10001000 {
1972eb4d8dcSEmmanuel Vadot			#address-cells = <1>;
1982eb4d8dcSEmmanuel Vadot			#size-cells = <0>;
1992eb4d8dcSEmmanuel Vadot			compatible = "brcm,bcm6328-hsspi";
2002eb4d8dcSEmmanuel Vadot			reg = <0x10001000 0x600>;
2012eb4d8dcSEmmanuel Vadot
2022eb4d8dcSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
2032eb4d8dcSEmmanuel Vadot			interrupts = <6>;
2042eb4d8dcSEmmanuel Vadot
2052eb4d8dcSEmmanuel Vadot			clocks = <&periph_clk BCM63268_CLK_HSSPI>,
2062eb4d8dcSEmmanuel Vadot				 <&hsspi_osc>;
2072eb4d8dcSEmmanuel Vadot			clock-names = "hsspi",
2082eb4d8dcSEmmanuel Vadot				      "pll";
2092eb4d8dcSEmmanuel Vadot
2102eb4d8dcSEmmanuel Vadot			resets = <&periph_rst BCM63268_RST_SPI>;
2112eb4d8dcSEmmanuel Vadot
2122eb4d8dcSEmmanuel Vadot			status = "disabled";
2132eb4d8dcSEmmanuel Vadot		};
2142eb4d8dcSEmmanuel Vadot
2152eb4d8dcSEmmanuel Vadot		periph_pwr: power-controller@1000184c {
2162eb4d8dcSEmmanuel Vadot			compatible = "brcm,bcm6328-power-controller";
2172eb4d8dcSEmmanuel Vadot			reg = <0x1000184c 0x4>;
2182eb4d8dcSEmmanuel Vadot			#power-domain-cells = <1>;
2192eb4d8dcSEmmanuel Vadot		};
2202eb4d8dcSEmmanuel Vadot
221c66ec88fSEmmanuel Vadot		leds0: led-controller@10001900 {
222c66ec88fSEmmanuel Vadot			#address-cells = <1>;
223c66ec88fSEmmanuel Vadot			#size-cells = <0>;
224c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6328-leds";
225c66ec88fSEmmanuel Vadot			reg = <0x10001900 0x24>;
226c66ec88fSEmmanuel Vadot
227c66ec88fSEmmanuel Vadot			status = "disabled";
228c66ec88fSEmmanuel Vadot		};
229c66ec88fSEmmanuel Vadot
230c66ec88fSEmmanuel Vadot		ehci: usb@10002500 {
231c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm63268-ehci", "generic-ehci";
232c66ec88fSEmmanuel Vadot			reg = <0x10002500 0x100>;
233c66ec88fSEmmanuel Vadot			big-endian;
234c66ec88fSEmmanuel Vadot
235c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
236c66ec88fSEmmanuel Vadot			interrupts = <10>;
237c66ec88fSEmmanuel Vadot
2382eb4d8dcSEmmanuel Vadot			phys = <&usbh 0>;
2392eb4d8dcSEmmanuel Vadot			phy-names = "usb";
2402eb4d8dcSEmmanuel Vadot
241c66ec88fSEmmanuel Vadot			status = "disabled";
242c66ec88fSEmmanuel Vadot		};
243c66ec88fSEmmanuel Vadot
244c66ec88fSEmmanuel Vadot		ohci: usb@10002600 {
245c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm63268-ohci", "generic-ohci";
246c66ec88fSEmmanuel Vadot			reg = <0x10002600 0x100>;
247c66ec88fSEmmanuel Vadot			big-endian;
248c66ec88fSEmmanuel Vadot			no-big-frame-no;
249c66ec88fSEmmanuel Vadot
250c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
251c66ec88fSEmmanuel Vadot			interrupts = <9>;
252c66ec88fSEmmanuel Vadot
2532eb4d8dcSEmmanuel Vadot			phys = <&usbh 0>;
2542eb4d8dcSEmmanuel Vadot			phy-names = "usb";
2552eb4d8dcSEmmanuel Vadot
2562eb4d8dcSEmmanuel Vadot			status = "disabled";
2572eb4d8dcSEmmanuel Vadot		};
2582eb4d8dcSEmmanuel Vadot
2592eb4d8dcSEmmanuel Vadot		usbh: usb-phy@10002700 {
2602eb4d8dcSEmmanuel Vadot			compatible = "brcm,bcm63268-usbh-phy";
2612eb4d8dcSEmmanuel Vadot			reg = <0x10002700 0x38>;
2622eb4d8dcSEmmanuel Vadot			#phy-cells = <1>;
2632eb4d8dcSEmmanuel Vadot
2642eb4d8dcSEmmanuel Vadot			clocks = <&periph_clk BCM63268_CLK_USBH>;
2652eb4d8dcSEmmanuel Vadot			clock-names = "usbh";
2662eb4d8dcSEmmanuel Vadot
2672eb4d8dcSEmmanuel Vadot			power-domains = <&periph_pwr BCM63268_POWER_DOMAIN_USBH>;
2682eb4d8dcSEmmanuel Vadot
2692eb4d8dcSEmmanuel Vadot			resets = <&periph_rst BCM63268_RST_USBH>;
2702eb4d8dcSEmmanuel Vadot			reset-names = "usbh";
2712eb4d8dcSEmmanuel Vadot
272c66ec88fSEmmanuel Vadot			status = "disabled";
273c66ec88fSEmmanuel Vadot		};
274c66ec88fSEmmanuel Vadot	};
275c66ec88fSEmmanuel Vadot};
276