Loading...
1// 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};
1// SPDX-License-Identifier: GPL-2.0
2/ {
3 #address-cells = <1>;
4 #size-cells = <1>;
5 compatible = "brcm,bcm6368";
6
7 cpus {
8 #address-cells = <1>;
9 #size-cells = <0>;
10
11 mips-hpt-frequency = <200000000>;
12
13 cpu@0 {
14 compatible = "brcm,bmips4350";
15 device_type = "cpu";
16 reg = <0>;
17 };
18
19 cpu@1 {
20 compatible = "brcm,bmips4350";
21 device_type = "cpu";
22 reg = <1>;
23 };
24 };
25
26 clocks {
27 periph_clk: periph-clk {
28 compatible = "fixed-clock";
29 #clock-cells = <0>;
30 clock-frequency = <50000000>;
31 };
32 };
33
34 aliases {
35 serial0 = &uart0;
36 serial1 = &uart1;
37 };
38
39 cpu_intc: interrupt-controller {
40 #address-cells = <0>;
41 compatible = "mti,cpu-interrupt-controller";
42
43 interrupt-controller;
44 #interrupt-cells = <1>;
45 };
46
47 ubus {
48 #address-cells = <1>;
49 #size-cells = <1>;
50
51 compatible = "simple-bus";
52 ranges;
53
54 clkctl: clock-controller@10000004 {
55 compatible = "brcm,bcm6368-clocks";
56 reg = <0x10000004 0x4>;
57 #clock-cells = <1>;
58 };
59
60 periph_cntl: syscon@100000008 {
61 compatible = "syscon";
62 reg = <0x10000000 0xc>;
63 native-endian;
64 };
65
66 reboot: syscon-reboot@10000008 {
67 compatible = "syscon-reboot";
68 regmap = <&periph_cntl>;
69 offset = <0x0>;
70 mask = <0x1>;
71 };
72
73 periph_intc: interrupt-controller@10000020 {
74 compatible = "brcm,bcm6345-l1-intc";
75 reg = <0x10000020 0x10>,
76 <0x10000030 0x10>;
77
78 interrupt-controller;
79 #interrupt-cells = <1>;
80
81 interrupt-parent = <&cpu_intc>;
82 interrupts = <2>, <3>;
83 };
84
85 leds0: led-controller@100000d0 {
86 #address-cells = <1>;
87 #size-cells = <0>;
88 compatible = "brcm,bcm6358-leds";
89 reg = <0x100000d0 0x8>;
90 status = "disabled";
91 };
92
93 uart0: serial@10000100 {
94 compatible = "brcm,bcm6345-uart";
95 reg = <0x10000100 0x18>;
96 interrupt-parent = <&periph_intc>;
97 interrupts = <2>;
98 clocks = <&periph_clk>;
99 clock-names = "refclk";
100 status = "disabled";
101 };
102
103 uart1: serial@10000120 {
104 compatible = "brcm,bcm6345-uart";
105 reg = <0x10000120 0x18>;
106 interrupt-parent = <&periph_intc>;
107 interrupts = <3>;
108 clocks = <&periph_clk>;
109 clock-names = "refclk";
110 status = "disabled";
111 };
112
113 ehci: usb@10001500 {
114 compatible = "brcm,bcm6368-ehci", "generic-ehci";
115 reg = <0x10001500 0x100>;
116 big-endian;
117 interrupt-parent = <&periph_intc>;
118 interrupts = <7>;
119 status = "disabled";
120 };
121
122 ohci: usb@10001600 {
123 compatible = "brcm,bcm6368-ohci", "generic-ohci";
124 reg = <0x10001600 0x100>;
125 big-endian;
126 no-big-frame-no;
127 interrupt-parent = <&periph_intc>;
128 interrupts = <5>;
129 status = "disabled";
130 };
131 };
132};