blob: 4fe72664c4b31555b63a7bced51d0da6d8ad669c [file] [log] [blame]
Simon Glass7dcc2f72021-08-18 21:40:25 -06001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Devicetree file for running sandbox tests
4 *
5 * This includes lots of extra devices used by various tests.
6 *
7 * Note that SPL use the main sandbox.dts file
8 */
9
Simon Glass2e7d35d2014-02-26 15:59:21 -070010/dts-v1/;
11
Eddie James5999ea22023-10-24 10:43:51 -050012#include <config.h>
Patrick Delaunay2c0f7822020-01-13 11:35:13 +010013#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/gpio/sandbox-gpio.h>
Marek Szyprowski289d0ea2021-02-18 11:33:18 +010015#include <dt-bindings/input/input.h>
Sean Anderson7f0f1802020-09-14 11:01:57 -040016#include <dt-bindings/pinctrl/sandbox-pinmux.h>
Jean-Jacques Hiblot739592c2020-10-16 16:16:34 +053017#include <dt-bindings/mux/mux.h>
Patrick Delaunay2c0f7822020-01-13 11:35:13 +010018
Simon Glass2e7d35d2014-02-26 15:59:21 -070019/ {
20 model = "sandbox";
21 compatible = "sandbox";
22 #address-cells = <1>;
Simon Glass0503e822015-07-06 12:54:36 -060023 #size-cells = <1>;
Simon Glass2e7d35d2014-02-26 15:59:21 -070024
Simon Glass00606d72014-07-23 06:55:03 -060025 aliases {
26 console = &uart0;
Michael Walle82a3c9e2021-02-25 16:51:11 +010027 ethernet0 = "/eth@10002000";
28 ethernet2 = &swp_0;
29 ethernet3 = &eth_3;
30 ethernet4 = &dsa_eth0;
31 ethernet5 = &eth_5;
Sean Andersonbedb1822022-05-05 13:11:30 -040032 ethernet6 = "/eth@10004000";
33 ethernet7 = &swp_1;
34 ethernet8 = &phy_eth0;
Simon Glass5d9a88f2018-10-01 12:22:40 -060035 gpio1 = &gpio_a;
36 gpio2 = &gpio_b;
Patrick Delaunayff526652020-01-13 11:35:14 +010037 gpio3 = &gpio_c;
Simon Glass9cc36a22015-01-25 08:27:05 -070038 i2c0 = "/i2c@0";
Simon Glasse48eeb92017-04-23 20:02:07 -060039 mmc0 = "/mmc0";
40 mmc1 = "/mmc1";
Simon Glass77bec9e2022-10-20 18:23:20 -060041 mmc2 = "/mmc2";
42 mmc3 = "/mmc3";
Simon Glassd08db022023-08-24 13:55:41 -060043 mmc4 = "/mmc4";
44 mmc5 = "/mmc5";
Alexander Gendin04291ee2023-10-09 01:24:36 +000045 mmc6 = "/mmc6";
Bin Mengdee4d752018-08-03 01:14:41 -070046 pci0 = &pci0;
47 pci1 = &pci1;
Bin Meng3ed214a2018-08-03 01:14:50 -070048 pci2 = &pci2;
Michael Wallebe1a6e92020-06-02 01:47:09 +020049 remoteproc0 = &rproc_1;
50 remoteproc1 = &rproc_2;
Simon Glass52d3bc52015-05-22 15:42:17 -060051 rtc0 = &rtc_0;
52 rtc1 = &rtc_1;
Simon Glass171e9912015-05-22 15:42:15 -060053 spi0 = "/spi@0";
Przemyslaw Marczakf64000c2015-05-13 13:38:34 +020054 testfdt6 = "/e-test";
Simon Glass9cc36a22015-01-25 08:27:05 -070055 testbus3 = "/some-bus";
56 testfdt0 = "/some-bus/c-test@0";
Simon Glass981426e2020-12-16 21:20:26 -070057 testfdt12 = "/some-bus/c-test@1";
Simon Glass9cc36a22015-01-25 08:27:05 -070058 testfdt3 = "/b-test";
59 testfdt5 = "/some-bus/c-test@5";
60 testfdt8 = "/a-test";
Simon Glass93f44e82020-12-16 21:20:27 -070061 testfdtm1 = &testfdtm1;
Eugeniu Rosca507cef32018-05-19 14:13:55 +020062 fdt-dummy0 = "/translation-test@8000/dev@0,0";
63 fdt-dummy1 = "/translation-test@8000/dev@1,100";
64 fdt-dummy2 = "/translation-test@8000/dev@2,200";
65 fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42";
Simon Glasse00cb222015-03-25 12:23:05 -060066 usb0 = &usb_0;
67 usb1 = &usb_1;
68 usb2 = &usb_2;
Mario Six957983e2018-08-09 14:51:19 +020069 axi0 = &axi;
Mario Six4eea5312018-09-27 09:19:31 +020070 osd0 = "/osd";
Simon Glass00606d72014-07-23 06:55:03 -060071 };
72
Eddie James5999ea22023-10-24 10:43:51 -050073 reserved-memory {
74 #address-cells = <1>;
75 #size-cells = <1>;
76 ranges;
77
78 event_log: tcg_event_log {
79 no-map;
80 reg = <(CFG_SYS_SDRAM_SIZE - 0x2000) 0x2000>;
81 };
82 };
83
Simon Glass8de98962022-10-20 18:23:15 -060084 binman: binman {
Philippe Reynes059df562022-03-28 22:56:53 +020085 };
86
Rasmus Villemoes8c728422021-04-21 11:06:55 +020087 config {
Simon Glass7de8bd02021-08-07 07:24:01 -060088 testing-bool;
89 testing-int = <123>;
90 testing-str = "testing";
Rasmus Villemoes8c728422021-04-21 11:06:55 +020091 environment {
92 from_fdt = "yes";
93 fdt_env_path = "";
94 };
95 };
96
Michal Simekdb5e3492023-08-31 08:59:05 +020097 options {
98 u-boot {
99 compatible = "u-boot,config";
100 bootscr-ram-offset = /bits/ 64 <0x12345678>;
Michal Simek44f35e12023-08-31 09:04:27 +0200101 bootscr-flash-offset = /bits/ 64 <0>;
102 bootscr-flash-size = /bits/ 64 <0x2000>;
Michal Simekdb5e3492023-08-31 08:59:05 +0200103 };
104 };
105
Simon Glassfb1451b2022-04-24 23:31:24 -0600106 bootstd {
Simon Glass8c103c32023-02-13 08:56:33 -0700107 bootph-verify;
Simon Glassfb1451b2022-04-24 23:31:24 -0600108 compatible = "u-boot,boot-std";
109
110 filename-prefixes = "/", "/boot/";
111 bootdev-order = "mmc2", "mmc1";
112
Simon Glass79f66352023-05-10 16:34:46 -0600113 extlinux {
114 compatible = "u-boot,extlinux";
Simon Glassfb1451b2022-04-24 23:31:24 -0600115 };
116
117 efi {
118 compatible = "u-boot,distro-efi";
119 };
Simon Glassa56f6632022-10-20 18:23:14 -0600120
Simon Glassd985f1d2023-01-06 08:52:41 -0600121 theme {
122 font-size = <30>;
Simon Glass7230fdb2023-06-01 10:23:00 -0600123 menu-inset = <3>;
124 menuitem-gap-y = <1>;
Simon Glassd985f1d2023-01-06 08:52:41 -0600125 };
126
Simon Glass2045ca52023-08-14 16:40:30 -0600127 cedit-theme {
128 font-size = <30>;
129 menu-inset = <3>;
130 menuitem-gap-y = <1>;
131 };
132
Simon Glass77bec9e2022-10-20 18:23:20 -0600133 /*
134 * This is used for the VBE OS-request tests. A FAT filesystem
135 * created in a partition with the VBE information appearing
Michal Simek92271d62023-09-07 14:55:48 +0200136 * before the partition starts
Simon Glass77bec9e2022-10-20 18:23:20 -0600137 */
Simon Glassa56f6632022-10-20 18:23:14 -0600138 firmware0 {
Simon Glass8c103c32023-02-13 08:56:33 -0700139 bootph-verify;
Simon Glassa56f6632022-10-20 18:23:14 -0600140 compatible = "fwupd,vbe-simple";
141 storage = "mmc1";
142 skip-offset = <0x200>;
143 area-start = <0x400>;
144 area-size = <0x1000>;
145 state-offset = <0x400>;
146 state-size = <0x40>;
147 version-offset = <0x800>;
148 version-size = <0x100>;
149 };
Simon Glass77bec9e2022-10-20 18:23:20 -0600150
151 /*
152 * This is used for the VBE VPL tests. The MMC device holds the
153 * binman image.bin file. The test progresses through each phase
154 * of U-Boot, loading each in turn from MMC.
155 *
156 * Note that the test enables this node (and mmc3) before
157 * running U-Boot
158 */
159 firmware1 {
Simon Glass8c103c32023-02-13 08:56:33 -0700160 bootph-verify;
Simon Glass77bec9e2022-10-20 18:23:20 -0600161 status = "disabled";
162 compatible = "fwupd,vbe-simple";
163 storage = "mmc3";
Simon Glass74b75aa2023-04-02 14:01:24 +1200164 skip-offset = <0x800000>;
Simon Glass77bec9e2022-10-20 18:23:20 -0600165 area-start = <0>;
166 area-size = <0xe00000>;
167 state-offset = <0xdffc00>;
168 state-size = <0x40>;
169 version-offset = <0xdffe00>;
170 version-size = <0x100>;
171 };
Simon Glassfb1451b2022-04-24 23:31:24 -0600172 };
173
Simon Glass82cafee2023-06-01 10:23:01 -0600174 cedit: cedit {
175 };
176
Andrew Scull0518e7a2022-05-30 10:00:12 +0000177 fuzzing-engine {
178 compatible = "sandbox,fuzzing-engine";
179 };
180
Nandor Hanf9db2f12021-06-10 16:56:44 +0300181 reboot-mode0 {
182 compatible = "reboot-mode-gpio";
183 gpios = <&gpio_c 0 GPIO_ACTIVE_HIGH>, <&gpio_c 1 GPIO_ACTIVE_HIGH>;
184 u-boot,env-variable = "bootstatus";
185 mode-test = <0x01>;
186 mode-download = <0x03>;
187 };
188
Nandor Hanc74675b2021-06-10 16:56:45 +0300189 reboot_mode1: reboot-mode@14 {
190 compatible = "reboot-mode-rtc";
191 rtc = <&rtc_0>;
192 reg = <0x30 4>;
193 u-boot,env-variable = "bootstatus";
194 big-endian;
195 mode-test = <0x21969147>;
196 mode-download = <0x51939147>;
197 };
198
Simon Glassce6d99a2018-12-10 10:37:33 -0700199 audio: audio-codec {
200 compatible = "sandbox,audio-codec";
201 #sound-dai-cells = <1>;
202 };
203
Philippe Reynesa6c6f0f2020-07-24 18:19:51 +0200204 buttons {
205 compatible = "gpio-keys";
206
Heinrich Schuchardt39916bb2020-09-14 12:50:54 +0200207 btn1 {
Philippe Reynesa6c6f0f2020-07-24 18:19:51 +0200208 gpios = <&gpio_a 3 0>;
Heinrich Schuchardt39916bb2020-09-14 12:50:54 +0200209 label = "button1";
Dzmitry Sankouskiea6fdc12023-01-22 18:21:24 +0300210 linux,code = <BTN_1>;
Philippe Reynesa6c6f0f2020-07-24 18:19:51 +0200211 };
212
Heinrich Schuchardt39916bb2020-09-14 12:50:54 +0200213 btn2 {
Philippe Reynesa6c6f0f2020-07-24 18:19:51 +0200214 gpios = <&gpio_a 4 0>;
Heinrich Schuchardt39916bb2020-09-14 12:50:54 +0200215 label = "button2";
Dzmitry Sankouskiea6fdc12023-01-22 18:21:24 +0300216 linux,code = <BTN_2>;
Philippe Reynesa6c6f0f2020-07-24 18:19:51 +0200217 };
218 };
219
Marek Szyprowski289d0ea2021-02-18 11:33:18 +0100220 buttons2 {
221 compatible = "adc-keys";
222 io-channels = <&adc 3>;
223 keyup-threshold-microvolt = <3000000>;
224
225 button-up {
226 label = "button3";
227 linux,code = <KEY_F3>;
228 press-threshold-microvolt = <1500000>;
229 };
230
231 button-down {
232 label = "button4";
233 linux,code = <KEY_F4>;
234 press-threshold-microvolt = <1000000>;
235 };
236
237 button-enter {
238 label = "button5";
239 linux,code = <KEY_F5>;
240 press-threshold-microvolt = <500000>;
241 };
242 };
243
Simon Glasse96fa6c2018-12-10 10:37:34 -0700244 cros_ec: cros-ec {
Simon Glasse6c5c942018-10-01 12:22:08 -0600245 reg = <0 0>;
246 compatible = "google,cros-ec-sandbox";
247
248 /*
249 * This describes the flash memory within the EC. Note
250 * that the STM32L flash erases to 0, not 0xff.
251 */
252 flash {
253 image-pos = <0x08000000>;
254 size = <0x20000>;
255 erase-value = <0>;
256
257 /* Information for sandbox */
258 ro {
259 image-pos = <0>;
260 size = <0xf000>;
261 };
262 wp-ro {
263 image-pos = <0xf000>;
264 size = <0x1000>;
Simon Glassff5fa7d2021-01-21 13:57:14 -0700265 used = <0x884>;
266 compress = "lz4";
267 uncomp-size = <0xcf8>;
268 hash {
269 algo = "sha256";
270 value = [00 01 02 03 04 05 06 07
271 08 09 0a 0b 0c 0d 0e 0f
272 10 11 12 13 14 15 16 17
273 18 19 1a 1b 1c 1d 1e 1f];
274 };
Simon Glasse6c5c942018-10-01 12:22:08 -0600275 };
276 rw {
277 image-pos = <0x10000>;
278 size = <0x10000>;
279 };
280 };
Alper Nebi Yasake7122452021-05-19 19:33:31 +0300281
282 cros_ec_pwm: cros-ec-pwm {
283 compatible = "google,cros-ec-pwm";
284 #pwm-cells = <1>;
285 };
286
Simon Glasse6c5c942018-10-01 12:22:08 -0600287 };
288
Yannick Fertré23f965a2019-10-07 15:29:05 +0200289 dsi_host: dsi_host {
290 compatible = "sandbox,dsi-host";
291 };
292
Simon Glass2e7d35d2014-02-26 15:59:21 -0700293 a-test {
Simon Glass0503e822015-07-06 12:54:36 -0600294 reg = <0 1>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700295 compatible = "denx,u-boot-fdt-test";
Simon Glasseb9ef5f2014-07-23 06:54:57 -0600296 ping-expect = <0>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700297 ping-add = <0>;
Simon Glass8c103c32023-02-13 08:56:33 -0700298 bootph-all;
Patrick Delaunay2c0f7822020-01-13 11:35:13 +0100299 test-gpios = <&gpio_a 1>, <&gpio_a 4>,
300 <&gpio_b 5 GPIO_ACTIVE_HIGH 3 2 1>,
Simon Glass3669e0e2015-01-05 20:05:29 -0700301 <0>, <&gpio_a 12>;
Patrick Delaunay2c0f7822020-01-13 11:35:13 +0100302 test2-gpios = <&gpio_a 1>, <&gpio_a 4>,
303 <&gpio_b 6 GPIO_ACTIVE_LOW 3 2 1>,
304 <&gpio_b 7 GPIO_IN 3 2 1>,
305 <&gpio_b 8 GPIO_OUT 3 2 1>,
306 <&gpio_b 9 (GPIO_OUT|GPIO_OUT_ACTIVE) 3 2 1>;
Patrick Delaunayff526652020-01-13 11:35:14 +0100307 test3-gpios =
308 <&gpio_c 0 (GPIO_OUT|GPIO_OPEN_DRAIN)>,
309 <&gpio_c 1 (GPIO_OUT|GPIO_OPEN_SOURCE)>,
310 <&gpio_c 2 GPIO_OUT>,
311 <&gpio_c 3 (GPIO_IN|GPIO_PULL_UP)>,
312 <&gpio_c 4 (GPIO_IN|GPIO_PULL_DOWN)>,
Neil Armstrong9bf87e22020-05-05 10:43:18 +0200313 <&gpio_c 5 GPIO_IN>,
314 <&gpio_c 6 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_DRAIN)>,
315 <&gpio_c 7 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_SOURCE)>;
Jean-Jacques Hiblot88e6a602020-09-11 13:43:35 +0530316 test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>;
317 test5-gpios = <&gpio_a 19>;
318
Simon Glassfb933d02021-10-23 17:26:04 -0600319 bool-value;
Stefan Herbrechtsmeierb471bdc2022-06-14 15:21:30 +0200320 int8-value = /bits/ 8 <0x12>;
321 int16-value = /bits/ 16 <0x1234>;
Simon Glassa1b17e42018-12-10 10:37:37 -0700322 int-value = <1234>;
323 uint-value = <(-1234)>;
Dario Binacchi70573c62020-03-29 18:04:40 +0200324 int64-value = /bits/ 64 <0x1111222233334444>;
Dario Binacchi4bb70752020-03-29 18:04:41 +0200325 int-array = <5678 9123 4567>;
Michal Simekfa12dfa2023-08-25 11:37:46 +0200326 int64-array = /bits/ 64 <0x1111222233334444 0x4444333322221111>;
Simon Glass06679002020-07-07 13:11:58 -0600327 str-value = "test string";
Simon Glass02554352020-02-06 09:55:00 -0700328 interrupts-extended = <&irq 3 0>;
Simon Glassfefac0b2020-07-07 13:12:11 -0600329 acpi,name = "GHIJ";
Patrick Delaunaycc72f3e2020-09-25 09:41:16 +0200330 phandle-value = <&gpio_c 10>, <0xFFFFFFFF 20>, <&gpio_a 30>;
Jean-Jacques Hiblot739592c2020-10-16 16:16:34 +0530331
332 mux-controls = <&muxcontroller0 0>, <&muxcontroller0 1>,
333 <&muxcontroller0 2>, <&muxcontroller0 3>,
334 <&muxcontroller1>;
335 mux-control-names = "mux0", "mux1", "mux2", "mux3", "mux4";
336 mux-syscon = <&syscon3>;
Dario Binacchi15daa482020-12-30 00:16:26 +0100337 display-timings {
338 timing0: 240x320 {
339 clock-frequency = <6500000>;
340 hactive = <240>;
341 vactive = <320>;
342 hfront-porch = <6>;
343 hback-porch = <7>;
344 hsync-len = <1>;
345 vback-porch = <5>;
346 vfront-porch = <8>;
347 vsync-len = <2>;
348 hsync-active = <1>;
349 vsync-active = <0>;
350 de-active = <1>;
351 pixelclk-active = <1>;
352 interlaced;
353 doublescan;
354 doubleclk;
355 };
356 timing1: 480x800 {
357 clock-frequency = <9000000>;
358 hactive = <480>;
359 vactive = <800>;
360 hfront-porch = <10>;
361 hback-porch = <59>;
362 hsync-len = <12>;
363 vback-porch = <15>;
364 vfront-porch = <17>;
365 vsync-len = <16>;
366 hsync-active = <0>;
367 vsync-active = <1>;
368 de-active = <0>;
369 pixelclk-active = <0>;
370 };
371 timing2: 800x480 {
372 clock-frequency = <33500000>;
373 hactive = <800>;
374 vactive = <480>;
375 hback-porch = <89>;
376 hfront-porch = <164>;
377 vback-porch = <23>;
378 vfront-porch = <10>;
379 hsync-len = <11>;
380 vsync-len = <13>;
381 };
382 };
Raphael Gallais-Poucd880582023-05-11 16:36:52 +0200383 panel-timing {
Nikhil M Jain2f3d6a42023-01-31 15:35:15 +0530384 clock-frequency = <6500000>;
385 hactive = <240>;
386 vactive = <320>;
387 hfront-porch = <6>;
388 hback-porch = <7>;
389 hsync-len = <1>;
390 vback-porch = <5>;
391 vfront-porch = <8>;
392 vsync-len = <2>;
393 hsync-active = <1>;
394 vsync-active = <0>;
395 de-active = <1>;
396 pixelclk-active = <1>;
397 interlaced;
398 doublescan;
399 doubleclk;
400 };
Simon Glass2e7d35d2014-02-26 15:59:21 -0700401 };
402
403 junk {
Simon Glass0503e822015-07-06 12:54:36 -0600404 reg = <1 1>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700405 compatible = "not,compatible";
406 };
407
408 no-compatible {
Simon Glass0503e822015-07-06 12:54:36 -0600409 reg = <2 1>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700410 };
411
Simon Glass5d9a88f2018-10-01 12:22:40 -0600412 backlight: backlight {
413 compatible = "pwm-backlight";
414 enable-gpios = <&gpio_a 1>;
415 power-supply = <&ldo_1>;
416 pwms = <&pwm 0 1000>;
417 default-brightness-level = <5>;
418 brightness-levels = <0 16 32 64 128 170 202 234 255>;
419 };
420
Jean-Jacques Hiblot49c752c2018-08-09 16:17:46 +0200421 bind-test {
Patrice Chotard1f0d5882020-07-28 09:13:33 +0200422 compatible = "simple-bus";
Jean-Jacques Hiblot49c752c2018-08-09 16:17:46 +0200423 bind-test-child1 {
424 compatible = "sandbox,phy";
425 #phy-cells = <1>;
426 };
427
428 bind-test-child2 {
429 compatible = "simple-bus";
430 };
431 };
432
Simon Glass2e7d35d2014-02-26 15:59:21 -0700433 b-test {
Simon Glass0503e822015-07-06 12:54:36 -0600434 reg = <3 1>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700435 compatible = "denx,u-boot-fdt-test";
Simon Glasseb9ef5f2014-07-23 06:54:57 -0600436 ping-expect = <3>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700437 ping-add = <3>;
Jean-Jacques Hiblot739592c2020-10-16 16:16:34 +0530438
439 mux-controls = <&muxcontroller0 0>;
440 mux-control-names = "mux0";
Simon Glass2e7d35d2014-02-26 15:59:21 -0700441 };
442
Jean-Jacques Hiblot86322f52017-04-24 11:51:28 +0200443 phy_provider0: gen_phy@0 {
444 compatible = "sandbox,phy";
445 #phy-cells = <1>;
446 };
447
448 phy_provider1: gen_phy@1 {
449 compatible = "sandbox,phy";
450 #phy-cells = <0>;
451 broken;
452 };
453
Chunfeng Yun00c82ac2020-05-02 11:35:12 +0200454 phy_provider2: gen_phy@2 {
455 compatible = "sandbox,phy";
456 #phy-cells = <0>;
457 };
458
Jonas Karlman14639bf2023-08-31 22:16:35 +0000459 phy_provider3: gen_phy@3 {
460 compatible = "sandbox,phy";
461 #phy-cells = <2>;
462 };
463
Jean-Jacques Hiblot86322f52017-04-24 11:51:28 +0200464 gen_phy_user: gen_phy_user {
465 compatible = "simple-bus";
466 phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>;
467 phy-names = "phy1", "phy2", "phy3";
468 };
469
Chunfeng Yun00c82ac2020-05-02 11:35:12 +0200470 gen_phy_user1: gen_phy_user1 {
471 compatible = "simple-bus";
472 phys = <&phy_provider0 0>, <&phy_provider2>;
473 phy-names = "phy1", "phy2";
474 };
475
Jonas Karlman14639bf2023-08-31 22:16:35 +0000476 gen_phy_user2: gen_phy_user2 {
477 compatible = "simple-bus";
478 phys = <&phy_provider3 0 0>;
479 phy-names = "phy1";
480 };
481
Simon Glass2e7d35d2014-02-26 15:59:21 -0700482 some-bus {
483 #address-cells = <1>;
484 #size-cells = <0>;
Simon Glass1ca7e202014-07-23 06:55:18 -0600485 compatible = "denx,u-boot-test-bus";
Simon Glass0503e822015-07-06 12:54:36 -0600486 reg = <3 1>;
Simon Glasseb9ef5f2014-07-23 06:54:57 -0600487 ping-expect = <4>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700488 ping-add = <4>;
Simon Glass1ca7e202014-07-23 06:55:18 -0600489 c-test@5 {
Simon Glass2e7d35d2014-02-26 15:59:21 -0700490 compatible = "denx,u-boot-fdt-test";
491 reg = <5>;
Simon Glass1ca7e202014-07-23 06:55:18 -0600492 ping-expect = <5>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700493 ping-add = <5>;
494 };
Simon Glass1ca7e202014-07-23 06:55:18 -0600495 c-test@0 {
496 compatible = "denx,u-boot-fdt-test";
497 reg = <0>;
498 ping-expect = <6>;
499 ping-add = <6>;
500 };
501 c-test@1 {
502 compatible = "denx,u-boot-fdt-test";
503 reg = <1>;
504 ping-expect = <7>;
505 ping-add = <7>;
506 };
Simon Glass2e7d35d2014-02-26 15:59:21 -0700507 };
508
509 d-test {
Simon Glass0503e822015-07-06 12:54:36 -0600510 reg = <3 1>;
Simon Glass5a66a8f2014-07-23 06:55:12 -0600511 ping-expect = <6>;
512 ping-add = <6>;
513 compatible = "google,another-fdt-test";
514 };
515
516 e-test {
Simon Glass0503e822015-07-06 12:54:36 -0600517 reg = <3 1>;
Simon Glasseb9ef5f2014-07-23 06:54:57 -0600518 ping-expect = <6>;
Simon Glass2e7d35d2014-02-26 15:59:21 -0700519 ping-add = <6>;
520 compatible = "google,another-fdt-test";
521 };
522
Simon Glass9cc36a22015-01-25 08:27:05 -0700523 f-test {
524 compatible = "denx,u-boot-fdt-test";
525 };
526
527 g-test {
528 compatible = "denx,u-boot-fdt-test";
529 };
530
Bin Meng2786cd72018-10-10 22:07:01 -0700531 h-test {
532 compatible = "denx,u-boot-fdt-test1";
533 };
534
Chunfeng Yunbf6ad912020-05-02 11:35:10 +0200535 i-test {
536 compatible = "mediatek,u-boot-fdt-test";
537 #address-cells = <1>;
538 #size-cells = <0>;
539
540 subnode@0 {
541 reg = <0>;
542 };
543
544 subnode@1 {
545 reg = <1>;
546 };
547
548 subnode@2 {
549 reg = <2>;
550 };
551 };
552
Simon Glassdc12ebb2019-12-29 21:19:25 -0700553 devres-test {
554 compatible = "denx,u-boot-devres-test";
555 };
556
Jean-Jacques Hiblot88e6a602020-09-11 13:43:35 +0530557 another-test {
558 reg = <0 2>;
559 compatible = "denx,u-boot-fdt-test";
560 test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>;
561 test5-gpios = <&gpio_a 19>;
562 };
563
Nicolas Saenz Julienne283628c2021-01-12 13:55:23 +0100564 mmio-bus@0 {
565 #address-cells = <1>;
566 #size-cells = <1>;
567 compatible = "denx,u-boot-test-bus";
568 dma-ranges = <0x10000000 0x00000000 0x00040000>;
569
570 subnode@0 {
571 compatible = "denx,u-boot-fdt-test";
572 };
573 };
574
575 mmio-bus@1 {
576 #address-cells = <1>;
577 #size-cells = <1>;
578 compatible = "denx,u-boot-test-bus";
Nicolas Saenz Juliennee8801872021-01-12 13:55:25 +0100579
580 subnode@0 {
581 compatible = "denx,u-boot-fdt-test";
582 };
Nicolas Saenz Julienne283628c2021-01-12 13:55:23 +0100583 };
584
Simon Glass0f7b1112020-07-07 13:12:06 -0600585 acpi_test1: acpi-test {
Simon Glassf50cc952020-04-08 16:57:34 -0600586 compatible = "denx,u-boot-acpi-test";
Simon Glassb5183172020-07-07 13:12:03 -0600587 acpi-ssdt-test-data = "ab";
Simon Glass01694582020-07-07 13:12:08 -0600588 acpi-dsdt-test-data = "hi";
Simon Glass1361a532020-07-07 13:11:39 -0600589 child {
590 compatible = "denx,u-boot-acpi-test";
591 };
Simon Glassf50cc952020-04-08 16:57:34 -0600592 };
593
Simon Glass0f7b1112020-07-07 13:12:06 -0600594 acpi_test2: acpi-test2 {
Simon Glass93f7f822020-04-26 09:19:46 -0600595 compatible = "denx,u-boot-acpi-test";
Simon Glassb5183172020-07-07 13:12:03 -0600596 acpi-ssdt-test-data = "cd";
Simon Glass01694582020-07-07 13:12:08 -0600597 acpi-dsdt-test-data = "jk";
Simon Glass93f7f822020-04-26 09:19:46 -0600598 };
599
Patrice Chotardee87a092017-09-04 14:55:57 +0200600 clocks {
601 clk_fixed: clk-fixed {
602 compatible = "fixed-clock";
603 #clock-cells = <0>;
604 clock-frequency = <1234>;
605 };
Anup Patelb630d572019-02-25 08:14:55 +0000606
607 clk_fixed_factor: clk-fixed-factor {
608 compatible = "fixed-factor-clock";
609 #clock-cells = <0>;
610 clock-div = <3>;
611 clock-mult = <2>;
612 clocks = <&clk_fixed>;
613 };
Lukasz Majewski4ab8e782019-06-24 15:50:47 +0200614
615 osc {
616 compatible = "fixed-clock";
617 #clock-cells = <0>;
618 clock-frequency = <20000000>;
619 };
Stephen Warren135aa952016-06-17 09:44:00 -0600620 };
621
622 clk_sandbox: clk-sbox {
Simon Glass6a1c7ce2015-07-06 12:54:24 -0600623 compatible = "sandbox,clk";
Stephen Warren135aa952016-06-17 09:44:00 -0600624 #clock-cells = <1>;
Jean-Jacques Hiblot9a52be12019-10-22 14:00:07 +0200625 assigned-clocks = <&clk_sandbox 3>;
626 assigned-clock-rates = <321>;
Stephen Warren135aa952016-06-17 09:44:00 -0600627 };
628
629 clk-test {
630 compatible = "sandbox,clk-test";
631 clocks = <&clk_fixed>,
632 <&clk_sandbox 1>,
Jean-Jacques Hiblotdd2e0ce2019-10-22 14:00:05 +0200633 <&clk_sandbox 0>,
Yang Xiwend3061822023-12-16 02:28:52 +0800634 <&ccf 11>,
Jean-Jacques Hiblotdd2e0ce2019-10-22 14:00:05 +0200635 <&clk_sandbox 3>,
636 <&clk_sandbox 2>;
Yang Xiwend3061822023-12-16 02:28:52 +0800637 clock-names = "fixed", "i2c", "spi", "i2c_root", "uart2", "uart1";
Simon Glass6a1c7ce2015-07-06 12:54:24 -0600638 };
639
Ashok Reddy Soma99b46472023-08-30 10:31:42 +0200640 clk-test2 {
641 compatible = "sandbox,clk-test";
642 assigned-clock-rates = <321>;
643 };
644
645 clk-test3 {
646 compatible = "sandbox,clk-test";
647 assigned-clocks = <&clk_sandbox 1>;
648 };
649
650 clk-test4 {
651 compatible = "sandbox,clk-test";
652 assigned-clock-rates = <654>, <321>;
653 assigned-clocks = <&clk_sandbox 1>;
654 };
655
Lukasz Majewski87e460c2019-06-24 15:50:50 +0200656 ccf: clk-ccf {
657 compatible = "sandbox,clk-ccf";
Yang Xiwend3061822023-12-16 02:28:52 +0800658 #clock-cells = <1>;
Lukasz Majewski87e460c2019-06-24 15:50:50 +0200659 };
660
Simon Glass42b7f422021-12-04 08:56:31 -0700661 efi-media {
662 compatible = "sandbox,efi-media";
663 };
664
Simon Glass171e9912015-05-22 15:42:15 -0600665 eth@10002000 {
666 compatible = "sandbox,eth";
667 reg = <0x10002000 0x1000>;
Simon Glass171e9912015-05-22 15:42:15 -0600668 };
669
670 eth_5: eth@10003000 {
671 compatible = "sandbox,eth";
672 reg = <0x10003000 0x1000>;
Sean Anderson3f51ba92022-05-05 13:11:44 -0400673 nvmem-cells = <&eth5_addr>;
674 nvmem-cell-names = "mac-address";
Simon Glass171e9912015-05-22 15:42:15 -0600675 };
676
Bin Meng71d79712015-08-27 22:25:53 -0700677 eth_3: sbe5 {
678 compatible = "sandbox,eth";
679 reg = <0x10005000 0x1000>;
Sean Anderson472caa62022-05-05 13:11:42 -0400680 nvmem-cells = <&eth3_addr>;
681 nvmem-cell-names = "mac-address";
Bin Meng71d79712015-08-27 22:25:53 -0700682 };
683
Simon Glass171e9912015-05-22 15:42:15 -0600684 eth@10004000 {
685 compatible = "sandbox,eth";
686 reg = <0x10004000 0x1000>;
Simon Glass171e9912015-05-22 15:42:15 -0600687 };
688
Marek Behúnf3dd2132022-04-07 00:32:57 +0200689 phy_eth0: phy-test-eth {
690 compatible = "sandbox,eth";
691 reg = <0x10007000 0x1000>;
Sean Andersone844e5d2022-05-05 13:11:35 -0400692 mac-address = [ 02 00 11 22 33 49 ];
Marek Behúnf3dd2132022-04-07 00:32:57 +0200693 phy-handle = <&ethphy1>;
Marek Behún123ca112022-04-07 00:33:01 +0200694 phy-mode = "2500base-x";
Marek Behúnf3dd2132022-04-07 00:32:57 +0200695 };
696
Claudiu Manoilff98da02021-03-14 20:14:57 +0800697 dsa_eth0: dsa-test-eth {
698 compatible = "sandbox,eth";
699 reg = <0x10006000 0x1000>;
Sean Andersond3f72872022-05-05 13:11:43 -0400700 nvmem-cells = <&eth4_addr>;
701 nvmem-cell-names = "mac-address";
Claudiu Manoilff98da02021-03-14 20:14:57 +0800702 };
703
704 dsa-test {
705 compatible = "sandbox,dsa";
706
707 ports {
708 #address-cells = <1>;
709 #size-cells = <0>;
710 swp_0: port@0 {
711 reg = <0>;
712 label = "lan0";
713 phy-mode = "rgmii-rxid";
714
715 fixed-link {
716 speed = <100>;
717 full-duplex;
718 };
719 };
720
721 swp_1: port@1 {
722 reg = <1>;
723 label = "lan1";
724 phy-mode = "rgmii-txid";
Bin Meng534c69b2021-03-14 20:14:58 +0800725 fixed-link = <0 1 100 0 0>;
Claudiu Manoilff98da02021-03-14 20:14:57 +0800726 };
727
728 port@2 {
729 reg = <2>;
730 ethernet = <&dsa_eth0>;
731
732 fixed-link {
733 speed = <1000>;
734 full-duplex;
735 };
736 };
737 };
738 };
739
Rajan Vaja31b82172018-09-19 03:43:46 -0700740 firmware {
741 sandbox_firmware: sandbox-firmware {
742 compatible = "sandbox,firmware";
743 };
Etienne Carriere358599e2020-09-09 18:44:00 +0200744
Etienne Carriere41d62e22022-02-21 09:22:39 +0100745 scmi {
Etienne Carriere358599e2020-09-09 18:44:00 +0200746 compatible = "sandbox,scmi-agent";
747 #address-cells = <1>;
748 #size-cells = <0>;
Etienne Carriere87d4f272020-09-09 18:44:05 +0200749
AKASHI Takahiro8e545b32023-10-16 14:39:45 +0900750 pwrdom_scmi: protocol@11 {
751 reg = <0x11>;
752 #power-domain-cells = <1>;
753 };
754
Etienne Carriere41d62e22022-02-21 09:22:39 +0100755 clk_scmi: protocol@14 {
Etienne Carriere87d4f272020-09-09 18:44:05 +0200756 reg = <0x14>;
757 #clock-cells = <1>;
AKASHI Takahiroa89d9f42023-10-11 19:06:59 +0900758 linaro,sandbox-channel-id = <0x14>;
Etienne Carriere87d4f272020-09-09 18:44:05 +0200759 };
Etienne Carrierec0dd1772020-09-09 18:44:07 +0200760
Etienne Carriere41d62e22022-02-21 09:22:39 +0100761 reset_scmi: protocol@16 {
Etienne Carrierec0dd1772020-09-09 18:44:07 +0200762 reg = <0x16>;
763 #reset-cells = <1>;
764 };
Etienne Carriere01242182021-03-08 22:38:07 +0100765
766 protocol@17 {
767 reg = <0x17>;
768
769 regulators {
770 #address-cells = <1>;
771 #size-cells = <0>;
772
Etienne Carriere41d62e22022-02-21 09:22:39 +0100773 regul0_scmi: reg@0 {
Etienne Carriere01242182021-03-08 22:38:07 +0100774 reg = <0>;
775 regulator-name = "sandbox-voltd0";
776 regulator-min-microvolt = <1100000>;
777 regulator-max-microvolt = <3300000>;
778 };
Etienne Carriere41d62e22022-02-21 09:22:39 +0100779 regul1_scmi: reg@1 {
Etienne Carriere01242182021-03-08 22:38:07 +0100780 reg = <0x1>;
781 regulator-name = "sandbox-voltd1";
782 regulator-min-microvolt = <1800000>;
783 };
784 };
785 };
Etienne Carriere358599e2020-09-09 18:44:00 +0200786 };
Alexey Romanovc3be2f12023-09-21 11:13:36 +0300787
788 sm: secure-monitor {
789 compatible = "sandbox,sm";
790 };
Rajan Vaja31b82172018-09-19 03:43:46 -0700791 };
792
Alexander Dahl1323d082022-09-30 14:04:30 +0200793 fpga {
794 compatible = "sandbox,fpga";
795 };
796
Patrick Delaunaye5301ba2020-01-13 11:35:15 +0100797 pinctrl-gpio {
798 compatible = "sandbox,pinctrl-gpio";
Simon Glass2e7d35d2014-02-26 15:59:21 -0700799
Patrick Delaunaye5301ba2020-01-13 11:35:15 +0100800 gpio_a: base-gpios {
801 compatible = "sandbox,gpio";
802 gpio-controller;
803 #gpio-cells = <1>;
804 gpio-bank-name = "a";
805 sandbox,gpio-count = <20>;
Heiko Schocher9ba84322020-05-22 11:08:58 +0200806 hog_input_active_low {
807 gpio-hog;
808 input;
Philippe Reynes037a56d2020-07-24 15:51:53 +0200809 gpios = <10 GPIO_ACTIVE_LOW>;
Heiko Schocher9ba84322020-05-22 11:08:58 +0200810 };
811 hog_input_active_high {
812 gpio-hog;
813 input;
Philippe Reynes037a56d2020-07-24 15:51:53 +0200814 gpios = <11 GPIO_ACTIVE_HIGH>;
Heiko Schocher9ba84322020-05-22 11:08:58 +0200815 };
816 hog_output_low {
817 gpio-hog;
818 output-low;
Philippe Reynes037a56d2020-07-24 15:51:53 +0200819 gpios = <12 GPIO_ACTIVE_HIGH>;
Heiko Schocher9ba84322020-05-22 11:08:58 +0200820 };
821 hog_output_high {
822 gpio-hog;
823 output-high;
Philippe Reynes037a56d2020-07-24 15:51:53 +0200824 gpios = <13 GPIO_ACTIVE_HIGH>;
Heiko Schocher9ba84322020-05-22 11:08:58 +0200825 };
Patrick Delaunaye5301ba2020-01-13 11:35:15 +0100826 };
Simon Glass0ae0cb72014-10-13 23:42:11 -0600827
Patrick Delaunaye5301ba2020-01-13 11:35:15 +0100828 gpio_b: extra-gpios {
829 compatible = "sandbox,gpio";
830 gpio-controller;
831 #gpio-cells = <5>;
832 gpio-bank-name = "b";
833 sandbox,gpio-count = <10>;
834 };
835
836 gpio_c: pinmux-gpios {
837 compatible = "sandbox,gpio";
838 gpio-controller;
839 #gpio-cells = <2>;
840 gpio-bank-name = "c";
841 sandbox,gpio-count = <10>;
842 };
Patrick Delaunayff526652020-01-13 11:35:14 +0100843 };
844
Simon Glassecc2ed52014-12-10 08:55:55 -0700845 i2c@0 {
846 #address-cells = <1>;
847 #size-cells = <0>;
Simon Glass0503e822015-07-06 12:54:36 -0600848 reg = <0 1>;
Simon Glassecc2ed52014-12-10 08:55:55 -0700849 compatible = "sandbox,i2c";
850 clock-frequency = <100000>;
Dario Binacchi55322622021-04-11 09:39:50 +0200851 pinctrl-names = "default";
852 pinctrl-0 = <&pinmux_i2c0_pins>;
853
Simon Glassecc2ed52014-12-10 08:55:55 -0700854 eeprom@2c {
Sean Anderson472caa62022-05-05 13:11:42 -0400855 #address-cells = <1>;
856 #size-cells = <1>;
Simon Glassecc2ed52014-12-10 08:55:55 -0700857 reg = <0x2c>;
858 compatible = "i2c-eeprom";
Simon Glass031a6502018-11-18 08:14:34 -0700859 sandbox,emul = <&emul_eeprom>;
Michal Simekf692b472020-05-28 11:48:55 +0200860 partitions {
861 compatible = "fixed-partitions";
862 #address-cells = <1>;
863 #size-cells = <1>;
864 bootcount_i2c: bootcount@10 {
865 reg = <10 2>;
866 };
867 };
Sean Anderson472caa62022-05-05 13:11:42 -0400868
869 eth3_addr: mac-address@24 {
870 reg = <24 6>;
871 };
Simon Glassecc2ed52014-12-10 08:55:55 -0700872 };
Przemyslaw Marczak9038cd52015-05-13 13:38:35 +0200873
Simon Glass52d3bc52015-05-22 15:42:17 -0600874 rtc_0: rtc@43 {
Sean Andersond3f72872022-05-05 13:11:43 -0400875 #address-cells = <1>;
876 #size-cells = <1>;
Simon Glass52d3bc52015-05-22 15:42:17 -0600877 reg = <0x43>;
878 compatible = "sandbox-rtc";
Simon Glass031a6502018-11-18 08:14:34 -0700879 sandbox,emul = <&emul0>;
Sean Andersond3f72872022-05-05 13:11:43 -0400880
881 eth4_addr: mac-address@40 {
882 reg = <0x40 6>;
883 };
Simon Glass52d3bc52015-05-22 15:42:17 -0600884 };
885
886 rtc_1: rtc@61 {
887 reg = <0x61>;
888 compatible = "sandbox-rtc";
Simon Glass031a6502018-11-18 08:14:34 -0700889 sandbox,emul = <&emul1>;
890 };
891
892 i2c_emul: emul {
893 reg = <0xff>;
894 compatible = "sandbox,i2c-emul-parent";
895 emul_eeprom: emul-eeprom {
896 compatible = "sandbox,i2c-eeprom";
897 sandbox,filename = "i2c.bin";
898 sandbox,size = <256>;
899 };
900 emul0: emul0 {
Simon Glassc4085d72021-02-03 06:01:17 -0700901 compatible = "sandbox,i2c-rtc-emul";
Simon Glass031a6502018-11-18 08:14:34 -0700902 };
903 emul1: emull {
Simon Glassc4085d72021-02-03 06:01:17 -0700904 compatible = "sandbox,i2c-rtc-emul";
Simon Glass52d3bc52015-05-22 15:42:17 -0600905 };
906 };
907
Przemyslaw Marczak9038cd52015-05-13 13:38:35 +0200908 sandbox_pmic: sandbox_pmic {
909 reg = <0x40>;
Simon Glass031a6502018-11-18 08:14:34 -0700910 sandbox,emul = <&emul_pmic0>;
Przemyslaw Marczak9038cd52015-05-13 13:38:35 +0200911 };
Lukasz Majewski686df492018-05-15 16:26:40 +0200912
913 mc34708: pmic@41 {
914 reg = <0x41>;
Simon Glass031a6502018-11-18 08:14:34 -0700915 sandbox,emul = <&emul_pmic1>;
Lukasz Majewski686df492018-05-15 16:26:40 +0200916 };
Simon Glassecc2ed52014-12-10 08:55:55 -0700917 };
918
Philipp Tomsich6f2d59c2018-12-14 21:14:29 +0100919 bootcount@0 {
920 compatible = "u-boot,bootcount-rtc";
921 rtc = <&rtc_1>;
922 offset = <0x13>;
923 };
924
Michal Simekf692b472020-05-28 11:48:55 +0200925 bootcount {
926 compatible = "u-boot,bootcount-i2c-eeprom";
927 i2c-eeprom = <&bootcount_i2c>;
928 };
929
Nandor Hanc50b21b2021-06-10 15:40:38 +0300930 bootcount_4@0 {
931 compatible = "u-boot,bootcount-syscon";
932 syscon = <&syscon0>;
933 reg = <0x0 0x04>, <0x0 0x04>;
934 reg-names = "syscon_reg", "offset";
935 };
936
937 bootcount_2@0 {
938 compatible = "u-boot,bootcount-syscon";
939 syscon = <&syscon0>;
940 reg = <0x0 0x04>, <0x0 0x02> ;
941 reg-names = "syscon_reg", "offset";
942 };
943
Marek Szyprowski289d0ea2021-02-18 11:33:18 +0100944 adc: adc@0 {
Przemyslaw Marczak08d63002015-10-27 13:08:06 +0100945 compatible = "sandbox,adc";
Marek Szyprowski289d0ea2021-02-18 11:33:18 +0100946 #io-channel-cells = <1>;
Przemyslaw Marczak08d63002015-10-27 13:08:06 +0100947 vdd-supply = <&buck2>;
948 vss-microvolts = <0>;
949 };
950
Mark Kettenisfb574622021-10-23 16:58:02 +0200951 iommu: iommu@0 {
952 compatible = "sandbox,iommu";
953 #iommu-cells = <0>;
954 };
955
Simon Glass02554352020-02-06 09:55:00 -0700956 irq: irq {
Simon Glassfbb0efd2019-12-06 21:41:59 -0700957 compatible = "sandbox,irq";
Simon Glass02554352020-02-06 09:55:00 -0700958 interrupt-controller;
959 #interrupt-cells = <2>;
Simon Glassfbb0efd2019-12-06 21:41:59 -0700960 };
961
Simon Glass3c97c4f2016-01-18 19:52:26 -0700962 lcd {
Simon Glass8c103c32023-02-13 08:56:33 -0700963 bootph-all;
Simon Glass3c97c4f2016-01-18 19:52:26 -0700964 compatible = "sandbox,lcd-sdl";
Dario Binacchi55322622021-04-11 09:39:50 +0200965 pinctrl-names = "default";
966 pinctrl-0 = <&pinmux_lcd_pins>;
Simon Glass3c97c4f2016-01-18 19:52:26 -0700967 xres = <1366>;
968 yres = <768>;
969 };
970
Simon Glass3c43fba2015-07-06 12:54:34 -0600971 leds {
972 compatible = "gpio-leds";
973
974 iracibble {
975 gpios = <&gpio_a 1 0>;
976 label = "sandbox:red";
977 };
978
979 martinet {
980 gpios = <&gpio_a 2 0>;
981 label = "sandbox:green";
982 };
Patrick Bruenn274fb462018-04-11 11:16:29 +0200983
984 default_on {
985 gpios = <&gpio_a 5 0>;
986 label = "sandbox:default_on";
987 default-state = "on";
988 };
989
990 default_off {
991 gpios = <&gpio_a 6 0>;
Sean Anderson3e41c7b2020-09-14 11:02:03 -0400992 /* label intentionally omitted */
Patrick Bruenn274fb462018-04-11 11:16:29 +0200993 default-state = "off";
994 };
Simon Glass3c43fba2015-07-06 12:54:34 -0600995 };
996
Paul Doelle1fc45d62022-07-04 09:00:25 +0000997 wdt-gpio-toggle {
Simon Glassbc003ca2023-08-10 09:53:13 -0600998 gpios = <&gpio_a 8 0>;
Rasmus Villemoesa9346b92021-08-19 11:57:05 +0200999 compatible = "linux,wdt-gpio";
Rasmus Villemoes4171c572021-08-19 11:57:06 +02001000 hw_margin_ms = <100>;
Paul Doelle1fc45d62022-07-04 09:00:25 +00001001 hw_algo = "toggle";
1002 always-running;
1003 };
1004
1005 wdt-gpio-level {
1006 gpios = <&gpio_a 7 0>;
1007 compatible = "linux,wdt-gpio";
1008 hw_margin_ms = <100>;
1009 hw_algo = "level";
Rasmus Villemoesa9346b92021-08-19 11:57:05 +02001010 always-running;
1011 };
1012
Stephen Warren8961b522016-05-16 17:41:37 -06001013 mbox: mbox {
1014 compatible = "sandbox,mbox";
1015 #mbox-cells = <1>;
1016 };
1017
1018 mbox-test {
1019 compatible = "sandbox,mbox-test";
1020 mboxes = <&mbox 100>, <&mbox 1>;
1021 mbox-names = "other", "test";
1022 };
1023
AKASHI Takahiro073e6d62019-08-27 17:17:03 +09001024 cpus {
Heinrich Schuchardt8ae8da12021-08-28 11:42:08 +02001025 #address-cells = <1>;
1026 #size-cells = <0>;
Sean Anderson7616e362020-09-28 10:52:23 -04001027 timebase-frequency = <2000000>;
Heinrich Schuchardt8ae8da12021-08-28 11:42:08 +02001028 cpu1: cpu@1 {
1029 device_type = "cpu";
1030 reg = <0x1>;
Sean Anderson7616e362020-09-28 10:52:23 -04001031 timebase-frequency = <3000000>;
AKASHI Takahiro073e6d62019-08-27 17:17:03 +09001032 compatible = "sandbox,cpu_sandbox";
Simon Glass8c103c32023-02-13 08:56:33 -07001033 bootph-all;
AKASHI Takahiro073e6d62019-08-27 17:17:03 +09001034 };
Mario Sixfa44b532018-08-06 10:23:44 +02001035
Heinrich Schuchardt8ae8da12021-08-28 11:42:08 +02001036 cpu2: cpu@2 {
1037 device_type = "cpu";
1038 reg = <0x2>;
AKASHI Takahiro073e6d62019-08-27 17:17:03 +09001039 compatible = "sandbox,cpu_sandbox";
Simon Glass8c103c32023-02-13 08:56:33 -07001040 bootph-all;
AKASHI Takahiro073e6d62019-08-27 17:17:03 +09001041 };
Mario Sixfa44b532018-08-06 10:23:44 +02001042
Heinrich Schuchardt8ae8da12021-08-28 11:42:08 +02001043 cpu3: cpu@3 {
1044 device_type = "cpu";
1045 reg = <0x3>;
AKASHI Takahiro073e6d62019-08-27 17:17:03 +09001046 compatible = "sandbox,cpu_sandbox";
Simon Glass8c103c32023-02-13 08:56:33 -07001047 bootph-all;
AKASHI Takahiro073e6d62019-08-27 17:17:03 +09001048 };
Mario Sixfa44b532018-08-06 10:23:44 +02001049 };
1050
Dave Gerlach21e3c212020-07-15 23:39:58 -05001051 chipid: chipid {
1052 compatible = "sandbox,soc";
1053 };
1054
Simon Glasse96fa6c2018-12-10 10:37:34 -07001055 i2s: i2s {
1056 compatible = "sandbox,i2s";
1057 #sound-dai-cells = <1>;
Simon Glassecc79732019-02-16 20:24:56 -07001058 sandbox,silent; /* Don't emit sounds while testing */
Simon Glasse96fa6c2018-12-10 10:37:34 -07001059 };
1060
Jean-Jacques Hiblot07e33712019-07-05 09:33:57 +02001061 nop-test_0 {
1062 compatible = "sandbox,nop_sandbox1";
1063 nop-test_1 {
1064 compatible = "sandbox,nop_sandbox2";
1065 bind = "True";
1066 };
1067 nop-test_2 {
1068 compatible = "sandbox,nop_sandbox2";
1069 bind = "False";
1070 };
1071 };
1072
Roger Quadros2c120372022-10-20 16:30:46 +03001073 memory-controller {
1074 compatible = "sandbox,memory";
1075 };
1076
Mario Six004e67c2018-07-31 14:24:14 +02001077 misc-test {
Sean Anderson3f51ba92022-05-05 13:11:44 -04001078 #address-cells = <1>;
1079 #size-cells = <1>;
Mario Six004e67c2018-07-31 14:24:14 +02001080 compatible = "sandbox,misc_sandbox";
Sean Anderson3f51ba92022-05-05 13:11:44 -04001081
1082 eth5_addr: mac-address@10 {
1083 reg = <0x10 6>;
1084 };
Mario Six004e67c2018-07-31 14:24:14 +02001085 };
1086
Simon Glasse48eeb92017-04-23 20:02:07 -06001087 mmc2 {
1088 compatible = "sandbox,mmc";
Simon Glass6b165ab2021-07-05 16:32:58 -06001089 non-removable;
Simon Glasse48eeb92017-04-23 20:02:07 -06001090 };
1091
Simon Glassfb1451b2022-04-24 23:31:24 -06001092 /* This is used for the bootdev tests */
Simon Glasse48eeb92017-04-23 20:02:07 -06001093 mmc1 {
1094 compatible = "sandbox,mmc";
Simon Glassfb1451b2022-04-24 23:31:24 -06001095 filename = "mmc1.img";
Simon Glasse48eeb92017-04-23 20:02:07 -06001096 };
1097
Simon Glassfb1451b2022-04-24 23:31:24 -06001098 /* This is used for the fastboot tests */
Sughosh Ganu873cf8a2022-10-21 18:16:05 +05301099 mmc0: mmc0 {
Simon Glass8e6cc462015-07-06 12:54:32 -06001100 compatible = "sandbox,mmc";
1101 };
1102
Simon Glass77bec9e2022-10-20 18:23:20 -06001103 /* This is used for VBE VPL tests */
1104 mmc3 {
1105 status = "disabled";
1106 compatible = "sandbox,mmc";
1107 filename = "image.bin";
1108 non-removable;
1109 };
1110
Simon Glassd985f1d2023-01-06 08:52:41 -06001111 /* This is used for bootstd bootmenu tests */
1112 mmc4 {
1113 status = "disabled";
1114 compatible = "sandbox,mmc";
1115 filename = "mmc4.img";
1116 };
1117
Simon Glassd08db022023-08-24 13:55:41 -06001118 /* This is used for ChromiumOS tests */
1119 mmc5 {
1120 status = "disabled";
1121 compatible = "sandbox,mmc";
1122 filename = "mmc5.img";
1123 };
1124
Alexander Gendin04291ee2023-10-09 01:24:36 +00001125 /* This is used for mbr tests */
1126 mmc6 {
1127 status = "disabled";
1128 compatible = "sandbox,mmc";
1129 filename = "mmc6.img";
1130 };
1131
Simon Glassb45c8332019-02-16 20:24:50 -07001132 pch {
1133 compatible = "sandbox,pch";
1134 };
1135
Tom Rini42c64d12020-02-11 12:41:23 -05001136 pci0: pci@0 {
Simon Glassd3b7ff12015-03-05 12:25:34 -07001137 compatible = "sandbox,pci";
1138 device_type = "pci";
Tom Rini42c64d12020-02-11 12:41:23 -05001139 bus-range = <0x00 0xff>;
Simon Glassd3b7ff12015-03-05 12:25:34 -07001140 #address-cells = <3>;
1141 #size-cells = <2>;
Simon Glassb0e2c232019-09-25 08:56:08 -06001142 ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000000
Simon Glassd3b7ff12015-03-05 12:25:34 -07001143 0x01000000 0 0x20000000 0x20000000 0 0x2000>;
Mark Kettenis08386da2023-01-21 20:27:57 +01001144 iommu-map = <0x0010 &iommu 0 1>;
1145 iommu-map-mask = <0xfffffff8>;
Bin Meng2db7f2b2018-08-03 01:14:39 -07001146 pci@0,0 {
1147 compatible = "pci-generic";
1148 reg = <0x0000 0 0 0 0>;
Simon Glass9b69ba42019-09-25 08:56:10 -06001149 sandbox,emul = <&swap_case_emul0_0>;
Bin Meng2db7f2b2018-08-03 01:14:39 -07001150 };
Alex Marginean21ebbaf2019-06-07 11:24:24 +03001151 pci@1,0 {
1152 compatible = "pci-generic";
Simon Glass33c215a2019-09-15 12:08:58 -06001153 /* reg 0 is at 0x14, using FDT_PCI_SPACE_MEM32 */
Simon Glassf69d3d62023-09-26 08:14:58 -06001154 reg = <0x02000814 0 0 0x80 0
1155 0x01000810 0 0 0xc0 0>;
Simon Glass9b69ba42019-09-25 08:56:10 -06001156 sandbox,emul = <&swap_case_emul0_1>;
Alex Marginean21ebbaf2019-06-07 11:24:24 +03001157 };
Simon Glass3e17ffb2019-12-06 21:41:57 -07001158 p2sb-pci@2,0 {
1159 compatible = "sandbox,p2sb";
1160 reg = <0x02001010 0 0 0 0>;
1161 sandbox,emul = <&p2sb_emul>;
1162
1163 adder {
1164 intel,p2sb-port-id = <3>;
1165 compatible = "sandbox,adder";
1166 };
1167 };
Simon Glass3b65ee32019-12-06 21:41:54 -07001168 pci@1e,0 {
1169 compatible = "sandbox,pmc";
1170 reg = <0xf000 0 0 0 0>;
1171 sandbox,emul = <&pmc_emul1e>;
1172 acpi-base = <0x400>;
1173 gpe0-dwx-mask = <0xf>;
1174 gpe0-dwx-shift-base = <4>;
1175 gpe0-dw = <6 7 9>;
1176 gpe0-sts = <0x20>;
1177 gpe0-en = <0x30>;
1178 };
Simon Glassd3b7ff12015-03-05 12:25:34 -07001179 pci@1f,0 {
1180 compatible = "pci-generic";
Simon Glass33c215a2019-09-15 12:08:58 -06001181 /* reg 0 is at 0x10, using FDT_PCI_SPACE_IO */
Simon Glassf69d3d62023-09-26 08:14:58 -06001182 reg = <0x0100f810 0 0 0x100 0>;
Simon Glass9b69ba42019-09-25 08:56:10 -06001183 sandbox,emul = <&swap_case_emul0_1f>;
1184 };
1185 };
1186
1187 pci-emul0 {
1188 compatible = "sandbox,pci-emul-parent";
1189 swap_case_emul0_0: emul0@0,0 {
1190 compatible = "sandbox,swap-case";
1191 };
1192 swap_case_emul0_1: emul0@1,0 {
1193 compatible = "sandbox,swap-case";
1194 use-ea;
1195 };
1196 swap_case_emul0_1f: emul0@1f,0 {
1197 compatible = "sandbox,swap-case";
Simon Glassd3b7ff12015-03-05 12:25:34 -07001198 };
Simon Glass3e17ffb2019-12-06 21:41:57 -07001199 p2sb_emul: emul@2,0 {
1200 compatible = "sandbox,p2sb-emul";
1201 };
Simon Glass3b65ee32019-12-06 21:41:54 -07001202 pmc_emul1e: emul@1e,0 {
1203 compatible = "sandbox,pmc-emul";
1204 };
Simon Glassd3b7ff12015-03-05 12:25:34 -07001205 };
1206
Tom Rini42c64d12020-02-11 12:41:23 -05001207 pci1: pci@1 {
Bin Mengdee4d752018-08-03 01:14:41 -07001208 compatible = "sandbox,pci";
1209 device_type = "pci";
Tom Rini42c64d12020-02-11 12:41:23 -05001210 bus-range = <0x00 0xff>;
Bin Mengdee4d752018-08-03 01:14:41 -07001211 #address-cells = <3>;
1212 #size-cells = <2>;
Suneel Garapati4cf56ec2019-10-19 17:10:20 -07001213 ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000 // MEM0
Andrew Scull55e6adb2022-04-21 16:11:09 +00001214 0x02000000 0 0x31000000 0x3e000000 0 0x2000 // MEM1
Suneel Garapati4cf56ec2019-10-19 17:10:20 -07001215 0x01000000 0 0x40000000 0x40000000 0 0x2000>;
Bin Meng490d13a2018-08-03 01:14:47 -07001216 sandbox,dev-info = <0x08 0x00 0x1234 0x5678
Marek Vasutb59349a2018-10-10 21:27:08 +02001217 0x0c 0x00 0x1234 0x5678
1218 0x10 0x00 0x1234 0x5678>;
1219 pci@10,0 {
1220 reg = <0x8000 0 0 0 0>;
1221 };
Bin Mengdee4d752018-08-03 01:14:41 -07001222 };
1223
Tom Rini42c64d12020-02-11 12:41:23 -05001224 pci2: pci@2 {
Bin Meng3ed214a2018-08-03 01:14:50 -07001225 compatible = "sandbox,pci";
1226 device_type = "pci";
Tom Rini42c64d12020-02-11 12:41:23 -05001227 bus-range = <0x00 0xff>;
Bin Meng3ed214a2018-08-03 01:14:50 -07001228 #address-cells = <3>;
1229 #size-cells = <2>;
1230 ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000
1231 0x01000000 0 0x60000000 0x60000000 0 0x2000>;
1232 sandbox,dev-info = <0x08 0x00 0x1234 0x5678>;
1233 pci@1f,0 {
1234 compatible = "pci-generic";
1235 reg = <0xf800 0 0 0 0>;
Simon Glass9b69ba42019-09-25 08:56:10 -06001236 sandbox,emul = <&swap_case_emul2_1f>;
1237 };
1238 };
1239
1240 pci-emul2 {
1241 compatible = "sandbox,pci-emul-parent";
1242 swap_case_emul2_1f: emul2@1f,0 {
1243 compatible = "sandbox,swap-case";
Bin Meng3ed214a2018-08-03 01:14:50 -07001244 };
1245 };
1246
Ramon Friedbb413332019-04-27 11:15:23 +03001247 pci_ep: pci_ep {
1248 compatible = "sandbox,pci_ep";
1249 };
1250
Simon Glass98561572017-04-23 20:10:44 -06001251 probing {
1252 compatible = "simple-bus";
1253 test1 {
1254 compatible = "denx,u-boot-probe-test";
1255 };
1256
1257 test2 {
1258 compatible = "denx,u-boot-probe-test";
1259 };
1260
1261 test3 {
1262 compatible = "denx,u-boot-probe-test";
1263 };
1264
1265 test4 {
1266 compatible = "denx,u-boot-probe-test";
Jean-Jacques Hiblot6c3af1f2018-11-29 10:57:37 +01001267 first-syscon = <&syscon0>;
1268 second-sys-ctrl = <&another_system_controller>;
Patrick Delaunaya442e612019-03-07 09:57:13 +01001269 third-syscon = <&syscon2>;
Simon Glass98561572017-04-23 20:10:44 -06001270 };
1271 };
1272
Stephen Warren61f5ddc2016-07-13 13:45:31 -06001273 pwrdom: power-domain {
1274 compatible = "sandbox,power-domain";
1275 #power-domain-cells = <1>;
1276 };
1277
1278 power-domain-test {
1279 compatible = "sandbox,power-domain-test";
1280 power-domains = <&pwrdom 2>;
1281 };
1282
Simon Glass5d9a88f2018-10-01 12:22:40 -06001283 pwm: pwm {
Simon Glass43b41562017-04-16 21:01:11 -06001284 compatible = "sandbox,pwm";
Simon Glass5d9a88f2018-10-01 12:22:40 -06001285 #pwm-cells = <2>;
Dario Binacchi55322622021-04-11 09:39:50 +02001286 pinctrl-names = "default";
1287 pinctrl-0 = <&pinmux_pwm_pins>;
Simon Glass43b41562017-04-16 21:01:11 -06001288 };
1289
1290 pwm2 {
1291 compatible = "sandbox,pwm";
Simon Glass5d9a88f2018-10-01 12:22:40 -06001292 #pwm-cells = <2>;
Simon Glass43b41562017-04-16 21:01:11 -06001293 };
1294
Simon Glass64ce0ca2015-07-06 12:54:31 -06001295 ram {
1296 compatible = "sandbox,ram";
1297 };
1298
Simon Glass5010d982015-07-06 12:54:29 -06001299 reset@0 {
1300 compatible = "sandbox,warm-reset";
Simon Glass8c103c32023-02-13 08:56:33 -07001301 bootph-some-ram;
Simon Glass5010d982015-07-06 12:54:29 -06001302 };
1303
1304 reset@1 {
1305 compatible = "sandbox,reset";
Simon Glass8c103c32023-02-13 08:56:33 -07001306 bootph-some-ram;
Simon Glass5010d982015-07-06 12:54:29 -06001307 };
1308
Stephen Warren4581b712016-06-17 09:43:59 -06001309 resetc: reset-ctl {
1310 compatible = "sandbox,reset-ctl";
1311 #reset-cells = <1>;
1312 };
1313
1314 reset-ctl-test {
1315 compatible = "sandbox,reset-ctl-test";
Neil Armstrongbdfe6902021-04-20 10:42:25 +02001316 resets = <&resetc 100>, <&resetc 2>, <&resetc 20>, <&resetc 40>;
1317 reset-names = "other", "test", "test2", "test3";
Stephen Warren4581b712016-06-17 09:43:59 -06001318 };
1319
Sughosh Ganuff0dada2019-12-28 23:58:31 +05301320 rng {
1321 compatible = "sandbox,sandbox-rng";
1322 };
1323
Nishanth Menon52159402015-09-17 15:42:41 -05001324 rproc_1: rproc@1 {
1325 compatible = "sandbox,test-processor";
1326 remoteproc-name = "remoteproc-test-dev1";
1327 };
1328
1329 rproc_2: rproc@2 {
1330 compatible = "sandbox,test-processor";
1331 internal-memory-mapped;
1332 remoteproc-name = "remoteproc-test-dev2";
1333 };
1334
Simon Glass5d9a88f2018-10-01 12:22:40 -06001335 panel {
1336 compatible = "simple-panel";
1337 backlight = <&backlight 0 100>;
1338 };
1339
Simon Glass22c80d52022-09-21 16:21:47 +02001340 scsi {
1341 compatible = "sandbox,scsi";
1342 sandbox,filepath = "scsi.img";
1343 };
1344
Ramon Fried7fd7e2c2018-07-02 02:57:59 +03001345 smem@0 {
1346 compatible = "sandbox,smem";
1347 };
1348
Simon Glassd4901892018-12-10 10:37:36 -07001349 sound {
1350 compatible = "sandbox,sound";
1351 cpu {
1352 sound-dai = <&i2s 0>;
1353 };
1354
1355 codec {
1356 sound-dai = <&audio 0>;
1357 };
1358 };
1359
Simon Glass0ae0cb72014-10-13 23:42:11 -06001360 spi@0 {
1361 #address-cells = <1>;
1362 #size-cells = <0>;
Simon Glass0503e822015-07-06 12:54:36 -06001363 reg = <0 1>;
Simon Glass0ae0cb72014-10-13 23:42:11 -06001364 compatible = "sandbox,spi";
Ovidiu Panait1dc53ce2020-12-14 19:06:47 +02001365 cs-gpios = <0>, <0>, <&gpio_a 0>;
Dario Binacchi55322622021-04-11 09:39:50 +02001366 pinctrl-names = "default";
1367 pinctrl-0 = <&pinmux_spi0_pins>;
1368
Simon Glass0ae0cb72014-10-13 23:42:11 -06001369 spi.bin@0 {
1370 reg = <0>;
Neil Armstrongffd4c7c2019-02-10 10:16:20 +00001371 compatible = "spansion,m25p16", "jedec,spi-nor";
Simon Glass0ae0cb72014-10-13 23:42:11 -06001372 spi-max-frequency = <40000000>;
1373 sandbox,filename = "spi.bin";
1374 };
Ovidiu Panait1dc53ce2020-12-14 19:06:47 +02001375 spi.bin@1 {
1376 reg = <1>;
1377 compatible = "spansion,m25p16", "jedec,spi-nor";
1378 spi-max-frequency = <50000000>;
1379 sandbox,filename = "spi.bin";
1380 spi-cpol;
1381 spi-cpha;
1382 };
Simon Glass0ae0cb72014-10-13 23:42:11 -06001383 };
1384
Jean-Jacques Hiblot6c3af1f2018-11-29 10:57:37 +01001385 syscon0: syscon@0 {
Simon Glass04035fd2015-07-06 12:54:35 -06001386 compatible = "sandbox,syscon0";
Mario Six82744c22018-10-04 09:00:40 +02001387 reg = <0x10 16>;
Simon Glass04035fd2015-07-06 12:54:35 -06001388 };
1389
Jean-Jacques Hiblot6c3af1f2018-11-29 10:57:37 +01001390 another_system_controller: syscon@1 {
Simon Glass04035fd2015-07-06 12:54:35 -06001391 compatible = "sandbox,syscon1";
Simon Glass0503e822015-07-06 12:54:36 -06001392 reg = <0x20 5
1393 0x28 6
1394 0x30 7
1395 0x38 8>;
Simon Glass04035fd2015-07-06 12:54:35 -06001396 };
1397
Patrick Delaunaya442e612019-03-07 09:57:13 +01001398 syscon2: syscon@2 {
Masahiro Yamada99552c32018-04-23 13:26:53 +09001399 compatible = "simple-mfd", "syscon";
1400 reg = <0x40 5
1401 0x48 6
1402 0x50 7
1403 0x58 8>;
1404 };
1405
Jean-Jacques Hiblot739592c2020-10-16 16:16:34 +05301406 syscon3: syscon@3 {
1407 compatible = "simple-mfd", "syscon";
1408 reg = <0x000100 0x10>;
1409
1410 muxcontroller0: a-mux-controller {
1411 compatible = "mmio-mux";
1412 #mux-control-cells = <1>;
1413
1414 mux-reg-masks = <0x0 0x30>, /* 0: reg 0x0, bits 5:4 */
1415 <0xc 0x1E>, /* 1: reg 0xc, bits 4:1 */
1416 <0x4 0xFF>; /* 2: reg 0x4, bits 7:0 */
1417 idle-states = <MUX_IDLE_AS_IS>, <0x02>, <0x73>;
1418 u-boot,mux-autoprobe;
1419 };
1420 };
1421
1422 muxcontroller1: emul-mux-controller {
1423 compatible = "mux-emul";
1424 #mux-control-cells = <0>;
1425 u-boot,mux-autoprobe;
1426 idle-state = <0xabcd>;
1427 };
1428
Simon Glass93f44e82020-12-16 21:20:27 -07001429 testfdtm0 {
1430 compatible = "denx,u-boot-fdtm-test";
1431 };
1432
1433 testfdtm1: testfdtm1 {
1434 compatible = "denx,u-boot-fdtm-test";
1435 };
1436
1437 testfdtm2 {
1438 compatible = "denx,u-boot-fdtm-test";
1439 };
1440
Sean Anderson7616e362020-09-28 10:52:23 -04001441 timer@0 {
Thomas Choue7cc8d12015-12-11 16:27:34 +08001442 compatible = "sandbox,timer";
1443 clock-frequency = <1000000>;
1444 };
1445
Sean Anderson7616e362020-09-28 10:52:23 -04001446 timer@1 {
1447 compatible = "sandbox,timer";
1448 sandbox,timebase-frequency-fallback;
1449 };
1450
Miquel Raynalb91ad162018-05-15 11:57:27 +02001451 tpm2 {
1452 compatible = "sandbox,tpm2";
Eddie James5999ea22023-10-24 10:43:51 -05001453 memory-region = <&event_log>;
Miquel Raynalb91ad162018-05-15 11:57:27 +02001454 };
1455
Simon Glass4fef6572023-02-21 06:24:51 -07001456 tpm {
1457 compatible = "google,sandbox-tpm";
1458 };
1459
Simon Glass171e9912015-05-22 15:42:15 -06001460 uart0: serial {
1461 compatible = "sandbox,serial";
Simon Glass8c103c32023-02-13 08:56:33 -07001462 bootph-all;
Dario Binacchi55322622021-04-11 09:39:50 +02001463 pinctrl-names = "default";
1464 pinctrl-0 = <&pinmux_uart0_pins>;
Joe Hershbergerbfacad72015-03-22 17:09:15 -05001465 };
1466
Simon Glasse00cb222015-03-25 12:23:05 -06001467 usb_0: usb@0 {
1468 compatible = "sandbox,usb";
1469 status = "disabled";
1470 hub {
1471 compatible = "sandbox,usb-hub";
1472 #address-cells = <1>;
1473 #size-cells = <0>;
1474 flash-stick {
1475 reg = <0>;
1476 compatible = "sandbox,usb-flash";
1477 };
1478 };
1479 };
1480
1481 usb_1: usb@1 {
1482 compatible = "sandbox,usb";
Mark Kettenisfb574622021-10-23 16:58:02 +02001483 iommus = <&iommu>;
Simon Glasse00cb222015-03-25 12:23:05 -06001484 hub {
1485 compatible = "usb-hub";
1486 usb,device-class = <9>;
Michael Wallec03b7612020-06-02 01:47:07 +02001487 #address-cells = <1>;
1488 #size-cells = <0>;
Simon Glasse00cb222015-03-25 12:23:05 -06001489 hub-emul {
1490 compatible = "sandbox,usb-hub";
1491 #address-cells = <1>;
1492 #size-cells = <0>;
Simon Glass431cbd62015-11-08 23:48:01 -07001493 flash-stick@0 {
Simon Glasse00cb222015-03-25 12:23:05 -06001494 reg = <0>;
1495 compatible = "sandbox,usb-flash";
1496 sandbox,filepath = "testflash.bin";
1497 };
1498
Simon Glass431cbd62015-11-08 23:48:01 -07001499 flash-stick@1 {
1500 reg = <1>;
1501 compatible = "sandbox,usb-flash";
1502 sandbox,filepath = "testflash1.bin";
1503 };
1504
1505 flash-stick@2 {
1506 reg = <2>;
1507 compatible = "sandbox,usb-flash";
1508 sandbox,filepath = "testflash2.bin";
1509 };
1510
Simon Glassbff1a712015-11-08 23:48:08 -07001511 keyb@3 {
1512 reg = <3>;
1513 compatible = "sandbox,usb-keyb";
1514 };
1515
Simon Glasse00cb222015-03-25 12:23:05 -06001516 };
Michael Wallec03b7612020-06-02 01:47:07 +02001517
1518 usbstor@1 {
1519 reg = <1>;
1520 };
1521 usbstor@3 {
1522 reg = <3>;
1523 };
Simon Glasse00cb222015-03-25 12:23:05 -06001524 };
1525 };
1526
1527 usb_2: usb@2 {
1528 compatible = "sandbox,usb";
1529 status = "disabled";
1530 };
1531
Mateusz Kulikowskid33776e2016-03-31 23:12:28 +02001532 spmi: spmi@0 {
1533 compatible = "sandbox,spmi";
1534 #address-cells = <0x1>;
1535 #size-cells = <0x1>;
Simon Glassa605b0f2019-09-25 08:55:59 -06001536 ranges;
Mateusz Kulikowskid33776e2016-03-31 23:12:28 +02001537 pm8916@0 {
1538 compatible = "qcom,spmi-pmic";
1539 reg = <0x0 0x1>;
1540 #address-cells = <0x1>;
1541 #size-cells = <0x1>;
Simon Glassa605b0f2019-09-25 08:55:59 -06001542 ranges;
Mateusz Kulikowskid33776e2016-03-31 23:12:28 +02001543
1544 spmi_gpios: gpios@c000 {
1545 compatible = "qcom,pm8916-gpio";
1546 reg = <0xc000 0x400>;
1547 gpio-controller;
1548 gpio-count = <4>;
1549 #gpio-cells = <2>;
1550 gpio-bank-name="spmi";
1551 };
1552 };
1553 };
maxims@google.com0753bc22017-04-17 12:00:21 -07001554
1555 wdt0: wdt@0 {
1556 compatible = "sandbox,wdt";
Rasmus Villemoes4171c572021-08-19 11:57:06 +02001557 hw_margin_ms = <200>;
maxims@google.com0753bc22017-04-17 12:00:21 -07001558 };
Rob Clarkf2006802018-01-10 11:33:30 +01001559
Mario Six957983e2018-08-09 14:51:19 +02001560 axi: axi@0 {
1561 compatible = "sandbox,axi";
1562 #address-cells = <0x1>;
1563 #size-cells = <0x1>;
1564 store@0 {
1565 compatible = "sandbox,sandbox_store";
1566 reg = <0x0 0x400>;
1567 };
1568 };
1569
Rob Clarkf2006802018-01-10 11:33:30 +01001570 chosen {
Simon Glass7e878162018-02-03 10:36:58 -07001571 #address-cells = <1>;
1572 #size-cells = <1>;
Simon Glass14ca9f72020-01-27 08:49:43 -07001573 setting = "sunrise ohoka";
1574 other-node = "/some-bus/c-test@5";
Simon Glassbd933bf2020-01-27 08:49:46 -07001575 int-values = <0x1937 72993>;
Simon Glass0f7b1112020-07-07 13:12:06 -06001576 u-boot,acpi-ssdt-order = <&acpi_test2 &acpi_test1>;
Algapally Santosh Sagarbd9ff682023-09-21 16:50:43 +05301577 stdout-path = "serial0:115200n8";
Rob Clarkf2006802018-01-10 11:33:30 +01001578 chosen-test {
1579 compatible = "denx,u-boot-fdt-test";
1580 reg = <9 1>;
1581 };
1582 };
Mario Sixe8d52912018-03-12 14:53:33 +01001583
1584 translation-test@8000 {
1585 compatible = "simple-bus";
1586 reg = <0x8000 0x4000>;
1587
1588 #address-cells = <0x2>;
1589 #size-cells = <0x1>;
1590
1591 ranges = <0 0x0 0x8000 0x1000
1592 1 0x100 0x9000 0x1000
1593 2 0x200 0xA000 0x1000
1594 3 0x300 0xB000 0x1000
1595 >;
1596
Fabien Dessenne641067f2019-05-31 15:11:30 +02001597 dma-ranges = <0 0x000 0x10000000 0x1000
1598 1 0x100 0x20000000 0x1000
1599 >;
1600
Mario Sixe8d52912018-03-12 14:53:33 +01001601 dev@0,0 {
1602 compatible = "denx,u-boot-fdt-dummy";
1603 reg = <0 0x0 0x1000>;
Álvaro Fernández Rojas79598822018-12-03 19:37:09 +01001604 reg-names = "sandbox-dummy-0";
Mario Sixe8d52912018-03-12 14:53:33 +01001605 };
1606
1607 dev@1,100 {
1608 compatible = "denx,u-boot-fdt-dummy";
1609 reg = <1 0x100 0x1000>;
1610
1611 };
1612
1613 dev@2,200 {
1614 compatible = "denx,u-boot-fdt-dummy";
1615 reg = <2 0x200 0x1000>;
1616 };
1617
1618
1619 noxlatebus@3,300 {
1620 compatible = "simple-bus";
1621 reg = <3 0x300 0x1000>;
1622
1623 #address-cells = <0x1>;
1624 #size-cells = <0x0>;
1625
1626 dev@42 {
1627 compatible = "denx,u-boot-fdt-dummy";
1628 reg = <0x42>;
1629 };
1630 };
1631 };
Mario Six4eea5312018-09-27 09:19:31 +02001632
Dzmitry Sankouski298ffdd2023-01-22 18:21:23 +03001633 ofnode-foreach {
1634 compatible = "foreach";
1635
1636 first {
1637 prop1 = <1>;
1638 prop2 = <2>;
1639 };
1640
1641 second {
1642 prop1 = <1>;
1643 prop2 = <2>;
1644 };
1645 };
1646
Mario Six4eea5312018-09-27 09:19:31 +02001647 osd {
1648 compatible = "sandbox,sandbox_osd";
1649 };
Tom Rinid24c1d02018-09-30 18:16:51 -04001650
Jens Wiklanderfa830ae2018-09-25 16:40:16 +02001651 sandbox_tee {
1652 compatible = "sandbox,tee";
1653 };
Bin Meng4f89d492018-10-15 02:21:26 -07001654
1655 sandbox_virtio1 {
1656 compatible = "sandbox,virtio1";
Simon Glass00fc8ca2023-01-17 10:47:51 -07001657 virtio-type = <4>; /* rng */
Bin Meng4f89d492018-10-15 02:21:26 -07001658 };
1659
1660 sandbox_virtio2 {
1661 compatible = "sandbox,virtio2";
1662 };
Patrice Chotardf41a8242018-10-24 14:10:23 +02001663
Simon Glass00fc8ca2023-01-17 10:47:51 -07001664 sandbox-virtio-blk {
1665 compatible = "sandbox,virtio1";
1666 virtio-type = <2>; /* block */
1667 };
1668
Etienne Carriere87d4f272020-09-09 18:44:05 +02001669 sandbox_scmi {
1670 compatible = "sandbox,scmi-devices";
AKASHI Takahiro8e545b32023-10-16 14:39:45 +09001671 power-domains = <&pwrdom_scmi 2>;
Etienne Carriere10d3e5d2022-02-21 09:22:41 +01001672 clocks = <&clk_scmi 2>, <&clk_scmi 0>;
Etienne Carriere41d62e22022-02-21 09:22:39 +01001673 resets = <&reset_scmi 3>;
1674 regul0-supply = <&regul0_scmi>;
1675 regul1-supply = <&regul1_scmi>;
Etienne Carriere87d4f272020-09-09 18:44:05 +02001676 };
1677
Patrice Chotardf41a8242018-10-24 14:10:23 +02001678 pinctrl {
1679 compatible = "sandbox,pinctrl";
Patrick Delaunayd15c05b2020-01-13 11:35:12 +01001680
Sean Anderson7f0f1802020-09-14 11:01:57 -04001681 pinctrl-names = "default", "alternate";
1682 pinctrl-0 = <&pinctrl_gpios>, <&pinctrl_i2s>;
1683 pinctrl-1 = <&pinctrl_spi>, <&pinctrl_i2c>;
Patrick Delaunayd15c05b2020-01-13 11:35:12 +01001684
Sean Anderson7f0f1802020-09-14 11:01:57 -04001685 pinctrl_gpios: gpios {
Patrick Delaunayd15c05b2020-01-13 11:35:12 +01001686 gpio0 {
Sean Anderson7f0f1802020-09-14 11:01:57 -04001687 pins = "P5";
1688 function = "GPIO";
Patrick Delaunayd15c05b2020-01-13 11:35:12 +01001689 bias-pull-up;
1690 input-disable;
1691 };
1692 gpio1 {
Sean Anderson7f0f1802020-09-14 11:01:57 -04001693 pins = "P6";
1694 function = "GPIO";
Patrick Delaunayd15c05b2020-01-13 11:35:12 +01001695 output-high;
1696 drive-open-drain;
1697 };
1698 gpio2 {
Sean Anderson7f0f1802020-09-14 11:01:57 -04001699 pinmux = <SANDBOX_PINMUX(7, SANDBOX_PINMUX_GPIO)>;
Patrick Delaunayd15c05b2020-01-13 11:35:12 +01001700 bias-pull-down;
1701 input-enable;
1702 };
1703 gpio3 {
Sean Anderson7f0f1802020-09-14 11:01:57 -04001704 pinmux = <SANDBOX_PINMUX(8, SANDBOX_PINMUX_GPIO)>;
Patrick Delaunayd15c05b2020-01-13 11:35:12 +01001705 bias-disable;
1706 };
1707 };
Sean Anderson7f0f1802020-09-14 11:01:57 -04001708
1709 pinctrl_i2c: i2c {
1710 groups {
1711 groups = "I2C_UART";
1712 function = "I2C";
1713 };
1714
1715 pins {
1716 pins = "P0", "P1";
1717 drive-open-drain;
1718 };
1719 };
1720
1721 pinctrl_i2s: i2s {
1722 groups = "SPI_I2S";
1723 function = "I2S";
1724 };
1725
1726 pinctrl_spi: spi {
1727 groups = "SPI_I2S";
1728 function = "SPI";
1729
1730 cs {
1731 pinmux = <SANDBOX_PINMUX(5, SANDBOX_PINMUX_CS)>,
1732 <SANDBOX_PINMUX(6, SANDBOX_PINMUX_CS)>;
1733 };
1734 };
Patrice Chotardf41a8242018-10-24 14:10:23 +02001735 };
Benjamin Gaignard7f84fc62018-11-27 13:49:50 +01001736
Dario Binacchi55322622021-04-11 09:39:50 +02001737 pinctrl-single-no-width {
1738 compatible = "pinctrl-single";
1739 reg = <0x0000 0x238>;
1740 #pinctrl-cells = <1>;
1741 pinctrl-single,function-mask = <0x7f>;
1742 };
1743
1744 pinctrl-single-pins {
1745 compatible = "pinctrl-single";
1746 reg = <0x0000 0x238>;
1747 #pinctrl-cells = <1>;
1748 pinctrl-single,register-width = <32>;
1749 pinctrl-single,function-mask = <0x7f>;
1750
1751 pinmux_pwm_pins: pinmux_pwm_pins {
1752 pinctrl-single,pins = < 0x48 0x06 >;
1753 };
1754
1755 pinmux_spi0_pins: pinmux_spi0_pins {
1756 pinctrl-single,pins = <
1757 0x190 0x0c
1758 0x194 0x0c
1759 0x198 0x23
1760 0x19c 0x0c
1761 >;
1762 };
1763
1764 pinmux_uart0_pins: pinmux_uart0_pins {
1765 pinctrl-single,pins = <
1766 0x70 0x30
1767 0x74 0x00
1768 >;
1769 };
1770 };
1771
1772 pinctrl-single-bits {
1773 compatible = "pinctrl-single";
1774 reg = <0x0000 0x50>;
1775 #pinctrl-cells = <2>;
1776 pinctrl-single,bit-per-mux;
1777 pinctrl-single,register-width = <32>;
1778 pinctrl-single,function-mask = <0xf>;
1779
1780 pinmux_i2c0_pins: pinmux_i2c0_pins {
1781 pinctrl-single,bits = <
1782 0x10 0x00002200 0x0000ff00
1783 >;
1784 };
1785
1786 pinmux_lcd_pins: pinmux_lcd_pins {
1787 pinctrl-single,bits = <
1788 0x40 0x22222200 0xffffff00
1789 0x44 0x22222222 0xffffffff
1790 0x48 0x00000022 0x000000ff
1791 0x48 0x02000000 0x0f000000
1792 0x4c 0x02000022 0x0f0000ff
1793 >;
1794 };
1795 };
1796
Benjamin Gaignard7f84fc62018-11-27 13:49:50 +01001797 hwspinlock@0 {
1798 compatible = "sandbox,hwspinlock";
1799 };
Grygorii Strashkob3309912018-11-28 19:17:51 +01001800
1801 dma: dma {
1802 compatible = "sandbox,dma";
1803 #dma-cells = <1>;
1804
1805 dmas = <&dma 0>, <&dma 1>, <&dma 2>;
1806 dma-names = "m2m", "tx0", "rx0";
1807 };
Alex Margineanec9594a2019-06-03 19:12:28 +03001808
Alex Margineanc3d9f3f2019-07-12 10:13:53 +03001809 /*
1810 * keep mdio-mux ahead of mdio so that the mux is removed first at the
1811 * end of the test. If parent mdio is removed first, clean-up of the
1812 * mux will trigger a 2nd probe of parent-mdio, leaving parent-mdio
1813 * active at the end of the test. That it turn doesn't allow the mdio
1814 * class to be destroyed, triggering an error.
1815 */
1816 mdio-mux-test {
1817 compatible = "sandbox,mdio-mux";
1818 #address-cells = <1>;
1819 #size-cells = <0>;
1820 mdio-parent-bus = <&mdio>;
1821
1822 mdio-ch-test@0 {
1823 reg = <0>;
1824 };
1825 mdio-ch-test@1 {
1826 reg = <1>;
1827 };
1828 };
1829
1830 mdio: mdio-test {
Alex Margineanec9594a2019-06-03 19:12:28 +03001831 compatible = "sandbox,mdio";
Marek Behúnf3dd2132022-04-07 00:32:57 +02001832 #address-cells = <1>;
1833 #size-cells = <0>;
1834
1835 ethphy1: ethernet-phy@1 {
1836 reg = <1>;
1837 };
Alex Margineanec9594a2019-06-03 19:12:28 +03001838 };
Sean Anderson4a3390f2020-06-24 06:41:12 -04001839
1840 pm-bus-test {
1841 compatible = "simple-pm-bus";
1842 clocks = <&clk_sandbox 4>;
1843 power-domains = <&pwrdom 1>;
1844 };
Sean Anderson038b13e2020-06-24 06:41:14 -04001845
1846 resetc2: syscon-reset {
1847 compatible = "syscon-reset";
1848 #reset-cells = <1>;
1849 regmap = <&syscon0>;
1850 offset = <1>;
1851 mask = <0x27FFFFFF>;
1852 assert-high = <0>;
1853 };
1854
1855 syscon-reset-test {
1856 compatible = "sandbox,misc_sandbox";
1857 resets = <&resetc2 15>, <&resetc2 30>, <&resetc2 60>;
1858 reset-names = "valid", "no_mask", "out_of_range";
1859 };
Jean-Jacques Hiblot0ced26a2020-09-24 10:04:18 +05301860
Simon Glass3a8ee3d2020-11-05 06:32:05 -07001861 sysinfo {
1862 compatible = "sandbox,sysinfo-sandbox";
1863 };
1864
Sean Anderson1cbfed82021-04-20 10:50:58 -04001865 sysinfo-gpio {
1866 compatible = "gpio-sysinfo";
1867 gpios = <&gpio_a 15>, <&gpio_a 16>, <&gpio_a 17>;
1868 revisions = <19>, <5>;
1869 names = "rev_a", "foo";
1870 };
1871
Jean-Jacques Hiblot0ced26a2020-09-24 10:04:18 +05301872 some_regmapped-bus {
1873 #address-cells = <0x1>;
1874 #size-cells = <0x1>;
1875
1876 ranges = <0x0 0x0 0x10>;
1877 compatible = "simple-bus";
1878
1879 regmap-test_0 {
1880 reg = <0 0x10>;
1881 compatible = "sandbox,regmap_test";
1882 };
1883 };
Robert Marko1fad2cb2022-09-06 13:30:35 +02001884
1885 thermal {
1886 compatible = "sandbox,thermal";
1887 };
Sughosh Ganu873cf8a2022-10-21 18:16:05 +05301888
1889 fwu-mdata {
1890 compatible = "u-boot,fwu-mdata-gpt";
1891 fwu-mdata-store = <&mmc0>;
1892 };
Abdellatif El Khlificc89b7c2023-04-17 10:11:55 +01001893
1894 nvmxip-qspi1@08000000 {
1895 compatible = "nvmxip,qspi";
1896 reg = <0x08000000 0x00200000>;
1897 lba_shift = <9>;
1898 lba = <4096>;
1899 };
1900
1901 nvmxip-qspi2@08200000 {
1902 compatible = "nvmxip,qspi";
1903 reg = <0x08200000 0x00100000>;
1904 lba_shift = <9>;
1905 lba = <2048>;
1906 };
Svyatoslav Ryhel8b215e12023-04-25 10:57:21 +03001907
1908 extcon {
1909 compatible = "sandbox,extcon";
1910 };
Abdellatif El Khlifia09852d2023-08-04 14:33:41 +01001911
1912 arm-ffa-emul {
1913 compatible = "sandbox,arm-ffa-emul";
1914
1915 sandbox-arm-ffa {
1916 compatible = "sandbox,arm-ffa";
1917 };
1918 };
Sean Andersonbc8e8a42023-11-04 16:37:52 -04001919
1920 nand-controller {
1921 #address-cells = <1>;
1922 #size-cells = <0>;
1923 compatible = "sandbox,nand";
1924
1925 nand@0 {
1926 reg = <0>;
1927 nand-ecc-mode = "soft";
1928 sandbox,id = [00 e3];
1929 sandbox,erasesize = <(8 * 1024)>;
1930 sandbox,oobsize = <16>;
1931 sandbox,pagesize = <512>;
1932 sandbox,pages = <0x2000>;
1933 sandbox,err-count = <1>;
1934 sandbox,err-step-size = <512>;
1935 };
1936
1937 /* MT29F64G08AKABA */
1938 nand@1 {
1939 reg = <1>;
1940 nand-ecc-mode = "soft_bch";
1941 sandbox,id = [2C 48 00 26 89 00 00 00];
1942 sandbox,onfi = [
1943 4f 4e 46 49 0e 00 5a 00
1944 ff 01 00 00 00 00 03 00
1945 00 00 00 00 00 00 00 00
1946 00 00 00 00 00 00 00 00
1947 4d 49 43 52 4f 4e 20 20
1948 20 20 20 20 4d 54 32 39
1949 46 36 34 47 30 38 41 4b
1950 41 42 41 43 35 20 20 20
1951 2c 00 00 00 00 00 00 00
1952 00 00 00 00 00 00 00 00
1953 00 10 00 00 e0 00 00 02
1954 00 00 1c 00 80 00 00 00
1955 00 10 00 00 02 23 01 50
1956 00 01 05 01 00 00 04 00
1957 04 01 1e 00 00 00 00 00
1958 00 00 00 00 00 00 00 00
1959 0e 1f 00 1f 00 f4 01 ac
1960 0d 19 00 c8 00 00 00 00
1961 00 00 00 00 00 00 0a 07
1962 19 00 00 00 00 00 00 00
1963 00 00 00 00 01 00 01 00
1964 00 00 04 10 01 81 04 02
1965 02 01 1e 90 00 00 00 00
1966 00 00 00 00 00 00 00 00
1967 00 00 00 00 00 00 00 00
1968 00 00 00 00 00 00 00 00
1969 00 00 00 00 00 00 00 00
1970 00 00 00 00 00 00 00 00
1971 00 00 00 00 00 00 00 00
1972 00 00 00 00 00 00 00 00
1973 00 00 00 00 00 00 00 00
1974 00 00 00 00 00 03 20 7d
1975 ];
1976 sandbox,erasesize = <(512 * 1024)>;
1977 sandbox,oobsize = <224>;
1978 sandbox,pagesize = <4096>;
1979 sandbox,pages = <0x200000>;
1980 sandbox,err-count = <3>;
1981 sandbox,err-step-size = <512>;
1982 };
1983 };
Simon Glass2e7d35d2014-02-26 15:59:21 -07001984};
Przemyslaw Marczak9038cd52015-05-13 13:38:35 +02001985
1986#include "sandbox_pmic.dtsi"
Heinrich Schuchardt4a2a78c2021-02-18 13:01:35 +01001987#include "cros-ec-keyboard.dtsi"
Simon Glass8de98962022-10-20 18:23:15 -06001988
1989#ifdef CONFIG_SANDBOX_VPL
1990#include "sandbox_vpl.dtsi"
1991#endif
Simon Glass82cafee2023-06-01 10:23:01 -06001992
1993#include "cedit.dtsi"