blob: 7455c99a73936c661b681ba916acea0c4870c7c9 [file] [log] [blame]
Simon Glassdc8c91a2019-05-18 11:59:41 -06001/*
2 * This is the common sandbox device-tree nodes. This is shared between sandbox
3 * and sandbox64 builds.
4 */
5
6#define USB_CLASS_HUB 9
7
8/ {
9 chosen {
10 stdout-path = "/serial";
11 };
12
13 audio: audio-codec {
14 compatible = "sandbox,audio-codec";
15 #sound-dai-cells = <1>;
16 };
17
Philippe Reynesbd3e4882020-07-24 18:19:48 +020018 buttons {
19 compatible = "gpio-keys";
20
Heinrich Schuchardt39916bb2020-09-14 12:50:54 +020021 btn1 {
Philippe Reynesbd3e4882020-07-24 18:19:48 +020022 gpios = <&gpio_a 3 0>;
Heinrich Schuchardt39916bb2020-09-14 12:50:54 +020023 label = "button1";
Philippe Reynesbd3e4882020-07-24 18:19:48 +020024 };
25
Heinrich Schuchardt39916bb2020-09-14 12:50:54 +020026 btn2 {
Philippe Reynesbd3e4882020-07-24 18:19:48 +020027 gpios = <&gpio_a 4 0>;
Heinrich Schuchardt39916bb2020-09-14 12:50:54 +020028 label = "button2";
Philippe Reynesbd3e4882020-07-24 18:19:48 +020029 };
30 };
31
Simon Glass88280522020-10-03 11:31:32 -060032 clk_fixed: clk-fixed {
33 u-boot,dm-pre-reloc;
34 compatible = "fixed-clock";
35 #clock-cells = <0>;
36 clock-frequency = <1234>;
37 };
38
39 clk_sandbox: clk-sbox {
40 u-boot,dm-pre-reloc;
41 compatible = "sandbox,clk";
42 #clock-cells = <1>;
43 assigned-clocks = <&clk_sandbox 3>;
44 assigned-clock-rates = <321>;
45 };
46
47 clk-test {
48 u-boot,dm-pre-reloc;
49 compatible = "sandbox,clk-test";
50 clocks = <&clk_fixed>,
51 <&clk_sandbox 1>,
52 <&clk_sandbox 0>,
53 <&clk_sandbox 3>,
54 <&clk_sandbox 2>;
55 clock-names = "fixed", "i2c", "spi", "uart2", "uart1";
56 };
57
Simon Glassdc8c91a2019-05-18 11:59:41 -060058 gpio_a: gpios@0 {
Simon Glass370746a2020-12-19 10:39:56 -070059 u-boot,dm-pre-proper;
Simon Glassdc8c91a2019-05-18 11:59:41 -060060 gpio-controller;
61 compatible = "sandbox,gpio";
62 #gpio-cells = <1>;
63 gpio-bank-name = "a";
64 sandbox,gpio-count = <20>;
65 };
66
67 gpio_b: gpios@1 {
Simon Glass370746a2020-12-19 10:39:56 -070068 u-boot,dm-pre-proper;
Simon Glassdc8c91a2019-05-18 11:59:41 -060069 gpio-controller;
70 compatible = "sandbox,gpio";
71 #gpio-cells = <2>;
72 gpio-bank-name = "b";
73 sandbox,gpio-count = <10>;
74 };
75
76 hexagon {
77 compatible = "demo-simple";
78 colour = "white";
79 sides = <6>;
80 };
81
82 i2c_0: i2c@0 {
83 eeprom@2c {
84 reg = <0x2c>;
85 compatible = "i2c-eeprom";
86 sandbox,emul = <&emul_eeprom>;
87 };
88
89 rtc_0: rtc@43 {
90 reg = <0x43>;
91 compatible = "sandbox-rtc";
92 sandbox,emul = <&emul0>;
Simon Glassfbe27a52020-10-03 11:31:36 -060093 u-boot,dm-pre-reloc;
Simon Glassdc8c91a2019-05-18 11:59:41 -060094 };
95 sandbox_pmic: sandbox_pmic {
96 reg = <0x40>;
97 };
98
99 mc34708: pmic@41 {
100 reg = <0x41>;
101 };
102
103 i2c_emul: emul {
Simon Glass23f40a32021-02-03 06:01:16 -0700104 u-boot,dm-pre-reloc;
Simon Glassdc8c91a2019-05-18 11:59:41 -0600105 reg = <0xff>;
106 compatible = "sandbox,i2c-emul-parent";
107 emul_eeprom: emul-eeprom {
108 compatible = "sandbox,i2c-eeprom";
109 sandbox,filename = "i2c.bin";
110 sandbox,size = <256>;
Simon Glass23f40a32021-02-03 06:01:16 -0700111 #emul-cells = <0>;
Simon Glassdc8c91a2019-05-18 11:59:41 -0600112 };
113 emul0: emul0 {
Simon Glass23f40a32021-02-03 06:01:16 -0700114 u-boot,dm-pre-reloc;
115 compatible = "sandbox,i2c-rtc-emul";
116 #emul-cells = <0>;
Simon Glassdc8c91a2019-05-18 11:59:41 -0600117 };
118 };
119 };
120
121 i2s: i2s {
122 compatible = "sandbox,i2s";
123 #sound-dai-cells = <1>;
124 };
125
126 lcd {
Simon Glass370746a2020-12-19 10:39:56 -0700127 u-boot,dm-pre-proper;
Simon Glassdc8c91a2019-05-18 11:59:41 -0600128 compatible = "sandbox,lcd-sdl";
129 xres = <1366>;
130 yres = <768>;
Simon Glassa466db52020-02-03 07:36:14 -0700131 log2-depth = <5>;
Simon Glassdc8c91a2019-05-18 11:59:41 -0600132 };
133
134 leds {
135 compatible = "gpio-leds";
136
137 iracibble {
138 gpios = <&gpio_a 1 0>;
139 label = "sandbox:red";
140 };
141
142 martinet {
143 gpios = <&gpio_a 2 0>;
144 label = "sandbox:green";
145 };
146 };
147
Tom Rini42c64d12020-02-11 12:41:23 -0500148 pci@0 {
Simon Glass3b65ee32019-12-06 21:41:54 -0700149 pci@1e,0 {
150 compatible = "sandbox,pmc";
151 reg = <0xf000 0 0 0 0>;
152 sandbox,emul = <&pmc_emul>;
153 gpe0-dwx-mask = <0xf>;
154 gpe0-dwx-shift-base = <4>;
155 gpe0-dw = <6 7 9>;
156 gpe0-sts = <0x20>;
157 gpe0-en = <0x30>;
158 };
159
Simon Glassdc8c91a2019-05-18 11:59:41 -0600160 pci@1f,0 {
161 compatible = "pci-generic";
162 reg = <0xf800 0 0 0 0>;
Simon Glass9b69ba42019-09-25 08:56:10 -0600163 sandbox,emul = <&swap_case_emul>;
164 };
165 };
166
167 emul {
168 compatible = "sandbox,pci-emul-parent";
Simon Glass3b65ee32019-12-06 21:41:54 -0700169 pmc_emul: emul@1e,0 {
170 compatible = "sandbox,pmc-emul";
171 };
Simon Glass9b69ba42019-09-25 08:56:10 -0600172 swap_case_emul: emul@1f,0 {
173 compatible = "sandbox,swap-case";
Simon Glassdc8c91a2019-05-18 11:59:41 -0600174 };
175 };
176
177 pinctrl {
178 compatible = "sandbox,pinctrl";
179 status = "okay";
180
181 pinctrl_i2c0: i2c0 {
182 groups = "i2c";
183 function = "i2c";
184 bias-pull-up;
185 };
186
187 pinctrl_serial0: uart0 {
188 groups = "serial_a";
189 function = "serial";
190 };
191
192 pinctrl_onewire0: onewire0 {
193 groups = "w1";
194 function = "w1";
195 bias-pull-up;
196 };
197 };
198
199 reset@1 {
200 compatible = "sandbox,reset";
201 };
202
203 sound {
204 compatible = "sandbox,sound";
205 cpu {
206 sound-dai = <&i2s 0>;
207 };
208
209 codec {
210 sound-dai = <&audio 0>;
211 };
212 };
213
214 spi@0 {
215 firmware_storage_spi: flash@0 {
Simon Glass370746a2020-12-19 10:39:56 -0700216 u-boot,dm-pre-proper;
Simon Glassdc8c91a2019-05-18 11:59:41 -0600217 reg = <0>;
Simon Glass24c27762019-05-18 11:59:49 -0600218 compatible = "spansion,m25p16", "jedec,spi-nor";
Simon Glassdc8c91a2019-05-18 11:59:41 -0600219 spi-max-frequency = <40000000>;
220 sandbox,filename = "spi.bin";
221 };
222 };
223
224 spl-test {
225 u-boot,dm-pre-reloc;
226 compatible = "sandbox,spl-test";
227 boolval;
228 intval = <1>;
229 intarray = <2 3 4>;
230 byteval = [05];
231 bytearray = [06];
232 longbytearray = [09 0a 0b 0c 0d 0e 0f 10 11];
233 stringval = "message";
234 stringarray = "multi-word", "message";
235 };
236
237 spl-test2 {
238 u-boot,dm-pre-reloc;
239 compatible = "sandbox,spl-test";
240 intval = <3>;
241 intarray = <5>;
242 byteval = [08];
243 bytearray = [01 23 34];
244 longbytearray = [09 0a 0b 0c];
245 stringval = "message2";
246 stringarray = "another", "multi-word", "message";
247 };
248
249 spl-test3 {
250 u-boot,dm-pre-reloc;
251 compatible = "sandbox,spl-test";
252 stringarray = "one";
253 };
254
Patrick Delaunay099ed452019-05-21 19:19:11 +0200255 spl-test5 {
256 u-boot,dm-tpl;
257 compatible = "sandbox,spl-test";
258 stringarray = "tpl";
259 };
260
261 spl-test6 {
262 u-boot,dm-pre-proper;
263 compatible = "sandbox,spl-test";
264 stringarray = "pre-proper";
265 };
266
Simon Glassd85f2c42021-01-21 13:57:09 -0700267 test-bus {
268 compatible = "simple-bus";
Patrick Delaunay099ed452019-05-21 19:19:11 +0200269 u-boot,dm-spl;
Simon Glassd85f2c42021-01-21 13:57:09 -0700270 spl-test7 {
271 u-boot,dm-spl;
272 compatible = "sandbox,spl-test";
273 stringarray = "spl";
274 };
Patrick Delaunay099ed452019-05-21 19:19:11 +0200275 };
276
Simon Glassdc8c91a2019-05-18 11:59:41 -0600277 square {
278 compatible = "demo-shape";
279 colour = "blue";
280 sides = <4>;
281 };
282
283 timer {
284 compatible = "sandbox,timer";
285 clock-frequency = <1000000>;
286 };
287
288 tpm {
Simon Glassdc8c91a2019-05-18 11:59:41 -0600289 compatible = "google,sandbox-tpm";
290 };
291
292 tpm2 {
293 compatible = "sandbox,tpm2";
294 };
295
296 triangle {
297 compatible = "demo-shape";
298 colour = "cyan";
299 sides = <3>;
300 character = <83>;
301 light-gpios = <&gpio_a 2>, <&gpio_b 6 0>;
302 };
303
304 /* Needs to be available prior to relocation */
305 uart0: serial {
306 u-boot,dm-spl;
307 compatible = "sandbox,serial";
308 sandbox,text-colour = "cyan";
309 pinctrl-names = "default";
310 pinctrl-0 = <&pinctrl_serial0>;
311 };
312
313 usb@0 {
314 compatible = "sandbox,usb";
315 status = "disabled";
316 hub {
317 compatible = "sandbox,usb-hub";
318 #address-cells = <1>;
319 #size-cells = <0>;
320 flash-stick {
321 reg = <0>;
322 compatible = "sandbox,usb-flash";
323 };
324 };
325 };
326
327 usb@1 {
328 compatible = "sandbox,usb";
329 hub {
330 compatible = "usb-hub";
331 usb,device-class = <USB_CLASS_HUB>;
332 hub-emul {
333 compatible = "sandbox,usb-hub";
334 #address-cells = <1>;
335 #size-cells = <0>;
336 flash-stick {
337 reg = <0>;
338 compatible = "sandbox,usb-flash";
339 sandbox,filepath = "flash.bin";
340 };
341 };
342 };
343 };
344
345 usb@2 {
346 compatible = "sandbox,usb";
347 status = "disabled";
348 };
349
350 spmi: spmi@0 {
351 compatible = "sandbox,spmi";
352 #address-cells = <0x1>;
353 #size-cells = <0x1>;
354 pm8916@0 {
355 compatible = "qcom,spmi-pmic";
356 reg = <0x0 0x1>;
357 #address-cells = <0x1>;
358 #size-cells = <0x1>;
359
360 spmi_gpios: gpios@c000 {
361 compatible = "qcom,pm8916-gpio";
362 reg = <0xc000 0x400>;
363 gpio-controller;
364 gpio-count = <4>;
365 #gpio-cells = <2>;
366 gpio-bank-name="spmi";
367 };
368 };
369 };
370
371 axi: axi@0 {
372 compatible = "sandbox,axi";
373 #address-cells = <0x1>;
374 #size-cells = <0x1>;
375 store@0 {
376 compatible = "sandbox,sandbox_store";
377 reg = <0x0 0x400>;
378 };
379 };
380
381 onewire0: onewire {
382 compatible = "w1-gpio";
383 gpios = <&gpio_a 8>;
384 pinctrl-names = "default";
385 pinctrl-0 = <&pinctrl_onewire0>;
386 status = "okay";
387
388 sandbox_eeprom0: sandbox_eeprom@0 {
389 compatible = "sandbox,w1-eeprom";
390 status = "okay";
391 };
392 };
393
394 sandbox_tee {
395 compatible = "sandbox,tee";
396 };
397};
398
399&cros_ec {
400 /*
401 * This describes the flash memory within the EC. Note
402 * that the STM32L flash erases to 0, not 0xff.
403 */
404 flash {
405 image-pos = <0x08000000>;
406 size = <0x20000>;
407 erase-value = <0>;
408
409 /* Information for sandbox */
410 ro {
411 image-pos = <0>;
412 size = <0xf000>;
413 };
414 wp-ro {
415 image-pos = <0xf000>;
416 size = <0x1000>;
417 };
418 rw {
419 image-pos = <0x10000>;
420 size = <0x10000>;
421 };
422 };
423
424 keyboard-controller {
Simon Glass370746a2020-12-19 10:39:56 -0700425 u-boot,dm-pre-proper;
Simon Glassdc8c91a2019-05-18 11:59:41 -0600426 };
427};