xref: /openbmc/linux/arch/mips/boot/dts/brcm/bcm6358.dtsi (revision add95623)
1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
2a3eeec1cSÁlvaro Fernández Rojas
3a3eeec1cSÁlvaro Fernández Rojas#include "dt-bindings/clock/bcm6358-clock.h"
4a3eeec1cSÁlvaro Fernández Rojas#include "dt-bindings/reset/bcm6358-reset.h"
5a3eeec1cSÁlvaro Fernández Rojas
67537d273SÁlvaro Fernández Rojas/ {
77537d273SÁlvaro Fernández Rojas	#address-cells = <1>;
87537d273SÁlvaro Fernández Rojas	#size-cells = <1>;
97537d273SÁlvaro Fernández Rojas	compatible = "brcm,bcm6358";
107537d273SÁlvaro Fernández Rojas
117537d273SÁlvaro Fernández Rojas	cpus {
127537d273SÁlvaro Fernández Rojas		#address-cells = <1>;
137537d273SÁlvaro Fernández Rojas		#size-cells = <0>;
147537d273SÁlvaro Fernández Rojas
157537d273SÁlvaro Fernández Rojas		mips-hpt-frequency = <150000000>;
167537d273SÁlvaro Fernández Rojas
177537d273SÁlvaro Fernández Rojas		cpu@0 {
187537d273SÁlvaro Fernández Rojas			compatible = "brcm,bmips4350";
197537d273SÁlvaro Fernández Rojas			device_type = "cpu";
207537d273SÁlvaro Fernández Rojas			reg = <0>;
217537d273SÁlvaro Fernández Rojas		};
227537d273SÁlvaro Fernández Rojas
237537d273SÁlvaro Fernández Rojas		cpu@1 {
247537d273SÁlvaro Fernández Rojas			compatible = "brcm,bmips4350";
257537d273SÁlvaro Fernández Rojas			device_type = "cpu";
267537d273SÁlvaro Fernández Rojas			reg = <1>;
277537d273SÁlvaro Fernández Rojas		};
287537d273SÁlvaro Fernández Rojas	};
297537d273SÁlvaro Fernández Rojas
307537d273SÁlvaro Fernández Rojas	clocks {
31*add95623SÁlvaro Fernández Rojas		periph_osc: periph-osc {
327537d273SÁlvaro Fernández Rojas			compatible = "fixed-clock";
337537d273SÁlvaro Fernández Rojas			#clock-cells = <0>;
347537d273SÁlvaro Fernández Rojas			clock-frequency = <50000000>;
35*add95623SÁlvaro Fernández Rojas			clock-output-names = "periph";
367537d273SÁlvaro Fernández Rojas		};
377537d273SÁlvaro Fernández Rojas	};
387537d273SÁlvaro Fernández Rojas
397537d273SÁlvaro Fernández Rojas	aliases {
40*add95623SÁlvaro Fernández Rojas		pflash = &pflash;
417537d273SÁlvaro Fernández Rojas		serial0 = &uart0;
427537d273SÁlvaro Fernández Rojas		serial1 = &uart1;
43*add95623SÁlvaro Fernández Rojas		spi0 = &lsspi;
447537d273SÁlvaro Fernández Rojas	};
457537d273SÁlvaro Fernández Rojas
467537d273SÁlvaro Fernández Rojas	cpu_intc: interrupt-controller {
477537d273SÁlvaro Fernández Rojas		#address-cells = <0>;
487537d273SÁlvaro Fernández Rojas		compatible = "mti,cpu-interrupt-controller";
497537d273SÁlvaro Fernández Rojas
507537d273SÁlvaro Fernández Rojas		interrupt-controller;
517537d273SÁlvaro Fernández Rojas		#interrupt-cells = <1>;
527537d273SÁlvaro Fernández Rojas	};
537537d273SÁlvaro Fernández Rojas
547537d273SÁlvaro Fernández Rojas	ubus {
557537d273SÁlvaro Fernández Rojas		#address-cells = <1>;
567537d273SÁlvaro Fernández Rojas		#size-cells = <1>;
577537d273SÁlvaro Fernández Rojas
587537d273SÁlvaro Fernández Rojas		compatible = "simple-bus";
597537d273SÁlvaro Fernández Rojas		ranges;
607537d273SÁlvaro Fernández Rojas
61*add95623SÁlvaro Fernández Rojas		periph_clk: clock-controller@fffe0004 {
62a23c4134SJonas Gorski			compatible = "brcm,bcm6358-clocks";
63a23c4134SJonas Gorski			reg = <0xfffe0004 0x4>;
64a23c4134SJonas Gorski			#clock-cells = <1>;
65a23c4134SJonas Gorski		};
66a23c4134SJonas Gorski
67*add95623SÁlvaro Fernández Rojas		pll_cntl: syscon@fffe0008 {
687537d273SÁlvaro Fernández Rojas			compatible = "syscon";
69cde58b86SÁlvaro Fernández Rojas			reg = <0xfffe0008 0x4>;
707537d273SÁlvaro Fernández Rojas			native-endian;
717537d273SÁlvaro Fernández Rojas
72*add95623SÁlvaro Fernández Rojas			reboot {
737537d273SÁlvaro Fernández Rojas				compatible = "syscon-reboot";
74a23c4134SJonas Gorski				offset = <0x0>;
757537d273SÁlvaro Fernández Rojas				mask = <0x1>;
767537d273SÁlvaro Fernández Rojas			};
77*add95623SÁlvaro Fernández Rojas		};
787537d273SÁlvaro Fernández Rojas
797537d273SÁlvaro Fernández Rojas		periph_intc: interrupt-controller@fffe000c {
807537d273SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-l1-intc";
817537d273SÁlvaro Fernández Rojas			reg = <0xfffe000c 0x8>,
827537d273SÁlvaro Fernández Rojas			      <0xfffe0038 0x8>;
837537d273SÁlvaro Fernández Rojas
847537d273SÁlvaro Fernández Rojas			interrupt-controller;
857537d273SÁlvaro Fernández Rojas			#interrupt-cells = <1>;
867537d273SÁlvaro Fernández Rojas
877537d273SÁlvaro Fernández Rojas			interrupt-parent = <&cpu_intc>;
887537d273SÁlvaro Fernández Rojas			interrupts = <2>, <3>;
897537d273SÁlvaro Fernández Rojas		};
907537d273SÁlvaro Fernández Rojas
918079cfbaSÁlvaro Fernández Rojas		periph_rst: reset-controller@fffe0034 {
928079cfbaSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-reset";
938079cfbaSÁlvaro Fernández Rojas			reg = <0xfffe0034 0x4>;
948079cfbaSÁlvaro Fernández Rojas			#reset-cells = <1>;
958079cfbaSÁlvaro Fernández Rojas		};
968079cfbaSÁlvaro Fernández Rojas
97*add95623SÁlvaro Fernández Rojas		wdt: watchdog@fffe005c {
98*add95623SÁlvaro Fernández Rojas			compatible = "brcm,bcm7038-wdt";
99*add95623SÁlvaro Fernández Rojas			reg = <0xfffe005c 0xc>;
100*add95623SÁlvaro Fernández Rojas
101*add95623SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
102*add95623SÁlvaro Fernández Rojas			clock-names = "refclk";
103*add95623SÁlvaro Fernández Rojas
104*add95623SÁlvaro Fernández Rojas			timeout-sec = <30>;
105*add95623SÁlvaro Fernández Rojas		};
106*add95623SÁlvaro Fernández Rojas
1077537d273SÁlvaro Fernández Rojas		leds0: led-controller@fffe00d0 {
1087537d273SÁlvaro Fernández Rojas			#address-cells = <1>;
1097537d273SÁlvaro Fernández Rojas			#size-cells = <0>;
1107537d273SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-leds";
1117537d273SÁlvaro Fernández Rojas			reg = <0xfffe00d0 0x8>;
1127537d273SÁlvaro Fernández Rojas
1137537d273SÁlvaro Fernández Rojas			status = "disabled";
1147537d273SÁlvaro Fernández Rojas		};
1157537d273SÁlvaro Fernández Rojas
1167537d273SÁlvaro Fernández Rojas		uart0: serial@fffe0100 {
1177537d273SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1187537d273SÁlvaro Fernández Rojas			reg = <0xfffe0100 0x18>;
1197537d273SÁlvaro Fernández Rojas
1207537d273SÁlvaro Fernández Rojas			interrupt-parent = <&periph_intc>;
1217537d273SÁlvaro Fernández Rojas			interrupts = <2>;
1227537d273SÁlvaro Fernández Rojas
123*add95623SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
124bed8d2a2SJonas Gorski			clock-names = "refclk";
1257537d273SÁlvaro Fernández Rojas
1267537d273SÁlvaro Fernández Rojas			status = "disabled";
1277537d273SÁlvaro Fernández Rojas		};
1287537d273SÁlvaro Fernández Rojas
1297537d273SÁlvaro Fernández Rojas		uart1: serial@fffe0120 {
1307537d273SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1317537d273SÁlvaro Fernández Rojas			reg = <0xfffe0120 0x18>;
1327537d273SÁlvaro Fernández Rojas
1337537d273SÁlvaro Fernández Rojas			interrupt-parent = <&periph_intc>;
1347537d273SÁlvaro Fernández Rojas			interrupts = <3>;
1357537d273SÁlvaro Fernández Rojas
136*add95623SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
137bed8d2a2SJonas Gorski			clock-names = "refclk";
1387537d273SÁlvaro Fernández Rojas
1397537d273SÁlvaro Fernández Rojas			status = "disabled";
1407537d273SÁlvaro Fernández Rojas		};
1417537d273SÁlvaro Fernández Rojas
142*add95623SÁlvaro Fernández Rojas		lsspi: spi@fffe0800 {
143*add95623SÁlvaro Fernández Rojas			#address-cells = <1>;
144*add95623SÁlvaro Fernández Rojas			#size-cells = <0>;
145*add95623SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-spi";
146*add95623SÁlvaro Fernández Rojas			reg = <0xfffe0800 0x70c>;
147*add95623SÁlvaro Fernández Rojas
148*add95623SÁlvaro Fernández Rojas			interrupt-parent = <&periph_intc>;
149*add95623SÁlvaro Fernández Rojas			interrupts = <1>;
150*add95623SÁlvaro Fernández Rojas
151*add95623SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6358_CLK_SPI>;
152*add95623SÁlvaro Fernández Rojas			clock-names = "spi";
153*add95623SÁlvaro Fernández Rojas
154*add95623SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6358_RST_SPI>;
155*add95623SÁlvaro Fernández Rojas			reset-names = "spi";
156*add95623SÁlvaro Fernández Rojas
157*add95623SÁlvaro Fernández Rojas			status = "disabled";
158*add95623SÁlvaro Fernández Rojas		};
159*add95623SÁlvaro Fernández Rojas
1607537d273SÁlvaro Fernández Rojas		ehci: usb@fffe1300 {
1617537d273SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-ehci", "generic-ehci";
1627537d273SÁlvaro Fernández Rojas			reg = <0xfffe1300 0x100>;
1637537d273SÁlvaro Fernández Rojas			big-endian;
164*add95623SÁlvaro Fernández Rojas
1657537d273SÁlvaro Fernández Rojas			interrupt-parent = <&periph_intc>;
1667537d273SÁlvaro Fernández Rojas			interrupts = <10>;
167*add95623SÁlvaro Fernández Rojas
168*add95623SÁlvaro Fernández Rojas			phys = <&usbh 0>;
169*add95623SÁlvaro Fernández Rojas			phy-names = "usb";
170*add95623SÁlvaro Fernández Rojas
1717537d273SÁlvaro Fernández Rojas			status = "disabled";
1727537d273SÁlvaro Fernández Rojas		};
1737537d273SÁlvaro Fernández Rojas
1747537d273SÁlvaro Fernández Rojas		ohci: usb@fffe1400 {
1757537d273SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-ohci", "generic-ohci";
1767537d273SÁlvaro Fernández Rojas			reg = <0xfffe1400 0x100>;
1777537d273SÁlvaro Fernández Rojas			big-endian;
1787537d273SÁlvaro Fernández Rojas			no-big-frame-no;
179*add95623SÁlvaro Fernández Rojas
1807537d273SÁlvaro Fernández Rojas			interrupt-parent = <&periph_intc>;
1817537d273SÁlvaro Fernández Rojas			interrupts = <5>;
182*add95623SÁlvaro Fernández Rojas
183*add95623SÁlvaro Fernández Rojas			phys = <&usbh 0>;
184*add95623SÁlvaro Fernández Rojas			phy-names = "usb";
185*add95623SÁlvaro Fernández Rojas
1867537d273SÁlvaro Fernández Rojas			status = "disabled";
1877537d273SÁlvaro Fernández Rojas		};
188*add95623SÁlvaro Fernández Rojas
189*add95623SÁlvaro Fernández Rojas		usbh: usb-phy@fffe1500 {
190*add95623SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-usbh-phy";
191*add95623SÁlvaro Fernández Rojas			reg = <0xfffe1500 0x38>;
192*add95623SÁlvaro Fernández Rojas			#phy-cells = <1>;
193*add95623SÁlvaro Fernández Rojas
194*add95623SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6358_RST_USBH>;
195*add95623SÁlvaro Fernández Rojas			reset-names = "usbh";
196*add95623SÁlvaro Fernández Rojas
197*add95623SÁlvaro Fernández Rojas			status = "disabled";
198*add95623SÁlvaro Fernández Rojas		};
199*add95623SÁlvaro Fernández Rojas	};
200*add95623SÁlvaro Fernández Rojas
201*add95623SÁlvaro Fernández Rojas	pflash: nor@1e000000 {
202*add95623SÁlvaro Fernández Rojas		#address-cells = <1>;
203*add95623SÁlvaro Fernández Rojas		#size-cells = <1>;
204*add95623SÁlvaro Fernández Rojas		compatible = "cfi-flash";
205*add95623SÁlvaro Fernández Rojas		reg = <0x1e000000 0x2000000>;
206*add95623SÁlvaro Fernández Rojas		bank-width = <2>;
207*add95623SÁlvaro Fernández Rojas
208*add95623SÁlvaro Fernández Rojas		status = "disabled";
2097537d273SÁlvaro Fernández Rojas	};
2107537d273SÁlvaro Fernández Rojas};
211