xref: /openbmc/u-boot/arch/mips/dts/brcm,bcm6362.dtsi (revision 7e40d0a3)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
28f240a3bSÁlvaro Fernández Rojas/*
38f240a3bSÁlvaro Fernández Rojas * Copyright (C) 2018 Álvaro Fernández Rojas <noltari@gmail.com>
48f240a3bSÁlvaro Fernández Rojas */
58f240a3bSÁlvaro Fernández Rojas
68f240a3bSÁlvaro Fernández Rojas#include <dt-bindings/clock/bcm6362-clock.h>
7b2bf5a22SÁlvaro Fernández Rojas#include <dt-bindings/dma/bcm6362-dma.h>
88f240a3bSÁlvaro Fernández Rojas#include <dt-bindings/gpio/gpio.h>
98f240a3bSÁlvaro Fernández Rojas#include <dt-bindings/power-domain/bcm6362-power-domain.h>
108f240a3bSÁlvaro Fernández Rojas#include <dt-bindings/reset/bcm6362-reset.h>
118f240a3bSÁlvaro Fernández Rojas#include "skeleton.dtsi"
128f240a3bSÁlvaro Fernández Rojas
138f240a3bSÁlvaro Fernández Rojas/ {
148f240a3bSÁlvaro Fernández Rojas	compatible = "brcm,bcm6362";
158f240a3bSÁlvaro Fernández Rojas
168f240a3bSÁlvaro Fernández Rojas	aliases {
178f240a3bSÁlvaro Fernández Rojas		spi0 = &lsspi;
188f240a3bSÁlvaro Fernández Rojas		spi1 = &hsspi;
198f240a3bSÁlvaro Fernández Rojas	};
208f240a3bSÁlvaro Fernández Rojas
218f240a3bSÁlvaro Fernández Rojas	cpus {
228f240a3bSÁlvaro Fernández Rojas		reg = <0x10000000 0x4>;
238f240a3bSÁlvaro Fernández Rojas		#address-cells = <1>;
248f240a3bSÁlvaro Fernández Rojas		#size-cells = <0>;
258f240a3bSÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
268f240a3bSÁlvaro Fernández Rojas
278f240a3bSÁlvaro Fernández Rojas		cpu@0 {
288f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6362-cpu", "mips,mips4Kc";
298f240a3bSÁlvaro Fernández Rojas			device_type = "cpu";
308f240a3bSÁlvaro Fernández Rojas			reg = <0>;
318f240a3bSÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
328f240a3bSÁlvaro Fernández Rojas		};
338f240a3bSÁlvaro Fernández Rojas
348f240a3bSÁlvaro Fernández Rojas		cpu@1 {
358f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6362-cpu", "mips,mips4Kc";
368f240a3bSÁlvaro Fernández Rojas			device_type = "cpu";
378f240a3bSÁlvaro Fernández Rojas			reg = <1>;
388f240a3bSÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
398f240a3bSÁlvaro Fernández Rojas		};
408f240a3bSÁlvaro Fernández Rojas	};
418f240a3bSÁlvaro Fernández Rojas
428f240a3bSÁlvaro Fernández Rojas	clocks {
438f240a3bSÁlvaro Fernández Rojas		compatible = "simple-bus";
448f240a3bSÁlvaro Fernández Rojas		#address-cells = <1>;
458f240a3bSÁlvaro Fernández Rojas		#size-cells = <1>;
468f240a3bSÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
478f240a3bSÁlvaro Fernández Rojas
488f240a3bSÁlvaro Fernández Rojas		hsspi_pll: hsspi-pll {
498f240a3bSÁlvaro Fernández Rojas			compatible = "fixed-clock";
508f240a3bSÁlvaro Fernández Rojas			#clock-cells = <0>;
518f240a3bSÁlvaro Fernández Rojas			clock-frequency = <133333333>;
528f240a3bSÁlvaro Fernández Rojas		};
538f240a3bSÁlvaro Fernández Rojas
548f240a3bSÁlvaro Fernández Rojas		periph_osc: periph-osc {
558f240a3bSÁlvaro Fernández Rojas			compatible = "fixed-clock";
568f240a3bSÁlvaro Fernández Rojas			#clock-cells = <0>;
578f240a3bSÁlvaro Fernández Rojas			clock-frequency = <50000000>;
588f240a3bSÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
598f240a3bSÁlvaro Fernández Rojas		};
608f240a3bSÁlvaro Fernández Rojas
618f240a3bSÁlvaro Fernández Rojas		periph_clk: periph-clk {
628f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-clk";
638f240a3bSÁlvaro Fernández Rojas			reg = <0x10000004 0x4>;
648f240a3bSÁlvaro Fernández Rojas			#clock-cells = <1>;
658f240a3bSÁlvaro Fernández Rojas		};
668f240a3bSÁlvaro Fernández Rojas	};
678f240a3bSÁlvaro Fernández Rojas
688f240a3bSÁlvaro Fernández Rojas	ubus {
698f240a3bSÁlvaro Fernández Rojas		compatible = "simple-bus";
708f240a3bSÁlvaro Fernández Rojas		#address-cells = <1>;
718f240a3bSÁlvaro Fernández Rojas		#size-cells = <1>;
728f240a3bSÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
738f240a3bSÁlvaro Fernández Rojas
748f240a3bSÁlvaro Fernández Rojas		pll_cntl: syscon@10000008 {
758f240a3bSÁlvaro Fernández Rojas			compatible = "syscon";
768f240a3bSÁlvaro Fernández Rojas			reg = <0x10000008 0x4>;
778f240a3bSÁlvaro Fernández Rojas		};
788f240a3bSÁlvaro Fernández Rojas
798f240a3bSÁlvaro Fernández Rojas		syscon-reboot {
808f240a3bSÁlvaro Fernández Rojas			compatible = "syscon-reboot";
818f240a3bSÁlvaro Fernández Rojas			regmap = <&pll_cntl>;
828f240a3bSÁlvaro Fernández Rojas			offset = <0x0>;
838f240a3bSÁlvaro Fernández Rojas			mask = <0x1>;
848f240a3bSÁlvaro Fernández Rojas		};
858f240a3bSÁlvaro Fernández Rojas
868f240a3bSÁlvaro Fernández Rojas		periph_rst: reset-controller@10000010 {
878f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-reset";
888f240a3bSÁlvaro Fernández Rojas			reg = <0x10000010 0x4>;
898f240a3bSÁlvaro Fernández Rojas			#reset-cells = <1>;
908f240a3bSÁlvaro Fernández Rojas		};
918f240a3bSÁlvaro Fernández Rojas
928f240a3bSÁlvaro Fernández Rojas		wdt: watchdog@1000005c {
938f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-wdt";
948f240a3bSÁlvaro Fernández Rojas			reg = <0x1000005c 0xc>;
958f240a3bSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
968f240a3bSÁlvaro Fernández Rojas		};
978f240a3bSÁlvaro Fernández Rojas
988f240a3bSÁlvaro Fernández Rojas		wdt-reboot {
998f240a3bSÁlvaro Fernández Rojas			compatible = "wdt-reboot";
1008f240a3bSÁlvaro Fernández Rojas			wdt = <&wdt>;
1018f240a3bSÁlvaro Fernández Rojas		};
1028f240a3bSÁlvaro Fernández Rojas
1038f240a3bSÁlvaro Fernández Rojas		gpio1: gpio-controller@10000080 {
1048f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
1058f240a3bSÁlvaro Fernández Rojas			reg = <0x10000080 0x4>, <0x10000088 0x4>;
1068f240a3bSÁlvaro Fernández Rojas			gpio-controller;
1078f240a3bSÁlvaro Fernández Rojas			#gpio-cells = <2>;
1088f240a3bSÁlvaro Fernández Rojas			ngpios = <16>;
1098f240a3bSÁlvaro Fernández Rojas
1108f240a3bSÁlvaro Fernández Rojas			status = "disabled";
1118f240a3bSÁlvaro Fernández Rojas		};
1128f240a3bSÁlvaro Fernández Rojas
1138f240a3bSÁlvaro Fernández Rojas		gpio0: gpio-controller@10000084 {
1148f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
1158f240a3bSÁlvaro Fernández Rojas			reg = <0x10000084 0x4>, <0x1000008c 0x4>;
1168f240a3bSÁlvaro Fernández Rojas			gpio-controller;
1178f240a3bSÁlvaro Fernández Rojas			#gpio-cells = <2>;
1188f240a3bSÁlvaro Fernández Rojas
1198f240a3bSÁlvaro Fernández Rojas			status = "disabled";
1208f240a3bSÁlvaro Fernández Rojas		};
1218f240a3bSÁlvaro Fernández Rojas
1228f240a3bSÁlvaro Fernández Rojas		uart0: serial@10000100 {
1238f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1248f240a3bSÁlvaro Fernández Rojas			reg = <0x10000100 0x18>;
1258f240a3bSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1268f240a3bSÁlvaro Fernández Rojas
1278f240a3bSÁlvaro Fernández Rojas			status = "disabled";
1288f240a3bSÁlvaro Fernández Rojas		};
1298f240a3bSÁlvaro Fernández Rojas
1308f240a3bSÁlvaro Fernández Rojas		uart1: serial@10000120 {
1318f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1328f240a3bSÁlvaro Fernández Rojas			reg = <0x10000120 0x18>;
1338f240a3bSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1348f240a3bSÁlvaro Fernández Rojas
1358f240a3bSÁlvaro Fernández Rojas			status = "disabled";
1368f240a3bSÁlvaro Fernández Rojas		};
1378f240a3bSÁlvaro Fernández Rojas
1388f240a3bSÁlvaro Fernández Rojas		lsspi: spi@10000800 {
1398f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-spi";
1408f240a3bSÁlvaro Fernández Rojas			reg = <0x10000800 0x70c>;
1418f240a3bSÁlvaro Fernández Rojas			#address-cells = <1>;
1428f240a3bSÁlvaro Fernández Rojas			#size-cells = <0>;
1438f240a3bSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6362_CLK_SPI>;
1448f240a3bSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6362_RST_SPI>;
1458f240a3bSÁlvaro Fernández Rojas			spi-max-frequency = <20000000>;
1468f240a3bSÁlvaro Fernández Rojas			num-cs = <8>;
1478f240a3bSÁlvaro Fernández Rojas
1488f240a3bSÁlvaro Fernández Rojas			status = "disabled";
1498f240a3bSÁlvaro Fernández Rojas		};
1508f240a3bSÁlvaro Fernández Rojas
1518f240a3bSÁlvaro Fernández Rojas		hsspi: spi@10001000 {
1528f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-hsspi";
1538f240a3bSÁlvaro Fernández Rojas			#address-cells = <1>;
1548f240a3bSÁlvaro Fernández Rojas			#size-cells = <0>;
1558f240a3bSÁlvaro Fernández Rojas			reg = <0x10001000 0x600>;
1568f240a3bSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6362_CLK_HSSPI>, <&hsspi_pll>;
1578f240a3bSÁlvaro Fernández Rojas			clock-names = "hsspi", "pll";
1588f240a3bSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6362_RST_SPI>;
1598f240a3bSÁlvaro Fernández Rojas			spi-max-frequency = <50000000>;
1608f240a3bSÁlvaro Fernández Rojas			num-cs = <8>;
1618f240a3bSÁlvaro Fernández Rojas
1628f240a3bSÁlvaro Fernández Rojas			status = "disabled";
1638f240a3bSÁlvaro Fernández Rojas		};
1648f240a3bSÁlvaro Fernández Rojas
1658f240a3bSÁlvaro Fernández Rojas		leds: led-controller@10001900 {
1668f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-leds";
1678f240a3bSÁlvaro Fernández Rojas			reg = <0x10001900 0x24>;
1688f240a3bSÁlvaro Fernández Rojas			#address-cells = <1>;
1698f240a3bSÁlvaro Fernández Rojas			#size-cells = <0>;
1708f240a3bSÁlvaro Fernández Rojas
1718f240a3bSÁlvaro Fernández Rojas			status = "disabled";
1728f240a3bSÁlvaro Fernández Rojas		};
1738f240a3bSÁlvaro Fernández Rojas
1748f240a3bSÁlvaro Fernández Rojas		periph_pwr: power-controller@10001848 {
1758f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-power-domain";
1768f240a3bSÁlvaro Fernández Rojas			reg = <0x10001848 0x4>;
1778f240a3bSÁlvaro Fernández Rojas			#power-domain-cells = <1>;
1788f240a3bSÁlvaro Fernández Rojas		};
1798f240a3bSÁlvaro Fernández Rojas
180ad7f6ed4SÁlvaro Fernández Rojas		ehci: usb-controller@10002500 {
181ad7f6ed4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6362-ehci", "generic-ehci";
182ad7f6ed4SÁlvaro Fernández Rojas			reg = <0x10002500 0x100>;
183ad7f6ed4SÁlvaro Fernández Rojas			phys = <&usbh>;
184ad7f6ed4SÁlvaro Fernández Rojas			big-endian;
185ad7f6ed4SÁlvaro Fernández Rojas
186ad7f6ed4SÁlvaro Fernández Rojas			status = "disabled";
187ad7f6ed4SÁlvaro Fernández Rojas		};
188ad7f6ed4SÁlvaro Fernández Rojas
189ad7f6ed4SÁlvaro Fernández Rojas		ohci: usb-controller@10002600 {
190ad7f6ed4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6362-ohci", "generic-ohci";
191ad7f6ed4SÁlvaro Fernández Rojas			reg = <0x10002600 0x100>;
192ad7f6ed4SÁlvaro Fernández Rojas			phys = <&usbh>;
193ad7f6ed4SÁlvaro Fernández Rojas			big-endian;
194ad7f6ed4SÁlvaro Fernández Rojas
195ad7f6ed4SÁlvaro Fernández Rojas			status = "disabled";
196ad7f6ed4SÁlvaro Fernández Rojas		};
197ad7f6ed4SÁlvaro Fernández Rojas
198ad7f6ed4SÁlvaro Fernández Rojas		usbh: usb-phy@10002700 {
199ad7f6ed4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-usbh";
200ad7f6ed4SÁlvaro Fernández Rojas			reg = <0x10002700 0x38>;
201ad7f6ed4SÁlvaro Fernández Rojas			#phy-cells = <0>;
202ad7f6ed4SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6362_CLK_USBH>;
203ad7f6ed4SÁlvaro Fernández Rojas			clock-names = "usbh";
204ad7f6ed4SÁlvaro Fernández Rojas			power-domains = <&periph_pwr BCM6362_PWR_USBH>;
205ad7f6ed4SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6362_RST_USBH>;
206ad7f6ed4SÁlvaro Fernández Rojas
207ad7f6ed4SÁlvaro Fernández Rojas			status = "disabled";
208ad7f6ed4SÁlvaro Fernández Rojas		};
209ad7f6ed4SÁlvaro Fernández Rojas
2108f240a3bSÁlvaro Fernández Rojas		memory-controller@10003000 {
2118f240a3bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-mc";
2128f240a3bSÁlvaro Fernández Rojas			reg = <0x10003000 0x864>;
2138f240a3bSÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
2148f240a3bSÁlvaro Fernández Rojas		};
215b2bf5a22SÁlvaro Fernández Rojas
216b2bf5a22SÁlvaro Fernández Rojas		iudma: dma-controller@1000d800 {
217b2bf5a22SÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-iudma";
218b2bf5a22SÁlvaro Fernández Rojas			reg = <0x1000d800 0x80>,
219b2bf5a22SÁlvaro Fernández Rojas			      <0x1000da00 0x80>,
220b2bf5a22SÁlvaro Fernández Rojas			      <0x1000dc00 0x80>;
221b2bf5a22SÁlvaro Fernández Rojas			reg-names = "dma",
222b2bf5a22SÁlvaro Fernández Rojas				    "dma-channels",
223b2bf5a22SÁlvaro Fernández Rojas				    "dma-sram";
224b2bf5a22SÁlvaro Fernández Rojas			#dma-cells = <1>;
225b2bf5a22SÁlvaro Fernández Rojas			dma-channels = <8>;
226b2bf5a22SÁlvaro Fernández Rojas		};
227*4518a24cSÁlvaro Fernández Rojas
228*4518a24cSÁlvaro Fernández Rojas		enet: ethernet@10e00000 {
229*4518a24cSÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-enet";
230*4518a24cSÁlvaro Fernández Rojas			#address-cells = <1>;
231*4518a24cSÁlvaro Fernández Rojas			#size-cells = <0>;
232*4518a24cSÁlvaro Fernández Rojas			reg = <0x10e00000 0x10000>;
233*4518a24cSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6362_CLK_SWPKT_USB>,
234*4518a24cSÁlvaro Fernández Rojas				 <&periph_clk BCM6362_CLK_SWPKT_SAR>,
235*4518a24cSÁlvaro Fernández Rojas				 <&periph_clk BCM6362_CLK_ROBOSW>;
236*4518a24cSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6362_RST_ENETSW>,
237*4518a24cSÁlvaro Fernández Rojas				 <&periph_rst BCM6362_RST_EPHY>;
238*4518a24cSÁlvaro Fernández Rojas			dmas = <&iudma BCM6362_DMA_ENETSW_RX>,
239*4518a24cSÁlvaro Fernández Rojas			       <&iudma BCM6362_DMA_ENETSW_TX>;
240*4518a24cSÁlvaro Fernández Rojas			dma-names = "rx",
241*4518a24cSÁlvaro Fernández Rojas				    "tx";
242*4518a24cSÁlvaro Fernández Rojas			brcm,num-ports = <6>;
243*4518a24cSÁlvaro Fernández Rojas
244*4518a24cSÁlvaro Fernández Rojas			status = "disabled";
245*4518a24cSÁlvaro Fernández Rojas		};
2468f240a3bSÁlvaro Fernández Rojas	};
2478f240a3bSÁlvaro Fernández Rojas};
248