xref: /openbmc/u-boot/arch/mips/dts/brcm,bcm6328.dtsi (revision fd0135e3c54c391b6143f85440e30d576a9a83fe)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
26471a225SÁlvaro Fernández Rojas/*
36471a225SÁlvaro Fernández Rojas * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
46471a225SÁlvaro Fernández Rojas */
56471a225SÁlvaro Fernández Rojas
65b14e13cSÁlvaro Fernández Rojas#include <dt-bindings/clock/bcm6328-clock.h>
785132221SÁlvaro Fernández Rojas#include <dt-bindings/dma/bcm6328-dma.h>
86471a225SÁlvaro Fernández Rojas#include <dt-bindings/gpio/gpio.h>
99a5cb22fSÁlvaro Fernández Rojas#include <dt-bindings/power-domain/bcm6328-power-domain.h>
1078118211SÁlvaro Fernández Rojas#include <dt-bindings/reset/bcm6328-reset.h>
116471a225SÁlvaro Fernández Rojas#include "skeleton.dtsi"
126471a225SÁlvaro Fernández Rojas
136471a225SÁlvaro Fernández Rojas/ {
146471a225SÁlvaro Fernández Rojas	compatible = "brcm,bcm6328";
156471a225SÁlvaro Fernández Rojas
1680be057cSÁlvaro Fernández Rojas	aliases {
1780be057cSÁlvaro Fernández Rojas		spi0 = &spi;
1880be057cSÁlvaro Fernández Rojas	};
1980be057cSÁlvaro Fernández Rojas
206471a225SÁlvaro Fernández Rojas	cpus {
216471a225SÁlvaro Fernández Rojas		reg = <0x10000000 0x4>;
226471a225SÁlvaro Fernández Rojas		#address-cells = <1>;
236471a225SÁlvaro Fernández Rojas		#size-cells = <0>;
246471a225SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
256471a225SÁlvaro Fernández Rojas
266471a225SÁlvaro Fernández Rojas		cpu@0 {
276471a225SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-cpu", "mips,mips4Kc";
286471a225SÁlvaro Fernández Rojas			device_type = "cpu";
296471a225SÁlvaro Fernández Rojas			reg = <0>;
306471a225SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
316471a225SÁlvaro Fernández Rojas		};
326471a225SÁlvaro Fernández Rojas
336471a225SÁlvaro Fernández Rojas		cpu@1 {
346471a225SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-cpu", "mips,mips4Kc";
356471a225SÁlvaro Fernández Rojas			device_type = "cpu";
366471a225SÁlvaro Fernández Rojas			reg = <1>;
376471a225SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
386471a225SÁlvaro Fernández Rojas		};
396471a225SÁlvaro Fernández Rojas	};
406471a225SÁlvaro Fernández Rojas
416471a225SÁlvaro Fernández Rojas	clocks {
426471a225SÁlvaro Fernández Rojas		compatible = "simple-bus";
436471a225SÁlvaro Fernández Rojas		#address-cells = <1>;
446471a225SÁlvaro Fernández Rojas		#size-cells = <1>;
456471a225SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
466471a225SÁlvaro Fernández Rojas
4780be057cSÁlvaro Fernández Rojas		hsspi_pll: hsspi-pll {
4880be057cSÁlvaro Fernández Rojas			compatible = "fixed-clock";
4980be057cSÁlvaro Fernández Rojas			#clock-cells = <0>;
5080be057cSÁlvaro Fernández Rojas			clock-frequency = <133333333>;
5180be057cSÁlvaro Fernández Rojas		};
5280be057cSÁlvaro Fernández Rojas
536471a225SÁlvaro Fernández Rojas		periph_osc: periph-osc {
546471a225SÁlvaro Fernández Rojas			compatible = "fixed-clock";
556471a225SÁlvaro Fernández Rojas			#clock-cells = <0>;
566471a225SÁlvaro Fernández Rojas			clock-frequency = <50000000>;
576471a225SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
586471a225SÁlvaro Fernández Rojas		};
595b14e13cSÁlvaro Fernández Rojas
605b14e13cSÁlvaro Fernández Rojas		periph_clk: periph-clk {
615b14e13cSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-clk";
625b14e13cSÁlvaro Fernández Rojas			reg = <0x10000004 0x4>;
635b14e13cSÁlvaro Fernández Rojas			#clock-cells = <1>;
645b14e13cSÁlvaro Fernández Rojas		};
656471a225SÁlvaro Fernández Rojas	};
666471a225SÁlvaro Fernández Rojas
676471a225SÁlvaro Fernández Rojas	ubus {
686471a225SÁlvaro Fernández Rojas		compatible = "simple-bus";
696471a225SÁlvaro Fernández Rojas		#address-cells = <1>;
706471a225SÁlvaro Fernández Rojas		#size-cells = <1>;
716471a225SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
726471a225SÁlvaro Fernández Rojas
7378118211SÁlvaro Fernández Rojas		periph_rst: reset-controller@10000010 {
7478118211SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-reset";
7578118211SÁlvaro Fernández Rojas			reg = <0x10000010 0x4>;
7678118211SÁlvaro Fernández Rojas			#reset-cells = <1>;
7778118211SÁlvaro Fernández Rojas		};
7878118211SÁlvaro Fernández Rojas
796471a225SÁlvaro Fernández Rojas		pll_cntl: syscon@10000068 {
806471a225SÁlvaro Fernández Rojas			compatible = "syscon";
816471a225SÁlvaro Fernández Rojas			reg = <0x10000068 0x4>;
826471a225SÁlvaro Fernández Rojas		};
836471a225SÁlvaro Fernández Rojas
846471a225SÁlvaro Fernández Rojas		syscon-reboot {
856471a225SÁlvaro Fernández Rojas			compatible = "syscon-reboot";
866471a225SÁlvaro Fernández Rojas			regmap = <&pll_cntl>;
876471a225SÁlvaro Fernández Rojas			offset = <0x0>;
886471a225SÁlvaro Fernández Rojas			mask = <0x1>;
896471a225SÁlvaro Fernández Rojas		};
906471a225SÁlvaro Fernández Rojas
91404cacb3SÁlvaro Fernández Rojas		wdt: watchdog@1000005c {
92404cacb3SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-wdt";
93404cacb3SÁlvaro Fernández Rojas			reg = <0x1000005c 0xc>;
94404cacb3SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
95404cacb3SÁlvaro Fernández Rojas		};
96404cacb3SÁlvaro Fernández Rojas
975b8a225eSÁlvaro Fernández Rojas		wdt-reboot {
985b8a225eSÁlvaro Fernández Rojas			compatible = "wdt-reboot";
995b8a225eSÁlvaro Fernández Rojas			wdt = <&wdt>;
1005b8a225eSÁlvaro Fernández Rojas		};
1015b8a225eSÁlvaro Fernández Rojas
102320186f4SÁlvaro Fernández Rojas		gpio: gpio-controller@10000084 {
103320186f4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
104320186f4SÁlvaro Fernández Rojas			reg = <0x10000084 0x4>, <0x1000008c 0x4>;
105320186f4SÁlvaro Fernández Rojas			gpio-controller;
106320186f4SÁlvaro Fernández Rojas			#gpio-cells = <2>;
107320186f4SÁlvaro Fernández Rojas
108320186f4SÁlvaro Fernández Rojas			status = "disabled";
109320186f4SÁlvaro Fernández Rojas		};
110320186f4SÁlvaro Fernández Rojas
1116471a225SÁlvaro Fernández Rojas		uart0: serial@10000100 {
1126471a225SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1136471a225SÁlvaro Fernández Rojas			reg = <0x10000100 0x18>;
1146471a225SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1156471a225SÁlvaro Fernández Rojas
1166471a225SÁlvaro Fernández Rojas			status = "disabled";
1176471a225SÁlvaro Fernández Rojas		};
1186471a225SÁlvaro Fernández Rojas
1196471a225SÁlvaro Fernández Rojas		uart1: serial@10000120 {
1206471a225SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1216471a225SÁlvaro Fernández Rojas			reg = <0x10000120 0x18>;
1226471a225SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1236471a225SÁlvaro Fernández Rojas
1246471a225SÁlvaro Fernández Rojas			status = "disabled";
1256471a225SÁlvaro Fernández Rojas		};
1266471a225SÁlvaro Fernández Rojas
127e0f1fd2bSÁlvaro Fernández Rojas		leds: led-controller@10000800 {
128e0f1fd2bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-leds";
129e0f1fd2bSÁlvaro Fernández Rojas			reg = <0x10000800 0x24>;
130e0f1fd2bSÁlvaro Fernández Rojas			#address-cells = <1>;
131e0f1fd2bSÁlvaro Fernández Rojas			#size-cells = <0>;
132e0f1fd2bSÁlvaro Fernández Rojas
133e0f1fd2bSÁlvaro Fernández Rojas			status = "disabled";
134e0f1fd2bSÁlvaro Fernández Rojas		};
135e0f1fd2bSÁlvaro Fernández Rojas
13680be057cSÁlvaro Fernández Rojas		spi: spi@10001000 {
13780be057cSÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-hsspi";
13880be057cSÁlvaro Fernández Rojas			#address-cells = <1>;
13980be057cSÁlvaro Fernández Rojas			#size-cells = <0>;
14080be057cSÁlvaro Fernández Rojas			reg = <0x10001000 0x600>;
14180be057cSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6328_CLK_HSSPI>, <&hsspi_pll>;
14280be057cSÁlvaro Fernández Rojas			clock-names = "hsspi", "pll";
14380be057cSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6328_RST_SPI>;
14480be057cSÁlvaro Fernández Rojas			spi-max-frequency = <33333334>;
14580be057cSÁlvaro Fernández Rojas			num-cs = <3>;
14680be057cSÁlvaro Fernández Rojas
14780be057cSÁlvaro Fernández Rojas			status = "disabled";
14880be057cSÁlvaro Fernández Rojas		};
14980be057cSÁlvaro Fernández Rojas
1509a5cb22fSÁlvaro Fernández Rojas		periph_pwr: power-controller@10001848 {
1519a5cb22fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-power-domain";
1529a5cb22fSÁlvaro Fernández Rojas			reg = <0x10001848 0x4>;
1539a5cb22fSÁlvaro Fernández Rojas			#power-domain-cells = <1>;
1549a5cb22fSÁlvaro Fernández Rojas		};
1559a5cb22fSÁlvaro Fernández Rojas
156f94e3606SÁlvaro Fernández Rojas		ehci: usb-controller@10002500 {
157f94e3606SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-ehci", "generic-ehci";
158f94e3606SÁlvaro Fernández Rojas			reg = <0x10002500 0x100>;
159f94e3606SÁlvaro Fernández Rojas			phys = <&usbh>;
160f94e3606SÁlvaro Fernández Rojas			big-endian;
161f94e3606SÁlvaro Fernández Rojas
162f94e3606SÁlvaro Fernández Rojas			status = "disabled";
163f94e3606SÁlvaro Fernández Rojas		};
164f94e3606SÁlvaro Fernández Rojas
165f94e3606SÁlvaro Fernández Rojas		ohci: usb-controller@10002600 {
166f94e3606SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-ohci", "generic-ohci";
167f94e3606SÁlvaro Fernández Rojas			reg = <0x10002600 0x100>;
168f94e3606SÁlvaro Fernández Rojas			phys = <&usbh>;
169f94e3606SÁlvaro Fernández Rojas			big-endian;
170f94e3606SÁlvaro Fernández Rojas
171f94e3606SÁlvaro Fernández Rojas			status = "disabled";
172f94e3606SÁlvaro Fernández Rojas		};
173f94e3606SÁlvaro Fernández Rojas
174f94e3606SÁlvaro Fernández Rojas		usbh: usb-phy@10002700 {
175f94e3606SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-usbh";
176f94e3606SÁlvaro Fernández Rojas			reg = <0x10002700 0x38>;
177f94e3606SÁlvaro Fernández Rojas			#phy-cells = <0>;
178f94e3606SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6328_CLK_USBH>;
179f94e3606SÁlvaro Fernández Rojas			clock-names = "usbh";
180f94e3606SÁlvaro Fernández Rojas			power-domains = <&periph_pwr BCM6328_PWR_USBH>;
181f94e3606SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6328_RST_USBH>;
182f94e3606SÁlvaro Fernández Rojas
183f94e3606SÁlvaro Fernández Rojas			status = "disabled";
184f94e3606SÁlvaro Fernández Rojas		};
185f94e3606SÁlvaro Fernández Rojas
1866471a225SÁlvaro Fernández Rojas		memory-controller@10003000 {
1876471a225SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-mc";
18844d8514fSÁlvaro Fernández Rojas			reg = <0x10003000 0x864>;
1896471a225SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
1906471a225SÁlvaro Fernández Rojas		};
19185132221SÁlvaro Fernández Rojas
19285132221SÁlvaro Fernández Rojas		iudma: dma-controller@1000d800 {
19385132221SÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-iudma";
19485132221SÁlvaro Fernández Rojas			reg = <0x1000d800 0x80>,
19585132221SÁlvaro Fernández Rojas			      <0x1000da00 0x80>,
19685132221SÁlvaro Fernández Rojas			      <0x1000dc00 0x80>;
19785132221SÁlvaro Fernández Rojas			reg-names = "dma",
19885132221SÁlvaro Fernández Rojas				    "dma-channels",
19985132221SÁlvaro Fernández Rojas				    "dma-sram";
20085132221SÁlvaro Fernández Rojas			#dma-cells = <1>;
20185132221SÁlvaro Fernández Rojas			dma-channels = <8>;
20285132221SÁlvaro Fernández Rojas		};
203*45934ed8SÁlvaro Fernández Rojas
204*45934ed8SÁlvaro Fernández Rojas		enet: ethernet@10e00000 {
205*45934ed8SÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-enet";
206*45934ed8SÁlvaro Fernández Rojas			#address-cells = <1>;
207*45934ed8SÁlvaro Fernández Rojas			#size-cells = <0>;
208*45934ed8SÁlvaro Fernández Rojas			reg = <0x10e00000 0x10000>;
209*45934ed8SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6328_CLK_ROBOSW>;
210*45934ed8SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6328_RST_ENETSW>,
211*45934ed8SÁlvaro Fernández Rojas				 <&periph_rst BCM6328_RST_EPHY>;
212*45934ed8SÁlvaro Fernández Rojas			dmas = <&iudma BCM6328_DMA_ENETSW_RX>,
213*45934ed8SÁlvaro Fernández Rojas			       <&iudma BCM6328_DMA_ENETSW_TX>;
214*45934ed8SÁlvaro Fernández Rojas			dma-names = "rx",
215*45934ed8SÁlvaro Fernández Rojas				    "tx";
216*45934ed8SÁlvaro Fernández Rojas			brcm,num-ports = <5>;
217*45934ed8SÁlvaro Fernández Rojas
218*45934ed8SÁlvaro Fernández Rojas			status = "disabled";
219*45934ed8SÁlvaro Fernández Rojas		};
2206471a225SÁlvaro Fernández Rojas	};
2216471a225SÁlvaro Fernández Rojas};
222