blob: 50beed4171ae9247026cd38a06932550aa10b9e8 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +02002/*
3 * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +02004 */
5
Álvaro Fernández Rojas5b14e132017-05-07 20:13:03 +02006#include <dt-bindings/clock/bcm6328-clock.h>
Álvaro Fernández Rojas85132222018-12-01 19:00:20 +01007#include <dt-bindings/dma/bcm6328-dma.h>
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +02008#include <dt-bindings/gpio/gpio.h>
Álvaro Fernández Rojas9a5cb222017-05-07 20:28:37 +02009#include <dt-bindings/power-domain/bcm6328-power-domain.h>
Álvaro Fernández Rojas78118212017-05-03 15:10:23 +020010#include <dt-bindings/reset/bcm6328-reset.h>
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020011#include "skeleton.dtsi"
12
13/ {
14 compatible = "brcm,bcm6328";
15
Álvaro Fernández Rojas80be0572018-01-20 02:13:39 +010016 aliases {
17 spi0 = &spi;
18 };
19
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020020 cpus {
21 reg = <0x10000000 0x4>;
22 #address-cells = <1>;
23 #size-cells = <0>;
24 u-boot,dm-pre-reloc;
25
26 cpu@0 {
27 compatible = "brcm,bcm6328-cpu", "mips,mips4Kc";
28 device_type = "cpu";
29 reg = <0>;
30 u-boot,dm-pre-reloc;
31 };
32
33 cpu@1 {
34 compatible = "brcm,bcm6328-cpu", "mips,mips4Kc";
35 device_type = "cpu";
36 reg = <1>;
37 u-boot,dm-pre-reloc;
38 };
39 };
40
41 clocks {
42 compatible = "simple-bus";
43 #address-cells = <1>;
44 #size-cells = <1>;
45 u-boot,dm-pre-reloc;
46
Álvaro Fernández Rojas80be0572018-01-20 02:13:39 +010047 hsspi_pll: hsspi-pll {
48 compatible = "fixed-clock";
49 #clock-cells = <0>;
50 clock-frequency = <133333333>;
51 };
52
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020053 periph_osc: periph-osc {
54 compatible = "fixed-clock";
55 #clock-cells = <0>;
56 clock-frequency = <50000000>;
57 u-boot,dm-pre-reloc;
58 };
Álvaro Fernández Rojas5b14e132017-05-07 20:13:03 +020059
60 periph_clk: periph-clk {
61 compatible = "brcm,bcm6345-clk";
62 reg = <0x10000004 0x4>;
63 #clock-cells = <1>;
64 };
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020065 };
66
67 ubus {
68 compatible = "simple-bus";
69 #address-cells = <1>;
70 #size-cells = <1>;
71 u-boot,dm-pre-reloc;
72
Álvaro Fernández Rojas78118212017-05-03 15:10:23 +020073 periph_rst: reset-controller@10000010 {
74 compatible = "brcm,bcm6345-reset";
75 reg = <0x10000010 0x4>;
76 #reset-cells = <1>;
77 };
78
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020079 pll_cntl: syscon@10000068 {
80 compatible = "syscon";
81 reg = <0x10000068 0x4>;
82 };
83
84 syscon-reboot {
85 compatible = "syscon-reboot";
86 regmap = <&pll_cntl>;
87 offset = <0x0>;
88 mask = <0x1>;
89 };
90
Álvaro Fernández Rojas404cacb2017-05-16 18:29:11 +020091 wdt: watchdog@1000005c {
92 compatible = "brcm,bcm6345-wdt";
93 reg = <0x1000005c 0xc>;
94 clocks = <&periph_osc>;
95 };
96
Álvaro Fernández Rojas5b8a2252017-05-16 18:29:15 +020097 wdt-reboot {
98 compatible = "wdt-reboot";
99 wdt = <&wdt>;
100 };
101
Álvaro Fernández Rojas320186f2017-05-07 20:09:32 +0200102 gpio: gpio-controller@10000084 {
103 compatible = "brcm,bcm6345-gpio";
104 reg = <0x10000084 0x4>, <0x1000008c 0x4>;
105 gpio-controller;
106 #gpio-cells = <2>;
107
108 status = "disabled";
109 };
110
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +0200111 uart0: serial@10000100 {
112 compatible = "brcm,bcm6345-uart";
113 reg = <0x10000100 0x18>;
114 clocks = <&periph_osc>;
115
116 status = "disabled";
117 };
118
119 uart1: serial@10000120 {
120 compatible = "brcm,bcm6345-uart";
121 reg = <0x10000120 0x18>;
122 clocks = <&periph_osc>;
123
124 status = "disabled";
125 };
126
Álvaro Fernández Rojase0f1fd22017-05-07 20:10:25 +0200127 leds: led-controller@10000800 {
128 compatible = "brcm,bcm6328-leds";
129 reg = <0x10000800 0x24>;
130 #address-cells = <1>;
131 #size-cells = <0>;
132
133 status = "disabled";
134 };
135
Álvaro Fernández Rojas80be0572018-01-20 02:13:39 +0100136 spi: spi@10001000 {
137 compatible = "brcm,bcm6328-hsspi";
138 #address-cells = <1>;
139 #size-cells = <0>;
140 reg = <0x10001000 0x600>;
141 clocks = <&periph_clk BCM6328_CLK_HSSPI>, <&hsspi_pll>;
142 clock-names = "hsspi", "pll";
143 resets = <&periph_rst BCM6328_RST_SPI>;
144 spi-max-frequency = <33333334>;
145 num-cs = <3>;
146
147 status = "disabled";
148 };
149
Álvaro Fernández Rojas9a5cb222017-05-07 20:28:37 +0200150 periph_pwr: power-controller@10001848 {
151 compatible = "brcm,bcm6328-power-domain";
152 reg = <0x10001848 0x4>;
153 #power-domain-cells = <1>;
154 };
155
Álvaro Fernández Rojasf94e3602018-02-04 21:10:16 +0100156 ehci: usb-controller@10002500 {
157 compatible = "brcm,bcm6328-ehci", "generic-ehci";
158 reg = <0x10002500 0x100>;
159 phys = <&usbh>;
160 big-endian;
161
162 status = "disabled";
163 };
164
165 ohci: usb-controller@10002600 {
166 compatible = "brcm,bcm6328-ohci", "generic-ohci";
167 reg = <0x10002600 0x100>;
168 phys = <&usbh>;
169 big-endian;
170
171 status = "disabled";
172 };
173
174 usbh: usb-phy@10002700 {
175 compatible = "brcm,bcm6328-usbh";
176 reg = <0x10002700 0x38>;
177 #phy-cells = <0>;
178 clocks = <&periph_clk BCM6328_CLK_USBH>;
179 clock-names = "usbh";
180 power-domains = <&periph_pwr BCM6328_PWR_USBH>;
181 resets = <&periph_rst BCM6328_RST_USBH>;
182
183 status = "disabled";
184 };
185
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +0200186 memory-controller@10003000 {
187 compatible = "brcm,bcm6328-mc";
Álvaro Fernández Rojas44d85142017-05-11 11:01:27 +0200188 reg = <0x10003000 0x864>;
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +0200189 u-boot,dm-pre-reloc;
190 };
Álvaro Fernández Rojas85132222018-12-01 19:00:20 +0100191
192 iudma: dma-controller@1000d800 {
193 compatible = "brcm,bcm6368-iudma";
194 reg = <0x1000d800 0x80>,
195 <0x1000da00 0x80>,
196 <0x1000dc00 0x80>;
197 reg-names = "dma",
198 "dma-channels",
199 "dma-sram";
200 #dma-cells = <1>;
201 dma-channels = <8>;
202 };
Álvaro Fernández Rojas45934ed2018-12-01 19:00:35 +0100203
204 enet: ethernet@10e00000 {
205 compatible = "brcm,bcm6368-enet";
206 #address-cells = <1>;
207 #size-cells = <0>;
208 reg = <0x10e00000 0x10000>;
209 clocks = <&periph_clk BCM6328_CLK_ROBOSW>;
210 resets = <&periph_rst BCM6328_RST_ENETSW>,
211 <&periph_rst BCM6328_RST_EPHY>;
212 dmas = <&iudma BCM6328_DMA_ENETSW_RX>,
213 <&iudma BCM6328_DMA_ENETSW_TX>;
214 dma-names = "rx",
215 "tx";
216 brcm,num-ports = <5>;
217
218 status = "disabled";
219 };
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +0200220 };
221};