Prepare v2023.10
[platform/kernel/u-boot.git] / arch / sandbox / dts / test.dts
1 // 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
10 /dts-v1/;
11
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/gpio/sandbox-gpio.h>
14 #include <dt-bindings/input/input.h>
15 #include <dt-bindings/pinctrl/sandbox-pinmux.h>
16 #include <dt-bindings/mux/mux.h>
17
18 / {
19         model = "sandbox";
20         compatible = "sandbox";
21         #address-cells = <1>;
22         #size-cells = <1>;
23
24         aliases {
25                 console = &uart0;
26                 ethernet0 = "/eth@10002000";
27                 ethernet2 = &swp_0;
28                 ethernet3 = &eth_3;
29                 ethernet4 = &dsa_eth0;
30                 ethernet5 = &eth_5;
31                 ethernet6 = "/eth@10004000";
32                 ethernet7 = &swp_1;
33                 ethernet8 = &phy_eth0;
34                 gpio1 = &gpio_a;
35                 gpio2 = &gpio_b;
36                 gpio3 = &gpio_c;
37                 i2c0 = "/i2c@0";
38                 mmc0 = "/mmc0";
39                 mmc1 = "/mmc1";
40                 mmc2 = "/mmc2";
41                 mmc3 = "/mmc3";
42                 pci0 = &pci0;
43                 pci1 = &pci1;
44                 pci2 = &pci2;
45                 remoteproc0 = &rproc_1;
46                 remoteproc1 = &rproc_2;
47                 rtc0 = &rtc_0;
48                 rtc1 = &rtc_1;
49                 spi0 = "/spi@0";
50                 testfdt6 = "/e-test";
51                 testbus3 = "/some-bus";
52                 testfdt0 = "/some-bus/c-test@0";
53                 testfdt12 = "/some-bus/c-test@1";
54                 testfdt3 = "/b-test";
55                 testfdt5 = "/some-bus/c-test@5";
56                 testfdt8 = "/a-test";
57                 testfdtm1 = &testfdtm1;
58                 fdt-dummy0 = "/translation-test@8000/dev@0,0";
59                 fdt-dummy1 = "/translation-test@8000/dev@1,100";
60                 fdt-dummy2 = "/translation-test@8000/dev@2,200";
61                 fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42";
62                 usb0 = &usb_0;
63                 usb1 = &usb_1;
64                 usb2 = &usb_2;
65                 axi0 = &axi;
66                 osd0 = "/osd";
67         };
68
69         binman: binman {
70         };
71
72         config {
73                 testing-bool;
74                 testing-int = <123>;
75                 testing-str = "testing";
76                 environment {
77                         from_fdt = "yes";
78                         fdt_env_path = "";
79                 };
80         };
81
82         bootstd {
83                 bootph-verify;
84                 compatible = "u-boot,boot-std";
85
86                 filename-prefixes = "/", "/boot/";
87                 bootdev-order = "mmc2", "mmc1";
88
89                 extlinux {
90                         compatible = "u-boot,extlinux";
91                 };
92
93                 efi {
94                         compatible = "u-boot,distro-efi";
95                 };
96
97                 theme {
98                         font-size = <30>;
99                         menu-inset = <3>;
100                         menuitem-gap-y = <1>;
101                 };
102
103                 /*
104                  * This is used for the VBE OS-request tests. A FAT filesystem
105                  * created in a partition with the VBE information appearing
106                  * before the partition starts
107                  */
108                 firmware0 {
109                         bootph-verify;
110                         compatible = "fwupd,vbe-simple";
111                         storage = "mmc1";
112                         skip-offset = <0x200>;
113                         area-start = <0x400>;
114                         area-size = <0x1000>;
115                         state-offset = <0x400>;
116                         state-size = <0x40>;
117                         version-offset = <0x800>;
118                         version-size = <0x100>;
119                 };
120
121                 /*
122                  * This is used for the VBE VPL tests. The MMC device holds the
123                  * binman image.bin file. The test progresses through each phase
124                  * of U-Boot, loading each in turn from MMC.
125                  *
126                  * Note that the test enables this node (and mmc3) before
127                  * running U-Boot
128                  */
129                 firmware1 {
130                         bootph-verify;
131                         status = "disabled";
132                         compatible = "fwupd,vbe-simple";
133                         storage = "mmc3";
134                         skip-offset = <0x800000>;
135                         area-start = <0>;
136                         area-size = <0xe00000>;
137                         state-offset = <0xdffc00>;
138                         state-size = <0x40>;
139                         version-offset = <0xdffe00>;
140                         version-size = <0x100>;
141                 };
142         };
143
144         cedit: cedit {
145         };
146
147         cedit-theme {
148                 font-size = <30>;
149                 menu-inset = <3>;
150                 menuitem-gap-y = <1>;
151         };
152
153         fuzzing-engine {
154                 compatible = "sandbox,fuzzing-engine";
155         };
156
157         reboot-mode0 {
158                 compatible = "reboot-mode-gpio";
159                 gpios = <&gpio_c 0 GPIO_ACTIVE_HIGH>, <&gpio_c 1 GPIO_ACTIVE_HIGH>;
160                 u-boot,env-variable = "bootstatus";
161                 mode-test = <0x01>;
162                 mode-download = <0x03>;
163         };
164
165         reboot_mode1: reboot-mode@14 {
166                 compatible = "reboot-mode-rtc";
167                 rtc = <&rtc_0>;
168                 reg = <0x30 4>;
169                 u-boot,env-variable = "bootstatus";
170                 big-endian;
171                 mode-test = <0x21969147>;
172                 mode-download = <0x51939147>;
173         };
174
175         audio: audio-codec {
176                 compatible = "sandbox,audio-codec";
177                 #sound-dai-cells = <1>;
178         };
179
180         buttons {
181                 compatible = "gpio-keys";
182
183                 btn1 {
184                         gpios = <&gpio_a 3 0>;
185                         label = "button1";
186                         linux,code = <BTN_1>;
187                 };
188
189                 btn2 {
190                         gpios = <&gpio_a 4 0>;
191                         label = "button2";
192                         linux,code = <BTN_2>;
193                 };
194         };
195
196         buttons2 {
197                 compatible = "adc-keys";
198                 io-channels = <&adc 3>;
199                 keyup-threshold-microvolt = <3000000>;
200
201                 button-up {
202                         label = "button3";
203                         linux,code = <KEY_F3>;
204                         press-threshold-microvolt = <1500000>;
205                 };
206
207                 button-down {
208                         label = "button4";
209                         linux,code = <KEY_F4>;
210                         press-threshold-microvolt = <1000000>;
211                 };
212
213                 button-enter {
214                         label = "button5";
215                         linux,code = <KEY_F5>;
216                         press-threshold-microvolt = <500000>;
217                 };
218         };
219
220         cros_ec: cros-ec {
221                 reg = <0 0>;
222                 compatible = "google,cros-ec-sandbox";
223
224                 /*
225                  * This describes the flash memory within the EC. Note
226                  * that the STM32L flash erases to 0, not 0xff.
227                  */
228                 flash {
229                         image-pos = <0x08000000>;
230                         size = <0x20000>;
231                         erase-value = <0>;
232
233                         /* Information for sandbox */
234                         ro {
235                                 image-pos = <0>;
236                                 size = <0xf000>;
237                         };
238                         wp-ro {
239                                 image-pos = <0xf000>;
240                                 size = <0x1000>;
241                                 used = <0x884>;
242                                 compress = "lz4";
243                                 uncomp-size = <0xcf8>;
244                                 hash {
245                                         algo = "sha256";
246                                         value = [00 01 02 03 04 05 06 07
247                                                 08 09 0a 0b 0c 0d 0e 0f
248                                                 10 11 12 13 14 15 16 17
249                                                 18 19 1a 1b 1c 1d 1e 1f];
250                                 };
251                         };
252                         rw {
253                                 image-pos = <0x10000>;
254                                 size = <0x10000>;
255                         };
256                 };
257
258                 cros_ec_pwm: cros-ec-pwm {
259                         compatible = "google,cros-ec-pwm";
260                         #pwm-cells = <1>;
261                 };
262
263         };
264
265         dsi_host: dsi_host {
266                 compatible = "sandbox,dsi-host";
267         };
268
269         a-test {
270                 reg = <0 1>;
271                 compatible = "denx,u-boot-fdt-test";
272                 ping-expect = <0>;
273                 ping-add = <0>;
274                 bootph-all;
275                 test-gpios = <&gpio_a 1>, <&gpio_a 4>,
276                         <&gpio_b 5 GPIO_ACTIVE_HIGH 3 2 1>,
277                         <0>, <&gpio_a 12>;
278                 test2-gpios = <&gpio_a 1>, <&gpio_a 4>,
279                         <&gpio_b 6 GPIO_ACTIVE_LOW 3 2 1>,
280                         <&gpio_b 7 GPIO_IN 3 2 1>,
281                         <&gpio_b 8 GPIO_OUT 3 2 1>,
282                         <&gpio_b 9 (GPIO_OUT|GPIO_OUT_ACTIVE) 3 2 1>;
283                 test3-gpios =
284                         <&gpio_c 0 (GPIO_OUT|GPIO_OPEN_DRAIN)>,
285                         <&gpio_c 1 (GPIO_OUT|GPIO_OPEN_SOURCE)>,
286                         <&gpio_c 2 GPIO_OUT>,
287                         <&gpio_c 3 (GPIO_IN|GPIO_PULL_UP)>,
288                         <&gpio_c 4 (GPIO_IN|GPIO_PULL_DOWN)>,
289                         <&gpio_c 5 GPIO_IN>,
290                         <&gpio_c 6 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_DRAIN)>,
291                         <&gpio_c 7 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_SOURCE)>;
292                 test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>;
293                 test5-gpios = <&gpio_a 19>;
294
295                 bool-value;
296                 int8-value = /bits/ 8 <0x12>;
297                 int16-value = /bits/ 16 <0x1234>;
298                 int-value = <1234>;
299                 uint-value = <(-1234)>;
300                 int64-value = /bits/ 64 <0x1111222233334444>;
301                 int-array = <5678 9123 4567>;
302                 str-value = "test string";
303                 interrupts-extended = <&irq 3 0>;
304                 acpi,name = "GHIJ";
305                 phandle-value = <&gpio_c 10>, <0xFFFFFFFF 20>, <&gpio_a 30>;
306
307                 mux-controls = <&muxcontroller0 0>, <&muxcontroller0 1>,
308                                <&muxcontroller0 2>, <&muxcontroller0 3>,
309                                <&muxcontroller1>;
310                 mux-control-names = "mux0", "mux1", "mux2", "mux3", "mux4";
311                 mux-syscon = <&syscon3>;
312                 display-timings {
313                         timing0: 240x320 {
314                                 clock-frequency = <6500000>;
315                                 hactive = <240>;
316                                 vactive = <320>;
317                                 hfront-porch = <6>;
318                                 hback-porch = <7>;
319                                 hsync-len = <1>;
320                                 vback-porch = <5>;
321                                 vfront-porch = <8>;
322                                 vsync-len = <2>;
323                                 hsync-active = <1>;
324                                 vsync-active = <0>;
325                                 de-active = <1>;
326                                 pixelclk-active = <1>;
327                                 interlaced;
328                                 doublescan;
329                                 doubleclk;
330                         };
331                         timing1: 480x800 {
332                                 clock-frequency = <9000000>;
333                                 hactive = <480>;
334                                 vactive = <800>;
335                                 hfront-porch = <10>;
336                                 hback-porch = <59>;
337                                 hsync-len = <12>;
338                                 vback-porch = <15>;
339                                 vfront-porch = <17>;
340                                 vsync-len = <16>;
341                                 hsync-active = <0>;
342                                 vsync-active = <1>;
343                                 de-active = <0>;
344                                 pixelclk-active = <0>;
345                         };
346                         timing2: 800x480 {
347                                 clock-frequency = <33500000>;
348                                 hactive = <800>;
349                                 vactive = <480>;
350                                 hback-porch = <89>;
351                                 hfront-porch = <164>;
352                                 vback-porch = <23>;
353                                 vfront-porch = <10>;
354                                 hsync-len = <11>;
355                                 vsync-len = <13>;
356                         };
357                 };
358                 panel-timing {
359                         clock-frequency = <6500000>;
360                         hactive = <240>;
361                         vactive = <320>;
362                         hfront-porch = <6>;
363                         hback-porch = <7>;
364                         hsync-len = <1>;
365                         vback-porch = <5>;
366                         vfront-porch = <8>;
367                         vsync-len = <2>;
368                         hsync-active = <1>;
369                         vsync-active = <0>;
370                         de-active = <1>;
371                         pixelclk-active = <1>;
372                         interlaced;
373                         doublescan;
374                         doubleclk;
375                 };
376         };
377
378         junk {
379                 reg = <1 1>;
380                 compatible = "not,compatible";
381         };
382
383         no-compatible {
384                 reg = <2 1>;
385         };
386
387         backlight: backlight {
388                 compatible = "pwm-backlight";
389                 enable-gpios = <&gpio_a 1>;
390                 power-supply = <&ldo_1>;
391                 pwms = <&pwm 0 1000>;
392                 default-brightness-level = <5>;
393                 brightness-levels = <0 16 32 64 128 170 202 234 255>;
394         };
395
396         bind-test {
397                 compatible = "simple-bus";
398                 bind-test-child1 {
399                         compatible = "sandbox,phy";
400                         #phy-cells = <1>;
401                 };
402
403                 bind-test-child2 {
404                         compatible = "simple-bus";
405                 };
406         };
407
408         b-test {
409                 reg = <3 1>;
410                 compatible = "denx,u-boot-fdt-test";
411                 ping-expect = <3>;
412                 ping-add = <3>;
413
414                 mux-controls = <&muxcontroller0 0>;
415                 mux-control-names = "mux0";
416         };
417
418         phy_provider0: gen_phy@0 {
419                 compatible = "sandbox,phy";
420                 #phy-cells = <1>;
421         };
422
423         phy_provider1: gen_phy@1 {
424                 compatible = "sandbox,phy";
425                 #phy-cells = <0>;
426                 broken;
427         };
428
429         phy_provider2: gen_phy@2 {
430                 compatible = "sandbox,phy";
431                 #phy-cells = <0>;
432         };
433
434         gen_phy_user: gen_phy_user {
435                 compatible = "simple-bus";
436                 phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>;
437                 phy-names = "phy1", "phy2", "phy3";
438         };
439
440         gen_phy_user1: gen_phy_user1 {
441                 compatible = "simple-bus";
442                 phys = <&phy_provider0 0>, <&phy_provider2>;
443                 phy-names = "phy1", "phy2";
444         };
445
446         some-bus {
447                 #address-cells = <1>;
448                 #size-cells = <0>;
449                 compatible = "denx,u-boot-test-bus";
450                 reg = <3 1>;
451                 ping-expect = <4>;
452                 ping-add = <4>;
453                 c-test@5 {
454                         compatible = "denx,u-boot-fdt-test";
455                         reg = <5>;
456                         ping-expect = <5>;
457                         ping-add = <5>;
458                 };
459                 c-test@0 {
460                         compatible = "denx,u-boot-fdt-test";
461                         reg = <0>;
462                         ping-expect = <6>;
463                         ping-add = <6>;
464                 };
465                 c-test@1 {
466                         compatible = "denx,u-boot-fdt-test";
467                         reg = <1>;
468                         ping-expect = <7>;
469                         ping-add = <7>;
470                 };
471         };
472
473         d-test {
474                 reg = <3 1>;
475                 ping-expect = <6>;
476                 ping-add = <6>;
477                 compatible = "google,another-fdt-test";
478         };
479
480         e-test {
481                 reg = <3 1>;
482                 ping-expect = <6>;
483                 ping-add = <6>;
484                 compatible = "google,another-fdt-test";
485         };
486
487         f-test {
488                 compatible = "denx,u-boot-fdt-test";
489         };
490
491         g-test {
492                 compatible = "denx,u-boot-fdt-test";
493         };
494
495         h-test {
496                 compatible = "denx,u-boot-fdt-test1";
497         };
498
499         i-test {
500                 compatible = "mediatek,u-boot-fdt-test";
501                 #address-cells = <1>;
502                 #size-cells = <0>;
503
504                 subnode@0 {
505                         reg = <0>;
506                 };
507
508                 subnode@1 {
509                         reg = <1>;
510                 };
511
512                 subnode@2 {
513                         reg = <2>;
514                 };
515         };
516
517         devres-test {
518                 compatible = "denx,u-boot-devres-test";
519         };
520
521         another-test {
522                 reg = <0 2>;
523                 compatible = "denx,u-boot-fdt-test";
524                 test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>;
525                 test5-gpios = <&gpio_a 19>;
526         };
527
528         mmio-bus@0 {
529                 #address-cells = <1>;
530                 #size-cells = <1>;
531                 compatible = "denx,u-boot-test-bus";
532                 dma-ranges = <0x10000000 0x00000000 0x00040000>;
533
534                 subnode@0 {
535                         compatible = "denx,u-boot-fdt-test";
536                 };
537         };
538
539         mmio-bus@1 {
540                 #address-cells = <1>;
541                 #size-cells = <1>;
542                 compatible = "denx,u-boot-test-bus";
543
544                 subnode@0 {
545                         compatible = "denx,u-boot-fdt-test";
546                 };
547         };
548
549         acpi_test1: acpi-test {
550                 compatible = "denx,u-boot-acpi-test";
551                 acpi-ssdt-test-data = "ab";
552                 acpi-dsdt-test-data = "hi";
553                 child {
554                         compatible = "denx,u-boot-acpi-test";
555                 };
556         };
557
558         acpi_test2: acpi-test2 {
559                 compatible = "denx,u-boot-acpi-test";
560                 acpi-ssdt-test-data = "cd";
561                 acpi-dsdt-test-data = "jk";
562         };
563
564         clocks {
565                 clk_fixed: clk-fixed {
566                         compatible = "fixed-clock";
567                         #clock-cells = <0>;
568                         clock-frequency = <1234>;
569                 };
570
571                 clk_fixed_factor: clk-fixed-factor {
572                         compatible = "fixed-factor-clock";
573                         #clock-cells = <0>;
574                         clock-div = <3>;
575                         clock-mult = <2>;
576                         clocks = <&clk_fixed>;
577                 };
578
579                 osc {
580                         compatible = "fixed-clock";
581                         #clock-cells = <0>;
582                         clock-frequency = <20000000>;
583                 };
584         };
585
586         clk_sandbox: clk-sbox {
587                 compatible = "sandbox,clk";
588                 #clock-cells = <1>;
589                 assigned-clocks = <&clk_sandbox 3>;
590                 assigned-clock-rates = <321>;
591         };
592
593         clk-test {
594                 compatible = "sandbox,clk-test";
595                 clocks = <&clk_fixed>,
596                          <&clk_sandbox 1>,
597                          <&clk_sandbox 0>,
598                          <&clk_sandbox 3>,
599                          <&clk_sandbox 2>;
600                 clock-names = "fixed", "i2c", "spi", "uart2", "uart1";
601         };
602
603         ccf: clk-ccf {
604                 compatible = "sandbox,clk-ccf";
605         };
606
607         efi-media {
608                 compatible = "sandbox,efi-media";
609         };
610
611         eth@10002000 {
612                 compatible = "sandbox,eth";
613                 reg = <0x10002000 0x1000>;
614         };
615
616         eth_5: eth@10003000 {
617                 compatible = "sandbox,eth";
618                 reg = <0x10003000 0x1000>;
619                 nvmem-cells = <&eth5_addr>;
620                 nvmem-cell-names = "mac-address";
621         };
622
623         eth_3: sbe5 {
624                 compatible = "sandbox,eth";
625                 reg = <0x10005000 0x1000>;
626                 nvmem-cells = <&eth3_addr>;
627                 nvmem-cell-names = "mac-address";
628         };
629
630         eth@10004000 {
631                 compatible = "sandbox,eth";
632                 reg = <0x10004000 0x1000>;
633         };
634
635         phy_eth0: phy-test-eth {
636                 compatible = "sandbox,eth";
637                 reg = <0x10007000 0x1000>;
638                 mac-address = [ 02 00 11 22 33 49 ];
639                 phy-handle = <&ethphy1>;
640                 phy-mode = "2500base-x";
641         };
642
643         dsa_eth0: dsa-test-eth {
644                 compatible = "sandbox,eth";
645                 reg = <0x10006000 0x1000>;
646                 nvmem-cells = <&eth4_addr>;
647                 nvmem-cell-names = "mac-address";
648         };
649
650         dsa-test {
651                 compatible = "sandbox,dsa";
652
653                 ports {
654                         #address-cells = <1>;
655                         #size-cells = <0>;
656                         swp_0: port@0 {
657                                 reg = <0>;
658                                 label = "lan0";
659                                 phy-mode = "rgmii-rxid";
660
661                                 fixed-link {
662                                         speed = <100>;
663                                         full-duplex;
664                                 };
665                         };
666
667                         swp_1: port@1 {
668                                 reg = <1>;
669                                 label = "lan1";
670                                 phy-mode = "rgmii-txid";
671                                 fixed-link = <0 1 100 0 0>;
672                         };
673
674                         port@2 {
675                                 reg = <2>;
676                                 ethernet = <&dsa_eth0>;
677
678                                 fixed-link {
679                                         speed = <1000>;
680                                         full-duplex;
681                                 };
682                         };
683                 };
684         };
685
686         firmware {
687                 sandbox_firmware: sandbox-firmware {
688                         compatible = "sandbox,firmware";
689                 };
690
691                 scmi {
692                         compatible = "sandbox,scmi-agent";
693                         #address-cells = <1>;
694                         #size-cells = <0>;
695
696                         protocol@10 {
697                                 reg = <0x10>;
698                         };
699
700                         clk_scmi: protocol@14 {
701                                 reg = <0x14>;
702                                 #clock-cells = <1>;
703                         };
704
705                         reset_scmi: protocol@16 {
706                                 reg = <0x16>;
707                                 #reset-cells = <1>;
708                         };
709
710                         protocol@17 {
711                                 reg = <0x17>;
712
713                                 regulators {
714                                         #address-cells = <1>;
715                                         #size-cells = <0>;
716
717                                         regul0_scmi: reg@0 {
718                                                 reg = <0>;
719                                                 regulator-name = "sandbox-voltd0";
720                                                 regulator-min-microvolt = <1100000>;
721                                                 regulator-max-microvolt = <3300000>;
722                                         };
723                                         regul1_scmi: reg@1 {
724                                                 reg = <0x1>;
725                                                 regulator-name = "sandbox-voltd1";
726                                                 regulator-min-microvolt = <1800000>;
727                                         };
728                                 };
729                         };
730                 };
731         };
732
733         fpga {
734                 compatible = "sandbox,fpga";
735         };
736
737         pinctrl-gpio {
738                 compatible = "sandbox,pinctrl-gpio";
739
740                 gpio_a: base-gpios {
741                         compatible = "sandbox,gpio";
742                         gpio-controller;
743                         #gpio-cells = <1>;
744                         gpio-bank-name = "a";
745                         sandbox,gpio-count = <20>;
746                         hog_input_active_low {
747                                 gpio-hog;
748                                 input;
749                                 gpios = <10 GPIO_ACTIVE_LOW>;
750                         };
751                         hog_input_active_high {
752                                 gpio-hog;
753                                 input;
754                                 gpios = <11 GPIO_ACTIVE_HIGH>;
755                         };
756                         hog_output_low {
757                                 gpio-hog;
758                                 output-low;
759                                 gpios = <12 GPIO_ACTIVE_HIGH>;
760                         };
761                         hog_output_high {
762                                 gpio-hog;
763                                 output-high;
764                                 gpios = <13 GPIO_ACTIVE_HIGH>;
765                         };
766                 };
767
768                 gpio_b: extra-gpios {
769                         compatible = "sandbox,gpio";
770                         gpio-controller;
771                         #gpio-cells = <5>;
772                         gpio-bank-name = "b";
773                         sandbox,gpio-count = <10>;
774                 };
775
776                 gpio_c: pinmux-gpios {
777                         compatible = "sandbox,gpio";
778                         gpio-controller;
779                         #gpio-cells = <2>;
780                         gpio-bank-name = "c";
781                         sandbox,gpio-count = <10>;
782                 };
783         };
784
785         i2c@0 {
786                 #address-cells = <1>;
787                 #size-cells = <0>;
788                 reg = <0 1>;
789                 compatible = "sandbox,i2c";
790                 clock-frequency = <100000>;
791                 pinctrl-names = "default";
792                 pinctrl-0 = <&pinmux_i2c0_pins>;
793
794                 eeprom@2c {
795                         #address-cells = <1>;
796                         #size-cells = <1>;
797                         reg = <0x2c>;
798                         compatible = "i2c-eeprom";
799                         sandbox,emul = <&emul_eeprom>;
800                         partitions {
801                                 compatible = "fixed-partitions";
802                                 #address-cells = <1>;
803                                 #size-cells = <1>;
804                                 bootcount_i2c: bootcount@10 {
805                                         reg = <10 2>;
806                                 };
807                         };
808
809                         eth3_addr: mac-address@24 {
810                                 reg = <24 6>;
811                         };
812                 };
813
814                 rtc_0: rtc@43 {
815                         #address-cells = <1>;
816                         #size-cells = <1>;
817                         reg = <0x43>;
818                         compatible = "sandbox-rtc";
819                         sandbox,emul = <&emul0>;
820
821                         eth4_addr: mac-address@40 {
822                                 reg = <0x40 6>;
823                         };
824                 };
825
826                 rtc_1: rtc@61 {
827                         reg = <0x61>;
828                         compatible = "sandbox-rtc";
829                         sandbox,emul = <&emul1>;
830                 };
831
832                 i2c_emul: emul {
833                         reg = <0xff>;
834                         compatible = "sandbox,i2c-emul-parent";
835                         emul_eeprom: emul-eeprom {
836                                 compatible = "sandbox,i2c-eeprom";
837                                 sandbox,filename = "i2c.bin";
838                                 sandbox,size = <256>;
839                         };
840                         emul0: emul0 {
841                                 compatible = "sandbox,i2c-rtc-emul";
842                         };
843                         emul1: emull {
844                                 compatible = "sandbox,i2c-rtc-emul";
845                         };
846                 };
847
848                 sandbox_pmic: sandbox_pmic {
849                         reg = <0x40>;
850                         sandbox,emul = <&emul_pmic0>;
851                 };
852
853                 mc34708: pmic@41 {
854                         reg = <0x41>;
855                         sandbox,emul = <&emul_pmic1>;
856                 };
857         };
858
859         bootcount@0 {
860                 compatible = "u-boot,bootcount-rtc";
861                 rtc = <&rtc_1>;
862                 offset = <0x13>;
863         };
864
865         bootcount {
866                 compatible = "u-boot,bootcount-i2c-eeprom";
867                 i2c-eeprom = <&bootcount_i2c>;
868         };
869
870         bootcount_4@0 {
871                 compatible = "u-boot,bootcount-syscon";
872                 syscon = <&syscon0>;
873                 reg = <0x0 0x04>, <0x0 0x04>;
874                 reg-names = "syscon_reg", "offset";
875         };
876
877         bootcount_2@0 {
878                 compatible = "u-boot,bootcount-syscon";
879                 syscon = <&syscon0>;
880                 reg = <0x0 0x04>, <0x0 0x02> ;
881                 reg-names = "syscon_reg", "offset";
882         };
883
884         adc: adc@0 {
885                 compatible = "sandbox,adc";
886                 #io-channel-cells = <1>;
887                 vdd-supply = <&buck2>;
888                 vss-microvolts = <0>;
889         };
890
891         iommu: iommu@0 {
892                 compatible = "sandbox,iommu";
893                 #iommu-cells = <0>;
894         };
895
896         irq: irq {
897                 compatible = "sandbox,irq";
898                 interrupt-controller;
899                 #interrupt-cells = <2>;
900         };
901
902         lcd {
903                 bootph-all;
904                 compatible = "sandbox,lcd-sdl";
905                 pinctrl-names = "default";
906                 pinctrl-0 = <&pinmux_lcd_pins>;
907                 xres = <1366>;
908                 yres = <768>;
909         };
910
911         leds {
912                 compatible = "gpio-leds";
913
914                 iracibble {
915                         gpios = <&gpio_a 1 0>;
916                         label = "sandbox:red";
917                 };
918
919                 martinet {
920                         gpios = <&gpio_a 2 0>;
921                         label = "sandbox:green";
922                 };
923
924                 default_on {
925                         gpios = <&gpio_a 5 0>;
926                         label = "sandbox:default_on";
927                         default-state = "on";
928                 };
929
930                 default_off {
931                         gpios = <&gpio_a 6 0>;
932                         /* label intentionally omitted */
933                         default-state = "off";
934                 };
935         };
936
937         wdt-gpio-toggle {
938                 gpios = <&gpio_a 7 0>;
939                 compatible = "linux,wdt-gpio";
940                 hw_margin_ms = <100>;
941                 hw_algo = "toggle";
942                 always-running;
943         };
944
945         wdt-gpio-level {
946                 gpios = <&gpio_a 7 0>;
947                 compatible = "linux,wdt-gpio";
948                 hw_margin_ms = <100>;
949                 hw_algo = "level";
950                 always-running;
951         };
952
953         mbox: mbox {
954                 compatible = "sandbox,mbox";
955                 #mbox-cells = <1>;
956         };
957
958         mbox-test {
959                 compatible = "sandbox,mbox-test";
960                 mboxes = <&mbox 100>, <&mbox 1>;
961                 mbox-names = "other", "test";
962         };
963
964         cpus {
965                 #address-cells = <1>;
966                 #size-cells = <0>;
967                 timebase-frequency = <2000000>;
968                 cpu1: cpu@1 {
969                         device_type = "cpu";
970                         reg = <0x1>;
971                         timebase-frequency = <3000000>;
972                         compatible = "sandbox,cpu_sandbox";
973                         bootph-all;
974                 };
975
976                 cpu2: cpu@2 {
977                         device_type = "cpu";
978                         reg = <0x2>;
979                         compatible = "sandbox,cpu_sandbox";
980                         bootph-all;
981                 };
982
983                 cpu3: cpu@3 {
984                         device_type = "cpu";
985                         reg = <0x3>;
986                         compatible = "sandbox,cpu_sandbox";
987                         bootph-all;
988                 };
989         };
990
991         chipid: chipid {
992                 compatible = "sandbox,soc";
993         };
994
995         i2s: i2s {
996                 compatible = "sandbox,i2s";
997                 #sound-dai-cells = <1>;
998                 sandbox,silent; /* Don't emit sounds while testing */
999         };
1000
1001         nop-test_0 {
1002                 compatible = "sandbox,nop_sandbox1";
1003                 nop-test_1 {
1004                         compatible = "sandbox,nop_sandbox2";
1005                         bind = "True";
1006                 };
1007                 nop-test_2 {
1008                         compatible = "sandbox,nop_sandbox2";
1009                         bind = "False";
1010                 };
1011         };
1012
1013         memory-controller {
1014                 compatible = "sandbox,memory";
1015         };
1016
1017         misc-test {
1018                 #address-cells = <1>;
1019                 #size-cells = <1>;
1020                 compatible = "sandbox,misc_sandbox";
1021
1022                 eth5_addr: mac-address@10 {
1023                         reg = <0x10 6>;
1024                 };
1025         };
1026
1027         mmc2 {
1028                 compatible = "sandbox,mmc";
1029                 non-removable;
1030         };
1031
1032         /* This is used for the bootdev tests */
1033         mmc1 {
1034                 compatible = "sandbox,mmc";
1035                 filename = "mmc1.img";
1036         };
1037
1038         /* This is used for the fastboot tests */
1039         mmc0: mmc0 {
1040                 compatible = "sandbox,mmc";
1041         };
1042
1043         /* This is used for VBE VPL tests */
1044         mmc3 {
1045                 status = "disabled";
1046                 compatible = "sandbox,mmc";
1047                 filename = "image.bin";
1048                 non-removable;
1049         };
1050
1051         /* This is used for bootstd bootmenu tests */
1052         mmc4 {
1053                 status = "disabled";
1054                 compatible = "sandbox,mmc";
1055                 filename = "mmc4.img";
1056         };
1057
1058         pch {
1059                 compatible = "sandbox,pch";
1060         };
1061
1062         pci0: pci@0 {
1063                 compatible = "sandbox,pci";
1064                 device_type = "pci";
1065                 bus-range = <0x00 0xff>;
1066                 #address-cells = <3>;
1067                 #size-cells = <2>;
1068                 ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000000
1069                                 0x01000000 0 0x20000000 0x20000000 0 0x2000>;
1070                 iommu-map = <0x0010 &iommu 0 1>;
1071                 iommu-map-mask = <0xfffffff8>;
1072                 pci@0,0 {
1073                         compatible = "pci-generic";
1074                         reg = <0x0000 0 0 0 0>;
1075                         sandbox,emul = <&swap_case_emul0_0>;
1076                 };
1077                 pci@1,0 {
1078                         compatible = "pci-generic";
1079                         /* reg 0 is at 0x14, using FDT_PCI_SPACE_MEM32 */
1080                         reg = <0x02000814 0 0 0 0
1081                                0x01000810 0 0 0 0>;
1082                         sandbox,emul = <&swap_case_emul0_1>;
1083                 };
1084                 p2sb-pci@2,0 {
1085                         compatible = "sandbox,p2sb";
1086                         reg = <0x02001010 0 0 0 0>;
1087                         sandbox,emul = <&p2sb_emul>;
1088
1089                         adder {
1090                                 intel,p2sb-port-id = <3>;
1091                                 compatible = "sandbox,adder";
1092                         };
1093                 };
1094                 pci@1e,0 {
1095                         compatible = "sandbox,pmc";
1096                         reg = <0xf000 0 0 0 0>;
1097                         sandbox,emul = <&pmc_emul1e>;
1098                         acpi-base = <0x400>;
1099                         gpe0-dwx-mask = <0xf>;
1100                         gpe0-dwx-shift-base = <4>;
1101                         gpe0-dw = <6 7 9>;
1102                         gpe0-sts = <0x20>;
1103                         gpe0-en = <0x30>;
1104                 };
1105                 pci@1f,0 {
1106                         compatible = "pci-generic";
1107                         /* reg 0 is at 0x10, using FDT_PCI_SPACE_IO */
1108                         reg = <0x0100f810 0 0 0 0>;
1109                         sandbox,emul = <&swap_case_emul0_1f>;
1110                 };
1111         };
1112
1113         pci-emul0 {
1114                 compatible = "sandbox,pci-emul-parent";
1115                 swap_case_emul0_0: emul0@0,0 {
1116                         compatible = "sandbox,swap-case";
1117                 };
1118                 swap_case_emul0_1: emul0@1,0 {
1119                         compatible = "sandbox,swap-case";
1120                         use-ea;
1121                 };
1122                 swap_case_emul0_1f: emul0@1f,0 {
1123                         compatible = "sandbox,swap-case";
1124                 };
1125                 p2sb_emul: emul@2,0 {
1126                         compatible = "sandbox,p2sb-emul";
1127                 };
1128                 pmc_emul1e: emul@1e,0 {
1129                         compatible = "sandbox,pmc-emul";
1130                 };
1131         };
1132
1133         pci1: pci@1 {
1134                 compatible = "sandbox,pci";
1135                 device_type = "pci";
1136                 bus-range = <0x00 0xff>;
1137                 #address-cells = <3>;
1138                 #size-cells = <2>;
1139                 ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000 // MEM0
1140                           0x02000000 0 0x31000000 0x3e000000 0 0x2000 // MEM1
1141                           0x01000000 0 0x40000000 0x40000000 0 0x2000>;
1142                 sandbox,dev-info = <0x08 0x00 0x1234 0x5678
1143                                     0x0c 0x00 0x1234 0x5678
1144                                     0x10 0x00 0x1234 0x5678>;
1145                 pci@10,0 {
1146                         reg = <0x8000 0 0 0 0>;
1147                 };
1148         };
1149
1150         pci2: pci@2 {
1151                 compatible = "sandbox,pci";
1152                 device_type = "pci";
1153                 bus-range = <0x00 0xff>;
1154                 #address-cells = <3>;
1155                 #size-cells = <2>;
1156                 ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000
1157                                 0x01000000 0 0x60000000 0x60000000 0 0x2000>;
1158                 sandbox,dev-info = <0x08 0x00 0x1234 0x5678>;
1159                 pci@1f,0 {
1160                         compatible = "pci-generic";
1161                         reg = <0xf800 0 0 0 0>;
1162                         sandbox,emul = <&swap_case_emul2_1f>;
1163                 };
1164         };
1165
1166         pci-emul2 {
1167                 compatible = "sandbox,pci-emul-parent";
1168                 swap_case_emul2_1f: emul2@1f,0 {
1169                         compatible = "sandbox,swap-case";
1170                 };
1171         };
1172
1173         pci_ep: pci_ep {
1174                 compatible = "sandbox,pci_ep";
1175         };
1176
1177         probing {
1178                 compatible = "simple-bus";
1179                 test1 {
1180                         compatible = "denx,u-boot-probe-test";
1181                 };
1182
1183                 test2 {
1184                         compatible = "denx,u-boot-probe-test";
1185                 };
1186
1187                 test3 {
1188                         compatible = "denx,u-boot-probe-test";
1189                 };
1190
1191                 test4 {
1192                         compatible = "denx,u-boot-probe-test";
1193                         first-syscon = <&syscon0>;
1194                         second-sys-ctrl = <&another_system_controller>;
1195                         third-syscon = <&syscon2>;
1196                 };
1197         };
1198
1199         pwrdom: power-domain {
1200                 compatible = "sandbox,power-domain";
1201                 #power-domain-cells = <1>;
1202         };
1203
1204         power-domain-test {
1205                 compatible = "sandbox,power-domain-test";
1206                 power-domains = <&pwrdom 2>;
1207         };
1208
1209         pwm: pwm {
1210                 compatible = "sandbox,pwm";
1211                 #pwm-cells = <2>;
1212                 pinctrl-names = "default";
1213                 pinctrl-0 = <&pinmux_pwm_pins>;
1214         };
1215
1216         pwm2 {
1217                 compatible = "sandbox,pwm";
1218                 #pwm-cells = <2>;
1219         };
1220
1221         ram {
1222                 compatible = "sandbox,ram";
1223         };
1224
1225         reset@0 {
1226                 compatible = "sandbox,warm-reset";
1227                 bootph-some-ram;
1228         };
1229
1230         reset@1 {
1231                 compatible = "sandbox,reset";
1232                 bootph-some-ram;
1233         };
1234
1235         resetc: reset-ctl {
1236                 compatible = "sandbox,reset-ctl";
1237                 #reset-cells = <1>;
1238         };
1239
1240         reset-ctl-test {
1241                 compatible = "sandbox,reset-ctl-test";
1242                 resets = <&resetc 100>, <&resetc 2>, <&resetc 20>, <&resetc 40>;
1243                 reset-names = "other", "test", "test2", "test3";
1244         };
1245
1246         rng {
1247                 compatible = "sandbox,sandbox-rng";
1248         };
1249
1250         rproc_1: rproc@1 {
1251                 compatible = "sandbox,test-processor";
1252                 remoteproc-name = "remoteproc-test-dev1";
1253         };
1254
1255         rproc_2: rproc@2 {
1256                 compatible = "sandbox,test-processor";
1257                 internal-memory-mapped;
1258                 remoteproc-name = "remoteproc-test-dev2";
1259         };
1260
1261         panel {
1262                 compatible = "simple-panel";
1263                 backlight = <&backlight 0 100>;
1264         };
1265
1266         scsi {
1267                 compatible = "sandbox,scsi";
1268                 sandbox,filepath = "scsi.img";
1269         };
1270
1271         smem@0 {
1272                 compatible = "sandbox,smem";
1273         };
1274
1275         sound {
1276                 compatible = "sandbox,sound";
1277                 cpu {
1278                         sound-dai = <&i2s 0>;
1279                 };
1280
1281                 codec {
1282                         sound-dai = <&audio 0>;
1283                 };
1284         };
1285
1286         spi@0 {
1287                 #address-cells = <1>;
1288                 #size-cells = <0>;
1289                 reg = <0 1>;
1290                 compatible = "sandbox,spi";
1291                 cs-gpios = <0>, <0>, <&gpio_a 0>;
1292                 pinctrl-names = "default";
1293                 pinctrl-0 = <&pinmux_spi0_pins>;
1294
1295                 spi.bin@0 {
1296                         reg = <0>;
1297                         compatible = "spansion,m25p16", "jedec,spi-nor";
1298                         spi-max-frequency = <40000000>;
1299                         sandbox,filename = "spi.bin";
1300                 };
1301                 spi.bin@1 {
1302                         reg = <1>;
1303                         compatible = "spansion,m25p16", "jedec,spi-nor";
1304                         spi-max-frequency = <50000000>;
1305                         sandbox,filename = "spi.bin";
1306                         spi-cpol;
1307                         spi-cpha;
1308                 };
1309         };
1310
1311         syscon0: syscon@0 {
1312                 compatible = "sandbox,syscon0";
1313                 reg = <0x10 16>;
1314         };
1315
1316         another_system_controller: syscon@1 {
1317                 compatible = "sandbox,syscon1";
1318                 reg = <0x20 5
1319                         0x28 6
1320                         0x30 7
1321                         0x38 8>;
1322         };
1323
1324         syscon2: syscon@2 {
1325                 compatible = "simple-mfd", "syscon";
1326                 reg = <0x40 5
1327                         0x48 6
1328                         0x50 7
1329                         0x58 8>;
1330         };
1331
1332         syscon3: syscon@3 {
1333                 compatible = "simple-mfd", "syscon";
1334                 reg = <0x000100 0x10>;
1335
1336                 muxcontroller0: a-mux-controller {
1337                         compatible = "mmio-mux";
1338                         #mux-control-cells = <1>;
1339
1340                         mux-reg-masks = <0x0 0x30>, /* 0: reg 0x0, bits 5:4 */
1341                                         <0xc 0x1E>, /* 1: reg 0xc, bits 4:1 */
1342                                         <0x4 0xFF>; /* 2: reg 0x4, bits 7:0 */
1343                         idle-states = <MUX_IDLE_AS_IS>, <0x02>, <0x73>;
1344                         u-boot,mux-autoprobe;
1345                 };
1346         };
1347
1348         muxcontroller1: emul-mux-controller {
1349                 compatible = "mux-emul";
1350                 #mux-control-cells = <0>;
1351                 u-boot,mux-autoprobe;
1352                 idle-state = <0xabcd>;
1353         };
1354
1355         testfdtm0 {
1356                 compatible = "denx,u-boot-fdtm-test";
1357         };
1358
1359         testfdtm1: testfdtm1 {
1360                 compatible = "denx,u-boot-fdtm-test";
1361         };
1362
1363         testfdtm2 {
1364                 compatible = "denx,u-boot-fdtm-test";
1365         };
1366
1367         timer@0 {
1368                 compatible = "sandbox,timer";
1369                 clock-frequency = <1000000>;
1370         };
1371
1372         timer@1 {
1373                 compatible = "sandbox,timer";
1374                 sandbox,timebase-frequency-fallback;
1375         };
1376
1377         tpm2 {
1378                 compatible = "sandbox,tpm2";
1379         };
1380
1381         tpm {
1382                 compatible = "google,sandbox-tpm";
1383         };
1384
1385         uart0: serial {
1386                 compatible = "sandbox,serial";
1387                 bootph-all;
1388                 pinctrl-names = "default";
1389                 pinctrl-0 = <&pinmux_uart0_pins>;
1390         };
1391
1392         usb_0: usb@0 {
1393                 compatible = "sandbox,usb";
1394                 status = "disabled";
1395                 hub {
1396                         compatible = "sandbox,usb-hub";
1397                         #address-cells = <1>;
1398                         #size-cells = <0>;
1399                         flash-stick {
1400                                 reg = <0>;
1401                                 compatible = "sandbox,usb-flash";
1402                         };
1403                 };
1404         };
1405
1406         usb_1: usb@1 {
1407                 compatible = "sandbox,usb";
1408                 iommus = <&iommu>;
1409                 hub {
1410                         compatible = "usb-hub";
1411                         usb,device-class = <9>;
1412                         #address-cells = <1>;
1413                         #size-cells = <0>;
1414                         hub-emul {
1415                                 compatible = "sandbox,usb-hub";
1416                                 #address-cells = <1>;
1417                                 #size-cells = <0>;
1418                                 flash-stick@0 {
1419                                         reg = <0>;
1420                                         compatible = "sandbox,usb-flash";
1421                                         sandbox,filepath = "testflash.bin";
1422                                 };
1423
1424                                 flash-stick@1 {
1425                                         reg = <1>;
1426                                         compatible = "sandbox,usb-flash";
1427                                         sandbox,filepath = "testflash1.bin";
1428                                 };
1429
1430                                 flash-stick@2 {
1431                                         reg = <2>;
1432                                         compatible = "sandbox,usb-flash";
1433                                         sandbox,filepath = "testflash2.bin";
1434                                 };
1435
1436                                 keyb@3 {
1437                                         reg = <3>;
1438                                         compatible = "sandbox,usb-keyb";
1439                                 };
1440
1441                         };
1442
1443                         usbstor@1 {
1444                                 reg = <1>;
1445                         };
1446                         usbstor@3 {
1447                                 reg = <3>;
1448                         };
1449                 };
1450         };
1451
1452         usb_2: usb@2 {
1453                 compatible = "sandbox,usb";
1454                 status = "disabled";
1455         };
1456
1457         spmi: spmi@0 {
1458                 compatible = "sandbox,spmi";
1459                 #address-cells = <0x1>;
1460                 #size-cells = <0x1>;
1461                 ranges;
1462                 pm8916@0 {
1463                         compatible = "qcom,spmi-pmic";
1464                         reg = <0x0 0x1>;
1465                         #address-cells = <0x1>;
1466                         #size-cells = <0x1>;
1467                         ranges;
1468
1469                         spmi_gpios: gpios@c000 {
1470                                 compatible = "qcom,pm8916-gpio";
1471                                 reg = <0xc000 0x400>;
1472                                 gpio-controller;
1473                                 gpio-count = <4>;
1474                                 #gpio-cells = <2>;
1475                                 gpio-bank-name="spmi";
1476                         };
1477                 };
1478         };
1479
1480         wdt0: wdt@0 {
1481                 compatible = "sandbox,wdt";
1482                 hw_margin_ms = <200>;
1483         };
1484
1485         axi: axi@0 {
1486                 compatible = "sandbox,axi";
1487                 #address-cells = <0x1>;
1488                 #size-cells = <0x1>;
1489                 store@0 {
1490                         compatible = "sandbox,sandbox_store";
1491                         reg = <0x0 0x400>;
1492                 };
1493         };
1494
1495         chosen {
1496                 #address-cells = <1>;
1497                 #size-cells = <1>;
1498                 setting = "sunrise ohoka";
1499                 other-node = "/some-bus/c-test@5";
1500                 int-values = <0x1937 72993>;
1501                 u-boot,acpi-ssdt-order = <&acpi_test2 &acpi_test1>;
1502                 chosen-test {
1503                         compatible = "denx,u-boot-fdt-test";
1504                         reg = <9 1>;
1505                 };
1506         };
1507
1508         translation-test@8000 {
1509                 compatible = "simple-bus";
1510                 reg = <0x8000 0x4000>;
1511
1512                 #address-cells = <0x2>;
1513                 #size-cells = <0x1>;
1514
1515                 ranges = <0 0x0 0x8000 0x1000
1516                           1 0x100 0x9000 0x1000
1517                           2 0x200 0xA000 0x1000
1518                           3 0x300 0xB000 0x1000
1519                          >;
1520
1521                 dma-ranges = <0 0x000 0x10000000 0x1000
1522                               1 0x100 0x20000000 0x1000
1523                              >;
1524
1525                 dev@0,0 {
1526                         compatible = "denx,u-boot-fdt-dummy";
1527                         reg = <0 0x0 0x1000>;
1528                         reg-names = "sandbox-dummy-0";
1529                 };
1530
1531                 dev@1,100 {
1532                         compatible = "denx,u-boot-fdt-dummy";
1533                         reg = <1 0x100 0x1000>;
1534
1535                 };
1536
1537                 dev@2,200 {
1538                         compatible = "denx,u-boot-fdt-dummy";
1539                         reg = <2 0x200 0x1000>;
1540                 };
1541
1542
1543                 noxlatebus@3,300 {
1544                         compatible = "simple-bus";
1545                         reg = <3 0x300 0x1000>;
1546
1547                         #address-cells = <0x1>;
1548                         #size-cells = <0x0>;
1549
1550                         dev@42 {
1551                                 compatible = "denx,u-boot-fdt-dummy";
1552                                 reg = <0x42>;
1553                         };
1554                 };
1555         };
1556
1557         ofnode-foreach {
1558                 compatible = "foreach";
1559
1560                 first {
1561                         prop1 = <1>;
1562                         prop2 = <2>;
1563                 };
1564
1565                 second {
1566                         prop1 = <1>;
1567                         prop2 = <2>;
1568                 };
1569         };
1570
1571         osd {
1572                 compatible = "sandbox,sandbox_osd";
1573         };
1574
1575         sandbox_tee {
1576                 compatible = "sandbox,tee";
1577         };
1578
1579         sandbox_virtio1 {
1580                 compatible = "sandbox,virtio1";
1581                 virtio-type = <4>;      /* rng */
1582         };
1583
1584         sandbox_virtio2 {
1585                 compatible = "sandbox,virtio2";
1586         };
1587
1588         sandbox-virtio-blk {
1589                 compatible = "sandbox,virtio1";
1590                 virtio-type = <2>;      /* block */
1591         };
1592
1593         sandbox_scmi {
1594                 compatible = "sandbox,scmi-devices";
1595                 clocks = <&clk_scmi 2>, <&clk_scmi 0>;
1596                 resets = <&reset_scmi 3>;
1597                 regul0-supply = <&regul0_scmi>;
1598                 regul1-supply = <&regul1_scmi>;
1599         };
1600
1601         pinctrl {
1602                 compatible = "sandbox,pinctrl";
1603
1604                 pinctrl-names = "default", "alternate";
1605                 pinctrl-0 = <&pinctrl_gpios>, <&pinctrl_i2s>;
1606                 pinctrl-1 = <&pinctrl_spi>, <&pinctrl_i2c>;
1607
1608                 pinctrl_gpios: gpios {
1609                         gpio0 {
1610                                 pins = "P5";
1611                                 function = "GPIO";
1612                                 bias-pull-up;
1613                                 input-disable;
1614                         };
1615                         gpio1 {
1616                                 pins = "P6";
1617                                 function = "GPIO";
1618                                 output-high;
1619                                 drive-open-drain;
1620                         };
1621                         gpio2 {
1622                                 pinmux = <SANDBOX_PINMUX(7, SANDBOX_PINMUX_GPIO)>;
1623                                 bias-pull-down;
1624                                 input-enable;
1625                         };
1626                         gpio3 {
1627                                 pinmux = <SANDBOX_PINMUX(8, SANDBOX_PINMUX_GPIO)>;
1628                                 bias-disable;
1629                         };
1630                 };
1631
1632                 pinctrl_i2c: i2c {
1633                         groups {
1634                                 groups = "I2C_UART";
1635                                 function = "I2C";
1636                         };
1637
1638                         pins {
1639                                 pins = "P0", "P1";
1640                                 drive-open-drain;
1641                         };
1642                 };
1643
1644                 pinctrl_i2s: i2s {
1645                         groups = "SPI_I2S";
1646                         function = "I2S";
1647                 };
1648
1649                 pinctrl_spi: spi {
1650                         groups = "SPI_I2S";
1651                         function = "SPI";
1652
1653                         cs {
1654                                 pinmux = <SANDBOX_PINMUX(5, SANDBOX_PINMUX_CS)>,
1655                                          <SANDBOX_PINMUX(6, SANDBOX_PINMUX_CS)>;
1656                         };
1657                 };
1658         };
1659
1660         pinctrl-single-no-width {
1661                 compatible = "pinctrl-single";
1662                 reg = <0x0000 0x238>;
1663                 #pinctrl-cells = <1>;
1664                 pinctrl-single,function-mask = <0x7f>;
1665         };
1666
1667         pinctrl-single-pins {
1668                 compatible = "pinctrl-single";
1669                 reg = <0x0000 0x238>;
1670                 #pinctrl-cells = <1>;
1671                 pinctrl-single,register-width = <32>;
1672                 pinctrl-single,function-mask = <0x7f>;
1673
1674                 pinmux_pwm_pins: pinmux_pwm_pins {
1675                         pinctrl-single,pins = < 0x48 0x06 >;
1676                 };
1677
1678                 pinmux_spi0_pins: pinmux_spi0_pins {
1679                         pinctrl-single,pins = <
1680                                 0x190 0x0c
1681                                 0x194 0x0c
1682                                 0x198 0x23
1683                                 0x19c 0x0c
1684                         >;
1685                 };
1686
1687                 pinmux_uart0_pins: pinmux_uart0_pins {
1688                         pinctrl-single,pins = <
1689                                 0x70 0x30
1690                                 0x74 0x00
1691                         >;
1692                 };
1693         };
1694
1695         pinctrl-single-bits {
1696                 compatible = "pinctrl-single";
1697                 reg = <0x0000 0x50>;
1698                 #pinctrl-cells = <2>;
1699                 pinctrl-single,bit-per-mux;
1700                 pinctrl-single,register-width = <32>;
1701                 pinctrl-single,function-mask = <0xf>;
1702
1703                 pinmux_i2c0_pins: pinmux_i2c0_pins {
1704                         pinctrl-single,bits = <
1705                                 0x10 0x00002200 0x0000ff00
1706                         >;
1707                 };
1708
1709                 pinmux_lcd_pins: pinmux_lcd_pins {
1710                         pinctrl-single,bits = <
1711                                 0x40 0x22222200 0xffffff00
1712                                 0x44 0x22222222 0xffffffff
1713                                 0x48 0x00000022 0x000000ff
1714                                 0x48 0x02000000 0x0f000000
1715                                 0x4c 0x02000022 0x0f0000ff
1716                         >;
1717                 };
1718         };
1719
1720         hwspinlock@0 {
1721                 compatible = "sandbox,hwspinlock";
1722         };
1723
1724         dma: dma {
1725                 compatible = "sandbox,dma";
1726                 #dma-cells = <1>;
1727
1728                 dmas = <&dma 0>, <&dma 1>, <&dma 2>;
1729                 dma-names = "m2m", "tx0", "rx0";
1730         };
1731
1732         /*
1733          * keep mdio-mux ahead of mdio so that the mux is removed first at the
1734          * end of the test.  If parent mdio is removed first, clean-up of the
1735          * mux will trigger a 2nd probe of parent-mdio, leaving parent-mdio
1736          * active at the end of the test.  That it turn doesn't allow the mdio
1737          * class to be destroyed, triggering an error.
1738          */
1739         mdio-mux-test {
1740                 compatible = "sandbox,mdio-mux";
1741                 #address-cells = <1>;
1742                 #size-cells = <0>;
1743                 mdio-parent-bus = <&mdio>;
1744
1745                 mdio-ch-test@0 {
1746                         reg = <0>;
1747                 };
1748                 mdio-ch-test@1 {
1749                         reg = <1>;
1750                 };
1751         };
1752
1753         mdio: mdio-test {
1754                 compatible = "sandbox,mdio";
1755                 #address-cells = <1>;
1756                 #size-cells = <0>;
1757
1758                 ethphy1: ethernet-phy@1 {
1759                         reg = <1>;
1760                 };
1761         };
1762
1763         pm-bus-test {
1764                 compatible = "simple-pm-bus";
1765                 clocks = <&clk_sandbox 4>;
1766                 power-domains = <&pwrdom 1>;
1767         };
1768
1769         resetc2: syscon-reset {
1770                 compatible = "syscon-reset";
1771                 #reset-cells = <1>;
1772                 regmap = <&syscon0>;
1773                 offset = <1>;
1774                 mask = <0x27FFFFFF>;
1775                 assert-high = <0>;
1776         };
1777
1778         syscon-reset-test {
1779                 compatible = "sandbox,misc_sandbox";
1780                 resets = <&resetc2 15>, <&resetc2 30>, <&resetc2 60>;
1781                 reset-names = "valid", "no_mask", "out_of_range";
1782         };
1783
1784         sysinfo {
1785                 compatible = "sandbox,sysinfo-sandbox";
1786         };
1787
1788         sysinfo-gpio {
1789                 compatible = "gpio-sysinfo";
1790                 gpios = <&gpio_a 15>, <&gpio_a 16>, <&gpio_a 17>;
1791                 revisions = <19>, <5>;
1792                 names = "rev_a", "foo";
1793         };
1794
1795         some_regmapped-bus {
1796                 #address-cells = <0x1>;
1797                 #size-cells = <0x1>;
1798
1799                 ranges = <0x0 0x0 0x10>;
1800                 compatible = "simple-bus";
1801
1802                 regmap-test_0 {
1803                         reg = <0 0x10>;
1804                         compatible = "sandbox,regmap_test";
1805                 };
1806         };
1807
1808         thermal {
1809                 compatible = "sandbox,thermal";
1810         };
1811
1812         fwu-mdata {
1813                 compatible = "u-boot,fwu-mdata-gpt";
1814                 fwu-mdata-store = <&mmc0>;
1815         };
1816
1817         nvmxip-qspi1@08000000 {
1818                 compatible = "nvmxip,qspi";
1819                 reg = <0x08000000 0x00200000>;
1820                 lba_shift = <9>;
1821                 lba = <4096>;
1822         };
1823
1824         nvmxip-qspi2@08200000 {
1825                 compatible = "nvmxip,qspi";
1826                 reg = <0x08200000 0x00100000>;
1827                 lba_shift = <9>;
1828                 lba = <2048>;
1829         };
1830
1831         extcon {
1832                 compatible = "sandbox,extcon";
1833         };
1834
1835         arm-ffa-emul {
1836                 compatible = "sandbox,arm-ffa-emul";
1837
1838                 sandbox-arm-ffa {
1839                                 compatible = "sandbox,arm-ffa";
1840                 };
1841         };
1842 };
1843
1844 #include "sandbox_pmic.dtsi"
1845 #include "cros-ec-keyboard.dtsi"
1846
1847 #ifdef CONFIG_SANDBOX_VPL
1848 #include "sandbox_vpl.dtsi"
1849 #endif
1850
1851 #include "cedit.dtsi"