1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
6 #include <dt-bindings/clock/bcm6368-clock.h>
7 #include <dt-bindings/dma/bcm6368-dma.h>
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/reset/bcm6368-reset.h>
10 #include "skeleton.dtsi"
13 compatible = "brcm,bcm6368";
20 reg = <0x10000000 0x4>;
26 compatible = "brcm,bcm6368-cpu", "mips,mips4Kc";
33 compatible = "brcm,bcm6368-cpu", "mips,mips4Kc";
41 compatible = "simple-bus";
46 periph_osc: periph-osc {
47 compatible = "fixed-clock";
49 clock-frequency = <50000000>;
53 periph_clk: periph-clk {
54 compatible = "brcm,bcm6345-clk";
55 reg = <0x10000004 0x4>;
60 pflash: nor@18000000 {
61 compatible = "cfi-flash";
62 reg = <0x18000000 0x2000000>;
71 compatible = "simple-bus";
76 pll_cntl: syscon@10000008 {
77 compatible = "syscon";
78 reg = <0x10000008 0x4>;
82 compatible = "syscon-reboot";
88 periph_rst: reset-controller@10000010 {
89 compatible = "brcm,bcm6345-reset";
90 reg = <0x10000010 0x4>;
94 wdt: watchdog@1000005c {
95 compatible = "brcm,bcm6345-wdt";
96 reg = <0x1000005c 0xc>;
97 clocks = <&periph_osc>;
101 compatible = "wdt-reboot";
105 gpio1: gpio-controller@10000080 {
106 compatible = "brcm,bcm6345-gpio";
107 reg = <0x10000080 0x4>, <0x10000088 0x4>;
115 gpio0: gpio-controller@10000084 {
116 compatible = "brcm,bcm6345-gpio";
117 reg = <0x10000084 0x4>, <0x1000008c 0x4>;
124 leds: led-controller@100000d0 {
125 compatible = "brcm,bcm6358-leds";
126 reg = <0x100000d0 0x8>;
127 #address-cells = <1>;
133 uart0: serial@10000100 {
134 compatible = "brcm,bcm6345-uart";
135 reg = <0x10000100 0x18>;
136 clocks = <&periph_osc>;
141 uart1: serial@10000120 {
142 compatible = "brcm,bcm6345-uart";
143 reg = <0x10000120 0x18>;
144 clocks = <&periph_osc>;
149 nand: nand-controller@10000200 {
150 #address-cells = <1>;
152 compatible = "brcm,nand-bcm6368",
153 "brcm,brcmnand-v2.1",
158 reg = <0x10000200 0x180>,
161 clocks = <&periph_clk BCM6368_CLK_NAND>;
162 clock-names = "nand";
168 compatible = "brcm,bcm6358-spi";
169 reg = <0x10000800 0x70c>;
170 #address-cells = <1>;
172 clocks = <&periph_clk BCM6368_CLK_SPI>;
173 resets = <&periph_rst BCM6368_RST_SPI>;
174 spi-max-frequency = <20000000>;
180 memory-controller@10001200 {
181 compatible = "brcm,bcm6358-mc";
182 reg = <0x10001200 0x4c>;
186 ehci: usb-controller@10001500 {
187 compatible = "brcm,bcm6368-ehci", "generic-ehci";
188 reg = <0x10001500 0x100>;
195 ohci: usb-controller@10001600 {
196 compatible = "brcm,bcm6368-ohci", "generic-ohci";
197 reg = <0x10001600 0x100>;
204 usbh: usb-phy@10001700 {
205 compatible = "brcm,bcm6368-usbh";
206 reg = <0x10001700 0x38>;
208 clocks = <&periph_clk BCM6368_CLK_USBH>;
209 clock-names = "usbh";
210 resets = <&periph_rst BCM6368_RST_USBH>;
215 iudma: dma-controller@10006800 {
216 compatible = "brcm,bcm6368-iudma";
217 reg = <0x10006800 0x80>,
227 enet: ethernet@10f00000 {
228 compatible = "brcm,bcm6368-enet";
229 #address-cells = <1>;
231 reg = <0x10f00000 0x10000>;
232 clocks = <&periph_clk BCM6368_CLK_SWPKT_USB>,
233 <&periph_clk BCM6368_CLK_SWPKT_SAR>,
234 <&periph_clk BCM6368_CLK_ROBOSW>;
235 resets = <&periph_rst BCM6368_RST_SWITCH>,
236 <&periph_rst BCM6368_RST_EPHY>;
237 dmas = <&iudma BCM6368_DMA_ENETSW_RX>,
238 <&iudma BCM6368_DMA_ENETSW_TX>;
241 brcm,num-ports = <6>;