blob: fc15e200877d791056565a0c69d0db8c41e71a22 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2
3#include "dt-bindings/clock/bcm6368-clock.h"
4#include "dt-bindings/reset/bcm6368-reset.h"
5
6/ {
7 #address-cells = <1>;
8 #size-cells = <1>;
9 compatible = "brcm,bcm6368";
10
11 cpus {
12 #address-cells = <1>;
13 #size-cells = <0>;
14
15 mips-hpt-frequency = <200000000>;
16
17 cpu@0 {
18 compatible = "brcm,bmips4350";
19 device_type = "cpu";
20 reg = <0>;
21 };
22
23 cpu@1 {
24 compatible = "brcm,bmips4350";
25 device_type = "cpu";
26 reg = <1>;
27 };
28 };
29
30 clocks {
31 periph_osc: periph-osc {
32 compatible = "fixed-clock";
33 #clock-cells = <0>;
34 clock-frequency = <50000000>;
35 clock-output-names = "periph";
36 };
37 };
38
39 aliases {
40 nflash = &nflash;
41 pflash = &pflash;
42 serial0 = &uart0;
43 serial1 = &uart1;
44 spi0 = &lsspi;
45 };
46
47 cpu_intc: interrupt-controller {
48 #address-cells = <0>;
49 compatible = "mti,cpu-interrupt-controller";
50
51 interrupt-controller;
52 #interrupt-cells = <1>;
53 };
54
55 ubus {
56 #address-cells = <1>;
57 #size-cells = <1>;
58
59 compatible = "simple-bus";
60 ranges;
61
62 periph_clk: clock-controller@10000004 {
63 compatible = "brcm,bcm6368-clocks";
64 reg = <0x10000004 0x4>;
65 #clock-cells = <1>;
66 };
67
68 pll_cntl: syscon@100000008 {
69 compatible = "syscon";
70 reg = <0x10000008 0x4>;
71 native-endian;
72
73 reboot {
74 compatible = "syscon-reboot";
75 offset = <0x0>;
76 mask = <0x1>;
77 };
78 };
79
80 periph_rst: reset-controller@10000010 {
81 compatible = "brcm,bcm6345-reset";
82 reg = <0x10000010 0x4>;
83 #reset-cells = <1>;
84 };
85
86 periph_intc: interrupt-controller@10000020 {
87 compatible = "brcm,bcm6345-l1-intc";
88 reg = <0x10000020 0x10>,
89 <0x10000030 0x10>;
90
91 interrupt-controller;
92 #interrupt-cells = <1>;
93
94 interrupt-parent = <&cpu_intc>;
95 interrupts = <2>, <3>;
96 };
97
98 wdt: watchdog@1000005c {
99 compatible = "brcm,bcm7038-wdt";
100 reg = <0x1000005c 0xc>;
101
102 clocks = <&periph_osc>;
103 clock-names = "refclk";
104
105 timeout-sec = <30>;
106 };
107
108 leds0: led-controller@100000d0 {
109 #address-cells = <1>;
110 #size-cells = <0>;
111 compatible = "brcm,bcm6358-leds";
112 reg = <0x100000d0 0x8>;
113
114 status = "disabled";
115 };
116
117 uart0: serial@10000100 {
118 compatible = "brcm,bcm6345-uart";
119 reg = <0x10000100 0x18>;
120
121 interrupt-parent = <&periph_intc>;
122 interrupts = <2>;
123
124 clocks = <&periph_osc>;
125 clock-names = "refclk";
126
127 status = "disabled";
128 };
129
130 uart1: serial@10000120 {
131 compatible = "brcm,bcm6345-uart";
132 reg = <0x10000120 0x18>;
133
134 interrupt-parent = <&periph_intc>;
135 interrupts = <3>;
136
137 clocks = <&periph_osc>;
138 clock-names = "refclk";
139
140 status = "disabled";
141 };
142
143 nflash: nand@10000200 {
144 #address-cells = <1>;
145 #size-cells = <0>;
146 compatible = "brcm,nand-bcm6368",
147 "brcm,brcmnand-v2.1",
148 "brcm,brcmnand";
149 reg = <0x10000200 0x180>,
150 <0x10000600 0x200>,
151 <0x10000070 0x10>;
152 reg-names = "nand",
153 "nand-cache",
154 "nand-int-base";
155
156 interrupt-parent = <&periph_intc>;
157 interrupts = <10>;
158
159 clocks = <&periph_clk BCM6368_CLK_NAND>;
160 clock-names = "nand";
161
162 status = "disabled";
163 };
164
165 lsspi: spi@10000800 {
166 #address-cells = <1>;
167 #size-cells = <0>;
168 compatible = "brcm,bcm6358-spi";
169 reg = <0x10000800 0x70c>;
170
171 interrupt-parent = <&periph_intc>;
172 interrupts = <1>;
173
174 clocks = <&periph_clk BCM6368_CLK_SPI>;
175 clock-names = "spi";
176
177 resets = <&periph_rst BCM6368_RST_SPI>;
178 reset-names = "spi";
179
180 status = "disabled";
181 };
182
183 ehci: usb@10001500 {
184 compatible = "brcm,bcm6368-ehci", "generic-ehci";
185 reg = <0x10001500 0x100>;
186 big-endian;
187
188 interrupt-parent = <&periph_intc>;
189 interrupts = <7>;
190
191 phys = <&usbh 0>;
192 phy-names = "usb";
193
194 status = "disabled";
195 };
196
197 ohci: usb@10001600 {
198 compatible = "brcm,bcm6368-ohci", "generic-ohci";
199 reg = <0x10001600 0x100>;
200 big-endian;
201 no-big-frame-no;
202
203 interrupt-parent = <&periph_intc>;
204 interrupts = <5>;
205
206 phys = <&usbh 0>;
207 phy-names = "usb";
208
209 status = "disabled";
210 };
211
212 usbh: usb-phy@10001700 {
213 compatible = "brcm,bcm6368-usbh-phy";
214 reg = <0x10001700 0x38>;
215 #phy-cells = <1>;
216
217 clocks = <&periph_clk BCM6368_CLK_USBH>;
218 clock-names = "usbh";
219
220 resets = <&periph_rst BCM6368_RST_USBH>;
221 reset-names = "usbh";
222
223 status = "disabled";
224 };
225
226 random: rng@10004180 {
227 compatible = "brcm,bcm6368-rng";
228 reg = <0x10004180 0x14>;
229
230 clocks = <&periph_clk BCM6368_CLK_IPSEC>;
231 clock-names = "ipsec";
232
233 resets = <&periph_rst BCM6368_RST_IPSEC>;
234 reset-names = "ipsec";
235 };
236 };
237
238 pflash: nor@18000000 {
239 #address-cells = <1>;
240 #size-cells = <1>;
241 compatible = "cfi-flash";
242 reg = <0x18000000 0x2000000>;
243 bank-width = <2>;
244
245 status = "disabled";
246 };
247};