xref: /freebsd/sys/contrib/device-tree/src/mips/brcm/bcm6368.dtsi (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*2eb4d8dcSEmmanuel Vadot
3*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/clock/bcm6368-clock.h"
4*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/reset/bcm6368-reset.h"
5*2eb4d8dcSEmmanuel Vadot
6c66ec88fSEmmanuel Vadot/ {
7c66ec88fSEmmanuel Vadot	#address-cells = <1>;
8c66ec88fSEmmanuel Vadot	#size-cells = <1>;
9c66ec88fSEmmanuel Vadot	compatible = "brcm,bcm6368";
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel Vadot	cpus {
12c66ec88fSEmmanuel Vadot		#address-cells = <1>;
13c66ec88fSEmmanuel Vadot		#size-cells = <0>;
14c66ec88fSEmmanuel Vadot
15c66ec88fSEmmanuel Vadot		mips-hpt-frequency = <200000000>;
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadot		cpu@0 {
18c66ec88fSEmmanuel Vadot			compatible = "brcm,bmips4350";
19c66ec88fSEmmanuel Vadot			device_type = "cpu";
20c66ec88fSEmmanuel Vadot			reg = <0>;
21c66ec88fSEmmanuel Vadot		};
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot		cpu@1 {
24c66ec88fSEmmanuel Vadot			compatible = "brcm,bmips4350";
25c66ec88fSEmmanuel Vadot			device_type = "cpu";
26c66ec88fSEmmanuel Vadot			reg = <1>;
27c66ec88fSEmmanuel Vadot		};
28c66ec88fSEmmanuel Vadot	};
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot	clocks {
31*2eb4d8dcSEmmanuel Vadot		periph_osc: periph-osc {
32c66ec88fSEmmanuel Vadot			compatible = "fixed-clock";
33c66ec88fSEmmanuel Vadot			#clock-cells = <0>;
34c66ec88fSEmmanuel Vadot			clock-frequency = <50000000>;
35*2eb4d8dcSEmmanuel Vadot			clock-output-names = "periph";
36c66ec88fSEmmanuel Vadot		};
37c66ec88fSEmmanuel Vadot	};
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot	aliases {
40*2eb4d8dcSEmmanuel Vadot		nflash = &nflash;
41*2eb4d8dcSEmmanuel Vadot		pflash = &pflash;
42c66ec88fSEmmanuel Vadot		serial0 = &uart0;
43c66ec88fSEmmanuel Vadot		serial1 = &uart1;
44*2eb4d8dcSEmmanuel Vadot		spi0 = &lsspi;
45c66ec88fSEmmanuel Vadot	};
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot	cpu_intc: interrupt-controller {
48c66ec88fSEmmanuel Vadot		#address-cells = <0>;
49c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot		interrupt-controller;
52c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
53c66ec88fSEmmanuel Vadot	};
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot	ubus {
56c66ec88fSEmmanuel Vadot		#address-cells = <1>;
57c66ec88fSEmmanuel Vadot		#size-cells = <1>;
58c66ec88fSEmmanuel Vadot
59c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
60c66ec88fSEmmanuel Vadot		ranges;
61c66ec88fSEmmanuel Vadot
62*2eb4d8dcSEmmanuel Vadot		periph_clk: clock-controller@10000004 {
63c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6368-clocks";
64c66ec88fSEmmanuel Vadot			reg = <0x10000004 0x4>;
65c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
66c66ec88fSEmmanuel Vadot		};
67c66ec88fSEmmanuel Vadot
68*2eb4d8dcSEmmanuel Vadot		pll_cntl: syscon@100000008 {
69c66ec88fSEmmanuel Vadot			compatible = "syscon";
70*2eb4d8dcSEmmanuel Vadot			reg = <0x10000008 0x4>;
71c66ec88fSEmmanuel Vadot			native-endian;
72c66ec88fSEmmanuel Vadot
73*2eb4d8dcSEmmanuel Vadot			reboot {
74c66ec88fSEmmanuel Vadot				compatible = "syscon-reboot";
75c66ec88fSEmmanuel Vadot				offset = <0x0>;
76c66ec88fSEmmanuel Vadot				mask = <0x1>;
77c66ec88fSEmmanuel Vadot			};
78*2eb4d8dcSEmmanuel Vadot		};
79c66ec88fSEmmanuel Vadot
805def4c47SEmmanuel Vadot		periph_rst: reset-controller@10000010 {
815def4c47SEmmanuel Vadot			compatible = "brcm,bcm6345-reset";
825def4c47SEmmanuel Vadot			reg = <0x10000010 0x4>;
835def4c47SEmmanuel Vadot			#reset-cells = <1>;
845def4c47SEmmanuel Vadot		};
855def4c47SEmmanuel Vadot
86c66ec88fSEmmanuel Vadot		periph_intc: interrupt-controller@10000020 {
87c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6345-l1-intc";
88c66ec88fSEmmanuel Vadot			reg = <0x10000020 0x10>,
89c66ec88fSEmmanuel Vadot			      <0x10000030 0x10>;
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadot			interrupt-controller;
92c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
93c66ec88fSEmmanuel Vadot
94c66ec88fSEmmanuel Vadot			interrupt-parent = <&cpu_intc>;
95c66ec88fSEmmanuel Vadot			interrupts = <2>, <3>;
96c66ec88fSEmmanuel Vadot		};
97c66ec88fSEmmanuel Vadot
98*2eb4d8dcSEmmanuel Vadot		wdt: watchdog@1000005c {
99*2eb4d8dcSEmmanuel Vadot			compatible = "brcm,bcm7038-wdt";
100*2eb4d8dcSEmmanuel Vadot			reg = <0x1000005c 0xc>;
101*2eb4d8dcSEmmanuel Vadot
102*2eb4d8dcSEmmanuel Vadot			clocks = <&periph_osc>;
103*2eb4d8dcSEmmanuel Vadot			clock-names = "refclk";
104*2eb4d8dcSEmmanuel Vadot
105*2eb4d8dcSEmmanuel Vadot			timeout-sec = <30>;
106*2eb4d8dcSEmmanuel Vadot		};
107*2eb4d8dcSEmmanuel Vadot
108c66ec88fSEmmanuel Vadot		leds0: led-controller@100000d0 {
109c66ec88fSEmmanuel Vadot			#address-cells = <1>;
110c66ec88fSEmmanuel Vadot			#size-cells = <0>;
111c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6358-leds";
112c66ec88fSEmmanuel Vadot			reg = <0x100000d0 0x8>;
113*2eb4d8dcSEmmanuel Vadot
114c66ec88fSEmmanuel Vadot			status = "disabled";
115c66ec88fSEmmanuel Vadot		};
116c66ec88fSEmmanuel Vadot
117c66ec88fSEmmanuel Vadot		uart0: serial@10000100 {
118c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6345-uart";
119c66ec88fSEmmanuel Vadot			reg = <0x10000100 0x18>;
120*2eb4d8dcSEmmanuel Vadot
121c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
122c66ec88fSEmmanuel Vadot			interrupts = <2>;
123*2eb4d8dcSEmmanuel Vadot
124*2eb4d8dcSEmmanuel Vadot			clocks = <&periph_osc>;
125c66ec88fSEmmanuel Vadot			clock-names = "refclk";
126*2eb4d8dcSEmmanuel Vadot
127c66ec88fSEmmanuel Vadot			status = "disabled";
128c66ec88fSEmmanuel Vadot		};
129c66ec88fSEmmanuel Vadot
130c66ec88fSEmmanuel Vadot		uart1: serial@10000120 {
131c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6345-uart";
132c66ec88fSEmmanuel Vadot			reg = <0x10000120 0x18>;
133*2eb4d8dcSEmmanuel Vadot
134c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
135c66ec88fSEmmanuel Vadot			interrupts = <3>;
136*2eb4d8dcSEmmanuel Vadot
137*2eb4d8dcSEmmanuel Vadot			clocks = <&periph_osc>;
138c66ec88fSEmmanuel Vadot			clock-names = "refclk";
139*2eb4d8dcSEmmanuel Vadot
140*2eb4d8dcSEmmanuel Vadot			status = "disabled";
141*2eb4d8dcSEmmanuel Vadot		};
142*2eb4d8dcSEmmanuel Vadot
143*2eb4d8dcSEmmanuel Vadot		nflash: nand@10000200 {
144*2eb4d8dcSEmmanuel Vadot			#address-cells = <1>;
145*2eb4d8dcSEmmanuel Vadot			#size-cells = <0>;
146*2eb4d8dcSEmmanuel Vadot			compatible = "brcm,nand-bcm6368",
147*2eb4d8dcSEmmanuel Vadot				     "brcm,brcmnand-v2.1",
148*2eb4d8dcSEmmanuel Vadot				     "brcm,brcmnand";
149*2eb4d8dcSEmmanuel Vadot			reg = <0x10000200 0x180>,
150*2eb4d8dcSEmmanuel Vadot			      <0x10000600 0x200>,
151*2eb4d8dcSEmmanuel Vadot			      <0x10000070 0x10>;
152*2eb4d8dcSEmmanuel Vadot			reg-names = "nand",
153*2eb4d8dcSEmmanuel Vadot				    "nand-cache",
154*2eb4d8dcSEmmanuel Vadot				    "nand-int-base";
155*2eb4d8dcSEmmanuel Vadot
156*2eb4d8dcSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
157*2eb4d8dcSEmmanuel Vadot			interrupts = <10>;
158*2eb4d8dcSEmmanuel Vadot
159*2eb4d8dcSEmmanuel Vadot			clocks = <&periph_clk BCM6368_CLK_NAND>;
160*2eb4d8dcSEmmanuel Vadot			clock-names = "nand";
161*2eb4d8dcSEmmanuel Vadot
162*2eb4d8dcSEmmanuel Vadot			status = "disabled";
163*2eb4d8dcSEmmanuel Vadot		};
164*2eb4d8dcSEmmanuel Vadot
165*2eb4d8dcSEmmanuel Vadot		lsspi: spi@10000800 {
166*2eb4d8dcSEmmanuel Vadot			#address-cells = <1>;
167*2eb4d8dcSEmmanuel Vadot			#size-cells = <0>;
168*2eb4d8dcSEmmanuel Vadot			compatible = "brcm,bcm6358-spi";
169*2eb4d8dcSEmmanuel Vadot			reg = <0x10000800 0x70c>;
170*2eb4d8dcSEmmanuel Vadot
171*2eb4d8dcSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
172*2eb4d8dcSEmmanuel Vadot			interrupts = <1>;
173*2eb4d8dcSEmmanuel Vadot
174*2eb4d8dcSEmmanuel Vadot			clocks = <&periph_clk BCM6368_CLK_SPI>;
175*2eb4d8dcSEmmanuel Vadot			clock-names = "spi";
176*2eb4d8dcSEmmanuel Vadot
177*2eb4d8dcSEmmanuel Vadot			resets = <&periph_rst BCM6368_RST_SPI>;
178*2eb4d8dcSEmmanuel Vadot			reset-names = "spi";
179*2eb4d8dcSEmmanuel Vadot
180c66ec88fSEmmanuel Vadot			status = "disabled";
181c66ec88fSEmmanuel Vadot		};
182c66ec88fSEmmanuel Vadot
183c66ec88fSEmmanuel Vadot		ehci: usb@10001500 {
184c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6368-ehci", "generic-ehci";
185c66ec88fSEmmanuel Vadot			reg = <0x10001500 0x100>;
186c66ec88fSEmmanuel Vadot			big-endian;
187*2eb4d8dcSEmmanuel Vadot
188c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
189c66ec88fSEmmanuel Vadot			interrupts = <7>;
190*2eb4d8dcSEmmanuel Vadot
191*2eb4d8dcSEmmanuel Vadot			phys = <&usbh 0>;
192*2eb4d8dcSEmmanuel Vadot			phy-names = "usb";
193*2eb4d8dcSEmmanuel Vadot
194c66ec88fSEmmanuel Vadot			status = "disabled";
195c66ec88fSEmmanuel Vadot		};
196c66ec88fSEmmanuel Vadot
197c66ec88fSEmmanuel Vadot		ohci: usb@10001600 {
198c66ec88fSEmmanuel Vadot			compatible = "brcm,bcm6368-ohci", "generic-ohci";
199c66ec88fSEmmanuel Vadot			reg = <0x10001600 0x100>;
200c66ec88fSEmmanuel Vadot			big-endian;
201c66ec88fSEmmanuel Vadot			no-big-frame-no;
202*2eb4d8dcSEmmanuel Vadot
203c66ec88fSEmmanuel Vadot			interrupt-parent = <&periph_intc>;
204c66ec88fSEmmanuel Vadot			interrupts = <5>;
205*2eb4d8dcSEmmanuel Vadot
206*2eb4d8dcSEmmanuel Vadot			phys = <&usbh 0>;
207*2eb4d8dcSEmmanuel Vadot			phy-names = "usb";
208*2eb4d8dcSEmmanuel Vadot
209c66ec88fSEmmanuel Vadot			status = "disabled";
210c66ec88fSEmmanuel Vadot		};
211*2eb4d8dcSEmmanuel Vadot
212*2eb4d8dcSEmmanuel Vadot		usbh: usb-phy@10001700 {
213*2eb4d8dcSEmmanuel Vadot			compatible = "brcm,bcm6368-usbh-phy";
214*2eb4d8dcSEmmanuel Vadot			reg = <0x10001700 0x38>;
215*2eb4d8dcSEmmanuel Vadot			#phy-cells = <1>;
216*2eb4d8dcSEmmanuel Vadot
217*2eb4d8dcSEmmanuel Vadot			clocks = <&periph_clk BCM6368_CLK_USBH>;
218*2eb4d8dcSEmmanuel Vadot			clock-names = "usbh";
219*2eb4d8dcSEmmanuel Vadot
220*2eb4d8dcSEmmanuel Vadot			resets = <&periph_rst BCM6368_RST_USBH>;
221*2eb4d8dcSEmmanuel Vadot			reset-names = "usbh";
222*2eb4d8dcSEmmanuel Vadot
223*2eb4d8dcSEmmanuel Vadot			status = "disabled";
224*2eb4d8dcSEmmanuel Vadot		};
225*2eb4d8dcSEmmanuel Vadot
226*2eb4d8dcSEmmanuel Vadot		random: rng@10004180 {
227*2eb4d8dcSEmmanuel Vadot			compatible = "brcm,bcm6368-rng";
228*2eb4d8dcSEmmanuel Vadot			reg = <0x10004180 0x14>;
229*2eb4d8dcSEmmanuel Vadot
230*2eb4d8dcSEmmanuel Vadot			clocks = <&periph_clk BCM6368_CLK_IPSEC>;
231*2eb4d8dcSEmmanuel Vadot			clock-names = "ipsec";
232*2eb4d8dcSEmmanuel Vadot
233*2eb4d8dcSEmmanuel Vadot			resets = <&periph_rst BCM6368_RST_IPSEC>;
234*2eb4d8dcSEmmanuel Vadot			reset-names = "ipsec";
235*2eb4d8dcSEmmanuel Vadot		};
236*2eb4d8dcSEmmanuel Vadot	};
237*2eb4d8dcSEmmanuel Vadot
238*2eb4d8dcSEmmanuel Vadot	pflash: nor@18000000 {
239*2eb4d8dcSEmmanuel Vadot		#address-cells = <1>;
240*2eb4d8dcSEmmanuel Vadot		#size-cells = <1>;
241*2eb4d8dcSEmmanuel Vadot		compatible = "cfi-flash";
242*2eb4d8dcSEmmanuel Vadot		reg = <0x18000000 0x2000000>;
243*2eb4d8dcSEmmanuel Vadot		bank-width = <2>;
244*2eb4d8dcSEmmanuel Vadot
245*2eb4d8dcSEmmanuel Vadot		status = "disabled";
246c66ec88fSEmmanuel Vadot	};
247c66ec88fSEmmanuel Vadot};
248