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