1*83d290c5STom 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>
76a235bb8SÁlvaro Fernández Rojas#include <dt-bindings/gpio/gpio.h>
8a1b5e5e7SÁlvaro Fernández Rojas#include <dt-bindings/power-domain/bcm63268-power-domain.h>
902bb1fa0SÁlvaro Fernández Rojas#include <dt-bindings/reset/bcm63268-reset.h>
106a235bb8SÁlvaro Fernández Rojas#include "skeleton.dtsi"
116a235bb8SÁlvaro Fernández Rojas
126a235bb8SÁlvaro Fernández Rojas/ {
136a235bb8SÁlvaro Fernández Rojas	compatible = "brcm,bcm63268";
146a235bb8SÁlvaro Fernández Rojas
1526cee0ecSÁlvaro Fernández Rojas	aliases {
1626cee0ecSÁlvaro Fernández Rojas		spi0 = &lsspi;
17727839b4SÁlvaro Fernández Rojas		spi1 = &hsspi;
1826cee0ecSÁlvaro Fernández Rojas	};
1926cee0ecSÁlvaro Fernández Rojas
206a235bb8SÁlvaro Fernández Rojas	cpus {
216a235bb8SÁlvaro Fernández Rojas		reg = <0x10000000 0x4>;
226a235bb8SÁlvaro Fernández Rojas		#address-cells = <1>;
236a235bb8SÁlvaro Fernández Rojas		#size-cells = <0>;
246a235bb8SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
256a235bb8SÁlvaro Fernández Rojas
266a235bb8SÁlvaro Fernández Rojas		cpu@0 {
276a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-cpu", "mips,mips4Kc";
286a235bb8SÁlvaro Fernández Rojas			device_type = "cpu";
296a235bb8SÁlvaro Fernández Rojas			reg = <0>;
306a235bb8SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
316a235bb8SÁlvaro Fernández Rojas		};
326a235bb8SÁlvaro Fernández Rojas
336a235bb8SÁlvaro Fernández Rojas		cpu@1 {
346a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-cpu", "mips,mips4Kc";
356a235bb8SÁlvaro Fernández Rojas			device_type = "cpu";
366a235bb8SÁlvaro Fernández Rojas			reg = <1>;
376a235bb8SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
386a235bb8SÁlvaro Fernández Rojas		};
396a235bb8SÁlvaro Fernández Rojas	};
406a235bb8SÁlvaro Fernández Rojas
416a235bb8SÁlvaro Fernández Rojas	clocks {
426a235bb8SÁlvaro Fernández Rojas		compatible = "simple-bus";
436a235bb8SÁlvaro Fernández Rojas		#address-cells = <1>;
446a235bb8SÁlvaro Fernández Rojas		#size-cells = <1>;
456a235bb8SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
466a235bb8SÁlvaro Fernández Rojas
47727839b4SÁlvaro Fernández Rojas		hsspi_pll: hsspi-pll {
48727839b4SÁlvaro Fernández Rojas			compatible = "fixed-clock";
49727839b4SÁlvaro Fernández Rojas			#clock-cells = <0>;
50727839b4SÁlvaro Fernández Rojas			clock-frequency = <400000000>;
51727839b4SÁlvaro Fernández Rojas		};
52727839b4SÁlvaro Fernández Rojas
536a235bb8SÁlvaro Fernández Rojas		periph_osc: periph-osc {
546a235bb8SÁlvaro Fernández Rojas			compatible = "fixed-clock";
556a235bb8SÁlvaro Fernández Rojas			#clock-cells = <0>;
566a235bb8SÁlvaro Fernández Rojas			clock-frequency = <50000000>;
576a235bb8SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
586a235bb8SÁlvaro Fernández Rojas		};
59969ebdb9SÁlvaro Fernández Rojas
60969ebdb9SÁlvaro Fernández Rojas		periph_clk: periph-clk {
61969ebdb9SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-clk";
62969ebdb9SÁlvaro Fernández Rojas			reg = <0x10000004 0x4>;
63969ebdb9SÁlvaro Fernández Rojas			#clock-cells = <1>;
64969ebdb9SÁlvaro Fernández Rojas		};
65969ebdb9SÁlvaro Fernández Rojas
66969ebdb9SÁlvaro Fernández Rojas		timer_clk: timer-clk {
67969ebdb9SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-clk";
68969ebdb9SÁlvaro Fernández Rojas			reg = <0x100000ac 0x4>;
69969ebdb9SÁlvaro Fernández Rojas			#clock-cells = <1>;
70969ebdb9SÁlvaro Fernández Rojas		};
716a235bb8SÁlvaro Fernández Rojas	};
726a235bb8SÁlvaro Fernández Rojas
736a235bb8SÁlvaro Fernández Rojas	ubus {
746a235bb8SÁlvaro Fernández Rojas		compatible = "simple-bus";
756a235bb8SÁlvaro Fernández Rojas		#address-cells = <1>;
766a235bb8SÁlvaro Fernández Rojas		#size-cells = <1>;
776a235bb8SÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
786a235bb8SÁlvaro Fernández Rojas
796a235bb8SÁlvaro Fernández Rojas		pll_cntl: syscon@10000008 {
806a235bb8SÁlvaro Fernández Rojas			compatible = "syscon";
816a235bb8SÁlvaro Fernández Rojas			reg = <0x10000008 0x4>;
826a235bb8SÁlvaro Fernández Rojas		};
836a235bb8SÁlvaro Fernández Rojas
846a235bb8SÁlvaro Fernández Rojas		syscon-reboot {
856a235bb8SÁlvaro Fernández Rojas			compatible = "syscon-reboot";
866a235bb8SÁlvaro Fernández Rojas			regmap = <&pll_cntl>;
876a235bb8SÁlvaro Fernández Rojas			offset = <0x0>;
886a235bb8SÁlvaro Fernández Rojas			mask = <0x1>;
896a235bb8SÁlvaro Fernández Rojas		};
906a235bb8SÁlvaro Fernández Rojas
9102bb1fa0SÁlvaro Fernández Rojas		periph_rst: reset-controller@10000010 {
9202bb1fa0SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-reset";
9302bb1fa0SÁlvaro Fernández Rojas			reg = <0x10000010 0x4>;
9402bb1fa0SÁlvaro Fernández Rojas			#reset-cells = <1>;
9502bb1fa0SÁlvaro Fernández Rojas		};
9602bb1fa0SÁlvaro Fernández Rojas
971947a44bSÁlvaro Fernández Rojas		wdt: watchdog@1000009c {
981947a44bSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-wdt";
991947a44bSÁlvaro Fernández Rojas			reg = <0x1000009c 0xc>;
1001947a44bSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1011947a44bSÁlvaro Fernández Rojas		};
1021947a44bSÁlvaro Fernández Rojas
103d7efa940SÁlvaro Fernández Rojas		wdt-reboot {
104d7efa940SÁlvaro Fernández Rojas			compatible = "wdt-reboot";
105d7efa940SÁlvaro Fernández Rojas			wdt = <&wdt>;
106d7efa940SÁlvaro Fernández Rojas		};
107d7efa940SÁlvaro Fernández Rojas
108c9c94d5dSÁlvaro Fernández Rojas		gpio1: gpio-controller@100000c0 {
109c9c94d5dSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
110c9c94d5dSÁlvaro Fernández Rojas			reg = <0x100000c0 0x4>, <0x100000c8 0x4>;
111c9c94d5dSÁlvaro Fernández Rojas			gpio-controller;
112c9c94d5dSÁlvaro Fernández Rojas			#gpio-cells = <2>;
113c9c94d5dSÁlvaro Fernández Rojas			ngpios = <20>;
114c9c94d5dSÁlvaro Fernández Rojas
115c9c94d5dSÁlvaro Fernández Rojas			status = "disabled";
116c9c94d5dSÁlvaro Fernández Rojas		};
117c9c94d5dSÁlvaro Fernández Rojas
118c9c94d5dSÁlvaro Fernández Rojas		gpio0: gpio-controller@100000c4 {
119c9c94d5dSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
120c9c94d5dSÁlvaro Fernández Rojas			reg = <0x100000c4 0x4>, <0x100000cc 0x4>;
121c9c94d5dSÁlvaro Fernández Rojas			gpio-controller;
122c9c94d5dSÁlvaro Fernández Rojas			#gpio-cells = <2>;
123c9c94d5dSÁlvaro Fernández Rojas
124c9c94d5dSÁlvaro Fernández Rojas			status = "disabled";
125c9c94d5dSÁlvaro Fernández Rojas		};
126c9c94d5dSÁlvaro Fernández Rojas
1276a235bb8SÁlvaro Fernández Rojas		uart0: serial@10000180 {
1286a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1296a235bb8SÁlvaro Fernández Rojas			reg = <0x10000180 0x18>;
1306a235bb8SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1316a235bb8SÁlvaro Fernández Rojas
1326a235bb8SÁlvaro Fernández Rojas			status = "disabled";
1336a235bb8SÁlvaro Fernández Rojas		};
1346a235bb8SÁlvaro Fernández Rojas
1356a235bb8SÁlvaro Fernández Rojas		uart1: serial@100001a0 {
1366a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
1376a235bb8SÁlvaro Fernández Rojas			reg = <0x100001a0 0x18>;
1386a235bb8SÁlvaro Fernández Rojas			clocks = <&periph_osc>;
1396a235bb8SÁlvaro Fernández Rojas
1406a235bb8SÁlvaro Fernández Rojas			status = "disabled";
1416a235bb8SÁlvaro Fernández Rojas		};
1426a235bb8SÁlvaro Fernández Rojas
143a1b5e5e7SÁlvaro Fernández Rojas		periph_pwr: power-controller@1000184c {
144a1b5e5e7SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-power-domain";
145a1b5e5e7SÁlvaro Fernández Rojas			reg = <0x1000184c 0x4>;
146a1b5e5e7SÁlvaro Fernández Rojas			#power-domain-cells = <1>;
147a1b5e5e7SÁlvaro Fernández Rojas		};
148a1b5e5e7SÁlvaro Fernández Rojas
14926cee0ecSÁlvaro Fernández Rojas		lsspi: spi@10000800 {
15026cee0ecSÁlvaro Fernández Rojas			compatible = "brcm,bcm6358-spi";
15126cee0ecSÁlvaro Fernández Rojas			reg = <0x10000800 0x70c>;
15226cee0ecSÁlvaro Fernández Rojas			#address-cells = <1>;
15326cee0ecSÁlvaro Fernández Rojas			#size-cells = <0>;
15426cee0ecSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM63268_CLK_SPI>;
15526cee0ecSÁlvaro Fernández Rojas			resets = <&periph_rst BCM63268_RST_SPI>;
15626cee0ecSÁlvaro Fernández Rojas			spi-max-frequency = <20000000>;
15726cee0ecSÁlvaro Fernández Rojas			num-cs = <8>;
15826cee0ecSÁlvaro Fernández Rojas
15926cee0ecSÁlvaro Fernández Rojas			status = "disabled";
16026cee0ecSÁlvaro Fernández Rojas		};
16126cee0ecSÁlvaro Fernández Rojas
162727839b4SÁlvaro Fernández Rojas		hsspi: spi@10001000 {
163727839b4SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-hsspi";
164727839b4SÁlvaro Fernández Rojas			#address-cells = <1>;
165727839b4SÁlvaro Fernández Rojas			#size-cells = <0>;
166727839b4SÁlvaro Fernández Rojas			reg = <0x10001000 0x600>;
167727839b4SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM63268_CLK_HSSPI>, <&hsspi_pll>;
168727839b4SÁlvaro Fernández Rojas			clock-names = "hsspi", "pll";
169727839b4SÁlvaro Fernández Rojas			resets = <&periph_rst BCM63268_RST_SPI>;
170727839b4SÁlvaro Fernández Rojas			spi-max-frequency = <50000000>;
171727839b4SÁlvaro Fernández Rojas			num-cs = <8>;
172727839b4SÁlvaro Fernández Rojas
173727839b4SÁlvaro Fernández Rojas			status = "disabled";
174727839b4SÁlvaro Fernández Rojas		};
175727839b4SÁlvaro Fernández Rojas
17665a7c955SÁlvaro Fernández Rojas		leds: led-controller@10001900 {
17765a7c955SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-leds";
17865a7c955SÁlvaro Fernández Rojas			reg = <0x10001900 0x24>;
17965a7c955SÁlvaro Fernández Rojas			#address-cells = <1>;
18065a7c955SÁlvaro Fernández Rojas			#size-cells = <0>;
18165a7c955SÁlvaro Fernández Rojas
18265a7c955SÁlvaro Fernández Rojas			status = "disabled";
18365a7c955SÁlvaro Fernández Rojas		};
18465a7c955SÁlvaro Fernández Rojas
18535e03f00SÁlvaro Fernández Rojas		ehci: usb-controller@10002500 {
18635e03f00SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-ehci", "generic-ehci";
18735e03f00SÁlvaro Fernández Rojas			reg = <0x10002500 0x100>;
18835e03f00SÁlvaro Fernández Rojas			phys = <&usbh>;
18935e03f00SÁlvaro Fernández Rojas			big-endian;
19035e03f00SÁlvaro Fernández Rojas
19135e03f00SÁlvaro Fernández Rojas			status = "disabled";
19235e03f00SÁlvaro Fernández Rojas		};
19335e03f00SÁlvaro Fernández Rojas
19435e03f00SÁlvaro Fernández Rojas		ohci: usb-controller@10002600 {
19535e03f00SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-ohci", "generic-ohci";
19635e03f00SÁlvaro Fernández Rojas			reg = <0x10002600 0x100>;
19735e03f00SÁlvaro Fernández Rojas			phys = <&usbh>;
19835e03f00SÁlvaro Fernández Rojas			big-endian;
19935e03f00SÁlvaro Fernández Rojas
20035e03f00SÁlvaro Fernández Rojas			status = "disabled";
20135e03f00SÁlvaro Fernández Rojas		};
20235e03f00SÁlvaro Fernández Rojas
20335e03f00SÁlvaro Fernández Rojas		usbh: usb-phy@10002700 {
20435e03f00SÁlvaro Fernández Rojas			compatible = "brcm,bcm63268-usbh";
20535e03f00SÁlvaro Fernández Rojas			reg = <0x10002700 0x38>;
20635e03f00SÁlvaro Fernández Rojas			#phy-cells = <0>;
20735e03f00SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM63268_CLK_USBH>, <&timer_clk BCM63268_TCLK_USB_REF>;
20835e03f00SÁlvaro Fernández Rojas			clock-names = "usbh", "usb_ref";
20935e03f00SÁlvaro Fernández Rojas			power-domains = <&periph_pwr BCM63268_PWR_USBH>;
21035e03f00SÁlvaro Fernández Rojas			resets = <&periph_rst BCM63268_RST_USBH>;
21135e03f00SÁlvaro Fernández Rojas
21235e03f00SÁlvaro Fernández Rojas			status = "disabled";
21335e03f00SÁlvaro Fernández Rojas		};
21435e03f00SÁlvaro Fernández Rojas
2156a235bb8SÁlvaro Fernández Rojas		memory-controller@10003000 {
2166a235bb8SÁlvaro Fernández Rojas			compatible = "brcm,bcm6328-mc";
2170c9152d3SÁlvaro Fernández Rojas			reg = <0x10003000 0x894>;
2186a235bb8SÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
2196a235bb8SÁlvaro Fernández Rojas		};
2206a235bb8SÁlvaro Fernández Rojas	};
2216a235bb8SÁlvaro Fernández Rojas};
222