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