1/dts-v1/; 2 3/ { 4 model = "sandbox"; 5 compatible = "sandbox"; 6 #address-cells = <1>; 7 #size-cells = <1>; 8 9 aliases { 10 console = &uart0; 11 eth0 = "/eth@10002000"; 12 eth3 = ð_3; 13 eth5 = ð_5; 14 gpio1 = &gpio_a; 15 gpio2 = &gpio_b; 16 i2c0 = "/i2c@0"; 17 mmc0 = "/mmc0"; 18 mmc1 = "/mmc1"; 19 pci0 = &pci0; 20 pci1 = &pci1; 21 pci2 = &pci2; 22 remoteproc1 = &rproc_1; 23 remoteproc2 = &rproc_2; 24 rtc0 = &rtc_0; 25 rtc1 = &rtc_1; 26 spi0 = "/spi@0"; 27 testfdt6 = "/e-test"; 28 testbus3 = "/some-bus"; 29 testfdt0 = "/some-bus/c-test@0"; 30 testfdt1 = "/some-bus/c-test@1"; 31 testfdt3 = "/b-test"; 32 testfdt5 = "/some-bus/c-test@5"; 33 testfdt8 = "/a-test"; 34 fdt-dummy0 = "/translation-test@8000/dev@0,0"; 35 fdt-dummy1 = "/translation-test@8000/dev@1,100"; 36 fdt-dummy2 = "/translation-test@8000/dev@2,200"; 37 fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42"; 38 usb0 = &usb_0; 39 usb1 = &usb_1; 40 usb2 = &usb_2; 41 axi0 = &axi; 42 osd0 = "/osd"; 43 }; 44 45 audio: audio-codec { 46 compatible = "sandbox,audio-codec"; 47 #sound-dai-cells = <1>; 48 }; 49 50 cros_ec: cros-ec { 51 reg = <0 0>; 52 compatible = "google,cros-ec-sandbox"; 53 54 /* 55 * This describes the flash memory within the EC. Note 56 * that the STM32L flash erases to 0, not 0xff. 57 */ 58 flash { 59 image-pos = <0x08000000>; 60 size = <0x20000>; 61 erase-value = <0>; 62 63 /* Information for sandbox */ 64 ro { 65 image-pos = <0>; 66 size = <0xf000>; 67 }; 68 wp-ro { 69 image-pos = <0xf000>; 70 size = <0x1000>; 71 }; 72 rw { 73 image-pos = <0x10000>; 74 size = <0x10000>; 75 }; 76 }; 77 }; 78 79 a-test { 80 reg = <0 1>; 81 compatible = "denx,u-boot-fdt-test"; 82 ping-expect = <0>; 83 ping-add = <0>; 84 u-boot,dm-pre-reloc; 85 test-gpios = <&gpio_a 1>, <&gpio_a 4>, <&gpio_b 5 0 3 2 1>, 86 <0>, <&gpio_a 12>; 87 test2-gpios = <&gpio_a 1>, <&gpio_a 4>, <&gpio_b 6 1 3 2 1>, 88 <&gpio_b 7 2 3 2 1>, <&gpio_b 8 4 3 2 1>, 89 <&gpio_b 9 0xc 3 2 1>; 90 int-value = <1234>; 91 uint-value = <(-1234)>; 92 }; 93 94 junk { 95 reg = <1 1>; 96 compatible = "not,compatible"; 97 }; 98 99 no-compatible { 100 reg = <2 1>; 101 }; 102 103 backlight: backlight { 104 compatible = "pwm-backlight"; 105 enable-gpios = <&gpio_a 1>; 106 power-supply = <&ldo_1>; 107 pwms = <&pwm 0 1000>; 108 default-brightness-level = <5>; 109 brightness-levels = <0 16 32 64 128 170 202 234 255>; 110 }; 111 112 bind-test { 113 bind-test-child1 { 114 compatible = "sandbox,phy"; 115 #phy-cells = <1>; 116 }; 117 118 bind-test-child2 { 119 compatible = "simple-bus"; 120 }; 121 }; 122 123 b-test { 124 reg = <3 1>; 125 compatible = "denx,u-boot-fdt-test"; 126 ping-expect = <3>; 127 ping-add = <3>; 128 }; 129 130 phy_provider0: gen_phy@0 { 131 compatible = "sandbox,phy"; 132 #phy-cells = <1>; 133 }; 134 135 phy_provider1: gen_phy@1 { 136 compatible = "sandbox,phy"; 137 #phy-cells = <0>; 138 broken; 139 }; 140 141 gen_phy_user: gen_phy_user { 142 compatible = "simple-bus"; 143 phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>; 144 phy-names = "phy1", "phy2", "phy3"; 145 }; 146 147 some-bus { 148 #address-cells = <1>; 149 #size-cells = <0>; 150 compatible = "denx,u-boot-test-bus"; 151 reg = <3 1>; 152 ping-expect = <4>; 153 ping-add = <4>; 154 c-test@5 { 155 compatible = "denx,u-boot-fdt-test"; 156 reg = <5>; 157 ping-expect = <5>; 158 ping-add = <5>; 159 }; 160 c-test@0 { 161 compatible = "denx,u-boot-fdt-test"; 162 reg = <0>; 163 ping-expect = <6>; 164 ping-add = <6>; 165 }; 166 c-test@1 { 167 compatible = "denx,u-boot-fdt-test"; 168 reg = <1>; 169 ping-expect = <7>; 170 ping-add = <7>; 171 }; 172 }; 173 174 d-test { 175 reg = <3 1>; 176 ping-expect = <6>; 177 ping-add = <6>; 178 compatible = "google,another-fdt-test"; 179 }; 180 181 e-test { 182 reg = <3 1>; 183 ping-expect = <6>; 184 ping-add = <6>; 185 compatible = "google,another-fdt-test"; 186 }; 187 188 f-test { 189 compatible = "denx,u-boot-fdt-test"; 190 }; 191 192 g-test { 193 compatible = "denx,u-boot-fdt-test"; 194 }; 195 196 h-test { 197 compatible = "denx,u-boot-fdt-test1"; 198 }; 199 200 clocks { 201 clk_fixed: clk-fixed { 202 compatible = "fixed-clock"; 203 #clock-cells = <0>; 204 clock-frequency = <1234>; 205 }; 206 207 clk_fixed_factor: clk-fixed-factor { 208 compatible = "fixed-factor-clock"; 209 #clock-cells = <0>; 210 clock-div = <3>; 211 clock-mult = <2>; 212 clocks = <&clk_fixed>; 213 }; 214 }; 215 216 clk_sandbox: clk-sbox { 217 compatible = "sandbox,clk"; 218 #clock-cells = <1>; 219 }; 220 221 clk-test { 222 compatible = "sandbox,clk-test"; 223 clocks = <&clk_fixed>, 224 <&clk_sandbox 1>, 225 <&clk_sandbox 0>; 226 clock-names = "fixed", "i2c", "spi"; 227 }; 228 229 eth@10002000 { 230 compatible = "sandbox,eth"; 231 reg = <0x10002000 0x1000>; 232 fake-host-hwaddr = [00 00 66 44 22 00]; 233 }; 234 235 eth_5: eth@10003000 { 236 compatible = "sandbox,eth"; 237 reg = <0x10003000 0x1000>; 238 fake-host-hwaddr = [00 00 66 44 22 11]; 239 }; 240 241 eth_3: sbe5 { 242 compatible = "sandbox,eth"; 243 reg = <0x10005000 0x1000>; 244 fake-host-hwaddr = [00 00 66 44 22 33]; 245 }; 246 247 eth@10004000 { 248 compatible = "sandbox,eth"; 249 reg = <0x10004000 0x1000>; 250 fake-host-hwaddr = [00 00 66 44 22 22]; 251 }; 252 253 firmware { 254 sandbox_firmware: sandbox-firmware { 255 compatible = "sandbox,firmware"; 256 }; 257 }; 258 259 gpio_a: base-gpios { 260 compatible = "sandbox,gpio"; 261 gpio-controller; 262 #gpio-cells = <1>; 263 gpio-bank-name = "a"; 264 sandbox,gpio-count = <20>; 265 }; 266 267 gpio_b: extra-gpios { 268 compatible = "sandbox,gpio"; 269 gpio-controller; 270 #gpio-cells = <5>; 271 gpio-bank-name = "b"; 272 sandbox,gpio-count = <10>; 273 }; 274 275 i2c@0 { 276 #address-cells = <1>; 277 #size-cells = <0>; 278 reg = <0 1>; 279 compatible = "sandbox,i2c"; 280 clock-frequency = <100000>; 281 eeprom@2c { 282 reg = <0x2c>; 283 compatible = "i2c-eeprom"; 284 sandbox,emul = <&emul_eeprom>; 285 }; 286 287 rtc_0: rtc@43 { 288 reg = <0x43>; 289 compatible = "sandbox-rtc"; 290 sandbox,emul = <&emul0>; 291 }; 292 293 rtc_1: rtc@61 { 294 reg = <0x61>; 295 compatible = "sandbox-rtc"; 296 sandbox,emul = <&emul1>; 297 }; 298 299 i2c_emul: emul { 300 reg = <0xff>; 301 compatible = "sandbox,i2c-emul-parent"; 302 emul_eeprom: emul-eeprom { 303 compatible = "sandbox,i2c-eeprom"; 304 sandbox,filename = "i2c.bin"; 305 sandbox,size = <256>; 306 }; 307 emul0: emul0 { 308 compatible = "sandbox,i2c-rtc"; 309 }; 310 emul1: emull { 311 compatible = "sandbox,i2c-rtc"; 312 }; 313 }; 314 315 sandbox_pmic: sandbox_pmic { 316 reg = <0x40>; 317 sandbox,emul = <&emul_pmic0>; 318 }; 319 320 mc34708: pmic@41 { 321 reg = <0x41>; 322 sandbox,emul = <&emul_pmic1>; 323 }; 324 }; 325 326 bootcount@0 { 327 compatible = "u-boot,bootcount-rtc"; 328 rtc = <&rtc_1>; 329 offset = <0x13>; 330 }; 331 332 adc@0 { 333 compatible = "sandbox,adc"; 334 vdd-supply = <&buck2>; 335 vss-microvolts = <0>; 336 }; 337 338 lcd { 339 u-boot,dm-pre-reloc; 340 compatible = "sandbox,lcd-sdl"; 341 xres = <1366>; 342 yres = <768>; 343 }; 344 345 leds { 346 compatible = "gpio-leds"; 347 348 iracibble { 349 gpios = <&gpio_a 1 0>; 350 label = "sandbox:red"; 351 }; 352 353 martinet { 354 gpios = <&gpio_a 2 0>; 355 label = "sandbox:green"; 356 }; 357 358 default_on { 359 gpios = <&gpio_a 5 0>; 360 label = "sandbox:default_on"; 361 default-state = "on"; 362 }; 363 364 default_off { 365 gpios = <&gpio_a 6 0>; 366 label = "sandbox:default_off"; 367 default-state = "off"; 368 }; 369 }; 370 371 mbox: mbox { 372 compatible = "sandbox,mbox"; 373 #mbox-cells = <1>; 374 }; 375 376 mbox-test { 377 compatible = "sandbox,mbox-test"; 378 mboxes = <&mbox 100>, <&mbox 1>; 379 mbox-names = "other", "test"; 380 }; 381 382 cpu-test1 { 383 compatible = "sandbox,cpu_sandbox"; 384 u-boot,dm-pre-reloc; 385 }; 386 387 cpu-test2 { 388 compatible = "sandbox,cpu_sandbox"; 389 u-boot,dm-pre-reloc; 390 }; 391 392 cpu-test3 { 393 compatible = "sandbox,cpu_sandbox"; 394 u-boot,dm-pre-reloc; 395 }; 396 397 i2s: i2s { 398 compatible = "sandbox,i2s"; 399 #sound-dai-cells = <1>; 400 sandbox,silent; /* Don't emit sounds while testing */ 401 }; 402 403 misc-test { 404 compatible = "sandbox,misc_sandbox"; 405 }; 406 407 mmc2 { 408 compatible = "sandbox,mmc"; 409 }; 410 411 mmc1 { 412 compatible = "sandbox,mmc"; 413 }; 414 415 mmc0 { 416 compatible = "sandbox,mmc"; 417 }; 418 419 pch { 420 compatible = "sandbox,pch"; 421 }; 422 423 pci0: pci-controller0 { 424 compatible = "sandbox,pci"; 425 device_type = "pci"; 426 #address-cells = <3>; 427 #size-cells = <2>; 428 ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000 429 0x01000000 0 0x20000000 0x20000000 0 0x2000>; 430 pci@0,0 { 431 compatible = "pci-generic"; 432 reg = <0x0000 0 0 0 0>; 433 emul@0,0 { 434 compatible = "sandbox,swap-case"; 435 }; 436 }; 437 pci@1f,0 { 438 compatible = "pci-generic"; 439 reg = <0xf800 0 0 0 0>; 440 emul@1f,0 { 441 compatible = "sandbox,swap-case"; 442 }; 443 }; 444 }; 445 446 pci1: pci-controller1 { 447 compatible = "sandbox,pci"; 448 device_type = "pci"; 449 #address-cells = <3>; 450 #size-cells = <2>; 451 ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000 452 0x01000000 0 0x40000000 0x40000000 0 0x2000>; 453 sandbox,dev-info = <0x08 0x00 0x1234 0x5678 454 0x0c 0x00 0x1234 0x5678 455 0x10 0x00 0x1234 0x5678>; 456 pci@10,0 { 457 reg = <0x8000 0 0 0 0>; 458 }; 459 }; 460 461 pci2: pci-controller2 { 462 compatible = "sandbox,pci"; 463 device_type = "pci"; 464 #address-cells = <3>; 465 #size-cells = <2>; 466 ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000 467 0x01000000 0 0x60000000 0x60000000 0 0x2000>; 468 sandbox,dev-info = <0x08 0x00 0x1234 0x5678>; 469 pci@1f,0 { 470 compatible = "pci-generic"; 471 reg = <0xf800 0 0 0 0>; 472 emul@1f,0 { 473 compatible = "sandbox,swap-case"; 474 }; 475 }; 476 }; 477 478 probing { 479 compatible = "simple-bus"; 480 test1 { 481 compatible = "denx,u-boot-probe-test"; 482 }; 483 484 test2 { 485 compatible = "denx,u-boot-probe-test"; 486 }; 487 488 test3 { 489 compatible = "denx,u-boot-probe-test"; 490 }; 491 492 test4 { 493 compatible = "denx,u-boot-probe-test"; 494 first-syscon = <&syscon0>; 495 second-sys-ctrl = <&another_system_controller>; 496 }; 497 }; 498 499 pwrdom: power-domain { 500 compatible = "sandbox,power-domain"; 501 #power-domain-cells = <1>; 502 }; 503 504 power-domain-test { 505 compatible = "sandbox,power-domain-test"; 506 power-domains = <&pwrdom 2>; 507 }; 508 509 pwm: pwm { 510 compatible = "sandbox,pwm"; 511 #pwm-cells = <2>; 512 }; 513 514 pwm2 { 515 compatible = "sandbox,pwm"; 516 #pwm-cells = <2>; 517 }; 518 519 ram { 520 compatible = "sandbox,ram"; 521 }; 522 523 reset@0 { 524 compatible = "sandbox,warm-reset"; 525 }; 526 527 reset@1 { 528 compatible = "sandbox,reset"; 529 }; 530 531 resetc: reset-ctl { 532 compatible = "sandbox,reset-ctl"; 533 #reset-cells = <1>; 534 }; 535 536 reset-ctl-test { 537 compatible = "sandbox,reset-ctl-test"; 538 resets = <&resetc 100>, <&resetc 2>; 539 reset-names = "other", "test"; 540 }; 541 542 rproc_1: rproc@1 { 543 compatible = "sandbox,test-processor"; 544 remoteproc-name = "remoteproc-test-dev1"; 545 }; 546 547 rproc_2: rproc@2 { 548 compatible = "sandbox,test-processor"; 549 internal-memory-mapped; 550 remoteproc-name = "remoteproc-test-dev2"; 551 }; 552 553 panel { 554 compatible = "simple-panel"; 555 backlight = <&backlight 0 100>; 556 }; 557 558 smem@0 { 559 compatible = "sandbox,smem"; 560 }; 561 562 sound { 563 compatible = "sandbox,sound"; 564 cpu { 565 sound-dai = <&i2s 0>; 566 }; 567 568 codec { 569 sound-dai = <&audio 0>; 570 }; 571 }; 572 573 spi@0 { 574 #address-cells = <1>; 575 #size-cells = <0>; 576 reg = <0 1>; 577 compatible = "sandbox,spi"; 578 cs-gpios = <0>, <&gpio_a 0>; 579 spi.bin@0 { 580 reg = <0>; 581 compatible = "spansion,m25p16", "spi-flash"; 582 spi-max-frequency = <40000000>; 583 sandbox,filename = "spi.bin"; 584 }; 585 }; 586 587 syscon0: syscon@0 { 588 compatible = "sandbox,syscon0"; 589 reg = <0x10 16>; 590 }; 591 592 another_system_controller: syscon@1 { 593 compatible = "sandbox,syscon1"; 594 reg = <0x20 5 595 0x28 6 596 0x30 7 597 0x38 8>; 598 }; 599 600 syscon@2 { 601 compatible = "simple-mfd", "syscon"; 602 reg = <0x40 5 603 0x48 6 604 0x50 7 605 0x58 8>; 606 }; 607 608 timer { 609 compatible = "sandbox,timer"; 610 clock-frequency = <1000000>; 611 }; 612 613 tpm2 { 614 compatible = "sandbox,tpm2"; 615 }; 616 617 uart0: serial { 618 compatible = "sandbox,serial"; 619 u-boot,dm-pre-reloc; 620 }; 621 622 usb_0: usb@0 { 623 compatible = "sandbox,usb"; 624 status = "disabled"; 625 hub { 626 compatible = "sandbox,usb-hub"; 627 #address-cells = <1>; 628 #size-cells = <0>; 629 flash-stick { 630 reg = <0>; 631 compatible = "sandbox,usb-flash"; 632 }; 633 }; 634 }; 635 636 usb_1: usb@1 { 637 compatible = "sandbox,usb"; 638 hub { 639 compatible = "usb-hub"; 640 usb,device-class = <9>; 641 hub-emul { 642 compatible = "sandbox,usb-hub"; 643 #address-cells = <1>; 644 #size-cells = <0>; 645 flash-stick@0 { 646 reg = <0>; 647 compatible = "sandbox,usb-flash"; 648 sandbox,filepath = "testflash.bin"; 649 }; 650 651 flash-stick@1 { 652 reg = <1>; 653 compatible = "sandbox,usb-flash"; 654 sandbox,filepath = "testflash1.bin"; 655 }; 656 657 flash-stick@2 { 658 reg = <2>; 659 compatible = "sandbox,usb-flash"; 660 sandbox,filepath = "testflash2.bin"; 661 }; 662 663 keyb@3 { 664 reg = <3>; 665 compatible = "sandbox,usb-keyb"; 666 }; 667 668 }; 669 }; 670 }; 671 672 usb_2: usb@2 { 673 compatible = "sandbox,usb"; 674 status = "disabled"; 675 }; 676 677 spmi: spmi@0 { 678 compatible = "sandbox,spmi"; 679 #address-cells = <0x1>; 680 #size-cells = <0x1>; 681 pm8916@0 { 682 compatible = "qcom,spmi-pmic"; 683 reg = <0x0 0x1>; 684 #address-cells = <0x1>; 685 #size-cells = <0x1>; 686 687 spmi_gpios: gpios@c000 { 688 compatible = "qcom,pm8916-gpio"; 689 reg = <0xc000 0x400>; 690 gpio-controller; 691 gpio-count = <4>; 692 #gpio-cells = <2>; 693 gpio-bank-name="spmi"; 694 }; 695 }; 696 }; 697 698 wdt0: wdt@0 { 699 compatible = "sandbox,wdt"; 700 }; 701 702 axi: axi@0 { 703 compatible = "sandbox,axi"; 704 #address-cells = <0x1>; 705 #size-cells = <0x1>; 706 store@0 { 707 compatible = "sandbox,sandbox_store"; 708 reg = <0x0 0x400>; 709 }; 710 }; 711 712 chosen { 713 #address-cells = <1>; 714 #size-cells = <1>; 715 chosen-test { 716 compatible = "denx,u-boot-fdt-test"; 717 reg = <9 1>; 718 }; 719 }; 720 721 translation-test@8000 { 722 compatible = "simple-bus"; 723 reg = <0x8000 0x4000>; 724 725 #address-cells = <0x2>; 726 #size-cells = <0x1>; 727 728 ranges = <0 0x0 0x8000 0x1000 729 1 0x100 0x9000 0x1000 730 2 0x200 0xA000 0x1000 731 3 0x300 0xB000 0x1000 732 >; 733 734 dev@0,0 { 735 compatible = "denx,u-boot-fdt-dummy"; 736 reg = <0 0x0 0x1000>; 737 reg-names = "sandbox-dummy-0"; 738 }; 739 740 dev@1,100 { 741 compatible = "denx,u-boot-fdt-dummy"; 742 reg = <1 0x100 0x1000>; 743 744 }; 745 746 dev@2,200 { 747 compatible = "denx,u-boot-fdt-dummy"; 748 reg = <2 0x200 0x1000>; 749 }; 750 751 752 noxlatebus@3,300 { 753 compatible = "simple-bus"; 754 reg = <3 0x300 0x1000>; 755 756 #address-cells = <0x1>; 757 #size-cells = <0x0>; 758 759 dev@42 { 760 compatible = "denx,u-boot-fdt-dummy"; 761 reg = <0x42>; 762 }; 763 }; 764 }; 765 766 osd { 767 compatible = "sandbox,sandbox_osd"; 768 }; 769 770 board { 771 compatible = "sandbox,board_sandbox"; 772 }; 773 774 sandbox_tee { 775 compatible = "sandbox,tee"; 776 }; 777 778 sandbox_virtio1 { 779 compatible = "sandbox,virtio1"; 780 }; 781 782 sandbox_virtio2 { 783 compatible = "sandbox,virtio2"; 784 }; 785 786 pinctrl { 787 compatible = "sandbox,pinctrl"; 788 }; 789 790 hwspinlock@0 { 791 compatible = "sandbox,hwspinlock"; 792 }; 793 794 dma: dma { 795 compatible = "sandbox,dma"; 796 #dma-cells = <1>; 797 798 dmas = <&dma 0>, <&dma 1>, <&dma 2>; 799 dma-names = "m2m", "tx0", "rx0"; 800 }; 801}; 802 803#include "sandbox_pmic.dtsi" 804