blob: 7b9c09c68a65bdae869fc245ff3b5cf941563e42 [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>;
Simon Glass8c103c32023-02-13 08:56:33 -070024 bootph-all;
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020025
26 cpu@0 {
27 compatible = "brcm,bcm6328-cpu", "mips,mips4Kc";
28 device_type = "cpu";
29 reg = <0>;
Simon Glass8c103c32023-02-13 08:56:33 -070030 bootph-all;
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020031 };
32
33 cpu@1 {
34 compatible = "brcm,bcm6328-cpu", "mips,mips4Kc";
35 device_type = "cpu";
36 reg = <1>;
Simon Glass8c103c32023-02-13 08:56:33 -070037 bootph-all;
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020038 };
39 };
40
41 clocks {
42 compatible = "simple-bus";
43 #address-cells = <1>;
44 #size-cells = <1>;
Simon Glass8c103c32023-02-13 08:56:33 -070045 bootph-all;
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020046
Á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>;
Simon Glass8c103c32023-02-13 08:56:33 -070057 bootph-all;
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020058 };
Á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>;
Simon Glass8c103c32023-02-13 08:56:33 -070071 bootph-all;
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +020072
Á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 Rojas12dfa452019-08-28 19:12:17 +0200127 nand: nand-controller@10000200 {
128 #address-cells = <1>;
129 #size-cells = <0>;
130 compatible = "brcm,nand-bcm6368",
131 "brcm,brcmnand-v2.2",
132 "brcm,brcmnand";
133 reg-names = "nand",
134 "nand-cache",
135 "nand-int-base";
136 reg = <0x10000200 0x180>,
137 <0x10000400 0x200>,
138 <0x100000b0 0x10>;
139
140 status = "disabled";
141 };
142
Álvaro Fernández Rojase0f1fd22017-05-07 20:10:25 +0200143 leds: led-controller@10000800 {
144 compatible = "brcm,bcm6328-leds";
145 reg = <0x10000800 0x24>;
146 #address-cells = <1>;
147 #size-cells = <0>;
148
149 status = "disabled";
150 };
151
Álvaro Fernández Rojas80be0572018-01-20 02:13:39 +0100152 spi: spi@10001000 {
153 compatible = "brcm,bcm6328-hsspi";
154 #address-cells = <1>;
155 #size-cells = <0>;
156 reg = <0x10001000 0x600>;
157 clocks = <&periph_clk BCM6328_CLK_HSSPI>, <&hsspi_pll>;
158 clock-names = "hsspi", "pll";
159 resets = <&periph_rst BCM6328_RST_SPI>;
160 spi-max-frequency = <33333334>;
161 num-cs = <3>;
162
163 status = "disabled";
164 };
165
Álvaro Fernández Rojas9a5cb222017-05-07 20:28:37 +0200166 periph_pwr: power-controller@10001848 {
167 compatible = "brcm,bcm6328-power-domain";
168 reg = <0x10001848 0x4>;
169 #power-domain-cells = <1>;
170 };
171
Álvaro Fernández Rojasf94e3602018-02-04 21:10:16 +0100172 ehci: usb-controller@10002500 {
173 compatible = "brcm,bcm6328-ehci", "generic-ehci";
174 reg = <0x10002500 0x100>;
175 phys = <&usbh>;
176 big-endian;
177
178 status = "disabled";
179 };
180
181 ohci: usb-controller@10002600 {
182 compatible = "brcm,bcm6328-ohci", "generic-ohci";
183 reg = <0x10002600 0x100>;
184 phys = <&usbh>;
185 big-endian;
186
187 status = "disabled";
188 };
189
190 usbh: usb-phy@10002700 {
191 compatible = "brcm,bcm6328-usbh";
192 reg = <0x10002700 0x38>;
193 #phy-cells = <0>;
194 clocks = <&periph_clk BCM6328_CLK_USBH>;
195 clock-names = "usbh";
196 power-domains = <&periph_pwr BCM6328_PWR_USBH>;
197 resets = <&periph_rst BCM6328_RST_USBH>;
198
199 status = "disabled";
200 };
201
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +0200202 memory-controller@10003000 {
203 compatible = "brcm,bcm6328-mc";
Álvaro Fernández Rojas44d85142017-05-11 11:01:27 +0200204 reg = <0x10003000 0x864>;
Simon Glass8c103c32023-02-13 08:56:33 -0700205 bootph-all;
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +0200206 };
Álvaro Fernández Rojas85132222018-12-01 19:00:20 +0100207
208 iudma: dma-controller@1000d800 {
209 compatible = "brcm,bcm6368-iudma";
210 reg = <0x1000d800 0x80>,
211 <0x1000da00 0x80>,
212 <0x1000dc00 0x80>;
213 reg-names = "dma",
214 "dma-channels",
215 "dma-sram";
216 #dma-cells = <1>;
217 dma-channels = <8>;
218 };
Álvaro Fernández Rojas45934ed2018-12-01 19:00:35 +0100219
220 enet: ethernet@10e00000 {
221 compatible = "brcm,bcm6368-enet";
222 #address-cells = <1>;
223 #size-cells = <0>;
224 reg = <0x10e00000 0x10000>;
225 clocks = <&periph_clk BCM6328_CLK_ROBOSW>;
226 resets = <&periph_rst BCM6328_RST_ENETSW>,
227 <&periph_rst BCM6328_RST_EPHY>;
228 dmas = <&iudma BCM6328_DMA_ENETSW_RX>,
229 <&iudma BCM6328_DMA_ENETSW_TX>;
230 dma-names = "rx",
231 "tx";
232 brcm,num-ports = <5>;
233
234 status = "disabled";
235 };
Álvaro Fernández Rojas6471a222017-04-25 00:39:23 +0200236 };
237};