xref: /freebsd-src/sys/contrib/device-tree/src/mips/brcm/bcm3384_zephyr.dtsi (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*c66ec88fSEmmanuel Vadot/ {
3*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
4*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
5*c66ec88fSEmmanuel Vadot	compatible = "brcm,bcm3384", "brcm,bcm33843";
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadot	memory@0 {
8*c66ec88fSEmmanuel Vadot		device_type = "memory";
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel Vadot		/* Typical range.  The bootloader should fill this in. */
11*c66ec88fSEmmanuel Vadot		reg = <0x0 0x08000000>;
12*c66ec88fSEmmanuel Vadot	};
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel Vadot	cpus {
15*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
16*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadot		/* On BMIPS5000 this is 1/8th of the CPU core clock */
19*c66ec88fSEmmanuel Vadot		mips-hpt-frequency = <100000000>;
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot		cpu@0 {
22*c66ec88fSEmmanuel Vadot			compatible = "brcm,bmips5000";
23*c66ec88fSEmmanuel Vadot			device_type = "cpu";
24*c66ec88fSEmmanuel Vadot			reg = <0>;
25*c66ec88fSEmmanuel Vadot		};
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot		cpu@1 {
28*c66ec88fSEmmanuel Vadot			compatible = "brcm,bmips5000";
29*c66ec88fSEmmanuel Vadot			device_type = "cpu";
30*c66ec88fSEmmanuel Vadot			reg = <1>;
31*c66ec88fSEmmanuel Vadot		};
32*c66ec88fSEmmanuel Vadot	};
33*c66ec88fSEmmanuel Vadot
34*c66ec88fSEmmanuel Vadot	cpu_intc: cpu_intc {
35*c66ec88fSEmmanuel Vadot		#address-cells = <0>;
36*c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel Vadot		interrupt-controller;
39*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
40*c66ec88fSEmmanuel Vadot	};
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot	clocks {
43*c66ec88fSEmmanuel Vadot		periph_clk: periph_clk {
44*c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
45*c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
46*c66ec88fSEmmanuel Vadot			clock-frequency = <54000000>;
47*c66ec88fSEmmanuel Vadot		};
48*c66ec88fSEmmanuel Vadot	};
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel Vadot	aliases {
51*c66ec88fSEmmanuel Vadot		uart0 = &uart0;
52*c66ec88fSEmmanuel Vadot	};
53*c66ec88fSEmmanuel Vadot
54*c66ec88fSEmmanuel Vadot	ubus {
55*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
56*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
57*c66ec88fSEmmanuel Vadot
58*c66ec88fSEmmanuel Vadot		compatible = "brcm,ubus", "simple-bus";
59*c66ec88fSEmmanuel Vadot		ranges;
60*c66ec88fSEmmanuel Vadot		dma-ranges = <0x00000000 0x08000000 0x08000000>,
61*c66ec88fSEmmanuel Vadot			     <0x08000000 0x00000000 0x08000000>;
62*c66ec88fSEmmanuel Vadot
63*c66ec88fSEmmanuel Vadot		periph_intc: periph_intc@14e00038 {
64*c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm3380-l2-intc";
65*c66ec88fSEmmanuel Vadot			reg = <0x14e00038 0x4 0x14e0003c 0x4>,
66*c66ec88fSEmmanuel Vadot			      <0x14e00340 0x4 0x14e00344 0x4>;
67*c66ec88fSEmmanuel Vadot
68*c66ec88fSEmmanuel Vadot			interrupt-controller;
69*c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
70*c66ec88fSEmmanuel Vadot
71*c66ec88fSEmmanuel Vadot			interrupt-parent = <&cpu_intc>;
72*c66ec88fSEmmanuel Vadot			interrupts = <4>;
73*c66ec88fSEmmanuel Vadot		};
74*c66ec88fSEmmanuel Vadot
75*c66ec88fSEmmanuel Vadot		zmips_intc: zmips_intc@104b0060 {
76*c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm3380-l2-intc";
77*c66ec88fSEmmanuel Vadot			reg = <0x104b0060 0x4 0x104b0064 0x4>;
78*c66ec88fSEmmanuel Vadot
79*c66ec88fSEmmanuel Vadot			interrupt-controller;
80*c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
81*c66ec88fSEmmanuel Vadot
82*c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
83*c66ec88fSEmmanuel Vadot			interrupts = <29>;
84*c66ec88fSEmmanuel Vadot			brcm,int-map-mask = <0xffffffff>;
85*c66ec88fSEmmanuel Vadot		};
86*c66ec88fSEmmanuel Vadot
87*c66ec88fSEmmanuel Vadot		iop_intc: iop_intc@14e00058 {
88*c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm3380-l2-intc";
89*c66ec88fSEmmanuel Vadot			reg = <0x14e00058 0x4 0x14e0005c 0x4>;
90*c66ec88fSEmmanuel Vadot
91*c66ec88fSEmmanuel Vadot			interrupt-controller;
92*c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
93*c66ec88fSEmmanuel Vadot
94*c66ec88fSEmmanuel Vadot			interrupt-parent = <&cpu_intc>;
95*c66ec88fSEmmanuel Vadot			interrupts = <6>;
96*c66ec88fSEmmanuel Vadot			brcm,int-map-mask = <0xffffffff>;
97*c66ec88fSEmmanuel Vadot		};
98*c66ec88fSEmmanuel Vadot
99*c66ec88fSEmmanuel Vadot		uart0: serial@14e00520 {
100*c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6345-uart";
101*c66ec88fSEmmanuel Vadot			reg = <0x14e00520 0x18>;
102*c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
103*c66ec88fSEmmanuel Vadot			interrupts = <2>;
104*c66ec88fSEmmanuel Vadot			clocks = <&periph_clk>;
105*c66ec88fSEmmanuel Vadot			status = "disabled";
106*c66ec88fSEmmanuel Vadot		};
107*c66ec88fSEmmanuel Vadot
108*c66ec88fSEmmanuel Vadot		ehci0: usb@15400300 {
109*c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm3384-ehci", "generic-ehci";
110*c66ec88fSEmmanuel Vadot			reg = <0x15400300 0x100>;
111*c66ec88fSEmmanuel Vadot			big-endian;
112*c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
113*c66ec88fSEmmanuel Vadot			interrupts = <41>;
114*c66ec88fSEmmanuel Vadot			status = "disabled";
115*c66ec88fSEmmanuel Vadot		};
116*c66ec88fSEmmanuel Vadot
117*c66ec88fSEmmanuel Vadot		ohci0: usb@15400400 {
118*c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm3384-ohci", "generic-ohci";
119*c66ec88fSEmmanuel Vadot			reg = <0x15400400 0x100>;
120*c66ec88fSEmmanuel Vadot			big-endian;
121*c66ec88fSEmmanuel Vadot			no-big-frame-no;
122*c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
123*c66ec88fSEmmanuel Vadot			interrupts = <40>;
124*c66ec88fSEmmanuel Vadot			status = "disabled";
125*c66ec88fSEmmanuel Vadot		};
126*c66ec88fSEmmanuel Vadot	};
127*c66ec88fSEmmanuel Vadot};
128