acpi: Add a method to write tables for a device
[oweals/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
6 / {
7         model = "sandbox";
8         compatible = "sandbox";
9         #address-cells = <1>;
10         #size-cells = <1>;
11
12         aliases {
13                 console = &uart0;
14                 eth0 = "/eth@10002000";
15                 eth3 = &eth_3;
16                 eth5 = &eth_5;
17                 gpio1 = &gpio_a;
18                 gpio2 = &gpio_b;
19                 gpio3 = &gpio_c;
20                 i2c0 = "/i2c@0";
21                 mmc0 = "/mmc0";
22                 mmc1 = "/mmc1";
23                 pci0 = &pci0;
24                 pci1 = &pci1;
25                 pci2 = &pci2;
26                 remoteproc1 = &rproc_1;
27                 remoteproc2 = &rproc_2;
28                 rtc0 = &rtc_0;
29                 rtc1 = &rtc_1;
30                 spi0 = "/spi@0";
31                 testfdt6 = "/e-test";
32                 testbus3 = "/some-bus";
33                 testfdt0 = "/some-bus/c-test@0";
34                 testfdt1 = "/some-bus/c-test@1";
35                 testfdt3 = "/b-test";
36                 testfdt5 = "/some-bus/c-test@5";
37                 testfdt8 = "/a-test";
38                 fdt-dummy0 = "/translation-test@8000/dev@0,0";
39                 fdt-dummy1 = "/translation-test@8000/dev@1,100";
40                 fdt-dummy2 = "/translation-test@8000/dev@2,200";
41                 fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42";
42                 usb0 = &usb_0;
43                 usb1 = &usb_1;
44                 usb2 = &usb_2;
45                 axi0 = &axi;
46                 osd0 = "/osd";
47         };
48
49         audio: audio-codec {
50                 compatible = "sandbox,audio-codec";
51                 #sound-dai-cells = <1>;
52         };
53
54         cros_ec: cros-ec {
55                 reg = <0 0>;
56                 compatible = "google,cros-ec-sandbox";
57
58                 /*
59                  * This describes the flash memory within the EC. Note
60                  * that the STM32L flash erases to 0, not 0xff.
61                  */
62                 flash {
63                         image-pos = <0x08000000>;
64                         size = <0x20000>;
65                         erase-value = <0>;
66
67                         /* Information for sandbox */
68                         ro {
69                                 image-pos = <0>;
70                                 size = <0xf000>;
71                         };
72                         wp-ro {
73                                 image-pos = <0xf000>;
74                                 size = <0x1000>;
75                         };
76                         rw {
77                                 image-pos = <0x10000>;
78                                 size = <0x10000>;
79                         };
80                 };
81         };
82
83         dsi_host: dsi_host {
84                 compatible = "sandbox,dsi-host";
85         };
86
87         a-test {
88                 reg = <0 1>;
89                 compatible = "denx,u-boot-fdt-test";
90                 ping-expect = <0>;
91                 ping-add = <0>;
92                 u-boot,dm-pre-reloc;
93                 test-gpios = <&gpio_a 1>, <&gpio_a 4>,
94                         <&gpio_b 5 GPIO_ACTIVE_HIGH 3 2 1>,
95                         <0>, <&gpio_a 12>;
96                 test2-gpios = <&gpio_a 1>, <&gpio_a 4>,
97                         <&gpio_b 6 GPIO_ACTIVE_LOW 3 2 1>,
98                         <&gpio_b 7 GPIO_IN 3 2 1>,
99                         <&gpio_b 8 GPIO_OUT 3 2 1>,
100                         <&gpio_b 9 (GPIO_OUT|GPIO_OUT_ACTIVE) 3 2 1>;
101                 test3-gpios =
102                         <&gpio_c 0 (GPIO_OUT|GPIO_OPEN_DRAIN)>,
103                         <&gpio_c 1 (GPIO_OUT|GPIO_OPEN_SOURCE)>,
104                         <&gpio_c 2 GPIO_OUT>,
105                         <&gpio_c 3 (GPIO_IN|GPIO_PULL_UP)>,
106                         <&gpio_c 4 (GPIO_IN|GPIO_PULL_DOWN)>,
107                         <&gpio_c 5 GPIO_IN>;
108                 int-value = <1234>;
109                 uint-value = <(-1234)>;
110                 int64-value = /bits/ 64 <0x1111222233334444>;
111                 int-array = <5678 9123 4567>;
112                 interrupts-extended = <&irq 3 0>;
113         };
114
115         junk {
116                 reg = <1 1>;
117                 compatible = "not,compatible";
118         };
119
120         no-compatible {
121                 reg = <2 1>;
122         };
123
124         backlight: backlight {
125                 compatible = "pwm-backlight";
126                 enable-gpios = <&gpio_a 1>;
127                 power-supply = <&ldo_1>;
128                 pwms = <&pwm 0 1000>;
129                 default-brightness-level = <5>;
130                 brightness-levels = <0 16 32 64 128 170 202 234 255>;
131         };
132
133         bind-test {
134                 bind-test-child1 {
135                         compatible = "sandbox,phy";
136                         #phy-cells = <1>;
137                 };
138
139                 bind-test-child2 {
140                         compatible = "simple-bus";
141                 };
142         };
143
144         b-test {
145                 reg = <3 1>;
146                 compatible = "denx,u-boot-fdt-test";
147                 ping-expect = <3>;
148                 ping-add = <3>;
149         };
150
151         phy_provider0: gen_phy@0 {
152                 compatible = "sandbox,phy";
153                 #phy-cells = <1>;
154         };
155
156         phy_provider1: gen_phy@1 {
157                 compatible = "sandbox,phy";
158                 #phy-cells = <0>;
159                 broken;
160         };
161
162         gen_phy_user: gen_phy_user {
163                 compatible = "simple-bus";
164                 phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>;
165                 phy-names = "phy1", "phy2", "phy3";
166         };
167
168         some-bus {
169                 #address-cells = <1>;
170                 #size-cells = <0>;
171                 compatible = "denx,u-boot-test-bus";
172                 reg = <3 1>;
173                 ping-expect = <4>;
174                 ping-add = <4>;
175                 c-test@5 {
176                         compatible = "denx,u-boot-fdt-test";
177                         reg = <5>;
178                         ping-expect = <5>;
179                         ping-add = <5>;
180                 };
181                 c-test@0 {
182                         compatible = "denx,u-boot-fdt-test";
183                         reg = <0>;
184                         ping-expect = <6>;
185                         ping-add = <6>;
186                 };
187                 c-test@1 {
188                         compatible = "denx,u-boot-fdt-test";
189                         reg = <1>;
190                         ping-expect = <7>;
191                         ping-add = <7>;
192                 };
193         };
194
195         d-test {
196                 reg = <3 1>;
197                 ping-expect = <6>;
198                 ping-add = <6>;
199                 compatible = "google,another-fdt-test";
200         };
201
202         e-test {
203                 reg = <3 1>;
204                 ping-expect = <6>;
205                 ping-add = <6>;
206                 compatible = "google,another-fdt-test";
207         };
208
209         f-test {
210                 compatible = "denx,u-boot-fdt-test";
211         };
212
213         g-test {
214                 compatible = "denx,u-boot-fdt-test";
215         };
216
217         h-test {
218                 compatible = "denx,u-boot-fdt-test1";
219         };
220
221         devres-test {
222                 compatible = "denx,u-boot-devres-test";
223         };
224
225         acpi-test {
226                 compatible = "denx,u-boot-acpi-test";
227         };
228
229         acpi-test2 {
230                 compatible = "denx,u-boot-acpi-test";
231         };
232
233         clocks {
234                 clk_fixed: clk-fixed {
235                         compatible = "fixed-clock";
236                         #clock-cells = <0>;
237                         clock-frequency = <1234>;
238                 };
239
240                 clk_fixed_factor: clk-fixed-factor {
241                         compatible = "fixed-factor-clock";
242                         #clock-cells = <0>;
243                         clock-div = <3>;
244                         clock-mult = <2>;
245                         clocks = <&clk_fixed>;
246                 };
247
248                 osc {
249                         compatible = "fixed-clock";
250                         #clock-cells = <0>;
251                         clock-frequency = <20000000>;
252                 };
253         };
254
255         clk_sandbox: clk-sbox {
256                 compatible = "sandbox,clk";
257                 #clock-cells = <1>;
258                 assigned-clocks = <&clk_sandbox 3>;
259                 assigned-clock-rates = <321>;
260         };
261
262         clk-test {
263                 compatible = "sandbox,clk-test";
264                 clocks = <&clk_fixed>,
265                          <&clk_sandbox 1>,
266                          <&clk_sandbox 0>,
267                          <&clk_sandbox 3>,
268                          <&clk_sandbox 2>;
269                 clock-names = "fixed", "i2c", "spi", "uart2", "uart1";
270         };
271
272         ccf: clk-ccf {
273                 compatible = "sandbox,clk-ccf";
274         };
275
276         eth@10002000 {
277                 compatible = "sandbox,eth";
278                 reg = <0x10002000 0x1000>;
279                 fake-host-hwaddr = [00 00 66 44 22 00];
280         };
281
282         eth_5: eth@10003000 {
283                 compatible = "sandbox,eth";
284                 reg = <0x10003000 0x1000>;
285                 fake-host-hwaddr = [00 00 66 44 22 11];
286         };
287
288         eth_3: sbe5 {
289                 compatible = "sandbox,eth";
290                 reg = <0x10005000 0x1000>;
291                 fake-host-hwaddr = [00 00 66 44 22 33];
292         };
293
294         eth@10004000 {
295                 compatible = "sandbox,eth";
296                 reg = <0x10004000 0x1000>;
297                 fake-host-hwaddr = [00 00 66 44 22 22];
298         };
299
300         firmware {
301                 sandbox_firmware: sandbox-firmware {
302                         compatible = "sandbox,firmware";
303                 };
304         };
305
306         pinctrl-gpio {
307                 compatible = "sandbox,pinctrl-gpio";
308
309                 gpio_a: base-gpios {
310                         compatible = "sandbox,gpio";
311                         gpio-controller;
312                         #gpio-cells = <1>;
313                         gpio-bank-name = "a";
314                         sandbox,gpio-count = <20>;
315                 };
316
317                 gpio_b: extra-gpios {
318                         compatible = "sandbox,gpio";
319                         gpio-controller;
320                         #gpio-cells = <5>;
321                         gpio-bank-name = "b";
322                         sandbox,gpio-count = <10>;
323                 };
324
325                 gpio_c: pinmux-gpios {
326                         compatible = "sandbox,gpio";
327                         gpio-controller;
328                         #gpio-cells = <2>;
329                         gpio-bank-name = "c";
330                         sandbox,gpio-count = <10>;
331                 };
332         };
333
334         i2c@0 {
335                 #address-cells = <1>;
336                 #size-cells = <0>;
337                 reg = <0 1>;
338                 compatible = "sandbox,i2c";
339                 clock-frequency = <100000>;
340                 eeprom@2c {
341                         reg = <0x2c>;
342                         compatible = "i2c-eeprom";
343                         sandbox,emul = <&emul_eeprom>;
344                 };
345
346                 rtc_0: rtc@43 {
347                         reg = <0x43>;
348                         compatible = "sandbox-rtc";
349                         sandbox,emul = <&emul0>;
350                 };
351
352                 rtc_1: rtc@61 {
353                         reg = <0x61>;
354                         compatible = "sandbox-rtc";
355                         sandbox,emul = <&emul1>;
356                 };
357
358                 i2c_emul: emul {
359                         reg = <0xff>;
360                         compatible = "sandbox,i2c-emul-parent";
361                         emul_eeprom: emul-eeprom {
362                                 compatible = "sandbox,i2c-eeprom";
363                                 sandbox,filename = "i2c.bin";
364                                 sandbox,size = <256>;
365                         };
366                         emul0: emul0 {
367                                 compatible = "sandbox,i2c-rtc";
368                         };
369                         emul1: emull {
370                                 compatible = "sandbox,i2c-rtc";
371                         };
372                 };
373
374                 sandbox_pmic: sandbox_pmic {
375                         reg = <0x40>;
376                         sandbox,emul = <&emul_pmic0>;
377                 };
378
379                 mc34708: pmic@41 {
380                         reg = <0x41>;
381                         sandbox,emul = <&emul_pmic1>;
382                 };
383         };
384
385         bootcount@0 {
386                 compatible = "u-boot,bootcount-rtc";
387                 rtc = <&rtc_1>;
388                 offset = <0x13>;
389         };
390
391         adc@0 {
392                 compatible = "sandbox,adc";
393                 vdd-supply = <&buck2>;
394                 vss-microvolts = <0>;
395         };
396
397         irq: irq {
398                 compatible = "sandbox,irq";
399                 interrupt-controller;
400                 #interrupt-cells = <2>;
401         };
402
403         lcd {
404                 u-boot,dm-pre-reloc;
405                 compatible = "sandbox,lcd-sdl";
406                 xres = <1366>;
407                 yres = <768>;
408         };
409
410         leds {
411                 compatible = "gpio-leds";
412
413                 iracibble {
414                         gpios = <&gpio_a 1 0>;
415                         label = "sandbox:red";
416                 };
417
418                 martinet {
419                         gpios = <&gpio_a 2 0>;
420                         label = "sandbox:green";
421                 };
422
423                 default_on {
424                         gpios = <&gpio_a 5 0>;
425                         label = "sandbox:default_on";
426                         default-state = "on";
427                 };
428
429                 default_off {
430                         gpios = <&gpio_a 6 0>;
431                         label = "sandbox:default_off";
432                         default-state = "off";
433                 };
434         };
435
436         mbox: mbox {
437                 compatible = "sandbox,mbox";
438                 #mbox-cells = <1>;
439         };
440
441         mbox-test {
442                 compatible = "sandbox,mbox-test";
443                 mboxes = <&mbox 100>, <&mbox 1>;
444                 mbox-names = "other", "test";
445         };
446
447         cpus {
448                 cpu-test1 {
449                         compatible = "sandbox,cpu_sandbox";
450                         u-boot,dm-pre-reloc;
451                 };
452
453                 cpu-test2 {
454                         compatible = "sandbox,cpu_sandbox";
455                         u-boot,dm-pre-reloc;
456                 };
457
458                 cpu-test3 {
459                         compatible = "sandbox,cpu_sandbox";
460                         u-boot,dm-pre-reloc;
461                 };
462         };
463
464         i2s: i2s {
465                 compatible = "sandbox,i2s";
466                 #sound-dai-cells = <1>;
467                 sandbox,silent; /* Don't emit sounds while testing */
468         };
469
470         nop-test_0 {
471                 compatible = "sandbox,nop_sandbox1";
472                 nop-test_1 {
473                         compatible = "sandbox,nop_sandbox2";
474                         bind = "True";
475                 };
476                 nop-test_2 {
477                         compatible = "sandbox,nop_sandbox2";
478                         bind = "False";
479                 };
480         };
481
482         misc-test {
483                 compatible = "sandbox,misc_sandbox";
484         };
485
486         mmc2 {
487                 compatible = "sandbox,mmc";
488         };
489
490         mmc1 {
491                 compatible = "sandbox,mmc";
492         };
493
494         mmc0 {
495                 compatible = "sandbox,mmc";
496         };
497
498         pch {
499                 compatible = "sandbox,pch";
500         };
501
502         pci0: pci@0 {
503                 compatible = "sandbox,pci";
504                 device_type = "pci";
505                 bus-range = <0x00 0xff>;
506                 #address-cells = <3>;
507                 #size-cells = <2>;
508                 ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000000
509                                 0x01000000 0 0x20000000 0x20000000 0 0x2000>;
510                 pci@0,0 {
511                         compatible = "pci-generic";
512                         reg = <0x0000 0 0 0 0>;
513                         sandbox,emul = <&swap_case_emul0_0>;
514                 };
515                 pci@1,0 {
516                         compatible = "pci-generic";
517                         /* reg 0 is at 0x14, using FDT_PCI_SPACE_MEM32 */
518                         reg = <0x02000814 0 0 0 0
519                                0x01000810 0 0 0 0>;
520                         sandbox,emul = <&swap_case_emul0_1>;
521                 };
522                 p2sb-pci@2,0 {
523                         compatible = "sandbox,p2sb";
524                         reg = <0x02001010 0 0 0 0>;
525                         sandbox,emul = <&p2sb_emul>;
526
527                         adder {
528                                 intel,p2sb-port-id = <3>;
529                                 compatible = "sandbox,adder";
530                         };
531                 };
532                 pci@1e,0 {
533                         compatible = "sandbox,pmc";
534                         reg = <0xf000 0 0 0 0>;
535                         sandbox,emul = <&pmc_emul1e>;
536                         acpi-base = <0x400>;
537                         gpe0-dwx-mask = <0xf>;
538                         gpe0-dwx-shift-base = <4>;
539                         gpe0-dw = <6 7 9>;
540                         gpe0-sts = <0x20>;
541                         gpe0-en = <0x30>;
542                 };
543                 pci@1f,0 {
544                         compatible = "pci-generic";
545                         /* reg 0 is at 0x10, using FDT_PCI_SPACE_IO */
546                         reg = <0x0100f810 0 0 0 0>;
547                         sandbox,emul = <&swap_case_emul0_1f>;
548                 };
549         };
550
551         pci-emul0 {
552                 compatible = "sandbox,pci-emul-parent";
553                 swap_case_emul0_0: emul0@0,0 {
554                         compatible = "sandbox,swap-case";
555                 };
556                 swap_case_emul0_1: emul0@1,0 {
557                         compatible = "sandbox,swap-case";
558                         use-ea;
559                 };
560                 swap_case_emul0_1f: emul0@1f,0 {
561                         compatible = "sandbox,swap-case";
562                 };
563                 p2sb_emul: emul@2,0 {
564                         compatible = "sandbox,p2sb-emul";
565                 };
566                 pmc_emul1e: emul@1e,0 {
567                         compatible = "sandbox,pmc-emul";
568                 };
569         };
570
571         pci1: pci@1 {
572                 compatible = "sandbox,pci";
573                 device_type = "pci";
574                 bus-range = <0x00 0xff>;
575                 #address-cells = <3>;
576                 #size-cells = <2>;
577                 ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000
578                                 0x01000000 0 0x40000000 0x40000000 0 0x2000>;
579                 sandbox,dev-info = <0x08 0x00 0x1234 0x5678
580                                     0x0c 0x00 0x1234 0x5678
581                                     0x10 0x00 0x1234 0x5678>;
582                 pci@10,0 {
583                         reg = <0x8000 0 0 0 0>;
584                 };
585         };
586
587         pci2: pci@2 {
588                 compatible = "sandbox,pci";
589                 device_type = "pci";
590                 bus-range = <0x00 0xff>;
591                 #address-cells = <3>;
592                 #size-cells = <2>;
593                 ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000
594                                 0x01000000 0 0x60000000 0x60000000 0 0x2000>;
595                 sandbox,dev-info = <0x08 0x00 0x1234 0x5678>;
596                 pci@1f,0 {
597                         compatible = "pci-generic";
598                         reg = <0xf800 0 0 0 0>;
599                         sandbox,emul = <&swap_case_emul2_1f>;
600                 };
601         };
602
603         pci-emul2 {
604                 compatible = "sandbox,pci-emul-parent";
605                 swap_case_emul2_1f: emul2@1f,0 {
606                         compatible = "sandbox,swap-case";
607                 };
608         };
609
610         pci_ep: pci_ep {
611                 compatible = "sandbox,pci_ep";
612         };
613
614         probing {
615                 compatible = "simple-bus";
616                 test1 {
617                         compatible = "denx,u-boot-probe-test";
618                 };
619
620                 test2 {
621                         compatible = "denx,u-boot-probe-test";
622                 };
623
624                 test3 {
625                         compatible = "denx,u-boot-probe-test";
626                 };
627
628                 test4 {
629                         compatible = "denx,u-boot-probe-test";
630                         first-syscon = <&syscon0>;
631                         second-sys-ctrl = <&another_system_controller>;
632                         third-syscon = <&syscon2>;
633                 };
634         };
635
636         pwrdom: power-domain {
637                 compatible = "sandbox,power-domain";
638                 #power-domain-cells = <1>;
639         };
640
641         power-domain-test {
642                 compatible = "sandbox,power-domain-test";
643                 power-domains = <&pwrdom 2>;
644         };
645
646         pwm: pwm {
647                 compatible = "sandbox,pwm";
648                 #pwm-cells = <2>;
649         };
650
651         pwm2 {
652                 compatible = "sandbox,pwm";
653                 #pwm-cells = <2>;
654         };
655
656         ram {
657                 compatible = "sandbox,ram";
658         };
659
660         reset@0 {
661                 compatible = "sandbox,warm-reset";
662         };
663
664         reset@1 {
665                 compatible = "sandbox,reset";
666         };
667
668         resetc: reset-ctl {
669                 compatible = "sandbox,reset-ctl";
670                 #reset-cells = <1>;
671         };
672
673         reset-ctl-test {
674                 compatible = "sandbox,reset-ctl-test";
675                 resets = <&resetc 100>, <&resetc 2>;
676                 reset-names = "other", "test";
677         };
678
679         rng {
680                 compatible = "sandbox,sandbox-rng";
681         };
682
683         rproc_1: rproc@1 {
684                 compatible = "sandbox,test-processor";
685                 remoteproc-name = "remoteproc-test-dev1";
686         };
687
688         rproc_2: rproc@2 {
689                 compatible = "sandbox,test-processor";
690                 internal-memory-mapped;
691                 remoteproc-name = "remoteproc-test-dev2";
692         };
693
694         panel {
695                 compatible = "simple-panel";
696                 backlight = <&backlight 0 100>;
697         };
698
699         smem@0 {
700                 compatible = "sandbox,smem";
701         };
702
703         sound {
704                 compatible = "sandbox,sound";
705                 cpu {
706                         sound-dai = <&i2s 0>;
707                 };
708
709                 codec {
710                         sound-dai = <&audio 0>;
711                 };
712         };
713
714         spi@0 {
715                 #address-cells = <1>;
716                 #size-cells = <0>;
717                 reg = <0 1>;
718                 compatible = "sandbox,spi";
719                 cs-gpios = <0>, <&gpio_a 0>;
720                 spi.bin@0 {
721                         reg = <0>;
722                         compatible = "spansion,m25p16", "jedec,spi-nor";
723                         spi-max-frequency = <40000000>;
724                         sandbox,filename = "spi.bin";
725                 };
726         };
727
728         syscon0: syscon@0 {
729                 compatible = "sandbox,syscon0";
730                 reg = <0x10 16>;
731         };
732
733         another_system_controller: syscon@1 {
734                 compatible = "sandbox,syscon1";
735                 reg = <0x20 5
736                         0x28 6
737                         0x30 7
738                         0x38 8>;
739         };
740
741         syscon2: syscon@2 {
742                 compatible = "simple-mfd", "syscon";
743                 reg = <0x40 5
744                         0x48 6
745                         0x50 7
746                         0x58 8>;
747         };
748
749         timer {
750                 compatible = "sandbox,timer";
751                 clock-frequency = <1000000>;
752         };
753
754         tpm2 {
755                 compatible = "sandbox,tpm2";
756         };
757
758         uart0: serial {
759                 compatible = "sandbox,serial";
760                 u-boot,dm-pre-reloc;
761         };
762
763         usb_0: usb@0 {
764                 compatible = "sandbox,usb";
765                 status = "disabled";
766                 hub {
767                         compatible = "sandbox,usb-hub";
768                         #address-cells = <1>;
769                         #size-cells = <0>;
770                         flash-stick {
771                                 reg = <0>;
772                                 compatible = "sandbox,usb-flash";
773                         };
774                 };
775         };
776
777         usb_1: usb@1 {
778                 compatible = "sandbox,usb";
779                 hub {
780                         compatible = "usb-hub";
781                         usb,device-class = <9>;
782                         hub-emul {
783                                 compatible = "sandbox,usb-hub";
784                                 #address-cells = <1>;
785                                 #size-cells = <0>;
786                                 flash-stick@0 {
787                                         reg = <0>;
788                                         compatible = "sandbox,usb-flash";
789                                         sandbox,filepath = "testflash.bin";
790                                 };
791
792                                 flash-stick@1 {
793                                         reg = <1>;
794                                         compatible = "sandbox,usb-flash";
795                                         sandbox,filepath = "testflash1.bin";
796                                 };
797
798                                 flash-stick@2 {
799                                         reg = <2>;
800                                         compatible = "sandbox,usb-flash";
801                                         sandbox,filepath = "testflash2.bin";
802                                 };
803
804                                 keyb@3 {
805                                         reg = <3>;
806                                         compatible = "sandbox,usb-keyb";
807                                 };
808
809                         };
810                 };
811         };
812
813         usb_2: usb@2 {
814                 compatible = "sandbox,usb";
815                 status = "disabled";
816         };
817
818         spmi: spmi@0 {
819                 compatible = "sandbox,spmi";
820                 #address-cells = <0x1>;
821                 #size-cells = <0x1>;
822                 ranges;
823                 pm8916@0 {
824                         compatible = "qcom,spmi-pmic";
825                         reg = <0x0 0x1>;
826                         #address-cells = <0x1>;
827                         #size-cells = <0x1>;
828                         ranges;
829
830                         spmi_gpios: gpios@c000 {
831                                 compatible = "qcom,pm8916-gpio";
832                                 reg = <0xc000 0x400>;
833                                 gpio-controller;
834                                 gpio-count = <4>;
835                                 #gpio-cells = <2>;
836                                 gpio-bank-name="spmi";
837                         };
838                 };
839         };
840
841         wdt0: wdt@0 {
842                 compatible = "sandbox,wdt";
843         };
844
845         axi: axi@0 {
846                 compatible = "sandbox,axi";
847                 #address-cells = <0x1>;
848                 #size-cells = <0x1>;
849                 store@0 {
850                         compatible = "sandbox,sandbox_store";
851                         reg = <0x0 0x400>;
852                 };
853         };
854
855         chosen {
856                 #address-cells = <1>;
857                 #size-cells = <1>;
858                 setting = "sunrise ohoka";
859                 other-node = "/some-bus/c-test@5";
860                 int-values = <0x1937 72993>;
861                 chosen-test {
862                         compatible = "denx,u-boot-fdt-test";
863                         reg = <9 1>;
864                 };
865         };
866
867         translation-test@8000 {
868                 compatible = "simple-bus";
869                 reg = <0x8000 0x4000>;
870
871                 #address-cells = <0x2>;
872                 #size-cells = <0x1>;
873
874                 ranges = <0 0x0 0x8000 0x1000
875                           1 0x100 0x9000 0x1000
876                           2 0x200 0xA000 0x1000
877                           3 0x300 0xB000 0x1000
878                          >;
879
880                 dma-ranges = <0 0x000 0x10000000 0x1000
881                               1 0x100 0x20000000 0x1000
882                              >;
883
884                 dev@0,0 {
885                         compatible = "denx,u-boot-fdt-dummy";
886                         reg = <0 0x0 0x1000>;
887                         reg-names = "sandbox-dummy-0";
888                 };
889
890                 dev@1,100 {
891                         compatible = "denx,u-boot-fdt-dummy";
892                         reg = <1 0x100 0x1000>;
893
894                 };
895
896                 dev@2,200 {
897                         compatible = "denx,u-boot-fdt-dummy";
898                         reg = <2 0x200 0x1000>;
899                 };
900
901
902                 noxlatebus@3,300 {
903                         compatible = "simple-bus";
904                         reg = <3 0x300 0x1000>;
905
906                         #address-cells = <0x1>;
907                         #size-cells = <0x0>;
908
909                         dev@42 {
910                                 compatible = "denx,u-boot-fdt-dummy";
911                                 reg = <0x42>;
912                         };
913                 };
914         };
915
916         osd {
917                 compatible = "sandbox,sandbox_osd";
918         };
919
920         board {
921                 compatible = "sandbox,board_sandbox";
922         };
923
924         sandbox_tee {
925                 compatible = "sandbox,tee";
926         };
927
928         sandbox_virtio1 {
929                 compatible = "sandbox,virtio1";
930         };
931
932         sandbox_virtio2 {
933                 compatible = "sandbox,virtio2";
934         };
935
936         pinctrl {
937                 compatible = "sandbox,pinctrl";
938
939                 pinctrl-names = "default";
940                 pinctrl-0 = <&gpios>;
941
942                 gpios: gpios {
943                         gpio0 {
944                                 pins = "GPIO0";
945                                 bias-pull-up;
946                                 input-disable;
947                         };
948                         gpio1 {
949                                 pins = "GPIO1";
950                                 output-high;
951                                 drive-open-drain;
952                         };
953                         gpio2 {
954                                 pins = "GPIO2";
955                                 bias-pull-down;
956                                 input-enable;
957                         };
958                         gpio3 {
959                                 pins = "GPIO3";
960                                 bias-disable;
961                         };
962                 };
963         };
964
965         hwspinlock@0 {
966                 compatible = "sandbox,hwspinlock";
967         };
968
969         dma: dma {
970                 compatible = "sandbox,dma";
971                 #dma-cells = <1>;
972
973                 dmas = <&dma 0>, <&dma 1>, <&dma 2>;
974                 dma-names = "m2m", "tx0", "rx0";
975         };
976
977         /*
978          * keep mdio-mux ahead of mdio so that the mux is removed first at the
979          * end of the test.  If parent mdio is removed first, clean-up of the
980          * mux will trigger a 2nd probe of parent-mdio, leaving parent-mdio
981          * active at the end of the test.  That it turn doesn't allow the mdio
982          * class to be destroyed, triggering an error.
983          */
984         mdio-mux-test {
985                 compatible = "sandbox,mdio-mux";
986                 #address-cells = <1>;
987                 #size-cells = <0>;
988                 mdio-parent-bus = <&mdio>;
989
990                 mdio-ch-test@0 {
991                         reg = <0>;
992                 };
993                 mdio-ch-test@1 {
994                         reg = <1>;
995                 };
996         };
997
998         mdio: mdio-test {
999                 compatible = "sandbox,mdio";
1000         };
1001 };
1002
1003 #include "sandbox_pmic.dtsi"