// SPDX-License-Identifier: GPL-2.0+ /* * This is the common sandbox device-tree nodes. This is shared between sandbox * and sandbox64 builds. */ #define USB_CLASS_HUB 9 / { binman { }; chosen { stdout-path = "/serial"; fwupd { compatible = "simple-bus"; firmware { compatible = "fwupd,vbe-simple"; cur-version = "1.2.3"; bootloader-version = "2022.01"; storage = "mmc1"; area-start = <0x0>; area-size = <0x1000000>; skip-offset = <0x8000>; }; }; }; audio: audio-codec { compatible = "sandbox,audio-codec"; #sound-dai-cells = <1>; }; bootstd { compatible = "u-boot,boot-std"; filename-prefixes = "./"; }; buttons { compatible = "gpio-keys"; btn1 { gpios = <&gpio_a 3 0>; label = "button1"; }; btn2 { gpios = <&gpio_a 4 0>; label = "button2"; }; }; clk_fixed: clk-fixed { u-boot,dm-pre-reloc; compatible = "sandbox,fixed-clock"; #clock-cells = <0>; clock-frequency = <1234>; }; clk_sandbox: clk-sbox { u-boot,dm-pre-reloc; compatible = "sandbox,clk"; #clock-cells = <1>; assigned-clocks = <&clk_sandbox 3>; assigned-clock-rates = <321>; }; clk-test { u-boot,dm-pre-reloc; 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"; }; gpio_a: gpios@0 { u-boot,dm-pre-proper; gpio-controller; compatible = "sandbox,gpio"; #gpio-cells = <1>; gpio-bank-name = "a"; sandbox,gpio-count = <20>; }; gpio_b: gpios@1 { u-boot,dm-spl; gpio-controller; compatible = "sandbox,gpio"; #gpio-cells = <2>; gpio-bank-name = "b"; sandbox,gpio-count = <10>; }; gpio-test { u-boot,dm-spl; compatible = "sandbox,gpio-test"; test-gpios = <&gpio_b 3 0>; }; hexagon { compatible = "demo-simple"; colour = "white"; sides = <6>; }; i2c_0: i2c@0 { eeprom@2c { reg = <0x2c>; compatible = "i2c-eeprom"; sandbox,emul = <&emul_eeprom>; }; rtc_0: rtc@43 { reg = <0x43>; compatible = "sandbox-rtc"; sandbox,emul = <&emul0>; u-boot,dm-pre-reloc; }; sandbox_pmic: sandbox_pmic { reg = <0x40>; }; mc34708: pmic@41 { reg = <0x41>; }; i2c_emul: emul { u-boot,dm-pre-reloc; reg = <0xff>; compatible = "sandbox,i2c-emul-parent"; emul_eeprom: emul-eeprom { compatible = "sandbox,i2c-eeprom"; sandbox,filename = "i2c.bin"; sandbox,size = <256>; #emul-cells = <0>; }; emul0: emul0 { u-boot,dm-pre-reloc; compatible = "sandbox,i2c-rtc-emul"; #emul-cells = <0>; }; }; }; i2s: i2s { compatible = "sandbox,i2s"; #sound-dai-cells = <1>; }; irq_sandbox: irq-sbox { u-boot,dm-spl; compatible = "sandbox,irq"; interrupt-controller; #interrupt-cells = <2>; }; irq-test { u-boot,dm-spl; compatible = "sandbox,irq-test"; interrupts-extended = <&irq_sandbox 3 0>; }; lcd { u-boot,dm-pre-proper; compatible = "sandbox,lcd-sdl"; xres = <1366>; yres = <768>; log2-depth = <5>; }; leds { compatible = "gpio-leds"; iracibble { gpios = <&gpio_a 1 0>; label = "sandbox:red"; }; martinet { gpios = <&gpio_a 2 0>; label = "sandbox:green"; }; }; pci@0 { pci@1e,0 { compatible = "sandbox,pmc"; reg = <0xf000 0 0 0 0>; sandbox,emul = <&pmc_emul>; 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 = <0xf800 0 0 0 0>; sandbox,emul = <&swap_case_emul>; }; }; emul { compatible = "sandbox,pci-emul-parent"; pmc_emul: emul@1e,0 { compatible = "sandbox,pmc-emul"; }; swap_case_emul: emul@1f,0 { compatible = "sandbox,swap-case"; }; }; pinctrl { compatible = "sandbox,pinctrl"; status = "okay"; pinctrl_i2c0: i2c0 { groups = "i2c"; function = "i2c"; bias-pull-up; }; pinctrl_serial0: uart0 { groups = "serial_a"; function = "serial"; }; pinctrl_onewire0: onewire0 { groups = "w1"; function = "w1"; bias-pull-up; }; }; reset@1 { compatible = "sandbox,reset"; }; rng { compatible = "sandbox,sandbox-rng"; }; sound { compatible = "sandbox,sound"; cpu { sound-dai = <&i2s 0>; }; codec { sound-dai = <&audio 0>; }; }; spi@0 { firmware_storage_spi: flash@0 { u-boot,dm-pre-proper; reg = <0>; compatible = "spansion,m25p16", "jedec,spi-nor"; spi-max-frequency = <40000000>; sandbox,filename = "spi.bin"; }; }; spl-test { u-boot,dm-spl; compatible = "sandbox,spl-test"; boolval; intval = <1>; intarray = <2 3 4>; maybe-empty-int = <>; byteval = [05]; bytearray = [06]; longbytearray = [09 0a 0b 0c 0d 0e 0f 10 11]; stringval = "message"; stringarray = "multi-word", "message"; }; spl-test2 { u-boot,dm-spl; compatible = "sandbox,spl-test"; intval = <3>; intarray = <5>; byteval = [08]; bytearray = [01 23 34]; longbytearray = [09 0a 0b 0c]; stringval = "message2"; stringarray = "another", "multi-word", "message"; }; spl-test3 { u-boot,dm-spl; compatible = "sandbox,spl-test"; stringarray = "one"; maybe-empty-int = <1>; }; spl-test5 { u-boot,dm-vpl; compatible = "sandbox,spl-test"; stringarray = "tpl"; }; spl-test6 { u-boot,dm-pre-proper; compatible = "sandbox,spl-test"; stringarray = "pre-proper"; }; spl-test7 { u-boot,dm-spl; compatible = "sandbox,spl-test"; stringarray = "spl"; }; square { compatible = "demo-shape"; colour = "blue"; sides = <4>; }; timer { compatible = "sandbox,timer"; clock-frequency = <1000000>; }; tpm { compatible = "google,sandbox-tpm"; }; tpm2 { compatible = "sandbox,tpm2"; }; triangle { compatible = "demo-shape"; colour = "cyan"; sides = <3>; character = <83>; light-gpios = <&gpio_a 2>, <&gpio_b 6 0>; }; /* Needs to be available prior to relocation */ uart0: serial { u-boot,dm-spl; u-boot,dm-tpl; u-boot,dm-vpl; compatible = "sandbox,serial"; sandbox,text-colour = "cyan"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_serial0>; }; 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 { compatible = "sandbox,usb"; hub { compatible = "usb-hub"; usb,device-class = ; hub-emul { compatible = "sandbox,usb-hub"; #address-cells = <1>; #size-cells = <0>; flash-stick { reg = <0>; compatible = "sandbox,usb-flash"; sandbox,filepath = "flash.bin"; }; }; }; }; usb@2 { compatible = "sandbox,usb"; status = "disabled"; }; spmi: spmi@0 { compatible = "sandbox,spmi"; #address-cells = <0x1>; #size-cells = <0x1>; pm8916@0 { compatible = "qcom,spmi-pmic"; reg = <0x0 0x1>; #address-cells = <0x1>; #size-cells = <0x1>; spmi_gpios: gpios@c000 { compatible = "qcom,pm8916-gpio"; reg = <0xc000 0x400>; gpio-controller; gpio-count = <4>; #gpio-cells = <2>; gpio-bank-name="spmi"; }; }; }; axi: axi@0 { compatible = "sandbox,axi"; #address-cells = <0x1>; #size-cells = <0x1>; store@0 { compatible = "sandbox,sandbox_store"; reg = <0x0 0x400>; }; }; onewire0: onewire { compatible = "w1-gpio"; gpios = <&gpio_a 8>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_onewire0>; status = "okay"; sandbox_eeprom0: sandbox_eeprom@0 { compatible = "sandbox,w1-eeprom"; status = "okay"; }; }; sandbox_tee { compatible = "sandbox,tee"; }; }; &cros_ec { /* * 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>; }; rw { image-pos = <0x10000>; size = <0x10000>; }; }; keyboard-controller { u-boot,dm-pre-proper; }; };