183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
26a235bb8SÁlvaro Fernández Rojas/*
36a235bb8SÁlvaro Fernández Rojas * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
46a235bb8SÁlvaro Fernández Rojas */
56a235bb8SÁlvaro Fernández Rojas
6969ebdb9SÁlvaro Fernández Rojas#include <dt-bindings/clock/bcm63268-clock.h>
783eae024SÁlvaro Fernández Rojas#include <dt-bindings/dma/bcm63268-dma.h>
86a235bb8SÁlvaro Fernández Rojas#include <dt-bindings/gpio/gpio.h>
9a1b5e5e7SÁlvaro Fernández Rojas#include <dt-bindings/power-domain/bcm63268-power-domain.h>
1002bb1fa0SÁlvaro Fernández Rojas#include <dt-bindings/reset/bcm63268-reset.h>
116a235bb8SÁlvaro Fernández Rojas#include "skeleton.dtsi"
126a235bb8SÁlvaro Fernández Rojas
136a235bb8SÁlvaro Fernández Rojas/ {
146a235bb8SÁlvaro Fernández Rojas	compatible = "brcm,bcm63268";
156a235bb8SÁlvaro Fernández Rojas
1626cee0ecSÁlvaro Fernández Rojas	aliases {
1726cee0ecSÁlvaro Fernández Rojas		spi0 = &lsspi;
18727839b4SÁlvaro Fernández Rojas		spi1 = &hsspi;
1926cee0ecSÁlvaro Fernández Rojas	};
2026cee0ecSÁlvaro Fernández Rojas
216a235bb8SÁlvaro Fernández Rojas	cpus {
226a235bb8SÁlvaro Fernández Rojas		reg = <0x10000000 0x4>;
236a235bb8SÁlvaro Fernández Rojas		#address-cells = <1>;
246a235bb8SÁlvaro Fernández Rojas		#size-cells = <0>;
256a235bb8SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
266a235bb8SÁlvaro Fernández Rojas
276a235bb8SÁlvaro Fernández Rojas		cpu@0 {
286a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-cpu", "mips,mips4Kc";
296a235bb8SÁlvaro Fernández Rojas			device_type = "cpu";
306a235bb8SÁlvaro Fernández Rojas			reg = <0>;
316a235bb8SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
326a235bb8SÁlvaro Fernández Rojas		};
336a235bb8SÁlvaro Fernández Rojas
346a235bb8SÁlvaro Fernández Rojas		cpu@1 {
356a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-cpu", "mips,mips4Kc";
366a235bb8SÁlvaro Fernández Rojas			device_type = "cpu";
376a235bb8SÁlvaro Fernández Rojas			reg = <1>;
386a235bb8SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
396a235bb8SÁlvaro Fernández Rojas		};
406a235bb8SÁlvaro Fernández Rojas	};
416a235bb8SÁlvaro Fernández Rojas
426a235bb8SÁlvaro Fernández Rojas	clocks {
436a235bb8SÁlvaro Fernández Rojas		compatible = "simple-bus";
446a235bb8SÁlvaro Fernández Rojas		#address-cells = <1>;
456a235bb8SÁlvaro Fernández Rojas		#size-cells = <1>;
466a235bb8SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
476a235bb8SÁlvaro Fernández Rojas
48727839b4SÁlvaro Fernández Rojas		hsspi_pll: hsspi-pll {
49727839b4SÁlvaro Fernández Rojas			compatible = "fixed-clock";
50727839b4SÁlvaro Fernández Rojas			#clock-cells = <0>;
51727839b4SÁlvaro Fernández Rojas			clock-frequency = <400000000>;
52727839b4SÁlvaro Fernández Rojas		};
53727839b4SÁlvaro Fernández Rojas
546a235bb8SÁlvaro Fernández Rojas		periph_osc: periph-osc {
556a235bb8SÁlvaro Fernández Rojas			compatible = "fixed-clock";
566a235bb8SÁlvaro Fernández Rojas			#clock-cells = <0>;
576a235bb8SÁlvaro Fernández Rojas			clock-frequency = <50000000>;
586a235bb8SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
596a235bb8SÁlvaro Fernández Rojas		};
60969ebdb9SÁlvaro Fernández Rojas
61969ebdb9SÁlvaro Fernández Rojas		periph_clk: periph-clk {
62969ebdb9SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-clk";
63969ebdb9SÁlvaro Fernández Rojas			reg = <0x10000004 0x4>;
64969ebdb9SÁlvaro Fernández Rojas			#clock-cells = <1>;
65969ebdb9SÁlvaro Fernández Rojas		};
66969ebdb9SÁlvaro Fernández Rojas
67969ebdb9SÁlvaro Fernández Rojas		timer_clk: timer-clk {
68969ebdb9SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-clk";
69969ebdb9SÁlvaro Fernández Rojas			reg = <0x100000ac 0x4>;
70969ebdb9SÁlvaro Fernández Rojas			#clock-cells = <1>;
71969ebdb9SÁlvaro Fernández Rojas		};
726a235bb8SÁlvaro Fernández Rojas	};
736a235bb8SÁlvaro Fernández Rojas
746a235bb8SÁlvaro Fernández Rojas	ubus {
756a235bb8SÁlvaro Fernández Rojas		compatible = "simple-bus";
766a235bb8SÁlvaro Fernández Rojas		#address-cells = <1>;
776a235bb8SÁlvaro Fernández Rojas		#size-cells = <1>;
786a235bb8SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
796a235bb8SÁlvaro Fernández Rojas
806a235bb8SÁlvaro Fernández Rojas		pll_cntl: syscon@10000008 {
816a235bb8SÁlvaro Fernández Rojas			compatible = "syscon";
826a235bb8SÁlvaro Fernández Rojas			reg = <0x10000008 0x4>;
836a235bb8SÁlvaro Fernández Rojas		};
846a235bb8SÁlvaro Fernández Rojas
856a235bb8SÁlvaro Fernández Rojas		syscon-reboot {
866a235bb8SÁlvaro Fernández Rojas			compatible = "syscon-reboot";
876a235bb8SÁlvaro Fernández Rojas			regmap = <&pll_cntl>;
886a235bb8SÁlvaro Fernández Rojas			offset = <0x0>;
896a235bb8SÁlvaro Fernández Rojas			mask = <0x1>;
906a235bb8SÁlvaro Fernández Rojas		};
916a235bb8SÁlvaro Fernández Rojas
9202bb1fa0SÁlvaro Fernández Rojas		periph_rst: reset-controller@10000010 {
9302bb1fa0SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-reset";
9402bb1fa0SÁlvaro Fernández Rojas			reg = <0x10000010 0x4>;
9502bb1fa0SÁlvaro Fernández Rojas			#reset-cells = <1>;
9602bb1fa0SÁlvaro Fernández Rojas		};
9702bb1fa0SÁlvaro Fernández Rojas
981947a44bSÁlvaro Fernández Rojas		wdt: watchdog@1000009c {
991947a44bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-wdt";
1001947a44bSÁlvaro Fernández Rojas			reg = <0x1000009c 0xc>;
1011947a44bSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1021947a44bSÁlvaro Fernández Rojas		};
1031947a44bSÁlvaro Fernández Rojas
104d7efa940SÁlvaro Fernández Rojas		wdt-reboot {
105d7efa940SÁlvaro Fernández Rojas			compatible = "wdt-reboot";
106d7efa940SÁlvaro Fernández Rojas			wdt = <&wdt>;
107d7efa940SÁlvaro Fernández Rojas		};
108d7efa940SÁlvaro Fernández Rojas
109c9c94d5dSÁlvaro Fernández Rojas		gpio1: gpio-controller@100000c0 {
110c9c94d5dSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
111c9c94d5dSÁlvaro Fernández Rojas			reg = <0x100000c0 0x4>, <0x100000c8 0x4>;
112c9c94d5dSÁlvaro Fernández Rojas			gpio-controller;
113c9c94d5dSÁlvaro Fernández Rojas			#gpio-cells = <2>;
114c9c94d5dSÁlvaro Fernández Rojas			ngpios = <20>;
115c9c94d5dSÁlvaro Fernández Rojas
116c9c94d5dSÁlvaro Fernández Rojas			status = "disabled";
117c9c94d5dSÁlvaro Fernández Rojas		};
118c9c94d5dSÁlvaro Fernández Rojas
119c9c94d5dSÁlvaro Fernández Rojas		gpio0: gpio-controller@100000c4 {
120c9c94d5dSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
121c9c94d5dSÁlvaro Fernández Rojas			reg = <0x100000c4 0x4>, <0x100000cc 0x4>;
122c9c94d5dSÁlvaro Fernández Rojas			gpio-controller;
123c9c94d5dSÁlvaro Fernández Rojas			#gpio-cells = <2>;
124c9c94d5dSÁlvaro Fernández Rojas
125c9c94d5dSÁlvaro Fernández Rojas			status = "disabled";
126c9c94d5dSÁlvaro Fernández Rojas		};
127c9c94d5dSÁlvaro Fernández Rojas
1286a235bb8SÁlvaro Fernández Rojas		uart0: serial@10000180 {
1296a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1306a235bb8SÁlvaro Fernández Rojas			reg = <0x10000180 0x18>;
1316a235bb8SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1326a235bb8SÁlvaro Fernández Rojas
1336a235bb8SÁlvaro Fernández Rojas			status = "disabled";
1346a235bb8SÁlvaro Fernández Rojas		};
1356a235bb8SÁlvaro Fernández Rojas
1366a235bb8SÁlvaro Fernández Rojas		uart1: serial@100001a0 {
1376a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1386a235bb8SÁlvaro Fernández Rojas			reg = <0x100001a0 0x18>;
1396a235bb8SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1406a235bb8SÁlvaro Fernández Rojas
1416a235bb8SÁlvaro Fernández Rojas			status = "disabled";
1426a235bb8SÁlvaro Fernández Rojas		};
1436a235bb8SÁlvaro Fernández Rojas
144a1b5e5e7SÁlvaro Fernández Rojas		periph_pwr: power-controller@1000184c {
145a1b5e5e7SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-power-domain";
146a1b5e5e7SÁlvaro Fernández Rojas			reg = <0x1000184c 0x4>;
147a1b5e5e7SÁlvaro Fernández Rojas			#power-domain-cells = <1>;
148a1b5e5e7SÁlvaro Fernández Rojas		};
149a1b5e5e7SÁlvaro Fernández Rojas
15026cee0ecSÁlvaro Fernández Rojas		lsspi: spi@10000800 {
15126cee0ecSÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-spi";
15226cee0ecSÁlvaro Fernández Rojas			reg = <0x10000800 0x70c>;
15326cee0ecSÁlvaro Fernández Rojas			#address-cells = <1>;
15426cee0ecSÁlvaro Fernández Rojas			#size-cells = <0>;
15526cee0ecSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM63268_CLK_SPI>;
15626cee0ecSÁlvaro Fernández Rojas			resets = <&periph_rst BCM63268_RST_SPI>;
15726cee0ecSÁlvaro Fernández Rojas			spi-max-frequency = <20000000>;
15826cee0ecSÁlvaro Fernández Rojas			num-cs = <8>;
15926cee0ecSÁlvaro Fernández Rojas
16026cee0ecSÁlvaro Fernández Rojas			status = "disabled";
16126cee0ecSÁlvaro Fernández Rojas		};
16226cee0ecSÁlvaro Fernández Rojas
163727839b4SÁlvaro Fernández Rojas		hsspi: spi@10001000 {
164727839b4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-hsspi";
165727839b4SÁlvaro Fernández Rojas			#address-cells = <1>;
166727839b4SÁlvaro Fernández Rojas			#size-cells = <0>;
167727839b4SÁlvaro Fernández Rojas			reg = <0x10001000 0x600>;
168727839b4SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM63268_CLK_HSSPI>, <&hsspi_pll>;
169727839b4SÁlvaro Fernández Rojas			clock-names = "hsspi", "pll";
170727839b4SÁlvaro Fernández Rojas			resets = <&periph_rst BCM63268_RST_SPI>;
171727839b4SÁlvaro Fernández Rojas			spi-max-frequency = <50000000>;
172727839b4SÁlvaro Fernández Rojas			num-cs = <8>;
173727839b4SÁlvaro Fernández Rojas
174727839b4SÁlvaro Fernández Rojas			status = "disabled";
175727839b4SÁlvaro Fernández Rojas		};
176727839b4SÁlvaro Fernández Rojas
17765a7c955SÁlvaro Fernández Rojas		leds: led-controller@10001900 {
17865a7c955SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-leds";
17965a7c955SÁlvaro Fernández Rojas			reg = <0x10001900 0x24>;
18065a7c955SÁlvaro Fernández Rojas			#address-cells = <1>;
18165a7c955SÁlvaro Fernández Rojas			#size-cells = <0>;
18265a7c955SÁlvaro Fernández Rojas
18365a7c955SÁlvaro Fernández Rojas			status = "disabled";
18465a7c955SÁlvaro Fernández Rojas		};
18565a7c955SÁlvaro Fernández Rojas
18635e03f00SÁlvaro Fernández Rojas		ehci: usb-controller@10002500 {
18735e03f00SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-ehci", "generic-ehci";
18835e03f00SÁlvaro Fernández Rojas			reg = <0x10002500 0x100>;
18935e03f00SÁlvaro Fernández Rojas			phys = <&usbh>;
19035e03f00SÁlvaro Fernández Rojas			big-endian;
19135e03f00SÁlvaro Fernández Rojas
19235e03f00SÁlvaro Fernández Rojas			status = "disabled";
19335e03f00SÁlvaro Fernández Rojas		};
19435e03f00SÁlvaro Fernández Rojas
19535e03f00SÁlvaro Fernández Rojas		ohci: usb-controller@10002600 {
19635e03f00SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-ohci", "generic-ohci";
19735e03f00SÁlvaro Fernández Rojas			reg = <0x10002600 0x100>;
19835e03f00SÁlvaro Fernández Rojas			phys = <&usbh>;
19935e03f00SÁlvaro Fernández Rojas			big-endian;
20035e03f00SÁlvaro Fernández Rojas
20135e03f00SÁlvaro Fernández Rojas			status = "disabled";
20235e03f00SÁlvaro Fernández Rojas		};
20335e03f00SÁlvaro Fernández Rojas
20435e03f00SÁlvaro Fernández Rojas		usbh: usb-phy@10002700 {
20535e03f00SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-usbh";
20635e03f00SÁlvaro Fernández Rojas			reg = <0x10002700 0x38>;
20735e03f00SÁlvaro Fernández Rojas			#phy-cells = <0>;
20835e03f00SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM63268_CLK_USBH>, <&timer_clk BCM63268_TCLK_USB_REF>;
20935e03f00SÁlvaro Fernández Rojas			clock-names = "usbh", "usb_ref";
21035e03f00SÁlvaro Fernández Rojas			power-domains = <&periph_pwr BCM63268_PWR_USBH>;
21135e03f00SÁlvaro Fernández Rojas			resets = <&periph_rst BCM63268_RST_USBH>;
21235e03f00SÁlvaro Fernández Rojas
21335e03f00SÁlvaro Fernández Rojas			status = "disabled";
21435e03f00SÁlvaro Fernández Rojas		};
21535e03f00SÁlvaro Fernández Rojas
2166a235bb8SÁlvaro Fernández Rojas		memory-controller@10003000 {
2176a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-mc";
2180c9152d3SÁlvaro Fernández Rojas			reg = <0x10003000 0x894>;
2196a235bb8SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
2206a235bb8SÁlvaro Fernández Rojas		};
22183eae024SÁlvaro Fernández Rojas
22283eae024SÁlvaro Fernández Rojas		iudma: dma-controller@1000d800 {
22383eae024SÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-iudma";
22483eae024SÁlvaro Fernández Rojas			reg = <0x1000d800 0x80>,
22583eae024SÁlvaro Fernández Rojas			      <0x1000da00 0x80>,
22683eae024SÁlvaro Fernández Rojas			      <0x1000dc00 0x80>;
22783eae024SÁlvaro Fernández Rojas			reg-names = "dma",
22883eae024SÁlvaro Fernández Rojas				    "dma-channels",
22983eae024SÁlvaro Fernández Rojas				    "dma-sram";
23083eae024SÁlvaro Fernández Rojas			#dma-cells = <1>;
23183eae024SÁlvaro Fernández Rojas			dma-channels = <8>;
23283eae024SÁlvaro Fernández Rojas		};
233*b07f2dc6SÁlvaro Fernández Rojas
234*b07f2dc6SÁlvaro Fernández Rojas		enet: ethernet@10700000 {
235*b07f2dc6SÁlvaro Fernández Rojas			compatible = "brcm,bcm6368-enet";
236*b07f2dc6SÁlvaro Fernández Rojas			#address-cells = <1>;
237*b07f2dc6SÁlvaro Fernández Rojas			#size-cells = <0>;
238*b07f2dc6SÁlvaro Fernández Rojas			reg = <0x10700000 0x10000>;
239*b07f2dc6SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM63268_CLK_GMAC>,
240*b07f2dc6SÁlvaro Fernández Rojas				 <&periph_clk BCM63268_CLK_ROBOSW>,
241*b07f2dc6SÁlvaro Fernández Rojas				 <&periph_clk BCM63268_CLK_ROBOSW250>,
242*b07f2dc6SÁlvaro Fernández Rojas				 <&timer_clk BCM63268_TCLK_EPHY1>,
243*b07f2dc6SÁlvaro Fernández Rojas				 <&timer_clk BCM63268_TCLK_EPHY2>,
244*b07f2dc6SÁlvaro Fernández Rojas				 <&timer_clk BCM63268_TCLK_EPHY3>,
245*b07f2dc6SÁlvaro Fernández Rojas				 <&timer_clk BCM63268_TCLK_GPHY>;
246*b07f2dc6SÁlvaro Fernández Rojas			resets = <&periph_rst BCM63268_RST_ENETSW>,
247*b07f2dc6SÁlvaro Fernández Rojas				 <&periph_rst BCM63268_RST_EPHY>,
248*b07f2dc6SÁlvaro Fernández Rojas				 <&periph_rst BCM63268_RST_GPHY>;
249*b07f2dc6SÁlvaro Fernández Rojas			dmas = <&iudma BCM63268_DMA_ENETSW_RX>,
250*b07f2dc6SÁlvaro Fernández Rojas			       <&iudma BCM63268_DMA_ENETSW_TX>;
251*b07f2dc6SÁlvaro Fernández Rojas			dma-names = "rx",
252*b07f2dc6SÁlvaro Fernández Rojas				    "tx";
253*b07f2dc6SÁlvaro Fernández Rojas			brcm,rgmii-override;
254*b07f2dc6SÁlvaro Fernández Rojas			brcm,rgmii-timing;
255*b07f2dc6SÁlvaro Fernández Rojas
256*b07f2dc6SÁlvaro Fernández Rojas			status = "disabled";
257*b07f2dc6SÁlvaro Fernández Rojas		};
2586a235bb8SÁlvaro Fernández Rojas	};
2596a235bb8SÁlvaro Fernández Rojas};
260