Merge branch '2021-02-18-SPL-FIT-OP-TEE-Linux-improvements'
[platform/kernel/u-boot.git] / arch / sandbox / dts / test.dts
1 /dts-v1/;
2
3 #include <dt-bindings/gpio/gpio.h>
4 #include <dt-bindings/gpio/sandbox-gpio.h>
5 #include <dt-bindings/pinctrl/sandbox-pinmux.h>
6 #include <dt-bindings/mux/mux.h>
7
8 / {
9         model = "sandbox";
10         compatible = "sandbox";
11         #address-cells = <1>;
12         #size-cells = <1>;
13
14         aliases {
15                 console = &uart0;
16                 eth0 = "/eth@10002000";
17                 eth3 = &eth_3;
18                 eth5 = &eth_5;
19                 gpio1 = &gpio_a;
20                 gpio2 = &gpio_b;
21                 gpio3 = &gpio_c;
22                 i2c0 = "/i2c@0";
23                 mmc0 = "/mmc0";
24                 mmc1 = "/mmc1";
25                 pci0 = &pci0;
26                 pci1 = &pci1;
27                 pci2 = &pci2;
28                 remoteproc0 = &rproc_1;
29                 remoteproc1 = &rproc_2;
30                 rtc0 = &rtc_0;
31                 rtc1 = &rtc_1;
32                 spi0 = "/spi@0";
33                 testfdt6 = "/e-test";
34                 testbus3 = "/some-bus";
35                 testfdt0 = "/some-bus/c-test@0";
36                 testfdt12 = "/some-bus/c-test@1";
37                 testfdt3 = "/b-test";
38                 testfdt5 = "/some-bus/c-test@5";
39                 testfdt8 = "/a-test";
40                 testfdtm1 = &testfdtm1;
41                 fdt-dummy0 = "/translation-test@8000/dev@0,0";
42                 fdt-dummy1 = "/translation-test@8000/dev@1,100";
43                 fdt-dummy2 = "/translation-test@8000/dev@2,200";
44                 fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42";
45                 fdt-dummy4 = "/translation-test@8000/xlatebus@4,400/devs/dev@19";
46                 usb0 = &usb_0;
47                 usb1 = &usb_1;
48                 usb2 = &usb_2;
49                 axi0 = &axi;
50                 osd0 = "/osd";
51         };
52
53         audio: audio-codec {
54                 compatible = "sandbox,audio-codec";
55                 #sound-dai-cells = <1>;
56         };
57
58         buttons {
59                 compatible = "gpio-keys";
60
61                 btn1 {
62                         gpios = <&gpio_a 3 0>;
63                         label = "button1";
64                 };
65
66                 btn2 {
67                         gpios = <&gpio_a 4 0>;
68                         label = "button2";
69                 };
70         };
71
72         cros_ec: cros-ec {
73                 reg = <0 0>;
74                 compatible = "google,cros-ec-sandbox";
75
76                 /*
77                  * This describes the flash memory within the EC. Note
78                  * that the STM32L flash erases to 0, not 0xff.
79                  */
80                 flash {
81                         image-pos = <0x08000000>;
82                         size = <0x20000>;
83                         erase-value = <0>;
84
85                         /* Information for sandbox */
86                         ro {
87                                 image-pos = <0>;
88                                 size = <0xf000>;
89                         };
90                         wp-ro {
91                                 image-pos = <0xf000>;
92                                 size = <0x1000>;
93                                 used = <0x884>;
94                                 compress = "lz4";
95                                 uncomp-size = <0xcf8>;
96                                 hash {
97                                         algo = "sha256";
98                                         value = [00 01 02 03 04 05 06 07
99                                                 08 09 0a 0b 0c 0d 0e 0f
100                                                 10 11 12 13 14 15 16 17
101                                                 18 19 1a 1b 1c 1d 1e 1f];
102                                 };
103                         };
104                         rw {
105                                 image-pos = <0x10000>;
106                                 size = <0x10000>;
107                         };
108                 };
109         };
110
111         dsi_host: dsi_host {
112                 compatible = "sandbox,dsi-host";
113         };
114
115         a-test {
116                 reg = <0 1>;
117                 compatible = "denx,u-boot-fdt-test";
118                 ping-expect = <0>;
119                 ping-add = <0>;
120                 u-boot,dm-pre-reloc;
121                 test-gpios = <&gpio_a 1>, <&gpio_a 4>,
122                         <&gpio_b 5 GPIO_ACTIVE_HIGH 3 2 1>,
123                         <0>, <&gpio_a 12>;
124                 test2-gpios = <&gpio_a 1>, <&gpio_a 4>,
125                         <&gpio_b 6 GPIO_ACTIVE_LOW 3 2 1>,
126                         <&gpio_b 7 GPIO_IN 3 2 1>,
127                         <&gpio_b 8 GPIO_OUT 3 2 1>,
128                         <&gpio_b 9 (GPIO_OUT|GPIO_OUT_ACTIVE) 3 2 1>;
129                 test3-gpios =
130                         <&gpio_c 0 (GPIO_OUT|GPIO_OPEN_DRAIN)>,
131                         <&gpio_c 1 (GPIO_OUT|GPIO_OPEN_SOURCE)>,
132                         <&gpio_c 2 GPIO_OUT>,
133                         <&gpio_c 3 (GPIO_IN|GPIO_PULL_UP)>,
134                         <&gpio_c 4 (GPIO_IN|GPIO_PULL_DOWN)>,
135                         <&gpio_c 5 GPIO_IN>,
136                         <&gpio_c 6 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_DRAIN)>,
137                         <&gpio_c 7 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_SOURCE)>;
138                 test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>;
139                 test5-gpios = <&gpio_a 19>;
140
141                 int-value = <1234>;
142                 uint-value = <(-1234)>;
143                 int64-value = /bits/ 64 <0x1111222233334444>;
144                 int-array = <5678 9123 4567>;
145                 str-value = "test string";
146                 interrupts-extended = <&irq 3 0>;
147                 acpi,name = "GHIJ";
148                 phandle-value = <&gpio_c 10>, <0xFFFFFFFF 20>, <&gpio_a 30>;
149
150                 mux-controls = <&muxcontroller0 0>, <&muxcontroller0 1>,
151                                <&muxcontroller0 2>, <&muxcontroller0 3>,
152                                <&muxcontroller1>;
153                 mux-control-names = "mux0", "mux1", "mux2", "mux3", "mux4";
154                 mux-syscon = <&syscon3>;
155                 display-timings {
156                         timing0: 240x320 {
157                                 clock-frequency = <6500000>;
158                                 hactive = <240>;
159                                 vactive = <320>;
160                                 hfront-porch = <6>;
161                                 hback-porch = <7>;
162                                 hsync-len = <1>;
163                                 vback-porch = <5>;
164                                 vfront-porch = <8>;
165                                 vsync-len = <2>;
166                                 hsync-active = <1>;
167                                 vsync-active = <0>;
168                                 de-active = <1>;
169                                 pixelclk-active = <1>;
170                                 interlaced;
171                                 doublescan;
172                                 doubleclk;
173                         };
174                         timing1: 480x800 {
175                                 clock-frequency = <9000000>;
176                                 hactive = <480>;
177                                 vactive = <800>;
178                                 hfront-porch = <10>;
179                                 hback-porch = <59>;
180                                 hsync-len = <12>;
181                                 vback-porch = <15>;
182                                 vfront-porch = <17>;
183                                 vsync-len = <16>;
184                                 hsync-active = <0>;
185                                 vsync-active = <1>;
186                                 de-active = <0>;
187                                 pixelclk-active = <0>;
188                         };
189                         timing2: 800x480 {
190                                 clock-frequency = <33500000>;
191                                 hactive = <800>;
192                                 vactive = <480>;
193                                 hback-porch = <89>;
194                                 hfront-porch = <164>;
195                                 vback-porch = <23>;
196                                 vfront-porch = <10>;
197                                 hsync-len = <11>;
198                                 vsync-len = <13>;
199                         };
200                 };
201         };
202
203         junk {
204                 reg = <1 1>;
205                 compatible = "not,compatible";
206         };
207
208         no-compatible {
209                 reg = <2 1>;
210         };
211
212         backlight: backlight {
213                 compatible = "pwm-backlight";
214                 enable-gpios = <&gpio_a 1>;
215                 power-supply = <&ldo_1>;
216                 pwms = <&pwm 0 1000>;
217                 default-brightness-level = <5>;
218                 brightness-levels = <0 16 32 64 128 170 202 234 255>;
219         };
220
221         bind-test {
222                 compatible = "simple-bus";
223                 bind-test-child1 {
224                         compatible = "sandbox,phy";
225                         #phy-cells = <1>;
226                 };
227
228                 bind-test-child2 {
229                         compatible = "simple-bus";
230                 };
231         };
232
233         b-test {
234                 reg = <3 1>;
235                 compatible = "denx,u-boot-fdt-test";
236                 ping-expect = <3>;
237                 ping-add = <3>;
238
239                 mux-controls = <&muxcontroller0 0>;
240                 mux-control-names = "mux0";
241         };
242
243         phy_provider0: gen_phy@0 {
244                 compatible = "sandbox,phy";
245                 #phy-cells = <1>;
246         };
247
248         phy_provider1: gen_phy@1 {
249                 compatible = "sandbox,phy";
250                 #phy-cells = <0>;
251                 broken;
252         };
253
254         phy_provider2: gen_phy@2 {
255                 compatible = "sandbox,phy";
256                 #phy-cells = <0>;
257         };
258
259         gen_phy_user: gen_phy_user {
260                 compatible = "simple-bus";
261                 phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>;
262                 phy-names = "phy1", "phy2", "phy3";
263         };
264
265         gen_phy_user1: gen_phy_user1 {
266                 compatible = "simple-bus";
267                 phys = <&phy_provider0 0>, <&phy_provider2>;
268                 phy-names = "phy1", "phy2";
269         };
270
271         some-bus {
272                 #address-cells = <1>;
273                 #size-cells = <0>;
274                 compatible = "denx,u-boot-test-bus";
275                 reg = <3 1>;
276                 ping-expect = <4>;
277                 ping-add = <4>;
278                 c-test@5 {
279                         compatible = "denx,u-boot-fdt-test";
280                         reg = <5>;
281                         ping-expect = <5>;
282                         ping-add = <5>;
283                 };
284                 c-test@0 {
285                         compatible = "denx,u-boot-fdt-test";
286                         reg = <0>;
287                         ping-expect = <6>;
288                         ping-add = <6>;
289                 };
290                 c-test@1 {
291                         compatible = "denx,u-boot-fdt-test";
292                         reg = <1>;
293                         ping-expect = <7>;
294                         ping-add = <7>;
295                 };
296         };
297
298         d-test {
299                 reg = <3 1>;
300                 ping-expect = <6>;
301                 ping-add = <6>;
302                 compatible = "google,another-fdt-test";
303         };
304
305         e-test {
306                 reg = <3 1>;
307                 ping-expect = <6>;
308                 ping-add = <6>;
309                 compatible = "google,another-fdt-test";
310         };
311
312         f-test {
313                 compatible = "denx,u-boot-fdt-test";
314         };
315
316         g-test {
317                 compatible = "denx,u-boot-fdt-test";
318         };
319
320         h-test {
321                 compatible = "denx,u-boot-fdt-test1";
322         };
323
324         i-test {
325                 compatible = "mediatek,u-boot-fdt-test";
326                 #address-cells = <1>;
327                 #size-cells = <0>;
328
329                 subnode@0 {
330                         reg = <0>;
331                 };
332
333                 subnode@1 {
334                         reg = <1>;
335                 };
336
337                 subnode@2 {
338                         reg = <2>;
339                 };
340         };
341
342         devres-test {
343                 compatible = "denx,u-boot-devres-test";
344         };
345
346         another-test {
347                 reg = <0 2>;
348                 compatible = "denx,u-boot-fdt-test";
349                 test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>;
350                 test5-gpios = <&gpio_a 19>;
351         };
352
353         mmio-bus@0 {
354                 #address-cells = <1>;
355                 #size-cells = <1>;
356                 compatible = "denx,u-boot-test-bus";
357                 dma-ranges = <0x10000000 0x00000000 0x00040000>;
358
359                 subnode@0 {
360                         compatible = "denx,u-boot-fdt-test";
361                 };
362         };
363
364         mmio-bus@1 {
365                 #address-cells = <1>;
366                 #size-cells = <1>;
367                 compatible = "denx,u-boot-test-bus";
368
369                 subnode@0 {
370                         compatible = "denx,u-boot-fdt-test";
371                 };
372         };
373
374         acpi_test1: acpi-test {
375                 compatible = "denx,u-boot-acpi-test";
376                 acpi-ssdt-test-data = "ab";
377                 acpi-dsdt-test-data = "hi";
378                 child {
379                         compatible = "denx,u-boot-acpi-test";
380                 };
381         };
382
383         acpi_test2: acpi-test2 {
384                 compatible = "denx,u-boot-acpi-test";
385                 acpi-ssdt-test-data = "cd";
386                 acpi-dsdt-test-data = "jk";
387         };
388
389         clocks {
390                 clk_fixed: clk-fixed {
391                         compatible = "fixed-clock";
392                         #clock-cells = <0>;
393                         clock-frequency = <1234>;
394                 };
395
396                 clk_fixed_factor: clk-fixed-factor {
397                         compatible = "fixed-factor-clock";
398                         #clock-cells = <0>;
399                         clock-div = <3>;
400                         clock-mult = <2>;
401                         clocks = <&clk_fixed>;
402                 };
403
404                 osc {
405                         compatible = "fixed-clock";
406                         #clock-cells = <0>;
407                         clock-frequency = <20000000>;
408                 };
409         };
410
411         clk_sandbox: clk-sbox {
412                 compatible = "sandbox,clk";
413                 #clock-cells = <1>;
414                 assigned-clocks = <&clk_sandbox 3>;
415                 assigned-clock-rates = <321>;
416         };
417
418         clk-test {
419                 compatible = "sandbox,clk-test";
420                 clocks = <&clk_fixed>,
421                          <&clk_sandbox 1>,
422                          <&clk_sandbox 0>,
423                          <&clk_sandbox 3>,
424                          <&clk_sandbox 2>;
425                 clock-names = "fixed", "i2c", "spi", "uart2", "uart1";
426         };
427
428         ccf: clk-ccf {
429                 compatible = "sandbox,clk-ccf";
430         };
431
432         eth@10002000 {
433                 compatible = "sandbox,eth";
434                 reg = <0x10002000 0x1000>;
435                 fake-host-hwaddr = [00 00 66 44 22 00];
436         };
437
438         eth_5: eth@10003000 {
439                 compatible = "sandbox,eth";
440                 reg = <0x10003000 0x1000>;
441                 fake-host-hwaddr = [00 00 66 44 22 11];
442         };
443
444         eth_3: sbe5 {
445                 compatible = "sandbox,eth";
446                 reg = <0x10005000 0x1000>;
447                 fake-host-hwaddr = [00 00 66 44 22 33];
448         };
449
450         eth@10004000 {
451                 compatible = "sandbox,eth";
452                 reg = <0x10004000 0x1000>;
453                 fake-host-hwaddr = [00 00 66 44 22 22];
454         };
455
456         firmware {
457                 sandbox_firmware: sandbox-firmware {
458                         compatible = "sandbox,firmware";
459                 };
460
461                 sandbox-scmi-agent@0 {
462                         compatible = "sandbox,scmi-agent";
463                         #address-cells = <1>;
464                         #size-cells = <0>;
465
466                         clk_scmi0: protocol@14 {
467                                 reg = <0x14>;
468                                 #clock-cells = <1>;
469                         };
470
471                         reset_scmi0: protocol@16 {
472                                 reg = <0x16>;
473                                 #reset-cells = <1>;
474                         };
475                 };
476
477                 sandbox-scmi-agent@1 {
478                         compatible = "sandbox,scmi-agent";
479                         #address-cells = <1>;
480                         #size-cells = <0>;
481
482                         clk_scmi1: protocol@14 {
483                                 reg = <0x14>;
484                                 #clock-cells = <1>;
485                         };
486
487                         protocol@10 {
488                                 reg = <0x10>;
489                         };
490                 };
491         };
492
493         pinctrl-gpio {
494                 compatible = "sandbox,pinctrl-gpio";
495
496                 gpio_a: base-gpios {
497                         compatible = "sandbox,gpio";
498                         gpio-controller;
499                         #gpio-cells = <1>;
500                         gpio-bank-name = "a";
501                         sandbox,gpio-count = <20>;
502                         hog_input_active_low {
503                                 gpio-hog;
504                                 input;
505                                 gpios = <10 GPIO_ACTIVE_LOW>;
506                         };
507                         hog_input_active_high {
508                                 gpio-hog;
509                                 input;
510                                 gpios = <11 GPIO_ACTIVE_HIGH>;
511                         };
512                         hog_output_low {
513                                 gpio-hog;
514                                 output-low;
515                                 gpios = <12 GPIO_ACTIVE_HIGH>;
516                         };
517                         hog_output_high {
518                                 gpio-hog;
519                                 output-high;
520                                 gpios = <13 GPIO_ACTIVE_HIGH>;
521                         };
522                 };
523
524                 gpio_b: extra-gpios {
525                         compatible = "sandbox,gpio";
526                         gpio-controller;
527                         #gpio-cells = <5>;
528                         gpio-bank-name = "b";
529                         sandbox,gpio-count = <10>;
530                 };
531
532                 gpio_c: pinmux-gpios {
533                         compatible = "sandbox,gpio";
534                         gpio-controller;
535                         #gpio-cells = <2>;
536                         gpio-bank-name = "c";
537                         sandbox,gpio-count = <10>;
538                 };
539         };
540
541         i2c@0 {
542                 #address-cells = <1>;
543                 #size-cells = <0>;
544                 reg = <0 1>;
545                 compatible = "sandbox,i2c";
546                 clock-frequency = <100000>;
547                 eeprom@2c {
548                         reg = <0x2c>;
549                         compatible = "i2c-eeprom";
550                         sandbox,emul = <&emul_eeprom>;
551                         partitions {
552                                 compatible = "fixed-partitions";
553                                 #address-cells = <1>;
554                                 #size-cells = <1>;
555                                 bootcount_i2c: bootcount@10 {
556                                         reg = <10 2>;
557                                 };
558                         };
559                 };
560
561                 rtc_0: rtc@43 {
562                         reg = <0x43>;
563                         compatible = "sandbox-rtc";
564                         sandbox,emul = <&emul0>;
565                 };
566
567                 rtc_1: rtc@61 {
568                         reg = <0x61>;
569                         compatible = "sandbox-rtc";
570                         sandbox,emul = <&emul1>;
571                 };
572
573                 i2c_emul: emul {
574                         reg = <0xff>;
575                         compatible = "sandbox,i2c-emul-parent";
576                         emul_eeprom: emul-eeprom {
577                                 compatible = "sandbox,i2c-eeprom";
578                                 sandbox,filename = "i2c.bin";
579                                 sandbox,size = <256>;
580                         };
581                         emul0: emul0 {
582                                 compatible = "sandbox,i2c-rtc";
583                         };
584                         emul1: emull {
585                                 compatible = "sandbox,i2c-rtc";
586                         };
587                 };
588
589                 sandbox_pmic: sandbox_pmic {
590                         reg = <0x40>;
591                         sandbox,emul = <&emul_pmic0>;
592                 };
593
594                 mc34708: pmic@41 {
595                         reg = <0x41>;
596                         sandbox,emul = <&emul_pmic1>;
597                 };
598         };
599
600         bootcount@0 {
601                 compatible = "u-boot,bootcount-rtc";
602                 rtc = <&rtc_1>;
603                 offset = <0x13>;
604         };
605
606         bootcount {
607                 compatible = "u-boot,bootcount-i2c-eeprom";
608                 i2c-eeprom = <&bootcount_i2c>;
609         };
610
611         adc@0 {
612                 compatible = "sandbox,adc";
613                 vdd-supply = <&buck2>;
614                 vss-microvolts = <0>;
615         };
616
617         irq: irq {
618                 compatible = "sandbox,irq";
619                 interrupt-controller;
620                 #interrupt-cells = <2>;
621         };
622
623         lcd {
624                 u-boot,dm-pre-reloc;
625                 compatible = "sandbox,lcd-sdl";
626                 xres = <1366>;
627                 yres = <768>;
628         };
629
630         leds {
631                 compatible = "gpio-leds";
632
633                 iracibble {
634                         gpios = <&gpio_a 1 0>;
635                         label = "sandbox:red";
636                 };
637
638                 martinet {
639                         gpios = <&gpio_a 2 0>;
640                         label = "sandbox:green";
641                 };
642
643                 default_on {
644                         gpios = <&gpio_a 5 0>;
645                         label = "sandbox:default_on";
646                         default-state = "on";
647                 };
648
649                 default_off {
650                         gpios = <&gpio_a 6 0>;
651                         /* label intentionally omitted */
652                         default-state = "off";
653                 };
654         };
655
656         mbox: mbox {
657                 compatible = "sandbox,mbox";
658                 #mbox-cells = <1>;
659         };
660
661         mbox-test {
662                 compatible = "sandbox,mbox-test";
663                 mboxes = <&mbox 100>, <&mbox 1>;
664                 mbox-names = "other", "test";
665         };
666
667         cpus {
668                 timebase-frequency = <2000000>;
669                 cpu-test1 {
670                         timebase-frequency = <3000000>;
671                         compatible = "sandbox,cpu_sandbox";
672                         u-boot,dm-pre-reloc;
673                 };
674
675                 cpu-test2 {
676                         compatible = "sandbox,cpu_sandbox";
677                         u-boot,dm-pre-reloc;
678                 };
679
680                 cpu-test3 {
681                         compatible = "sandbox,cpu_sandbox";
682                         u-boot,dm-pre-reloc;
683                 };
684         };
685
686         chipid: chipid {
687                 compatible = "sandbox,soc";
688         };
689
690         i2s: i2s {
691                 compatible = "sandbox,i2s";
692                 #sound-dai-cells = <1>;
693                 sandbox,silent; /* Don't emit sounds while testing */
694         };
695
696         nop-test_0 {
697                 compatible = "sandbox,nop_sandbox1";
698                 nop-test_1 {
699                         compatible = "sandbox,nop_sandbox2";
700                         bind = "True";
701                 };
702                 nop-test_2 {
703                         compatible = "sandbox,nop_sandbox2";
704                         bind = "False";
705                 };
706         };
707
708         misc-test {
709                 compatible = "sandbox,misc_sandbox";
710         };
711
712         mmc2 {
713                 compatible = "sandbox,mmc";
714         };
715
716         mmc1 {
717                 compatible = "sandbox,mmc";
718         };
719
720         mmc0 {
721                 compatible = "sandbox,mmc";
722         };
723
724         pch {
725                 compatible = "sandbox,pch";
726         };
727
728         pci0: pci@0 {
729                 compatible = "sandbox,pci";
730                 device_type = "pci";
731                 bus-range = <0x00 0xff>;
732                 #address-cells = <3>;
733                 #size-cells = <2>;
734                 ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000000
735                                 0x01000000 0 0x20000000 0x20000000 0 0x2000>;
736                 pci@0,0 {
737                         compatible = "pci-generic";
738                         reg = <0x0000 0 0 0 0>;
739                         sandbox,emul = <&swap_case_emul0_0>;
740                 };
741                 pci@1,0 {
742                         compatible = "pci-generic";
743                         /* reg 0 is at 0x14, using FDT_PCI_SPACE_MEM32 */
744                         reg = <0x02000814 0 0 0 0
745                                0x01000810 0 0 0 0>;
746                         sandbox,emul = <&swap_case_emul0_1>;
747                 };
748                 p2sb-pci@2,0 {
749                         compatible = "sandbox,p2sb";
750                         reg = <0x02001010 0 0 0 0>;
751                         sandbox,emul = <&p2sb_emul>;
752
753                         adder {
754                                 intel,p2sb-port-id = <3>;
755                                 compatible = "sandbox,adder";
756                         };
757                 };
758                 pci@1e,0 {
759                         compatible = "sandbox,pmc";
760                         reg = <0xf000 0 0 0 0>;
761                         sandbox,emul = <&pmc_emul1e>;
762                         acpi-base = <0x400>;
763                         gpe0-dwx-mask = <0xf>;
764                         gpe0-dwx-shift-base = <4>;
765                         gpe0-dw = <6 7 9>;
766                         gpe0-sts = <0x20>;
767                         gpe0-en = <0x30>;
768                 };
769                 pci@1f,0 {
770                         compatible = "pci-generic";
771                         /* reg 0 is at 0x10, using FDT_PCI_SPACE_IO */
772                         reg = <0x0100f810 0 0 0 0>;
773                         sandbox,emul = <&swap_case_emul0_1f>;
774                 };
775         };
776
777         pci-emul0 {
778                 compatible = "sandbox,pci-emul-parent";
779                 swap_case_emul0_0: emul0@0,0 {
780                         compatible = "sandbox,swap-case";
781                 };
782                 swap_case_emul0_1: emul0@1,0 {
783                         compatible = "sandbox,swap-case";
784                         use-ea;
785                 };
786                 swap_case_emul0_1f: emul0@1f,0 {
787                         compatible = "sandbox,swap-case";
788                 };
789                 p2sb_emul: emul@2,0 {
790                         compatible = "sandbox,p2sb-emul";
791                 };
792                 pmc_emul1e: emul@1e,0 {
793                         compatible = "sandbox,pmc-emul";
794                 };
795         };
796
797         pci1: pci@1 {
798                 compatible = "sandbox,pci";
799                 device_type = "pci";
800                 bus-range = <0x00 0xff>;
801                 #address-cells = <3>;
802                 #size-cells = <2>;
803                 ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000 // MEM0
804                           0x02000000 0 0x31000000 0x31000000 0 0x2000 // MEM1
805                           0x01000000 0 0x40000000 0x40000000 0 0x2000>;
806                 sandbox,dev-info = <0x08 0x00 0x1234 0x5678
807                                     0x0c 0x00 0x1234 0x5678
808                                     0x10 0x00 0x1234 0x5678>;
809                 pci@10,0 {
810                         reg = <0x8000 0 0 0 0>;
811                 };
812         };
813
814         pci2: pci@2 {
815                 compatible = "sandbox,pci";
816                 device_type = "pci";
817                 bus-range = <0x00 0xff>;
818                 #address-cells = <3>;
819                 #size-cells = <2>;
820                 ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000
821                                 0x01000000 0 0x60000000 0x60000000 0 0x2000>;
822                 sandbox,dev-info = <0x08 0x00 0x1234 0x5678>;
823                 pci@1f,0 {
824                         compatible = "pci-generic";
825                         reg = <0xf800 0 0 0 0>;
826                         sandbox,emul = <&swap_case_emul2_1f>;
827                 };
828         };
829
830         pci-emul2 {
831                 compatible = "sandbox,pci-emul-parent";
832                 swap_case_emul2_1f: emul2@1f,0 {
833                         compatible = "sandbox,swap-case";
834                 };
835         };
836
837         pci_ep: pci_ep {
838                 compatible = "sandbox,pci_ep";
839         };
840
841         probing {
842                 compatible = "simple-bus";
843                 test1 {
844                         compatible = "denx,u-boot-probe-test";
845                 };
846
847                 test2 {
848                         compatible = "denx,u-boot-probe-test";
849                 };
850
851                 test3 {
852                         compatible = "denx,u-boot-probe-test";
853                 };
854
855                 test4 {
856                         compatible = "denx,u-boot-probe-test";
857                         first-syscon = <&syscon0>;
858                         second-sys-ctrl = <&another_system_controller>;
859                         third-syscon = <&syscon2>;
860                 };
861         };
862
863         pwrdom: power-domain {
864                 compatible = "sandbox,power-domain";
865                 #power-domain-cells = <1>;
866         };
867
868         power-domain-test {
869                 compatible = "sandbox,power-domain-test";
870                 power-domains = <&pwrdom 2>;
871         };
872
873         pwm: pwm {
874                 compatible = "sandbox,pwm";
875                 #pwm-cells = <2>;
876         };
877
878         pwm2 {
879                 compatible = "sandbox,pwm";
880                 #pwm-cells = <2>;
881         };
882
883         ram {
884                 compatible = "sandbox,ram";
885         };
886
887         reset@0 {
888                 compatible = "sandbox,warm-reset";
889         };
890
891         reset@1 {
892                 compatible = "sandbox,reset";
893         };
894
895         resetc: reset-ctl {
896                 compatible = "sandbox,reset-ctl";
897                 #reset-cells = <1>;
898         };
899
900         reset-ctl-test {
901                 compatible = "sandbox,reset-ctl-test";
902                 resets = <&resetc 100>, <&resetc 2>;
903                 reset-names = "other", "test";
904         };
905
906         rng {
907                 compatible = "sandbox,sandbox-rng";
908         };
909
910         rproc_1: rproc@1 {
911                 compatible = "sandbox,test-processor";
912                 remoteproc-name = "remoteproc-test-dev1";
913         };
914
915         rproc_2: rproc@2 {
916                 compatible = "sandbox,test-processor";
917                 internal-memory-mapped;
918                 remoteproc-name = "remoteproc-test-dev2";
919         };
920
921         panel {
922                 compatible = "simple-panel";
923                 backlight = <&backlight 0 100>;
924         };
925
926         smem@0 {
927                 compatible = "sandbox,smem";
928         };
929
930         sound {
931                 compatible = "sandbox,sound";
932                 cpu {
933                         sound-dai = <&i2s 0>;
934                 };
935
936                 codec {
937                         sound-dai = <&audio 0>;
938                 };
939         };
940
941         spi@0 {
942                 #address-cells = <1>;
943                 #size-cells = <0>;
944                 reg = <0 1>;
945                 compatible = "sandbox,spi";
946                 cs-gpios = <0>, <0>, <&gpio_a 0>;
947                 spi.bin@0 {
948                         reg = <0>;
949                         compatible = "spansion,m25p16", "jedec,spi-nor";
950                         spi-max-frequency = <40000000>;
951                         sandbox,filename = "spi.bin";
952                 };
953                 spi.bin@1 {
954                         reg = <1>;
955                         compatible = "spansion,m25p16", "jedec,spi-nor";
956                         spi-max-frequency = <50000000>;
957                         sandbox,filename = "spi.bin";
958                         spi-cpol;
959                         spi-cpha;
960                 };
961         };
962
963         syscon0: syscon@0 {
964                 compatible = "sandbox,syscon0";
965                 reg = <0x10 16>;
966         };
967
968         another_system_controller: syscon@1 {
969                 compatible = "sandbox,syscon1";
970                 reg = <0x20 5
971                         0x28 6
972                         0x30 7
973                         0x38 8>;
974         };
975
976         syscon2: syscon@2 {
977                 compatible = "simple-mfd", "syscon";
978                 reg = <0x40 5
979                         0x48 6
980                         0x50 7
981                         0x58 8>;
982         };
983
984         syscon3: syscon@3 {
985                 compatible = "simple-mfd", "syscon";
986                 reg = <0x000100 0x10>;
987
988                 muxcontroller0: a-mux-controller {
989                         compatible = "mmio-mux";
990                         #mux-control-cells = <1>;
991
992                         mux-reg-masks = <0x0 0x30>, /* 0: reg 0x0, bits 5:4 */
993                                         <0xc 0x1E>, /* 1: reg 0xc, bits 4:1 */
994                                         <0x4 0xFF>; /* 2: reg 0x4, bits 7:0 */
995                         idle-states = <MUX_IDLE_AS_IS>, <0x02>, <0x73>;
996                         u-boot,mux-autoprobe;
997                 };
998         };
999
1000         muxcontroller1: emul-mux-controller {
1001                 compatible = "mux-emul";
1002                 #mux-control-cells = <0>;
1003                 u-boot,mux-autoprobe;
1004                 idle-state = <0xabcd>;
1005         };
1006
1007         testfdtm0 {
1008                 compatible = "denx,u-boot-fdtm-test";
1009         };
1010
1011         testfdtm1: testfdtm1 {
1012                 compatible = "denx,u-boot-fdtm-test";
1013         };
1014
1015         testfdtm2 {
1016                 compatible = "denx,u-boot-fdtm-test";
1017         };
1018
1019         timer@0 {
1020                 compatible = "sandbox,timer";
1021                 clock-frequency = <1000000>;
1022         };
1023
1024         timer@1 {
1025                 compatible = "sandbox,timer";
1026                 sandbox,timebase-frequency-fallback;
1027         };
1028
1029         tpm2 {
1030                 compatible = "sandbox,tpm2";
1031         };
1032
1033         uart0: serial {
1034                 compatible = "sandbox,serial";
1035                 u-boot,dm-pre-reloc;
1036         };
1037
1038         usb_0: usb@0 {
1039                 compatible = "sandbox,usb";
1040                 status = "disabled";
1041                 hub {
1042                         compatible = "sandbox,usb-hub";
1043                         #address-cells = <1>;
1044                         #size-cells = <0>;
1045                         flash-stick {
1046                                 reg = <0>;
1047                                 compatible = "sandbox,usb-flash";
1048                         };
1049                 };
1050         };
1051
1052         usb_1: usb@1 {
1053                 compatible = "sandbox,usb";
1054                 hub {
1055                         compatible = "usb-hub";
1056                         usb,device-class = <9>;
1057                         #address-cells = <1>;
1058                         #size-cells = <0>;
1059                         hub-emul {
1060                                 compatible = "sandbox,usb-hub";
1061                                 #address-cells = <1>;
1062                                 #size-cells = <0>;
1063                                 flash-stick@0 {
1064                                         reg = <0>;
1065                                         compatible = "sandbox,usb-flash";
1066                                         sandbox,filepath = "testflash.bin";
1067                                 };
1068
1069                                 flash-stick@1 {
1070                                         reg = <1>;
1071                                         compatible = "sandbox,usb-flash";
1072                                         sandbox,filepath = "testflash1.bin";
1073                                 };
1074
1075                                 flash-stick@2 {
1076                                         reg = <2>;
1077                                         compatible = "sandbox,usb-flash";
1078                                         sandbox,filepath = "testflash2.bin";
1079                                 };
1080
1081                                 keyb@3 {
1082                                         reg = <3>;
1083                                         compatible = "sandbox,usb-keyb";
1084                                 };
1085
1086                         };
1087
1088                         usbstor@1 {
1089                                 reg = <1>;
1090                         };
1091                         usbstor@3 {
1092                                 reg = <3>;
1093                         };
1094                 };
1095         };
1096
1097         usb_2: usb@2 {
1098                 compatible = "sandbox,usb";
1099                 status = "disabled";
1100         };
1101
1102         spmi: spmi@0 {
1103                 compatible = "sandbox,spmi";
1104                 #address-cells = <0x1>;
1105                 #size-cells = <0x1>;
1106                 ranges;
1107                 pm8916@0 {
1108                         compatible = "qcom,spmi-pmic";
1109                         reg = <0x0 0x1>;
1110                         #address-cells = <0x1>;
1111                         #size-cells = <0x1>;
1112                         ranges;
1113
1114                         spmi_gpios: gpios@c000 {
1115                                 compatible = "qcom,pm8916-gpio";
1116                                 reg = <0xc000 0x400>;
1117                                 gpio-controller;
1118                                 gpio-count = <4>;
1119                                 #gpio-cells = <2>;
1120                                 gpio-bank-name="spmi";
1121                         };
1122                 };
1123         };
1124
1125         wdt0: wdt@0 {
1126                 compatible = "sandbox,wdt";
1127         };
1128
1129         axi: axi@0 {
1130                 compatible = "sandbox,axi";
1131                 #address-cells = <0x1>;
1132                 #size-cells = <0x1>;
1133                 store@0 {
1134                         compatible = "sandbox,sandbox_store";
1135                         reg = <0x0 0x400>;
1136                 };
1137         };
1138
1139         chosen {
1140                 #address-cells = <1>;
1141                 #size-cells = <1>;
1142                 setting = "sunrise ohoka";
1143                 other-node = "/some-bus/c-test@5";
1144                 int-values = <0x1937 72993>;
1145                 u-boot,acpi-ssdt-order = <&acpi_test2 &acpi_test1>;
1146                 chosen-test {
1147                         compatible = "denx,u-boot-fdt-test";
1148                         reg = <9 1>;
1149                 };
1150         };
1151
1152         translation-test@8000 {
1153                 compatible = "simple-bus";
1154                 reg = <0x8000 0x4000>;
1155
1156                 #address-cells = <0x2>;
1157                 #size-cells = <0x1>;
1158
1159                 ranges = <0 0x0 0x8000 0x1000
1160                           1 0x100 0x9000 0x1000
1161                           2 0x200 0xA000 0x1000
1162                           3 0x300 0xB000 0x1000
1163                           4 0x400 0xC000 0x1000
1164                          >;
1165
1166                 dma-ranges = <0 0x000 0x10000000 0x1000
1167                               1 0x100 0x20000000 0x1000
1168                              >;
1169
1170                 dev@0,0 {
1171                         compatible = "denx,u-boot-fdt-dummy";
1172                         reg = <0 0x0 0x1000>;
1173                         reg-names = "sandbox-dummy-0";
1174                 };
1175
1176                 dev@1,100 {
1177                         compatible = "denx,u-boot-fdt-dummy";
1178                         reg = <1 0x100 0x1000>;
1179
1180                 };
1181
1182                 dev@2,200 {
1183                         compatible = "denx,u-boot-fdt-dummy";
1184                         reg = <2 0x200 0x1000>;
1185                 };
1186
1187
1188                 noxlatebus@3,300 {
1189                         compatible = "simple-bus";
1190                         reg = <3 0x300 0x1000>;
1191
1192                         #address-cells = <0x1>;
1193                         #size-cells = <0x0>;
1194
1195                         dev@42 {
1196                                 compatible = "denx,u-boot-fdt-dummy";
1197                                 reg = <0x42>;
1198                         };
1199                 };
1200
1201                 xlatebus@4,400 {
1202                         compatible = "sandbox,zero-size-cells-bus";
1203                         reg = <4 0x400 0x1000>;
1204                         #address-cells = <1>;
1205                         #size-cells = <1>;
1206                         ranges = <0 4 0x400 0x1000>;
1207
1208                         devs {
1209                                 #address-cells = <1>;
1210                                 #size-cells = <0>;
1211
1212                                 dev@19 {
1213                                         compatible = "denx,u-boot-fdt-dummy";
1214                                         reg = <0x19>;
1215                                 };
1216                         };
1217                 };
1218
1219         };
1220
1221         osd {
1222                 compatible = "sandbox,sandbox_osd";
1223         };
1224
1225         sandbox_tee {
1226                 compatible = "sandbox,tee";
1227         };
1228
1229         sandbox_virtio1 {
1230                 compatible = "sandbox,virtio1";
1231         };
1232
1233         sandbox_virtio2 {
1234                 compatible = "sandbox,virtio2";
1235         };
1236
1237         sandbox_scmi {
1238                 compatible = "sandbox,scmi-devices";
1239                 clocks = <&clk_scmi0 7>, <&clk_scmi0 3>, <&clk_scmi1 1>;
1240                 resets = <&reset_scmi0 3>;
1241         };
1242
1243         pinctrl {
1244                 compatible = "sandbox,pinctrl";
1245
1246                 pinctrl-names = "default", "alternate";
1247                 pinctrl-0 = <&pinctrl_gpios>, <&pinctrl_i2s>;
1248                 pinctrl-1 = <&pinctrl_spi>, <&pinctrl_i2c>;
1249
1250                 pinctrl_gpios: gpios {
1251                         gpio0 {
1252                                 pins = "P5";
1253                                 function = "GPIO";
1254                                 bias-pull-up;
1255                                 input-disable;
1256                         };
1257                         gpio1 {
1258                                 pins = "P6";
1259                                 function = "GPIO";
1260                                 output-high;
1261                                 drive-open-drain;
1262                         };
1263                         gpio2 {
1264                                 pinmux = <SANDBOX_PINMUX(7, SANDBOX_PINMUX_GPIO)>;
1265                                 bias-pull-down;
1266                                 input-enable;
1267                         };
1268                         gpio3 {
1269                                 pinmux = <SANDBOX_PINMUX(8, SANDBOX_PINMUX_GPIO)>;
1270                                 bias-disable;
1271                         };
1272                 };
1273
1274                 pinctrl_i2c: i2c {
1275                         groups {
1276                                 groups = "I2C_UART";
1277                                 function = "I2C";
1278                         };
1279
1280                         pins {
1281                                 pins = "P0", "P1";
1282                                 drive-open-drain;
1283                         };
1284                 };
1285
1286                 pinctrl_i2s: i2s {
1287                         groups = "SPI_I2S";
1288                         function = "I2S";
1289                 };
1290
1291                 pinctrl_spi: spi {
1292                         groups = "SPI_I2S";
1293                         function = "SPI";
1294
1295                         cs {
1296                                 pinmux = <SANDBOX_PINMUX(5, SANDBOX_PINMUX_CS)>,
1297                                          <SANDBOX_PINMUX(6, SANDBOX_PINMUX_CS)>;
1298                         };
1299                 };
1300         };
1301
1302         hwspinlock@0 {
1303                 compatible = "sandbox,hwspinlock";
1304         };
1305
1306         dma: dma {
1307                 compatible = "sandbox,dma";
1308                 #dma-cells = <1>;
1309
1310                 dmas = <&dma 0>, <&dma 1>, <&dma 2>;
1311                 dma-names = "m2m", "tx0", "rx0";
1312         };
1313
1314         /*
1315          * keep mdio-mux ahead of mdio so that the mux is removed first at the
1316          * end of the test.  If parent mdio is removed first, clean-up of the
1317          * mux will trigger a 2nd probe of parent-mdio, leaving parent-mdio
1318          * active at the end of the test.  That it turn doesn't allow the mdio
1319          * class to be destroyed, triggering an error.
1320          */
1321         mdio-mux-test {
1322                 compatible = "sandbox,mdio-mux";
1323                 #address-cells = <1>;
1324                 #size-cells = <0>;
1325                 mdio-parent-bus = <&mdio>;
1326
1327                 mdio-ch-test@0 {
1328                         reg = <0>;
1329                 };
1330                 mdio-ch-test@1 {
1331                         reg = <1>;
1332                 };
1333         };
1334
1335         mdio: mdio-test {
1336                 compatible = "sandbox,mdio";
1337         };
1338
1339         pm-bus-test {
1340                 compatible = "simple-pm-bus";
1341                 clocks = <&clk_sandbox 4>;
1342                 power-domains = <&pwrdom 1>;
1343         };
1344
1345         resetc2: syscon-reset {
1346                 compatible = "syscon-reset";
1347                 #reset-cells = <1>;
1348                 regmap = <&syscon0>;
1349                 offset = <1>;
1350                 mask = <0x27FFFFFF>;
1351                 assert-high = <0>;
1352         };
1353
1354         syscon-reset-test {
1355                 compatible = "sandbox,misc_sandbox";
1356                 resets = <&resetc2 15>, <&resetc2 30>, <&resetc2 60>;
1357                 reset-names = "valid", "no_mask", "out_of_range";
1358         };
1359
1360         sysinfo {
1361                 compatible = "sandbox,sysinfo-sandbox";
1362         };
1363
1364         some_regmapped-bus {
1365                 #address-cells = <0x1>;
1366                 #size-cells = <0x1>;
1367
1368                 ranges = <0x0 0x0 0x10>;
1369                 compatible = "simple-bus";
1370
1371                 regmap-test_0 {
1372                         reg = <0 0x10>;
1373                         compatible = "sandbox,regmap_test";
1374                 };
1375         };
1376 };
1377
1378 #include "sandbox_pmic.dtsi"