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