xref: /openbmc/u-boot/arch/mips/dts/brcm,bcm6358.dtsi (revision 7e40d0a3)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
2e30d2bd4SÁlvaro Fernández Rojas/*
3e30d2bd4SÁlvaro Fernández Rojas * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
4e30d2bd4SÁlvaro Fernández Rojas */
5e30d2bd4SÁlvaro Fernández Rojas
670789bd2SÁlvaro Fernández Rojas#include <dt-bindings/clock/bcm6358-clock.h>
7487250e6SÁlvaro Fernández Rojas#include <dt-bindings/dma/bcm6358-dma.h>
8e30d2bd4SÁlvaro Fernández Rojas#include <dt-bindings/gpio/gpio.h>
9efe8b9d0SÁlvaro Fernández Rojas#include <dt-bindings/reset/bcm6358-reset.h>
10e30d2bd4SÁlvaro Fernández Rojas#include "skeleton.dtsi"
11e30d2bd4SÁlvaro Fernández Rojas
12e30d2bd4SÁlvaro Fernández Rojas/ {
13e30d2bd4SÁlvaro Fernández Rojas	compatible = "brcm,bcm6358";
14e30d2bd4SÁlvaro Fernández Rojas
15076c1aacSÁlvaro Fernández Rojas	aliases {
16076c1aacSÁlvaro Fernández Rojas		spi0 = &spi;
17076c1aacSÁlvaro Fernández Rojas	};
18076c1aacSÁlvaro Fernández Rojas
19e30d2bd4SÁlvaro Fernández Rojas	cpus {
20e30d2bd4SÁlvaro Fernández Rojas		reg = <0xfffe0000 0x4>;
21e30d2bd4SÁlvaro Fernández Rojas		#address-cells = <1>;
22e30d2bd4SÁlvaro Fernández Rojas		#size-cells = <0>;
23e30d2bd4SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
24e30d2bd4SÁlvaro Fernández Rojas
25e30d2bd4SÁlvaro Fernández Rojas		cpu@0 {
26e30d2bd4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-cpu", "mips,mips4Kc";
27e30d2bd4SÁlvaro Fernández Rojas			device_type = "cpu";
28e30d2bd4SÁlvaro Fernández Rojas			reg = <0>;
29e30d2bd4SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
30e30d2bd4SÁlvaro Fernández Rojas		};
31e30d2bd4SÁlvaro Fernández Rojas
32e30d2bd4SÁlvaro Fernández Rojas		cpu@1 {
33e30d2bd4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-cpu", "mips,mips4Kc";
34e30d2bd4SÁlvaro Fernández Rojas			device_type = "cpu";
35e30d2bd4SÁlvaro Fernández Rojas			reg = <1>;
36e30d2bd4SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
37e30d2bd4SÁlvaro Fernández Rojas		};
38e30d2bd4SÁlvaro Fernández Rojas	};
39e30d2bd4SÁlvaro Fernández Rojas
40e30d2bd4SÁlvaro Fernández Rojas	clocks {
41e30d2bd4SÁlvaro Fernández Rojas		compatible = "simple-bus";
42e30d2bd4SÁlvaro Fernández Rojas		#address-cells = <1>;
43e30d2bd4SÁlvaro Fernández Rojas		#size-cells = <1>;
44e30d2bd4SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
45e30d2bd4SÁlvaro Fernández Rojas
46e30d2bd4SÁlvaro Fernández Rojas		periph_osc: periph-osc {
47e30d2bd4SÁlvaro Fernández Rojas			compatible = "fixed-clock";
48e30d2bd4SÁlvaro Fernández Rojas			#clock-cells = <0>;
49e30d2bd4SÁlvaro Fernández Rojas			clock-frequency = <50000000>;
50e30d2bd4SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
51e30d2bd4SÁlvaro Fernández Rojas		};
5270789bd2SÁlvaro Fernández Rojas
5370789bd2SÁlvaro Fernández Rojas		periph_clk: periph-clk {
5470789bd2SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-clk";
5570789bd2SÁlvaro Fernández Rojas			reg = <0xfffe0004 0x4>;
5670789bd2SÁlvaro Fernández Rojas			#clock-cells = <1>;
5770789bd2SÁlvaro Fernández Rojas		};
58e30d2bd4SÁlvaro Fernández Rojas	};
59e30d2bd4SÁlvaro Fernández Rojas
60e30d2bd4SÁlvaro Fernández Rojas	pflash: nor@1e000000 {
61e30d2bd4SÁlvaro Fernández Rojas		compatible = "cfi-flash";
62e30d2bd4SÁlvaro Fernández Rojas		reg = <0x1e000000 0x2000000>;
63e30d2bd4SÁlvaro Fernández Rojas		bank-width = <2>;
64e30d2bd4SÁlvaro Fernández Rojas		#address-cells = <1>;
65e30d2bd4SÁlvaro Fernández Rojas		#size-cells = <1>;
66e30d2bd4SÁlvaro Fernández Rojas
67e30d2bd4SÁlvaro Fernández Rojas		status = "disabled";
68e30d2bd4SÁlvaro Fernández Rojas	};
69e30d2bd4SÁlvaro Fernández Rojas
70e30d2bd4SÁlvaro Fernández Rojas	ubus {
71e30d2bd4SÁlvaro Fernández Rojas		compatible = "simple-bus";
72e30d2bd4SÁlvaro Fernández Rojas		#address-cells = <1>;
73e30d2bd4SÁlvaro Fernández Rojas		#size-cells = <1>;
74e30d2bd4SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
75e30d2bd4SÁlvaro Fernández Rojas
76e30d2bd4SÁlvaro Fernández Rojas		pll_cntl: syscon@fffe0008 {
77e30d2bd4SÁlvaro Fernández Rojas			compatible = "syscon";
78e30d2bd4SÁlvaro Fernández Rojas			reg = <0xfffe0008 0x4>;
79e30d2bd4SÁlvaro Fernández Rojas		};
80e30d2bd4SÁlvaro Fernández Rojas
81e30d2bd4SÁlvaro Fernández Rojas		syscon-reboot {
82e30d2bd4SÁlvaro Fernández Rojas			compatible = "syscon-reboot";
83e30d2bd4SÁlvaro Fernández Rojas			regmap = <&pll_cntl>;
84e30d2bd4SÁlvaro Fernández Rojas			offset = <0x0>;
85e30d2bd4SÁlvaro Fernández Rojas			mask = <0x1>;
86e30d2bd4SÁlvaro Fernández Rojas		};
87e30d2bd4SÁlvaro Fernández Rojas
88efe8b9d0SÁlvaro Fernández Rojas		periph_rst: reset-controller@fffe0034 {
89efe8b9d0SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-reset";
90efe8b9d0SÁlvaro Fernández Rojas			reg = <0xfffe0034 0x4>;
91efe8b9d0SÁlvaro Fernández Rojas			#reset-cells = <1>;
92efe8b9d0SÁlvaro Fernández Rojas		};
93efe8b9d0SÁlvaro Fernández Rojas
94bbbb6112SÁlvaro Fernández Rojas		wdt: watchdog@fffe005c {
95bbbb6112SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-wdt";
96bbbb6112SÁlvaro Fernández Rojas			reg = <0xfffe005c 0xc>;
97bbbb6112SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
98bbbb6112SÁlvaro Fernández Rojas		};
99bbbb6112SÁlvaro Fernández Rojas
10096818537SÁlvaro Fernández Rojas		wdt-reboot {
10196818537SÁlvaro Fernández Rojas			compatible = "wdt-reboot";
10296818537SÁlvaro Fernández Rojas			wdt = <&wdt>;
10396818537SÁlvaro Fernández Rojas		};
10496818537SÁlvaro Fernández Rojas
1052507f69cSÁlvaro Fernández Rojas		gpio1: gpio-controller@fffe0080 {
1062507f69cSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
1072507f69cSÁlvaro Fernández Rojas			reg = <0xfffe0080 0x4>, <0xfffe0088 0x4>;
1082507f69cSÁlvaro Fernández Rojas			gpio-controller;
1092507f69cSÁlvaro Fernández Rojas			#gpio-cells = <2>;
1102507f69cSÁlvaro Fernández Rojas			ngpios = <8>;
1112507f69cSÁlvaro Fernández Rojas
1122507f69cSÁlvaro Fernández Rojas			status = "disabled";
1132507f69cSÁlvaro Fernández Rojas		};
1142507f69cSÁlvaro Fernández Rojas
1152507f69cSÁlvaro Fernández Rojas		gpio0: gpio-controller@fffe0084 {
1162507f69cSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
1172507f69cSÁlvaro Fernández Rojas			reg = <0xfffe0084 0x4>, <0xfffe008c 0x4>;
1182507f69cSÁlvaro Fernández Rojas			gpio-controller;
1192507f69cSÁlvaro Fernández Rojas			#gpio-cells = <2>;
1202507f69cSÁlvaro Fernández Rojas
1212507f69cSÁlvaro Fernández Rojas			status = "disabled";
1222507f69cSÁlvaro Fernández Rojas		};
1232507f69cSÁlvaro Fernández Rojas
1244d6a519cSÁlvaro Fernández Rojas		leds: led-controller@fffe00d0 {
1254d6a519cSÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-leds";
1264d6a519cSÁlvaro Fernández Rojas			reg = <0xfffe00d0 0x8>;
1274d6a519cSÁlvaro Fernández Rojas			#address-cells = <1>;
1284d6a519cSÁlvaro Fernández Rojas			#size-cells = <0>;
1294d6a519cSÁlvaro Fernández Rojas
1304d6a519cSÁlvaro Fernández Rojas			status = "disabled";
1314d6a519cSÁlvaro Fernández Rojas		};
1324d6a519cSÁlvaro Fernández Rojas
133e30d2bd4SÁlvaro Fernández Rojas		uart0: serial@fffe0100 {
134e30d2bd4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
135e30d2bd4SÁlvaro Fernández Rojas			reg = <0xfffe0100 0x18>;
136e30d2bd4SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
137e30d2bd4SÁlvaro Fernández Rojas
138e30d2bd4SÁlvaro Fernández Rojas			status = "disabled";
139e30d2bd4SÁlvaro Fernández Rojas		};
140e30d2bd4SÁlvaro Fernández Rojas
141e30d2bd4SÁlvaro Fernández Rojas		uart1: serial@fffe0120 {
142e30d2bd4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
143e30d2bd4SÁlvaro Fernández Rojas			reg = <0xfffe0120 0x18>;
144e30d2bd4SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
145e30d2bd4SÁlvaro Fernández Rojas
146e30d2bd4SÁlvaro Fernández Rojas			status = "disabled";
147e30d2bd4SÁlvaro Fernández Rojas		};
148e30d2bd4SÁlvaro Fernández Rojas
149076c1aacSÁlvaro Fernández Rojas		spi: spi@fffe0800 {
150076c1aacSÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-spi";
151076c1aacSÁlvaro Fernández Rojas			reg = <0xfffe0800 0x70c>;
152076c1aacSÁlvaro Fernández Rojas			#address-cells = <1>;
153076c1aacSÁlvaro Fernández Rojas			#size-cells = <0>;
154076c1aacSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6358_CLK_SPI>;
155076c1aacSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6358_RST_SPI>;
156076c1aacSÁlvaro Fernández Rojas			spi-max-frequency = <20000000>;
157076c1aacSÁlvaro Fernández Rojas			num-cs = <4>;
158076c1aacSÁlvaro Fernández Rojas
159076c1aacSÁlvaro Fernández Rojas			status = "disabled";
160076c1aacSÁlvaro Fernández Rojas		};
161076c1aacSÁlvaro Fernández Rojas
162e30d2bd4SÁlvaro Fernández Rojas		memory-controller@fffe1200 {
163e30d2bd4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-mc";
1644153e477SÁlvaro Fernández Rojas			reg = <0xfffe1200 0x4c>;
165e30d2bd4SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
166e30d2bd4SÁlvaro Fernández Rojas		};
167e8dad2e7SÁlvaro Fernández Rojas
168e8dad2e7SÁlvaro Fernández Rojas		ehci: usb-controller@fffe1300 {
169e8dad2e7SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-ehci", "generic-ehci";
170e8dad2e7SÁlvaro Fernández Rojas			reg = <0xfffe1300 0x100>;
171e8dad2e7SÁlvaro Fernández Rojas			phys = <&usbh>;
172e8dad2e7SÁlvaro Fernández Rojas			big-endian;
173e8dad2e7SÁlvaro Fernández Rojas
174e8dad2e7SÁlvaro Fernández Rojas			status = "disabled";
175e8dad2e7SÁlvaro Fernández Rojas		};
176e8dad2e7SÁlvaro Fernández Rojas
177e8dad2e7SÁlvaro Fernández Rojas		ohci: usb-controller@fffe1400 {
178e8dad2e7SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-ohci", "generic-ohci";
179e8dad2e7SÁlvaro Fernández Rojas			reg = <0xfffe1400 0x100>;
180e8dad2e7SÁlvaro Fernández Rojas			phys = <&usbh>;
181e8dad2e7SÁlvaro Fernández Rojas			big-endian;
182e8dad2e7SÁlvaro Fernández Rojas
183e8dad2e7SÁlvaro Fernández Rojas			status = "disabled";
184e8dad2e7SÁlvaro Fernández Rojas		};
185e8dad2e7SÁlvaro Fernández Rojas
186e8dad2e7SÁlvaro Fernández Rojas		usbh: usb-phy@fffe1500 {
187e8dad2e7SÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-usbh";
188e8dad2e7SÁlvaro Fernández Rojas			reg = <0xfffe1500 0x28>;
189e8dad2e7SÁlvaro Fernández Rojas			#phy-cells = <0>;
190e8dad2e7SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6358_RST_USBH>;
191e8dad2e7SÁlvaro Fernández Rojas
192e8dad2e7SÁlvaro Fernández Rojas			status = "disabled";
193e8dad2e7SÁlvaro Fernández Rojas		};
194487250e6SÁlvaro Fernández Rojas
195*4f88720eSÁlvaro Fernández Rojas		enet0: ethernet@fffe4000 {
196*4f88720eSÁlvaro Fernández Rojas			compatible = "brcm,bcm6348-enet";
197*4f88720eSÁlvaro Fernández Rojas			#address-cells = <1>;
198*4f88720eSÁlvaro Fernández Rojas			#size-cells = <0>;
199*4f88720eSÁlvaro Fernández Rojas			reg = <0xfffe4000 0x2dc>;
200*4f88720eSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6358_CLK_ENET0>;
201*4f88720eSÁlvaro Fernández Rojas			dmas = <&iudma BCM6358_DMA_ENET0_RX>,
202*4f88720eSÁlvaro Fernández Rojas			       <&iudma BCM6358_DMA_ENET0_TX>;
203*4f88720eSÁlvaro Fernández Rojas			dma-names = "rx",
204*4f88720eSÁlvaro Fernández Rojas				    "tx";
205*4f88720eSÁlvaro Fernández Rojas
206*4f88720eSÁlvaro Fernández Rojas			status = "disabled";
207*4f88720eSÁlvaro Fernández Rojas		};
208*4f88720eSÁlvaro Fernández Rojas
209*4f88720eSÁlvaro Fernández Rojas		enet1: ethernet@fffe4800 {
210*4f88720eSÁlvaro Fernández Rojas			compatible = "brcm,bcm6348-enet";
211*4f88720eSÁlvaro Fernández Rojas			#address-cells = <1>;
212*4f88720eSÁlvaro Fernández Rojas			#size-cells = <0>;
213*4f88720eSÁlvaro Fernández Rojas			reg = <0xfffe4800 0x2dc>;
214*4f88720eSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6358_CLK_ENET1>;
215*4f88720eSÁlvaro Fernández Rojas			dmas = <&iudma BCM6358_DMA_ENET1_RX>,
216*4f88720eSÁlvaro Fernández Rojas			       <&iudma BCM6358_DMA_ENET1_TX>;
217*4f88720eSÁlvaro Fernández Rojas			dma-names = "rx",
218*4f88720eSÁlvaro Fernández Rojas				    "tx";
219*4f88720eSÁlvaro Fernández Rojas
220*4f88720eSÁlvaro Fernández Rojas			status = "disabled";
221*4f88720eSÁlvaro Fernández Rojas		};
222*4f88720eSÁlvaro Fernández Rojas
223487250e6SÁlvaro Fernández Rojas		iudma: dma-controller@fffe5000 {
224487250e6SÁlvaro Fernández Rojas			compatible = "brcm,bcm6348-iudma";
225487250e6SÁlvaro Fernández Rojas			reg = <0xfffe5000 0x24>,
226487250e6SÁlvaro Fernández Rojas			      <0xfffe5100 0x80>,
227487250e6SÁlvaro Fernández Rojas			      <0xfffe5200 0x80>;
228487250e6SÁlvaro Fernández Rojas			reg-names = "dma",
229487250e6SÁlvaro Fernández Rojas				    "dma-channels",
230487250e6SÁlvaro Fernández Rojas				    "dma-sram";
231487250e6SÁlvaro Fernández Rojas			#dma-cells = <1>;
232487250e6SÁlvaro Fernández Rojas			dma-channels = <8>;
233487250e6SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6358_CLK_EMUSB>,
234487250e6SÁlvaro Fernández Rojas				 <&periph_clk BCM6358_CLK_USBSU>,
235487250e6SÁlvaro Fernández Rojas				 <&periph_clk BCM6358_CLK_EPHY>;
236487250e6SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6358_RST_ENET>,
237487250e6SÁlvaro Fernández Rojas				 <&periph_rst BCM6358_RST_EPHY>;
238487250e6SÁlvaro Fernández Rojas		};
239e30d2bd4SÁlvaro Fernández Rojas	};
240e30d2bd4SÁlvaro Fernández Rojas};
241