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