blob: d55096b576c75dc5bea189abd6aa30a88b6a5160 [file] [log] [blame]
Brad Bishop02f3ffd2015-11-01 20:32:42 -05001/dts-v1/;
2
3#include "skeleton.dtsi"
4
5/ {
6 model = "Palmetto BMC";
7 compatible = "tyan,palmetto-bmc", "aspeed,ast2400";
8 #address-cells = <1>;
9 #size-cells = <1>;
10 interrupt-parent = <&vic>;
11
12 aliases {
13 serial0 = &uart5;
14 };
15
16 chosen {
17 stdout-path = &uart5;
18 bootargs = "console=ttyS4,38400";
19 };
20
21 memory {
22 reg = < 0x40000000 0x10000000 >;
23 };
24
25 cpus {
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 cpu@0 {
30 compatible = "arm,arm926ej-s";
31 device_type = "cpu";
32 reg = <0>;
33 };
34 };
35
36 // FIXME
37 clocks {
38 // Do a proper driver... for now, we know the straps
39 // and uboot config on palmetto are:
40 // - CLKIN is 48Mhz
41 // - HPLL is 384Mhz
42 // - CPU:AHB is strapped 2:1
43 // - PCLK is HPLL/8 = 48Mhz
44 clk_apb: clk_apb {
45 #clock-cells = <0>;
46 compatible = "fixed-clock";
47 clock-frequency = <48000000>;
48 };
49 clk_hpll: clk_hpll {
50 #clock-cells = <0>;
51 compatible = "fixed-clock";
52 clock-frequency = <384000000>;
53 };
54 };
55
56 ahb {
57 compatible = "simple-bus";
58 #address-cells = <1>;
59 #size-cells = <1>;
60 ranges;
61
62 vic: interrupt-controller@1e6c0080 {
63 compatible = "aspeed,new-vic";
64 interrupt-controller;
65 #interrupt-cells = <1>;
66 valid-sources = < 0xffffffff 0x0007ffff>;
67 reg = <0x1e6c0080 0x80>;
68 };
69
70 mac0: ethernet@1e660000 {
71 compatible = "faraday,ftgmac100", "aspeed,ast2400-mac";
72 reg = <0x1e660000 0x180>;
73 interrupts = <2>;
74 use-nc-si;
75 no-hw-checksum;
76 };
77
78 apb {
79 compatible = "simple-bus";
80 #address-cells = <1>;
81 #size-cells = <1>;
82 ranges;
83
84 sram@1e72000 {
85 compatible = "mmio-sram";
86 reg = <0x1e72000 0x8000>; // 32K
87 };
88
89 ibt@1e789140 {
90 compatible = "aspeed,bt-host";
91 reg = <0x1e789140 0x18>;
92 };
93
94 i2c: i2c@1e78a040 {
95 compatible = "aspeed,ast2400-i2c-common";
96 reg = <0x1e78a000 0x40>;
97 ranges = <0 0x1e78a000 0x1000>;
98 interrupts = <12>;
99 clocks = <&clk_apb>;
100
101 i2c0: i2c-bus@0x40 {
102 reg = <0x40 0x40>;
103 compatible = "aspeed,ast2400-i2c-bus";
104 bus = <0>;
105 clock-frequency = <100000>;
106 status = "okay";
107 eeprom@50 {
108 compatible = "atmel,24c256";
109 reg = <0x50>;
110 pagesize = <64>;
111 };
112 rtc@68 {
113 compatible = "dallas,ds3231";
114 reg = <0x68>;
115 // interrupts = <GPIOF0>
116 };
117 };
118
119 i2c1: i2c-bus@0x80 {
120 reg = <0x80 0x40>;
121 compatible = "aspeed,ast2400-i2c-bus";
122 bus = <1>;
123 clock-frequency = <100000>;
124 status = "okay";
125 };
126
127 i2c2: i2c-bus@0xC0 {
128 reg = <0xC0 0x40>;
129 compatible = "aspeed,ast2400-i2c-bus";
130 bus = <2>;
131 clock-frequency = <100000>;
132 status = "okay";
133 tmp423@4c {
134 compatible = "ti,tmp423";
135 reg = <0x4c>;
136 };
137 };
138
139 i2c3: i2c-bus@0x100 {
140 reg = <0x100 0x40>;
141 compatible = "aspeed,ast2400-i2c-bus";
142 bus = <3>;
143 clock-frequency = <100000>;
144 status = "okay";
145 };
146
147 i2c4: i2c-bus@0x140 {
148 reg = <0x140 0x40>;
149 compatible = "aspeed,ast2400-i2c-bus";
150 bus = <4>;
151 clock-frequency = <100000>;
152 status = "okay";
153 };
154
155 i2c5: i2c-bus@0x180 {
156 reg = <0x180 0x40>;
157 compatible = "aspeed,ast2400-i2c-bus";
158 bus = <5>;
159 clock-frequency = <100000>;
160 status = "okay";
161 };
162
163 i2c6: i2c-bus@0x1C0 {
164 reg = <0x1C0 0x40>;
165 compatible = "aspeed,ast2400-i2c-bus";
166 bus = <6>;
167 clock-frequency = <100000>;
168 status = "okay";
169 };
170
171 i2c7: i2c-bus@0x300 {
172 reg = <0x300 0x40>;
173 compatible = "aspeed,ast2400-i2c-bus";
174 bus = <7>;
175 clock-frequency = <100000>;
176 status = "okay";
177 };
178
179 i2c8: i2c-bus@0x340 {
180 reg = <0x340 0x40>;
181 compatible = "aspeed,ast2400-i2c-bus";
182 bus = <8>;
183 clock-frequency = <100000>;
184 status = "okay";
185 };
186
187 i2c9: i2c-bus@0x380 {
188 reg = <0x380 0x40>;
189 compatible = "aspeed,ast2400-i2c-bus";
190 bus = <9>;
191 clock-frequency = <100000>;
192 status = "disabled";
193 };
194
195 i2c10: i2c-bus@0x3C0 {
196 reg = <0x380 0x40>;
197 compatible = "aspeed,ast2400-i2c-bus";
198 bus = <10>;
199 clock-frequency = <100000>;
200 status = "disabled";
201 };
202
203 i2c11: i2c-bus@0x400 {
204 reg = <0x400 0x40>;
205 compatible = "aspeed,ast2400-i2c-bus";
206 bus = <11>;
207 clock-frequency = <100000>;
208 status = "disabled";
209 };
210
211 i2c12: i2c-bus@0x440 {
212 reg = <0x400 0x40>;
213 compatible = "aspeed,ast2400-i2c-bus";
214 bus = <12>;
215 clock-frequency = <100000>;
216 status = "disabled";
217 };
218
219 i2c13: i2c-bus@0x480 {
220 reg = <0x480 0x40>;
221 compatible = "aspeed,ast2400-i2c-bus";
222 bus = <13>;
223 clock-frequency = <100000>;
224 status = "disabled";
225 };
226
227 };
228
229 syscon: syscon@1e6e2000 {
230 compatible = "aspeed,syscon", "syscon";
231 reg = <0x1e6e2000 0x1a8>;
232 interrupts = <19>;
233 clocks = <&clk_apb>;
234 status = "okay";
235 };
236
237 wdt: wdt@1e785000 {
238 compatible = "aspeed,wdt", "wdt";
239 reg = <0x1e785000 0x1c4>;
240 interrupts = <27>;
241 clocks = <&clk_apb>;
242 };
243
244 rtc: rtc@1e781000 {
245 compatible = "aspeed,rtc";
246 reg = <0x1e781000 0x18>;
247 };
248
249 timer: timer@98400000 {
250 compatible = "aspeed,timer";
251 reg = <0x1e782000 0x90>;
252 // The moxart_timer driver registers only one interrupt
253 // and assumes it's for timer 1
254 //interrupts = <16 17 18 35 36 37 38 39>;
255 interrupts = <16>;
256 clocks = <&clk_apb>;
257 };
258
259 gpio: gpio@1e780000 {
260 compatible = "aspeed,ast2400-gpio";
261 reg = <0x1e780000 0x1000>;
262 interrupts = <20>;
263 };
264
265 uart1: serial@1e783000 {
266 compatible = "ns16550a";
267 reg = <0x1e783000 0x1000>;
268 reg-shift = <2>;
269 interrupts = <9>;
270 clock-frequency = < 1843200 >;
271 no-loopback-test;
272 };
273 uart2: serial@1e78d000 {
274 compatible = "ns16550a";
275 reg = <0x1e78d000 0x1000>;
276 reg-shift = <2>;
277 interrupts = <32>;
278 clock-frequency = < 1843200 >;
279 no-loopback-test;
280 };
281 /* APSS UART */
282 uart3: serial@1e78e000 {
283 compatible = "ns16550a";
284 reg = <0x1e78e000 0x1000>;
285 reg-shift = <2>;
286 interrupts = <33>;
287 clock-frequency = < 1843200 >;
288 no-loopback-test;
289 };
290
291 /* Host UART */
292 uart4: serial@1e78f000 {
293 compatible = "ns16550a";
294 reg = <0x1e78f000 0x1000>;
295 reg-shift = <2>;
296 interrupts = <34>;
297 clock-frequency = < 1843200 >;
298 current-speed = < 115200 >;
299 no-loopback-test;
300 };
301#if 1
302 /* BMC UART */
303 uart5: serial@1e784000 {
304 compatible = "ns16550a";
305 reg = <0x1e784000 0x1000>;
306 reg-shift = <2>;
307 interrupts = <10>;
308 clock-frequency = < 1843200 >;
309 current-speed = < 38400 >;
310 no-loopback-test;
311 };
312#endif
313
314 uart6: serial@1e787000 {
315 compatible = "ns16550a";
316 reg = <0x1e787000 0x1000>;
317 reg-shift = <2>;
318 interrupts = <10>;
319 clock-frequency = < 1843200 >;
320 current-speed = < 38400 >;
321 no-loopback-test;
322 };
323 };
324 };
325};