xref: /openbmc/linux/arch/mips/boot/dts/brcm/bcm6368.dtsi (revision 7d9ade0f)
1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
228898eebSÁlvaro Fernández Rojas
328898eebSÁlvaro Fernández Rojas#include "dt-bindings/clock/bcm6368-clock.h"
428898eebSÁlvaro Fernández Rojas#include "dt-bindings/reset/bcm6368-reset.h"
528898eebSÁlvaro Fernández Rojas
68945e37eSKevin Cernekee/ {
78945e37eSKevin Cernekee	#address-cells = <1>;
88945e37eSKevin Cernekee	#size-cells = <1>;
98945e37eSKevin Cernekee	compatible = "brcm,bcm6368";
108945e37eSKevin Cernekee
118945e37eSKevin Cernekee	cpus {
128945e37eSKevin Cernekee		#address-cells = <1>;
138945e37eSKevin Cernekee		#size-cells = <0>;
148945e37eSKevin Cernekee
158945e37eSKevin Cernekee		mips-hpt-frequency = <200000000>;
168945e37eSKevin Cernekee
178945e37eSKevin Cernekee		cpu@0 {
188945e37eSKevin Cernekee			compatible = "brcm,bmips4350";
198945e37eSKevin Cernekee			device_type = "cpu";
208945e37eSKevin Cernekee			reg = <0>;
218945e37eSKevin Cernekee		};
228945e37eSKevin Cernekee
238945e37eSKevin Cernekee		cpu@1 {
248945e37eSKevin Cernekee			compatible = "brcm,bmips4350";
258945e37eSKevin Cernekee			device_type = "cpu";
268945e37eSKevin Cernekee			reg = <1>;
278945e37eSKevin Cernekee		};
288945e37eSKevin Cernekee	};
298945e37eSKevin Cernekee
308945e37eSKevin Cernekee	clocks {
31*7d9ade0fSÁlvaro Fernández Rojas		periph_osc: periph-osc {
328945e37eSKevin Cernekee			compatible = "fixed-clock";
338945e37eSKevin Cernekee			#clock-cells = <0>;
348945e37eSKevin Cernekee			clock-frequency = <50000000>;
35*7d9ade0fSÁlvaro Fernández Rojas			clock-output-names = "periph";
368945e37eSKevin Cernekee		};
378945e37eSKevin Cernekee	};
388945e37eSKevin Cernekee
398945e37eSKevin Cernekee	aliases {
40*7d9ade0fSÁlvaro Fernández Rojas		nflash = &nflash;
41*7d9ade0fSÁlvaro Fernández Rojas		pflash = &pflash;
422d52ee82SÁlvaro Fernández Rojas		serial0 = &uart0;
432d52ee82SÁlvaro Fernández Rojas		serial1 = &uart1;
44*7d9ade0fSÁlvaro Fernández Rojas		spi0 = &lsspi;
458945e37eSKevin Cernekee	};
468945e37eSKevin Cernekee
472d52ee82SÁlvaro Fernández Rojas	cpu_intc: interrupt-controller {
488945e37eSKevin Cernekee		#address-cells = <0>;
498945e37eSKevin Cernekee		compatible = "mti,cpu-interrupt-controller";
508945e37eSKevin Cernekee
518945e37eSKevin Cernekee		interrupt-controller;
528945e37eSKevin Cernekee		#interrupt-cells = <1>;
538945e37eSKevin Cernekee	};
548945e37eSKevin Cernekee
558945e37eSKevin Cernekee	ubus {
568945e37eSKevin Cernekee		#address-cells = <1>;
578945e37eSKevin Cernekee		#size-cells = <1>;
588945e37eSKevin Cernekee
598945e37eSKevin Cernekee		compatible = "simple-bus";
608945e37eSKevin Cernekee		ranges;
618945e37eSKevin Cernekee
62*7d9ade0fSÁlvaro Fernández Rojas		periph_clk: clock-controller@10000004 {
63a23c4134SJonas Gorski			compatible = "brcm,bcm6368-clocks";
64a23c4134SJonas Gorski			reg = <0x10000004 0x4>;
65a23c4134SJonas Gorski			#clock-cells = <1>;
66a23c4134SJonas Gorski		};
67a23c4134SJonas Gorski
68*7d9ade0fSÁlvaro Fernández Rojas		pll_cntl: syscon@100000008 {
6970ce14bfSÁlvaro Fernández Rojas			compatible = "syscon";
70cde58b86SÁlvaro Fernández Rojas			reg = <0x10000008 0x4>;
7125d6463eSMark Brown			native-endian;
7270ce14bfSÁlvaro Fernández Rojas
73*7d9ade0fSÁlvaro Fernández Rojas			reboot {
7470ce14bfSÁlvaro Fernández Rojas				compatible = "syscon-reboot";
75a23c4134SJonas Gorski				offset = <0x0>;
7670ce14bfSÁlvaro Fernández Rojas				mask = <0x1>;
7770ce14bfSÁlvaro Fernández Rojas			};
78*7d9ade0fSÁlvaro Fernández Rojas		};
7970ce14bfSÁlvaro Fernández Rojas
807acf84e8SÁlvaro Fernández Rojas		periph_rst: reset-controller@10000010 {
817acf84e8SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-reset";
827acf84e8SÁlvaro Fernández Rojas			reg = <0x10000010 0x4>;
837acf84e8SÁlvaro Fernández Rojas			#reset-cells = <1>;
847acf84e8SÁlvaro Fernández Rojas		};
857acf84e8SÁlvaro Fernández Rojas
862d52ee82SÁlvaro Fernández Rojas		periph_intc: interrupt-controller@10000020 {
872d52ee82SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-l1-intc";
882d52ee82SÁlvaro Fernández Rojas			reg = <0x10000020 0x10>,
892d52ee82SÁlvaro Fernández Rojas			      <0x10000030 0x10>;
908945e37eSKevin Cernekee
918945e37eSKevin Cernekee			interrupt-controller;
928945e37eSKevin Cernekee			#interrupt-cells = <1>;
938945e37eSKevin Cernekee
948945e37eSKevin Cernekee			interrupt-parent = <&cpu_intc>;
952d52ee82SÁlvaro Fernández Rojas			interrupts = <2>, <3>;
968945e37eSKevin Cernekee		};
978945e37eSKevin Cernekee
98*7d9ade0fSÁlvaro Fernández Rojas		wdt: watchdog@1000005c {
99*7d9ade0fSÁlvaro Fernández Rojas			compatible = "brcm,bcm7038-wdt";
100*7d9ade0fSÁlvaro Fernández Rojas			reg = <0x1000005c 0xc>;
101*7d9ade0fSÁlvaro Fernández Rojas
102*7d9ade0fSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
103*7d9ade0fSÁlvaro Fernández Rojas			clock-names = "refclk";
104*7d9ade0fSÁlvaro Fernández Rojas
105*7d9ade0fSÁlvaro Fernández Rojas			timeout-sec = <30>;
106*7d9ade0fSÁlvaro Fernández Rojas		};
107*7d9ade0fSÁlvaro Fernández Rojas
10870ce14bfSÁlvaro Fernández Rojas		leds0: led-controller@100000d0 {
10970ce14bfSÁlvaro Fernández Rojas			#address-cells = <1>;
11070ce14bfSÁlvaro Fernández Rojas			#size-cells = <0>;
11170ce14bfSÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-leds";
11270ce14bfSÁlvaro Fernández Rojas			reg = <0x100000d0 0x8>;
113*7d9ade0fSÁlvaro Fernández Rojas
11470ce14bfSÁlvaro Fernández Rojas			status = "disabled";
11570ce14bfSÁlvaro Fernández Rojas		};
11670ce14bfSÁlvaro Fernández Rojas
1178945e37eSKevin Cernekee		uart0: serial@10000100 {
1188945e37eSKevin Cernekee			compatible = "brcm,bcm6345-uart";
1198945e37eSKevin Cernekee			reg = <0x10000100 0x18>;
120*7d9ade0fSÁlvaro Fernández Rojas
1218945e37eSKevin Cernekee			interrupt-parent = <&periph_intc>;
1228945e37eSKevin Cernekee			interrupts = <2>;
123*7d9ade0fSÁlvaro Fernández Rojas
124*7d9ade0fSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
125bed8d2a2SJonas Gorski			clock-names = "refclk";
126*7d9ade0fSÁlvaro Fernández Rojas
1278945e37eSKevin Cernekee			status = "disabled";
1288945e37eSKevin Cernekee		};
1298945e37eSKevin Cernekee
1302d52ee82SÁlvaro Fernández Rojas		uart1: serial@10000120 {
1312d52ee82SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1322d52ee82SÁlvaro Fernández Rojas			reg = <0x10000120 0x18>;
133*7d9ade0fSÁlvaro Fernández Rojas
1342d52ee82SÁlvaro Fernández Rojas			interrupt-parent = <&periph_intc>;
1352d52ee82SÁlvaro Fernández Rojas			interrupts = <3>;
136*7d9ade0fSÁlvaro Fernández Rojas
137*7d9ade0fSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
138bed8d2a2SJonas Gorski			clock-names = "refclk";
139*7d9ade0fSÁlvaro Fernández Rojas
140*7d9ade0fSÁlvaro Fernández Rojas			status = "disabled";
141*7d9ade0fSÁlvaro Fernández Rojas		};
142*7d9ade0fSÁlvaro Fernández Rojas
143*7d9ade0fSÁlvaro Fernández Rojas		nflash: nand@10000200 {
144*7d9ade0fSÁlvaro Fernández Rojas			#address-cells = <1>;
145*7d9ade0fSÁlvaro Fernández Rojas			#size-cells = <0>;
146*7d9ade0fSÁlvaro Fernández Rojas			compatible = "brcm,nand-bcm6368",
147*7d9ade0fSÁlvaro Fernández Rojas				     "brcm,brcmnand-v2.1",
148*7d9ade0fSÁlvaro Fernández Rojas				     "brcm,brcmnand";
149*7d9ade0fSÁlvaro Fernández Rojas			reg = <0x10000200 0x180>,
150*7d9ade0fSÁlvaro Fernández Rojas			      <0x10000600 0x200>,
151*7d9ade0fSÁlvaro Fernández Rojas			      <0x10000070 0x10>;
152*7d9ade0fSÁlvaro Fernández Rojas			reg-names = "nand",
153*7d9ade0fSÁlvaro Fernández Rojas				    "nand-cache",
154*7d9ade0fSÁlvaro Fernández Rojas				    "nand-int-base";
155*7d9ade0fSÁlvaro Fernández Rojas
156*7d9ade0fSÁlvaro Fernández Rojas			interrupt-parent = <&periph_intc>;
157*7d9ade0fSÁlvaro Fernández Rojas			interrupts = <10>;
158*7d9ade0fSÁlvaro Fernández Rojas
159*7d9ade0fSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6368_CLK_NAND>;
160*7d9ade0fSÁlvaro Fernández Rojas			clock-names = "nand";
161*7d9ade0fSÁlvaro Fernández Rojas
162*7d9ade0fSÁlvaro Fernández Rojas			status = "disabled";
163*7d9ade0fSÁlvaro Fernández Rojas		};
164*7d9ade0fSÁlvaro Fernández Rojas
165*7d9ade0fSÁlvaro Fernández Rojas		lsspi: spi@10000800 {
166*7d9ade0fSÁlvaro Fernández Rojas			#address-cells = <1>;
167*7d9ade0fSÁlvaro Fernández Rojas			#size-cells = <0>;
168*7d9ade0fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-spi";
169*7d9ade0fSÁlvaro Fernández Rojas			reg = <0x10000800 0x70c>;
170*7d9ade0fSÁlvaro Fernández Rojas
171*7d9ade0fSÁlvaro Fernández Rojas			interrupt-parent = <&periph_intc>;
172*7d9ade0fSÁlvaro Fernández Rojas			interrupts = <1>;
173*7d9ade0fSÁlvaro Fernández Rojas
174*7d9ade0fSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6368_CLK_SPI>;
175*7d9ade0fSÁlvaro Fernández Rojas			clock-names = "spi";
176*7d9ade0fSÁlvaro Fernández Rojas
177*7d9ade0fSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6368_RST_SPI>;
178*7d9ade0fSÁlvaro Fernández Rojas			reset-names = "spi";
179*7d9ade0fSÁlvaro Fernández Rojas
1802d52ee82SÁlvaro Fernández Rojas			status = "disabled";
1812d52ee82SÁlvaro Fernández Rojas		};
1822d52ee82SÁlvaro Fernández Rojas
1832d52ee82SÁlvaro Fernández Rojas		ehci: usb@10001500 {
1848945e37eSKevin Cernekee			compatible = "brcm,bcm6368-ehci", "generic-ehci";
1858945e37eSKevin Cernekee			reg = <0x10001500 0x100>;
1868945e37eSKevin Cernekee			big-endian;
187*7d9ade0fSÁlvaro Fernández Rojas
1888945e37eSKevin Cernekee			interrupt-parent = <&periph_intc>;
1898945e37eSKevin Cernekee			interrupts = <7>;
190*7d9ade0fSÁlvaro Fernández Rojas
191*7d9ade0fSÁlvaro Fernández Rojas			phys = <&usbh 0>;
192*7d9ade0fSÁlvaro Fernández Rojas			phy-names = "usb";
193*7d9ade0fSÁlvaro Fernández Rojas
1948945e37eSKevin Cernekee			status = "disabled";
1958945e37eSKevin Cernekee		};
1968945e37eSKevin Cernekee
1972d52ee82SÁlvaro Fernández Rojas		ohci: usb@10001600 {
1988945e37eSKevin Cernekee			compatible = "brcm,bcm6368-ohci", "generic-ohci";
1998945e37eSKevin Cernekee			reg = <0x10001600 0x100>;
2008945e37eSKevin Cernekee			big-endian;
2018945e37eSKevin Cernekee			no-big-frame-no;
202*7d9ade0fSÁlvaro Fernández Rojas
2038945e37eSKevin Cernekee			interrupt-parent = <&periph_intc>;
2048945e37eSKevin Cernekee			interrupts = <5>;
205*7d9ade0fSÁlvaro Fernández Rojas
206*7d9ade0fSÁlvaro Fernández Rojas			phys = <&usbh 0>;
207*7d9ade0fSÁlvaro Fernández Rojas			phy-names = "usb";
208*7d9ade0fSÁlvaro Fernández Rojas
2098945e37eSKevin Cernekee			status = "disabled";
2108945e37eSKevin Cernekee		};
211*7d9ade0fSÁlvaro Fernández Rojas
212*7d9ade0fSÁlvaro Fernández Rojas		usbh: usb-phy@10001700 {
213*7d9ade0fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-usbh-phy";
214*7d9ade0fSÁlvaro Fernández Rojas			reg = <0x10001700 0x38>;
215*7d9ade0fSÁlvaro Fernández Rojas			#phy-cells = <1>;
216*7d9ade0fSÁlvaro Fernández Rojas
217*7d9ade0fSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6368_CLK_USBH>;
218*7d9ade0fSÁlvaro Fernández Rojas			clock-names = "usbh";
219*7d9ade0fSÁlvaro Fernández Rojas
220*7d9ade0fSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6368_RST_USBH>;
221*7d9ade0fSÁlvaro Fernández Rojas			reset-names = "usbh";
222*7d9ade0fSÁlvaro Fernández Rojas
223*7d9ade0fSÁlvaro Fernández Rojas			status = "disabled";
224*7d9ade0fSÁlvaro Fernández Rojas		};
225*7d9ade0fSÁlvaro Fernández Rojas
226*7d9ade0fSÁlvaro Fernández Rojas		random: rng@10004180 {
227*7d9ade0fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-rng";
228*7d9ade0fSÁlvaro Fernández Rojas			reg = <0x10004180 0x14>;
229*7d9ade0fSÁlvaro Fernández Rojas
230*7d9ade0fSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6368_CLK_IPSEC>;
231*7d9ade0fSÁlvaro Fernández Rojas			clock-names = "ipsec";
232*7d9ade0fSÁlvaro Fernández Rojas
233*7d9ade0fSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6368_RST_IPSEC>;
234*7d9ade0fSÁlvaro Fernández Rojas			reset-names = "ipsec";
235*7d9ade0fSÁlvaro Fernández Rojas		};
236*7d9ade0fSÁlvaro Fernández Rojas	};
237*7d9ade0fSÁlvaro Fernández Rojas
238*7d9ade0fSÁlvaro Fernández Rojas	pflash: nor@18000000 {
239*7d9ade0fSÁlvaro Fernández Rojas		#address-cells = <1>;
240*7d9ade0fSÁlvaro Fernández Rojas		#size-cells = <1>;
241*7d9ade0fSÁlvaro Fernández Rojas		compatible = "cfi-flash";
242*7d9ade0fSÁlvaro Fernández Rojas		reg = <0x18000000 0x2000000>;
243*7d9ade0fSÁlvaro Fernández Rojas		bank-width = <2>;
244*7d9ade0fSÁlvaro Fernández Rojas
245*7d9ade0fSÁlvaro Fernández Rojas		status = "disabled";
2468945e37eSKevin Cernekee	};
2478945e37eSKevin Cernekee};
248