| /dts-v1/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/gpio/sandbox-gpio.h> |
| #include <dt-bindings/pinctrl/sandbox-pinmux.h> |
| #include <dt-bindings/mux/mux.h> |
| |
| / { |
| model = "sandbox"; |
| compatible = "sandbox"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| aliases { |
| console = &uart0; |
| eth0 = "/eth@10002000"; |
| eth3 = ð_3; |
| eth5 = ð_5; |
| gpio1 = &gpio_a; |
| gpio2 = &gpio_b; |
| gpio3 = &gpio_c; |
| i2c0 = "/i2c@0"; |
| mmc0 = "/mmc0"; |
| mmc1 = "/mmc1"; |
| pci0 = &pci0; |
| pci1 = &pci1; |
| pci2 = &pci2; |
| remoteproc0 = &rproc_1; |
| remoteproc1 = &rproc_2; |
| rtc0 = &rtc_0; |
| rtc1 = &rtc_1; |
| spi0 = "/spi@0"; |
| testfdt6 = "/e-test"; |
| testbus3 = "/some-bus"; |
| testfdt0 = "/some-bus/c-test@0"; |
| testfdt12 = "/some-bus/c-test@1"; |
| testfdt3 = "/b-test"; |
| testfdt5 = "/some-bus/c-test@5"; |
| testfdt8 = "/a-test"; |
| testfdtm1 = &testfdtm1; |
| fdt-dummy0 = "/translation-test@8000/dev@0,0"; |
| fdt-dummy1 = "/translation-test@8000/dev@1,100"; |
| fdt-dummy2 = "/translation-test@8000/dev@2,200"; |
| fdt-dummy3 = "/translation-test@8000/noxlatebus@3,300/dev@42"; |
| fdt-dummy4 = "/translation-test@8000/xlatebus@4,400/devs/dev@19"; |
| usb0 = &usb_0; |
| usb1 = &usb_1; |
| usb2 = &usb_2; |
| axi0 = &axi; |
| osd0 = "/osd"; |
| }; |
| |
| audio: audio-codec { |
| compatible = "sandbox,audio-codec"; |
| #sound-dai-cells = <1>; |
| }; |
| |
| buttons { |
| compatible = "gpio-keys"; |
| |
| btn1 { |
| gpios = <&gpio_a 3 0>; |
| label = "button1"; |
| }; |
| |
| btn2 { |
| gpios = <&gpio_a 4 0>; |
| label = "button2"; |
| }; |
| }; |
| |
| cros_ec: cros-ec { |
| reg = <0 0>; |
| compatible = "google,cros-ec-sandbox"; |
| |
| /* |
| * This describes the flash memory within the EC. Note |
| * that the STM32L flash erases to 0, not 0xff. |
| */ |
| flash { |
| image-pos = <0x08000000>; |
| size = <0x20000>; |
| erase-value = <0>; |
| |
| /* Information for sandbox */ |
| ro { |
| image-pos = <0>; |
| size = <0xf000>; |
| }; |
| wp-ro { |
| image-pos = <0xf000>; |
| size = <0x1000>; |
| used = <0x884>; |
| compress = "lz4"; |
| uncomp-size = <0xcf8>; |
| hash { |
| algo = "sha256"; |
| value = [00 01 02 03 04 05 06 07 |
| 08 09 0a 0b 0c 0d 0e 0f |
| 10 11 12 13 14 15 16 17 |
| 18 19 1a 1b 1c 1d 1e 1f]; |
| }; |
| }; |
| rw { |
| image-pos = <0x10000>; |
| size = <0x10000>; |
| }; |
| }; |
| }; |
| |
| dsi_host: dsi_host { |
| compatible = "sandbox,dsi-host"; |
| }; |
| |
| a-test { |
| reg = <0 1>; |
| compatible = "denx,u-boot-fdt-test"; |
| ping-expect = <0>; |
| ping-add = <0>; |
| u-boot,dm-pre-reloc; |
| test-gpios = <&gpio_a 1>, <&gpio_a 4>, |
| <&gpio_b 5 GPIO_ACTIVE_HIGH 3 2 1>, |
| <0>, <&gpio_a 12>; |
| test2-gpios = <&gpio_a 1>, <&gpio_a 4>, |
| <&gpio_b 6 GPIO_ACTIVE_LOW 3 2 1>, |
| <&gpio_b 7 GPIO_IN 3 2 1>, |
| <&gpio_b 8 GPIO_OUT 3 2 1>, |
| <&gpio_b 9 (GPIO_OUT|GPIO_OUT_ACTIVE) 3 2 1>; |
| test3-gpios = |
| <&gpio_c 0 (GPIO_OUT|GPIO_OPEN_DRAIN)>, |
| <&gpio_c 1 (GPIO_OUT|GPIO_OPEN_SOURCE)>, |
| <&gpio_c 2 GPIO_OUT>, |
| <&gpio_c 3 (GPIO_IN|GPIO_PULL_UP)>, |
| <&gpio_c 4 (GPIO_IN|GPIO_PULL_DOWN)>, |
| <&gpio_c 5 GPIO_IN>, |
| <&gpio_c 6 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_DRAIN)>, |
| <&gpio_c 7 (GPIO_ACTIVE_LOW|GPIO_OUT|GPIO_OPEN_SOURCE)>; |
| test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>; |
| test5-gpios = <&gpio_a 19>; |
| |
| int-value = <1234>; |
| uint-value = <(-1234)>; |
| int64-value = /bits/ 64 <0x1111222233334444>; |
| int-array = <5678 9123 4567>; |
| str-value = "test string"; |
| interrupts-extended = <&irq 3 0>; |
| acpi,name = "GHIJ"; |
| phandle-value = <&gpio_c 10>, <0xFFFFFFFF 20>, <&gpio_a 30>; |
| |
| mux-controls = <&muxcontroller0 0>, <&muxcontroller0 1>, |
| <&muxcontroller0 2>, <&muxcontroller0 3>, |
| <&muxcontroller1>; |
| mux-control-names = "mux0", "mux1", "mux2", "mux3", "mux4"; |
| mux-syscon = <&syscon3>; |
| display-timings { |
| timing0: 240x320 { |
| clock-frequency = <6500000>; |
| hactive = <240>; |
| vactive = <320>; |
| hfront-porch = <6>; |
| hback-porch = <7>; |
| hsync-len = <1>; |
| vback-porch = <5>; |
| vfront-porch = <8>; |
| vsync-len = <2>; |
| hsync-active = <1>; |
| vsync-active = <0>; |
| de-active = <1>; |
| pixelclk-active = <1>; |
| interlaced; |
| doublescan; |
| doubleclk; |
| }; |
| timing1: 480x800 { |
| clock-frequency = <9000000>; |
| hactive = <480>; |
| vactive = <800>; |
| hfront-porch = <10>; |
| hback-porch = <59>; |
| hsync-len = <12>; |
| vback-porch = <15>; |
| vfront-porch = <17>; |
| vsync-len = <16>; |
| hsync-active = <0>; |
| vsync-active = <1>; |
| de-active = <0>; |
| pixelclk-active = <0>; |
| }; |
| timing2: 800x480 { |
| clock-frequency = <33500000>; |
| hactive = <800>; |
| vactive = <480>; |
| hback-porch = <89>; |
| hfront-porch = <164>; |
| vback-porch = <23>; |
| vfront-porch = <10>; |
| hsync-len = <11>; |
| vsync-len = <13>; |
| }; |
| }; |
| }; |
| |
| junk { |
| reg = <1 1>; |
| compatible = "not,compatible"; |
| }; |
| |
| no-compatible { |
| reg = <2 1>; |
| }; |
| |
| backlight: backlight { |
| compatible = "pwm-backlight"; |
| enable-gpios = <&gpio_a 1>; |
| power-supply = <&ldo_1>; |
| pwms = <&pwm 0 1000>; |
| default-brightness-level = <5>; |
| brightness-levels = <0 16 32 64 128 170 202 234 255>; |
| }; |
| |
| bind-test { |
| compatible = "simple-bus"; |
| bind-test-child1 { |
| compatible = "sandbox,phy"; |
| #phy-cells = <1>; |
| }; |
| |
| bind-test-child2 { |
| compatible = "simple-bus"; |
| }; |
| }; |
| |
| b-test { |
| reg = <3 1>; |
| compatible = "denx,u-boot-fdt-test"; |
| ping-expect = <3>; |
| ping-add = <3>; |
| |
| mux-controls = <&muxcontroller0 0>; |
| mux-control-names = "mux0"; |
| }; |
| |
| phy_provider0: gen_phy@0 { |
| compatible = "sandbox,phy"; |
| #phy-cells = <1>; |
| }; |
| |
| phy_provider1: gen_phy@1 { |
| compatible = "sandbox,phy"; |
| #phy-cells = <0>; |
| broken; |
| }; |
| |
| phy_provider2: gen_phy@2 { |
| compatible = "sandbox,phy"; |
| #phy-cells = <0>; |
| }; |
| |
| gen_phy_user: gen_phy_user { |
| compatible = "simple-bus"; |
| phys = <&phy_provider0 0>, <&phy_provider0 1>, <&phy_provider1>; |
| phy-names = "phy1", "phy2", "phy3"; |
| }; |
| |
| gen_phy_user1: gen_phy_user1 { |
| compatible = "simple-bus"; |
| phys = <&phy_provider0 0>, <&phy_provider2>; |
| phy-names = "phy1", "phy2"; |
| }; |
| |
| some-bus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "denx,u-boot-test-bus"; |
| reg = <3 1>; |
| ping-expect = <4>; |
| ping-add = <4>; |
| c-test@5 { |
| compatible = "denx,u-boot-fdt-test"; |
| reg = <5>; |
| ping-expect = <5>; |
| ping-add = <5>; |
| }; |
| c-test@0 { |
| compatible = "denx,u-boot-fdt-test"; |
| reg = <0>; |
| ping-expect = <6>; |
| ping-add = <6>; |
| }; |
| c-test@1 { |
| compatible = "denx,u-boot-fdt-test"; |
| reg = <1>; |
| ping-expect = <7>; |
| ping-add = <7>; |
| }; |
| }; |
| |
| d-test { |
| reg = <3 1>; |
| ping-expect = <6>; |
| ping-add = <6>; |
| compatible = "google,another-fdt-test"; |
| }; |
| |
| e-test { |
| reg = <3 1>; |
| ping-expect = <6>; |
| ping-add = <6>; |
| compatible = "google,another-fdt-test"; |
| }; |
| |
| f-test { |
| compatible = "denx,u-boot-fdt-test"; |
| }; |
| |
| g-test { |
| compatible = "denx,u-boot-fdt-test"; |
| }; |
| |
| h-test { |
| compatible = "denx,u-boot-fdt-test1"; |
| }; |
| |
| i-test { |
| compatible = "mediatek,u-boot-fdt-test"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| subnode@0 { |
| reg = <0>; |
| }; |
| |
| subnode@1 { |
| reg = <1>; |
| }; |
| |
| subnode@2 { |
| reg = <2>; |
| }; |
| }; |
| |
| devres-test { |
| compatible = "denx,u-boot-devres-test"; |
| }; |
| |
| another-test { |
| reg = <0 2>; |
| compatible = "denx,u-boot-fdt-test"; |
| test4-gpios = <&gpio_a 14>, <&gpio_b 4 1 3 2 1>; |
| test5-gpios = <&gpio_a 19>; |
| }; |
| |
| acpi_test1: acpi-test { |
| compatible = "denx,u-boot-acpi-test"; |
| acpi-ssdt-test-data = "ab"; |
| acpi-dsdt-test-data = "hi"; |
| child { |
| compatible = "denx,u-boot-acpi-test"; |
| }; |
| }; |
| |
| acpi_test2: acpi-test2 { |
| compatible = "denx,u-boot-acpi-test"; |
| acpi-ssdt-test-data = "cd"; |
| acpi-dsdt-test-data = "jk"; |
| }; |
| |
| clocks { |
| clk_fixed: clk-fixed { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <1234>; |
| }; |
| |
| clk_fixed_factor: clk-fixed-factor { |
| compatible = "fixed-factor-clock"; |
| #clock-cells = <0>; |
| clock-div = <3>; |
| clock-mult = <2>; |
| clocks = <&clk_fixed>; |
| }; |
| |
| osc { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <20000000>; |
| }; |
| }; |
| |
| clk_sandbox: clk-sbox { |
| compatible = "sandbox,clk"; |
| #clock-cells = <1>; |
| assigned-clocks = <&clk_sandbox 3>; |
| assigned-clock-rates = <321>; |
| }; |
| |
| clk-test { |
| compatible = "sandbox,clk-test"; |
| clocks = <&clk_fixed>, |
| <&clk_sandbox 1>, |
| <&clk_sandbox 0>, |
| <&clk_sandbox 3>, |
| <&clk_sandbox 2>; |
| clock-names = "fixed", "i2c", "spi", "uart2", "uart1"; |
| }; |
| |
| ccf: clk-ccf { |
| compatible = "sandbox,clk-ccf"; |
| }; |
| |
| eth@10002000 { |
| compatible = "sandbox,eth"; |
| reg = <0x10002000 0x1000>; |
| fake-host-hwaddr = [00 00 66 44 22 00]; |
| }; |
| |
| eth_5: eth@10003000 { |
| compatible = "sandbox,eth"; |
| reg = <0x10003000 0x1000>; |
| fake-host-hwaddr = [00 00 66 44 22 11]; |
| }; |
| |
| eth_3: sbe5 { |
| compatible = "sandbox,eth"; |
| reg = <0x10005000 0x1000>; |
| fake-host-hwaddr = [00 00 66 44 22 33]; |
| }; |
| |
| eth@10004000 { |
| compatible = "sandbox,eth"; |
| reg = <0x10004000 0x1000>; |
| fake-host-hwaddr = [00 00 66 44 22 22]; |
| }; |
| |
| firmware { |
| sandbox_firmware: sandbox-firmware { |
| compatible = "sandbox,firmware"; |
| }; |
| |
| sandbox-scmi-agent@0 { |
| compatible = "sandbox,scmi-agent"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| clk_scmi0: protocol@14 { |
| reg = <0x14>; |
| #clock-cells = <1>; |
| }; |
| |
| reset_scmi0: protocol@16 { |
| reg = <0x16>; |
| #reset-cells = <1>; |
| }; |
| }; |
| |
| sandbox-scmi-agent@1 { |
| compatible = "sandbox,scmi-agent"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| clk_scmi1: protocol@14 { |
| reg = <0x14>; |
| #clock-cells = <1>; |
| }; |
| |
| protocol@10 { |
| reg = <0x10>; |
| }; |
| }; |
| }; |
| |
| pinctrl-gpio { |
| compatible = "sandbox,pinctrl-gpio"; |
| |
| gpio_a: base-gpios { |
| compatible = "sandbox,gpio"; |
| gpio-controller; |
| #gpio-cells = <1>; |
| gpio-bank-name = "a"; |
| sandbox,gpio-count = <20>; |
| hog_input_active_low { |
| gpio-hog; |
| input; |
| gpios = <10 GPIO_ACTIVE_LOW>; |
| }; |
| hog_input_active_high { |
| gpio-hog; |
| input; |
| gpios = <11 GPIO_ACTIVE_HIGH>; |
| }; |
| hog_output_low { |
| gpio-hog; |
| output-low; |
| gpios = <12 GPIO_ACTIVE_HIGH>; |
| }; |
| hog_output_high { |
| gpio-hog; |
| output-high; |
| gpios = <13 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| gpio_b: extra-gpios { |
| compatible = "sandbox,gpio"; |
| gpio-controller; |
| #gpio-cells = <5>; |
| gpio-bank-name = "b"; |
| sandbox,gpio-count = <10>; |
| }; |
| |
| gpio_c: pinmux-gpios { |
| compatible = "sandbox,gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| gpio-bank-name = "c"; |
| sandbox,gpio-count = <10>; |
| }; |
| }; |
| |
| i2c@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0 1>; |
| compatible = "sandbox,i2c"; |
| clock-frequency = <100000>; |
| eeprom@2c { |
| reg = <0x2c>; |
| compatible = "i2c-eeprom"; |
| sandbox,emul = <&emul_eeprom>; |
| partitions { |
| compatible = "fixed-partitions"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| bootcount_i2c: bootcount@10 { |
| reg = <10 2>; |
| }; |
| }; |
| }; |
| |
| rtc_0: rtc@43 { |
| reg = <0x43>; |
| compatible = "sandbox-rtc"; |
| sandbox,emul = <&emul0>; |
| }; |
| |
| rtc_1: rtc@61 { |
| reg = <0x61>; |
| compatible = "sandbox-rtc"; |
| sandbox,emul = <&emul1>; |
| }; |
| |
| i2c_emul: emul { |
| reg = <0xff>; |
| compatible = "sandbox,i2c-emul-parent"; |
| emul_eeprom: emul-eeprom { |
| compatible = "sandbox,i2c-eeprom"; |
| sandbox,filename = "i2c.bin"; |
| sandbox,size = <256>; |
| }; |
| emul0: emul0 { |
| compatible = "sandbox,i2c-rtc"; |
| }; |
| emul1: emull { |
| compatible = "sandbox,i2c-rtc"; |
| }; |
| }; |
| |
| sandbox_pmic: sandbox_pmic { |
| reg = <0x40>; |
| sandbox,emul = <&emul_pmic0>; |
| }; |
| |
| mc34708: pmic@41 { |
| reg = <0x41>; |
| sandbox,emul = <&emul_pmic1>; |
| }; |
| }; |
| |
| bootcount@0 { |
| compatible = "u-boot,bootcount-rtc"; |
| rtc = <&rtc_1>; |
| offset = <0x13>; |
| }; |
| |
| bootcount { |
| compatible = "u-boot,bootcount-i2c-eeprom"; |
| i2c-eeprom = <&bootcount_i2c>; |
| }; |
| |
| adc@0 { |
| compatible = "sandbox,adc"; |
| vdd-supply = <&buck2>; |
| vss-microvolts = <0>; |
| }; |
| |
| irq: irq { |
| compatible = "sandbox,irq"; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| |
| lcd { |
| u-boot,dm-pre-reloc; |
| compatible = "sandbox,lcd-sdl"; |
| xres = <1366>; |
| yres = <768>; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| |
| iracibble { |
| gpios = <&gpio_a 1 0>; |
| label = "sandbox:red"; |
| }; |
| |
| martinet { |
| gpios = <&gpio_a 2 0>; |
| label = "sandbox:green"; |
| }; |
| |
| default_on { |
| gpios = <&gpio_a 5 0>; |
| label = "sandbox:default_on"; |
| default-state = "on"; |
| }; |
| |
| default_off { |
| gpios = <&gpio_a 6 0>; |
| /* label intentionally omitted */ |
| default-state = "off"; |
| }; |
| }; |
| |
| mbox: mbox { |
| compatible = "sandbox,mbox"; |
| #mbox-cells = <1>; |
| }; |
| |
| mbox-test { |
| compatible = "sandbox,mbox-test"; |
| mboxes = <&mbox 100>, <&mbox 1>; |
| mbox-names = "other", "test"; |
| }; |
| |
| cpus { |
| timebase-frequency = <2000000>; |
| cpu-test1 { |
| timebase-frequency = <3000000>; |
| compatible = "sandbox,cpu_sandbox"; |
| u-boot,dm-pre-reloc; |
| }; |
| |
| cpu-test2 { |
| compatible = "sandbox,cpu_sandbox"; |
| u-boot,dm-pre-reloc; |
| }; |
| |
| cpu-test3 { |
| compatible = "sandbox,cpu_sandbox"; |
| u-boot,dm-pre-reloc; |
| }; |
| }; |
| |
| chipid: chipid { |
| compatible = "sandbox,soc"; |
| }; |
| |
| i2s: i2s { |
| compatible = "sandbox,i2s"; |
| #sound-dai-cells = <1>; |
| sandbox,silent; /* Don't emit sounds while testing */ |
| }; |
| |
| nop-test_0 { |
| compatible = "sandbox,nop_sandbox1"; |
| nop-test_1 { |
| compatible = "sandbox,nop_sandbox2"; |
| bind = "True"; |
| }; |
| nop-test_2 { |
| compatible = "sandbox,nop_sandbox2"; |
| bind = "False"; |
| }; |
| }; |
| |
| misc-test { |
| compatible = "sandbox,misc_sandbox"; |
| }; |
| |
| mmc2 { |
| compatible = "sandbox,mmc"; |
| }; |
| |
| mmc1 { |
| compatible = "sandbox,mmc"; |
| }; |
| |
| mmc0 { |
| compatible = "sandbox,mmc"; |
| }; |
| |
| pch { |
| compatible = "sandbox,pch"; |
| }; |
| |
| pci0: pci@0 { |
| compatible = "sandbox,pci"; |
| device_type = "pci"; |
| bus-range = <0x00 0xff>; |
| #address-cells = <3>; |
| #size-cells = <2>; |
| ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000000 |
| 0x01000000 0 0x20000000 0x20000000 0 0x2000>; |
| pci@0,0 { |
| compatible = "pci-generic"; |
| reg = <0x0000 0 0 0 0>; |
| sandbox,emul = <&swap_case_emul0_0>; |
| }; |
| pci@1,0 { |
| compatible = "pci-generic"; |
| /* reg 0 is at 0x14, using FDT_PCI_SPACE_MEM32 */ |
| reg = <0x02000814 0 0 0 0 |
| 0x01000810 0 0 0 0>; |
| sandbox,emul = <&swap_case_emul0_1>; |
| }; |
| p2sb-pci@2,0 { |
| compatible = "sandbox,p2sb"; |
| reg = <0x02001010 0 0 0 0>; |
| sandbox,emul = <&p2sb_emul>; |
| |
| adder { |
| intel,p2sb-port-id = <3>; |
| compatible = "sandbox,adder"; |
| }; |
| }; |
| pci@1e,0 { |
| compatible = "sandbox,pmc"; |
| reg = <0xf000 0 0 0 0>; |
| sandbox,emul = <&pmc_emul1e>; |
| acpi-base = <0x400>; |
| gpe0-dwx-mask = <0xf>; |
| gpe0-dwx-shift-base = <4>; |
| gpe0-dw = <6 7 9>; |
| gpe0-sts = <0x20>; |
| gpe0-en = <0x30>; |
| }; |
| pci@1f,0 { |
| compatible = "pci-generic"; |
| /* reg 0 is at 0x10, using FDT_PCI_SPACE_IO */ |
| reg = <0x0100f810 0 0 0 0>; |
| sandbox,emul = <&swap_case_emul0_1f>; |
| }; |
| }; |
| |
| pci-emul0 { |
| compatible = "sandbox,pci-emul-parent"; |
| swap_case_emul0_0: emul0@0,0 { |
| compatible = "sandbox,swap-case"; |
| }; |
| swap_case_emul0_1: emul0@1,0 { |
| compatible = "sandbox,swap-case"; |
| use-ea; |
| }; |
| swap_case_emul0_1f: emul0@1f,0 { |
| compatible = "sandbox,swap-case"; |
| }; |
| p2sb_emul: emul@2,0 { |
| compatible = "sandbox,p2sb-emul"; |
| }; |
| pmc_emul1e: emul@1e,0 { |
| compatible = "sandbox,pmc-emul"; |
| }; |
| }; |
| |
| pci1: pci@1 { |
| compatible = "sandbox,pci"; |
| device_type = "pci"; |
| bus-range = <0x00 0xff>; |
| #address-cells = <3>; |
| #size-cells = <2>; |
| ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000 // MEM0 |
| 0x02000000 0 0x31000000 0x31000000 0 0x2000 // MEM1 |
| 0x01000000 0 0x40000000 0x40000000 0 0x2000>; |
| sandbox,dev-info = <0x08 0x00 0x1234 0x5678 |
| 0x0c 0x00 0x1234 0x5678 |
| 0x10 0x00 0x1234 0x5678>; |
| pci@10,0 { |
| reg = <0x8000 0 0 0 0>; |
| }; |
| }; |
| |
| pci2: pci@2 { |
| compatible = "sandbox,pci"; |
| device_type = "pci"; |
| bus-range = <0x00 0xff>; |
| #address-cells = <3>; |
| #size-cells = <2>; |
| ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000 |
| 0x01000000 0 0x60000000 0x60000000 0 0x2000>; |
| sandbox,dev-info = <0x08 0x00 0x1234 0x5678>; |
| pci@1f,0 { |
| compatible = "pci-generic"; |
| reg = <0xf800 0 0 0 0>; |
| sandbox,emul = <&swap_case_emul2_1f>; |
| }; |
| }; |
| |
| pci-emul2 { |
| compatible = "sandbox,pci-emul-parent"; |
| swap_case_emul2_1f: emul2@1f,0 { |
| compatible = "sandbox,swap-case"; |
| }; |
| }; |
| |
| pci_ep: pci_ep { |
| compatible = "sandbox,pci_ep"; |
| }; |
| |
| probing { |
| compatible = "simple-bus"; |
| test1 { |
| compatible = "denx,u-boot-probe-test"; |
| }; |
| |
| test2 { |
| compatible = "denx,u-boot-probe-test"; |
| }; |
| |
| test3 { |
| compatible = "denx,u-boot-probe-test"; |
| }; |
| |
| test4 { |
| compatible = "denx,u-boot-probe-test"; |
| first-syscon = <&syscon0>; |
| second-sys-ctrl = <&another_system_controller>; |
| third-syscon = <&syscon2>; |
| }; |
| }; |
| |
| pwrdom: power-domain { |
| compatible = "sandbox,power-domain"; |
| #power-domain-cells = <1>; |
| }; |
| |
| power-domain-test { |
| compatible = "sandbox,power-domain-test"; |
| power-domains = <&pwrdom 2>; |
| }; |
| |
| pwm: pwm { |
| compatible = "sandbox,pwm"; |
| #pwm-cells = <2>; |
| }; |
| |
| pwm2 { |
| compatible = "sandbox,pwm"; |
| #pwm-cells = <2>; |
| }; |
| |
| ram { |
| compatible = "sandbox,ram"; |
| }; |
| |
| reset@0 { |
| compatible = "sandbox,warm-reset"; |
| }; |
| |
| reset@1 { |
| compatible = "sandbox,reset"; |
| }; |
| |
| resetc: reset-ctl { |
| compatible = "sandbox,reset-ctl"; |
| #reset-cells = <1>; |
| }; |
| |
| reset-ctl-test { |
| compatible = "sandbox,reset-ctl-test"; |
| resets = <&resetc 100>, <&resetc 2>; |
| reset-names = "other", "test"; |
| }; |
| |
| rng { |
| compatible = "sandbox,sandbox-rng"; |
| }; |
| |
| rproc_1: rproc@1 { |
| compatible = "sandbox,test-processor"; |
| remoteproc-name = "remoteproc-test-dev1"; |
| }; |
| |
| rproc_2: rproc@2 { |
| compatible = "sandbox,test-processor"; |
| internal-memory-mapped; |
| remoteproc-name = "remoteproc-test-dev2"; |
| }; |
| |
| panel { |
| compatible = "simple-panel"; |
| backlight = <&backlight 0 100>; |
| }; |
| |
| smem@0 { |
| compatible = "sandbox,smem"; |
| }; |
| |
| sound { |
| compatible = "sandbox,sound"; |
| cpu { |
| sound-dai = <&i2s 0>; |
| }; |
| |
| codec { |
| sound-dai = <&audio 0>; |
| }; |
| }; |
| |
| spi@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0 1>; |
| compatible = "sandbox,spi"; |
| cs-gpios = <0>, <0>, <&gpio_a 0>; |
| spi.bin@0 { |
| reg = <0>; |
| compatible = "spansion,m25p16", "jedec,spi-nor"; |
| spi-max-frequency = <40000000>; |
| sandbox,filename = "spi.bin"; |
| }; |
| spi.bin@1 { |
| reg = <1>; |
| compatible = "spansion,m25p16", "jedec,spi-nor"; |
| spi-max-frequency = <50000000>; |
| sandbox,filename = "spi.bin"; |
| spi-cpol; |
| spi-cpha; |
| }; |
| }; |
| |
| syscon0: syscon@0 { |
| compatible = "sandbox,syscon0"; |
| reg = <0x10 16>; |
| }; |
| |
| another_system_controller: syscon@1 { |
| compatible = "sandbox,syscon1"; |
| reg = <0x20 5 |
| 0x28 6 |
| 0x30 7 |
| 0x38 8>; |
| }; |
| |
| syscon2: syscon@2 { |
| compatible = "simple-mfd", "syscon"; |
| reg = <0x40 5 |
| 0x48 6 |
| 0x50 7 |
| 0x58 8>; |
| }; |
| |
| syscon3: syscon@3 { |
| compatible = "simple-mfd", "syscon"; |
| reg = <0x000100 0x10>; |
| |
| muxcontroller0: a-mux-controller { |
| compatible = "mmio-mux"; |
| #mux-control-cells = <1>; |
| |
| mux-reg-masks = <0x0 0x30>, /* 0: reg 0x0, bits 5:4 */ |
| <0xc 0x1E>, /* 1: reg 0xc, bits 4:1 */ |
| <0x4 0xFF>; /* 2: reg 0x4, bits 7:0 */ |
| idle-states = <MUX_IDLE_AS_IS>, <0x02>, <0x73>; |
| u-boot,mux-autoprobe; |
| }; |
| }; |
| |
| muxcontroller1: emul-mux-controller { |
| compatible = "mux-emul"; |
| #mux-control-cells = <0>; |
| u-boot,mux-autoprobe; |
| idle-state = <0xabcd>; |
| }; |
| |
| testfdtm0 { |
| compatible = "denx,u-boot-fdtm-test"; |
| }; |
| |
| testfdtm1: testfdtm1 { |
| compatible = "denx,u-boot-fdtm-test"; |
| }; |
| |
| testfdtm2 { |
| compatible = "denx,u-boot-fdtm-test"; |
| }; |
| |
| timer@0 { |
| compatible = "sandbox,timer"; |
| clock-frequency = <1000000>; |
| }; |
| |
| timer@1 { |
| compatible = "sandbox,timer"; |
| sandbox,timebase-frequency-fallback; |
| }; |
| |
| tpm2 { |
| compatible = "sandbox,tpm2"; |
| }; |
| |
| uart0: serial { |
| compatible = "sandbox,serial"; |
| u-boot,dm-pre-reloc; |
| }; |
| |
| usb_0: usb@0 { |
| compatible = "sandbox,usb"; |
| status = "disabled"; |
| hub { |
| compatible = "sandbox,usb-hub"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| flash-stick { |
| reg = <0>; |
| compatible = "sandbox,usb-flash"; |
| }; |
| }; |
| }; |
| |
| usb_1: usb@1 { |
| compatible = "sandbox,usb"; |
| hub { |
| compatible = "usb-hub"; |
| usb,device-class = <9>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| hub-emul { |
| compatible = "sandbox,usb-hub"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| flash-stick@0 { |
| reg = <0>; |
| compatible = "sandbox,usb-flash"; |
| sandbox,filepath = "testflash.bin"; |
| }; |
| |
| flash-stick@1 { |
| reg = <1>; |
| compatible = "sandbox,usb-flash"; |
| sandbox,filepath = "testflash1.bin"; |
| }; |
| |
| flash-stick@2 { |
| reg = <2>; |
| compatible = "sandbox,usb-flash"; |
| sandbox,filepath = "testflash2.bin"; |
| }; |
| |
| keyb@3 { |
| reg = <3>; |
| compatible = "sandbox,usb-keyb"; |
| }; |
| |
| }; |
| |
| usbstor@1 { |
| reg = <1>; |
| }; |
| usbstor@3 { |
| reg = <3>; |
| }; |
| }; |
| }; |
| |
| usb_2: usb@2 { |
| compatible = "sandbox,usb"; |
| status = "disabled"; |
| }; |
| |
| spmi: spmi@0 { |
| compatible = "sandbox,spmi"; |
| #address-cells = <0x1>; |
| #size-cells = <0x1>; |
| ranges; |
| pm8916@0 { |
| compatible = "qcom,spmi-pmic"; |
| reg = <0x0 0x1>; |
| #address-cells = <0x1>; |
| #size-cells = <0x1>; |
| ranges; |
| |
| spmi_gpios: gpios@c000 { |
| compatible = "qcom,pm8916-gpio"; |
| reg = <0xc000 0x400>; |
| gpio-controller; |
| gpio-count = <4>; |
| #gpio-cells = <2>; |
| gpio-bank-name="spmi"; |
| }; |
| }; |
| }; |
| |
| wdt0: wdt@0 { |
| compatible = "sandbox,wdt"; |
| }; |
| |
| axi: axi@0 { |
| compatible = "sandbox,axi"; |
| #address-cells = <0x1>; |
| #size-cells = <0x1>; |
| store@0 { |
| compatible = "sandbox,sandbox_store"; |
| reg = <0x0 0x400>; |
| }; |
| }; |
| |
| chosen { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| setting = "sunrise ohoka"; |
| other-node = "/some-bus/c-test@5"; |
| int-values = <0x1937 72993>; |
| u-boot,acpi-ssdt-order = <&acpi_test2 &acpi_test1>; |
| chosen-test { |
| compatible = "denx,u-boot-fdt-test"; |
| reg = <9 1>; |
| }; |
| }; |
| |
| translation-test@8000 { |
| compatible = "simple-bus"; |
| reg = <0x8000 0x4000>; |
| |
| #address-cells = <0x2>; |
| #size-cells = <0x1>; |
| |
| ranges = <0 0x0 0x8000 0x1000 |
| 1 0x100 0x9000 0x1000 |
| 2 0x200 0xA000 0x1000 |
| 3 0x300 0xB000 0x1000 |
| 4 0x400 0xC000 0x1000 |
| >; |
| |
| dma-ranges = <0 0x000 0x10000000 0x1000 |
| 1 0x100 0x20000000 0x1000 |
| >; |
| |
| dev@0,0 { |
| compatible = "denx,u-boot-fdt-dummy"; |
| reg = <0 0x0 0x1000>; |
| reg-names = "sandbox-dummy-0"; |
| }; |
| |
| dev@1,100 { |
| compatible = "denx,u-boot-fdt-dummy"; |
| reg = <1 0x100 0x1000>; |
| |
| }; |
| |
| dev@2,200 { |
| compatible = "denx,u-boot-fdt-dummy"; |
| reg = <2 0x200 0x1000>; |
| }; |
| |
| |
| noxlatebus@3,300 { |
| compatible = "simple-bus"; |
| reg = <3 0x300 0x1000>; |
| |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| |
| dev@42 { |
| compatible = "denx,u-boot-fdt-dummy"; |
| reg = <0x42>; |
| }; |
| }; |
| |
| xlatebus@4,400 { |
| compatible = "sandbox,zero-size-cells-bus"; |
| reg = <4 0x400 0x1000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0 4 0x400 0x1000>; |
| |
| devs { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| dev@19 { |
| compatible = "denx,u-boot-fdt-dummy"; |
| reg = <0x19>; |
| }; |
| }; |
| }; |
| |
| }; |
| |
| osd { |
| compatible = "sandbox,sandbox_osd"; |
| }; |
| |
| sandbox_tee { |
| compatible = "sandbox,tee"; |
| }; |
| |
| sandbox_virtio1 { |
| compatible = "sandbox,virtio1"; |
| }; |
| |
| sandbox_virtio2 { |
| compatible = "sandbox,virtio2"; |
| }; |
| |
| sandbox_scmi { |
| compatible = "sandbox,scmi-devices"; |
| clocks = <&clk_scmi0 7>, <&clk_scmi0 3>, <&clk_scmi1 1>; |
| resets = <&reset_scmi0 3>; |
| }; |
| |
| pinctrl { |
| compatible = "sandbox,pinctrl"; |
| |
| pinctrl-names = "default", "alternate"; |
| pinctrl-0 = <&pinctrl_gpios>, <&pinctrl_i2s>; |
| pinctrl-1 = <&pinctrl_spi>, <&pinctrl_i2c>; |
| |
| pinctrl_gpios: gpios { |
| gpio0 { |
| pins = "P5"; |
| function = "GPIO"; |
| bias-pull-up; |
| input-disable; |
| }; |
| gpio1 { |
| pins = "P6"; |
| function = "GPIO"; |
| output-high; |
| drive-open-drain; |
| }; |
| gpio2 { |
| pinmux = <SANDBOX_PINMUX(7, SANDBOX_PINMUX_GPIO)>; |
| bias-pull-down; |
| input-enable; |
| }; |
| gpio3 { |
| pinmux = <SANDBOX_PINMUX(8, SANDBOX_PINMUX_GPIO)>; |
| bias-disable; |
| }; |
| }; |
| |
| pinctrl_i2c: i2c { |
| groups { |
| groups = "I2C_UART"; |
| function = "I2C"; |
| }; |
| |
| pins { |
| pins = "P0", "P1"; |
| drive-open-drain; |
| }; |
| }; |
| |
| pinctrl_i2s: i2s { |
| groups = "SPI_I2S"; |
| function = "I2S"; |
| }; |
| |
| pinctrl_spi: spi { |
| groups = "SPI_I2S"; |
| function = "SPI"; |
| |
| cs { |
| pinmux = <SANDBOX_PINMUX(5, SANDBOX_PINMUX_CS)>, |
| <SANDBOX_PINMUX(6, SANDBOX_PINMUX_CS)>; |
| }; |
| }; |
| }; |
| |
| hwspinlock@0 { |
| compatible = "sandbox,hwspinlock"; |
| }; |
| |
| dma: dma { |
| compatible = "sandbox,dma"; |
| #dma-cells = <1>; |
| |
| dmas = <&dma 0>, <&dma 1>, <&dma 2>; |
| dma-names = "m2m", "tx0", "rx0"; |
| }; |
| |
| /* |
| * keep mdio-mux ahead of mdio so that the mux is removed first at the |
| * end of the test. If parent mdio is removed first, clean-up of the |
| * mux will trigger a 2nd probe of parent-mdio, leaving parent-mdio |
| * active at the end of the test. That it turn doesn't allow the mdio |
| * class to be destroyed, triggering an error. |
| */ |
| mdio-mux-test { |
| compatible = "sandbox,mdio-mux"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| mdio-parent-bus = <&mdio>; |
| |
| mdio-ch-test@0 { |
| reg = <0>; |
| }; |
| mdio-ch-test@1 { |
| reg = <1>; |
| }; |
| }; |
| |
| mdio: mdio-test { |
| compatible = "sandbox,mdio"; |
| }; |
| |
| pm-bus-test { |
| compatible = "simple-pm-bus"; |
| clocks = <&clk_sandbox 4>; |
| power-domains = <&pwrdom 1>; |
| }; |
| |
| resetc2: syscon-reset { |
| compatible = "syscon-reset"; |
| #reset-cells = <1>; |
| regmap = <&syscon0>; |
| offset = <1>; |
| mask = <0x27FFFFFF>; |
| assert-high = <0>; |
| }; |
| |
| syscon-reset-test { |
| compatible = "sandbox,misc_sandbox"; |
| resets = <&resetc2 15>, <&resetc2 30>, <&resetc2 60>; |
| reset-names = "valid", "no_mask", "out_of_range"; |
| }; |
| |
| sysinfo { |
| compatible = "sandbox,sysinfo-sandbox"; |
| }; |
| |
| some_regmapped-bus { |
| #address-cells = <0x1>; |
| #size-cells = <0x1>; |
| |
| ranges = <0x0 0x0 0x10>; |
| compatible = "simple-bus"; |
| |
| regmap-test_0 { |
| reg = <0 0x10>; |
| compatible = "sandbox,regmap_test"; |
| }; |
| }; |
| }; |
| |
| #include "sandbox_pmic.dtsi" |