1// SPDX-License-Identifier: GPL-2.0
2/ {
3	#address-cells = <1>;
4	#size-cells = <1>;
5	compatible = "brcm,bcm3384-viper", "brcm,bcm33843-viper";
6
7	memory@0 {
8		device_type = "memory";
9
10		/* Typical ranges.  The bootloader should fill these in. */
11		reg = <0x06000000 0x02000000>,
12		      <0x0e000000 0x02000000>;
13	};
14
15	cpus {
16		#address-cells = <1>;
17		#size-cells = <0>;
18
19		/* 1/2 of the CPU core clock (standard MIPS behavior) */
20		mips-hpt-frequency = <300000000>;
21
22		cpu@0 {
23			compatible = "brcm,bmips4350";
24			device_type = "cpu";
25			reg = <0>;
26		};
27	};
28
29	cpu_intc: cpu_intc {
30		#address-cells = <0>;
31		compatible = "mti,cpu-interrupt-controller";
32
33		interrupt-controller;
34		#interrupt-cells = <1>;
35	};
36
37	clocks {
38		periph_clk: periph_clk {
39			compatible = "fixed-clock";
40			#clock-cells = <0>;
41			clock-frequency = <54000000>;
42		};
43	};
44
45	aliases {
46		uart0 = &uart0;
47	};
48
49	ubus {
50		#address-cells = <1>;
51		#size-cells = <1>;
52
53		compatible = "brcm,ubus", "simple-bus";
54		ranges;
55		/* No dma-ranges on Viper. */
56
57		periph_intc: periph_intc@14e00048 {
58			compatible = "brcm,bcm3380-l2-intc";
59			reg = <0x14e00048 0x4 0x14e0004c 0x4>,
60			      <0x14e00350 0x4 0x14e00354 0x4>;
61
62			interrupt-controller;
63			#interrupt-cells = <1>;
64
65			interrupt-parent = <&cpu_intc>;
66			interrupts = <4>;
67		};
68
69		cmips_intc: cmips_intc@151f8048 {
70			compatible = "brcm,bcm3380-l2-intc";
71			reg = <0x151f8048 0x4 0x151f804c 0x4>;
72
73			interrupt-controller;
74			#interrupt-cells = <1>;
75
76			interrupt-parent = <&periph_intc>;
77			interrupts = <30>;
78			brcm,int-map-mask = <0xffffffff>;
79		};
80
81		uart0: serial@14e00520 {
82			compatible = "brcm,bcm6345-uart";
83			reg = <0x14e00520 0x18>;
84			interrupt-parent = <&periph_intc>;
85			interrupts = <2>;
86			clocks = <&periph_clk>;
87			status = "disabled";
88		};
89
90		ehci0: usb@15400300 {
91			compatible = "brcm,bcm3384-ehci", "generic-ehci";
92			reg = <0x15400300 0x100>;
93			big-endian;
94			interrupt-parent = <&periph_intc>;
95			interrupts = <41>;
96			status = "disabled";
97		};
98
99		ohci0: usb@15400400 {
100			compatible = "brcm,bcm3384-ohci", "generic-ohci";
101			reg = <0x15400400 0x100>;
102			big-endian;
103			no-big-frame-no;
104			interrupt-parent = <&periph_intc>;
105			interrupts = <40>;
106			status = "disabled";
107		};
108	};
109};
110