mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-24 03:53:31 +00:00
a09852d862
Emulate Secure World's FF-A ABIs and allow testing U-Boot FF-A support Features of the sandbox FF-A support: - Introduce an FF-A emulator - Introduce an FF-A device driver for FF-A comms with emulated Secure World - Provides test methods allowing to read the status of the inspected ABIs The sandbox FF-A emulator supports only 64-bit direct messaging. Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> Cc: Jens Wiklander <jens.wiklander@linaro.org> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
1851 lines
34 KiB
Text
1851 lines
34 KiB
Text
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Devicetree file for running sandbox tests
|
|
*
|
|
* This includes lots of extra devices used by various tests.
|
|
*
|
|
* Note that SPL use the main sandbox.dts file
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/gpio/sandbox-gpio.h>
|
|
#include <dt-bindings/input/input.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;
|
|
ethernet0 = "/eth@10002000";
|
|
ethernet2 = &swp_0;
|
|
ethernet3 = ð_3;
|
|
ethernet4 = &dsa_eth0;
|
|
ethernet5 = ð_5;
|
|
ethernet6 = "/eth@10004000";
|
|
ethernet7 = &swp_1;
|
|
ethernet8 = &phy_eth0;
|
|
gpio1 = &gpio_a;
|
|
gpio2 = &gpio_b;
|
|
gpio3 = &gpio_c;
|
|
i2c0 = "/i2c@0";
|
|
mmc0 = "/mmc0";
|
|
mmc1 = "/mmc1";
|
|
mmc2 = "/mmc2";
|
|
mmc3 = "/mmc3";
|
|
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";
|
|
usb0 = &usb_0;
|
|
usb1 = &usb_1;
|
|
usb2 = &usb_2;
|
|
axi0 = &axi;
|
|
osd0 = "/osd";
|
|
};
|
|
|
|
binman: binman {
|
|
};
|
|
|
|
config {
|
|
testing-bool;
|
|
testing-int = <123>;
|
|
testing-str = "testing";
|
|
environment {
|
|
from_fdt = "yes";
|
|
fdt_env_path = "";
|
|
};
|
|
};
|
|
|
|
bootstd {
|
|
bootph-verify;
|
|
compatible = "u-boot,boot-std";
|
|
|
|
filename-prefixes = "/", "/boot/";
|
|
bootdev-order = "mmc2", "mmc1";
|
|
|
|
extlinux {
|
|
compatible = "u-boot,extlinux";
|
|
};
|
|
|
|
efi {
|
|
compatible = "u-boot,distro-efi";
|
|
};
|
|
|
|
theme {
|
|
font-size = <30>;
|
|
menu-inset = <3>;
|
|
menuitem-gap-y = <1>;
|
|
};
|
|
|
|
/*
|
|
* This is used for the VBE OS-request tests. A FAT filesystem
|
|
* created in a partition with the VBE information appearing
|
|
* before the parititon starts
|
|
*/
|
|
firmware0 {
|
|
bootph-verify;
|
|
compatible = "fwupd,vbe-simple";
|
|
storage = "mmc1";
|
|
skip-offset = <0x200>;
|
|
area-start = <0x400>;
|
|
area-size = <0x1000>;
|
|
state-offset = <0x400>;
|
|
state-size = <0x40>;
|
|
version-offset = <0x800>;
|
|
version-size = <0x100>;
|
|
};
|
|
|
|
/*
|
|
* This is used for the VBE VPL tests. The MMC device holds the
|
|
* binman image.bin file. The test progresses through each phase
|
|
* of U-Boot, loading each in turn from MMC.
|
|
*
|
|
* Note that the test enables this node (and mmc3) before
|
|
* running U-Boot
|
|
*/
|
|
firmware1 {
|
|
bootph-verify;
|
|
status = "disabled";
|
|
compatible = "fwupd,vbe-simple";
|
|
storage = "mmc3";
|
|
skip-offset = <0x800000>;
|
|
area-start = <0>;
|
|
area-size = <0xe00000>;
|
|
state-offset = <0xdffc00>;
|
|
state-size = <0x40>;
|
|
version-offset = <0xdffe00>;
|
|
version-size = <0x100>;
|
|
};
|
|
};
|
|
|
|
cedit: cedit {
|
|
};
|
|
|
|
cedit-theme {
|
|
font-size = <30>;
|
|
menu-inset = <3>;
|
|
menuitem-gap-y = <1>;
|
|
};
|
|
|
|
fuzzing-engine {
|
|
compatible = "sandbox,fuzzing-engine";
|
|
};
|
|
|
|
reboot-mode0 {
|
|
compatible = "reboot-mode-gpio";
|
|
gpios = <&gpio_c 0 GPIO_ACTIVE_HIGH>, <&gpio_c 1 GPIO_ACTIVE_HIGH>;
|
|
u-boot,env-variable = "bootstatus";
|
|
mode-test = <0x01>;
|
|
mode-download = <0x03>;
|
|
};
|
|
|
|
reboot_mode1: reboot-mode@14 {
|
|
compatible = "reboot-mode-rtc";
|
|
rtc = <&rtc_0>;
|
|
reg = <0x30 4>;
|
|
u-boot,env-variable = "bootstatus";
|
|
big-endian;
|
|
mode-test = <0x21969147>;
|
|
mode-download = <0x51939147>;
|
|
};
|
|
|
|
audio: audio-codec {
|
|
compatible = "sandbox,audio-codec";
|
|
#sound-dai-cells = <1>;
|
|
};
|
|
|
|
buttons {
|
|
compatible = "gpio-keys";
|
|
|
|
btn1 {
|
|
gpios = <&gpio_a 3 0>;
|
|
label = "button1";
|
|
linux,code = <BTN_1>;
|
|
};
|
|
|
|
btn2 {
|
|
gpios = <&gpio_a 4 0>;
|
|
label = "button2";
|
|
linux,code = <BTN_2>;
|
|
};
|
|
};
|
|
|
|
buttons2 {
|
|
compatible = "adc-keys";
|
|
io-channels = <&adc 3>;
|
|
keyup-threshold-microvolt = <3000000>;
|
|
|
|
button-up {
|
|
label = "button3";
|
|
linux,code = <KEY_F3>;
|
|
press-threshold-microvolt = <1500000>;
|
|
};
|
|
|
|
button-down {
|
|
label = "button4";
|
|
linux,code = <KEY_F4>;
|
|
press-threshold-microvolt = <1000000>;
|
|
};
|
|
|
|
button-enter {
|
|
label = "button5";
|
|
linux,code = <KEY_F5>;
|
|
press-threshold-microvolt = <500000>;
|
|
};
|
|
};
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
cros_ec_pwm: cros-ec-pwm {
|
|
compatible = "google,cros-ec-pwm";
|
|
#pwm-cells = <1>;
|
|
};
|
|
|
|
};
|
|
|
|
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>;
|
|
bootph-all;
|
|
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>;
|
|
|
|
bool-value;
|
|
int8-value = /bits/ 8 <0x12>;
|
|
int16-value = /bits/ 16 <0x1234>;
|
|
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>;
|
|
};
|
|
};
|
|
panel-timing {
|
|
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;
|
|
};
|
|
};
|
|
|
|
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>;
|
|
};
|
|
|
|
mmio-bus@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "denx,u-boot-test-bus";
|
|
dma-ranges = <0x10000000 0x00000000 0x00040000>;
|
|
|
|
subnode@0 {
|
|
compatible = "denx,u-boot-fdt-test";
|
|
};
|
|
};
|
|
|
|
mmio-bus@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "denx,u-boot-test-bus";
|
|
|
|
subnode@0 {
|
|
compatible = "denx,u-boot-fdt-test";
|
|
};
|
|
};
|
|
|
|
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";
|
|
};
|
|
|
|
efi-media {
|
|
compatible = "sandbox,efi-media";
|
|
};
|
|
|
|
eth@10002000 {
|
|
compatible = "sandbox,eth";
|
|
reg = <0x10002000 0x1000>;
|
|
};
|
|
|
|
eth_5: eth@10003000 {
|
|
compatible = "sandbox,eth";
|
|
reg = <0x10003000 0x1000>;
|
|
nvmem-cells = <ð5_addr>;
|
|
nvmem-cell-names = "mac-address";
|
|
};
|
|
|
|
eth_3: sbe5 {
|
|
compatible = "sandbox,eth";
|
|
reg = <0x10005000 0x1000>;
|
|
nvmem-cells = <ð3_addr>;
|
|
nvmem-cell-names = "mac-address";
|
|
};
|
|
|
|
eth@10004000 {
|
|
compatible = "sandbox,eth";
|
|
reg = <0x10004000 0x1000>;
|
|
};
|
|
|
|
phy_eth0: phy-test-eth {
|
|
compatible = "sandbox,eth";
|
|
reg = <0x10007000 0x1000>;
|
|
mac-address = [ 02 00 11 22 33 49 ];
|
|
phy-handle = <ðphy1>;
|
|
phy-mode = "2500base-x";
|
|
};
|
|
|
|
dsa_eth0: dsa-test-eth {
|
|
compatible = "sandbox,eth";
|
|
reg = <0x10006000 0x1000>;
|
|
nvmem-cells = <ð4_addr>;
|
|
nvmem-cell-names = "mac-address";
|
|
};
|
|
|
|
dsa-test {
|
|
compatible = "sandbox,dsa";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
swp_0: port@0 {
|
|
reg = <0>;
|
|
label = "lan0";
|
|
phy-mode = "rgmii-rxid";
|
|
|
|
fixed-link {
|
|
speed = <100>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
|
|
swp_1: port@1 {
|
|
reg = <1>;
|
|
label = "lan1";
|
|
phy-mode = "rgmii-txid";
|
|
fixed-link = <0 1 100 0 0>;
|
|
};
|
|
|
|
port@2 {
|
|
reg = <2>;
|
|
ethernet = <&dsa_eth0>;
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
firmware {
|
|
sandbox_firmware: sandbox-firmware {
|
|
compatible = "sandbox,firmware";
|
|
};
|
|
|
|
scmi {
|
|
compatible = "sandbox,scmi-agent";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
protocol@10 {
|
|
reg = <0x10>;
|
|
};
|
|
|
|
clk_scmi: protocol@14 {
|
|
reg = <0x14>;
|
|
#clock-cells = <1>;
|
|
};
|
|
|
|
reset_scmi: protocol@16 {
|
|
reg = <0x16>;
|
|
#reset-cells = <1>;
|
|
};
|
|
|
|
protocol@17 {
|
|
reg = <0x17>;
|
|
|
|
regulators {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
regul0_scmi: reg@0 {
|
|
reg = <0>;
|
|
regulator-name = "sandbox-voltd0";
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
regul1_scmi: reg@1 {
|
|
reg = <0x1>;
|
|
regulator-name = "sandbox-voltd1";
|
|
regulator-min-microvolt = <1800000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
fpga {
|
|
compatible = "sandbox,fpga";
|
|
};
|
|
|
|
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>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinmux_i2c0_pins>;
|
|
|
|
eeprom@2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
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>;
|
|
};
|
|
};
|
|
|
|
eth3_addr: mac-address@24 {
|
|
reg = <24 6>;
|
|
};
|
|
};
|
|
|
|
rtc_0: rtc@43 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
reg = <0x43>;
|
|
compatible = "sandbox-rtc";
|
|
sandbox,emul = <&emul0>;
|
|
|
|
eth4_addr: mac-address@40 {
|
|
reg = <0x40 6>;
|
|
};
|
|
};
|
|
|
|
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-emul";
|
|
};
|
|
emul1: emull {
|
|
compatible = "sandbox,i2c-rtc-emul";
|
|
};
|
|
};
|
|
|
|
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>;
|
|
};
|
|
|
|
bootcount_4@0 {
|
|
compatible = "u-boot,bootcount-syscon";
|
|
syscon = <&syscon0>;
|
|
reg = <0x0 0x04>, <0x0 0x04>;
|
|
reg-names = "syscon_reg", "offset";
|
|
};
|
|
|
|
bootcount_2@0 {
|
|
compatible = "u-boot,bootcount-syscon";
|
|
syscon = <&syscon0>;
|
|
reg = <0x0 0x04>, <0x0 0x02> ;
|
|
reg-names = "syscon_reg", "offset";
|
|
};
|
|
|
|
adc: adc@0 {
|
|
compatible = "sandbox,adc";
|
|
#io-channel-cells = <1>;
|
|
vdd-supply = <&buck2>;
|
|
vss-microvolts = <0>;
|
|
};
|
|
|
|
iommu: iommu@0 {
|
|
compatible = "sandbox,iommu";
|
|
#iommu-cells = <0>;
|
|
};
|
|
|
|
irq: irq {
|
|
compatible = "sandbox,irq";
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
lcd {
|
|
bootph-all;
|
|
compatible = "sandbox,lcd-sdl";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinmux_lcd_pins>;
|
|
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";
|
|
};
|
|
};
|
|
|
|
wdt-gpio-toggle {
|
|
gpios = <&gpio_a 7 0>;
|
|
compatible = "linux,wdt-gpio";
|
|
hw_margin_ms = <100>;
|
|
hw_algo = "toggle";
|
|
always-running;
|
|
};
|
|
|
|
wdt-gpio-level {
|
|
gpios = <&gpio_a 7 0>;
|
|
compatible = "linux,wdt-gpio";
|
|
hw_margin_ms = <100>;
|
|
hw_algo = "level";
|
|
always-running;
|
|
};
|
|
|
|
mbox: mbox {
|
|
compatible = "sandbox,mbox";
|
|
#mbox-cells = <1>;
|
|
};
|
|
|
|
mbox-test {
|
|
compatible = "sandbox,mbox-test";
|
|
mboxes = <&mbox 100>, <&mbox 1>;
|
|
mbox-names = "other", "test";
|
|
};
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
timebase-frequency = <2000000>;
|
|
cpu1: cpu@1 {
|
|
device_type = "cpu";
|
|
reg = <0x1>;
|
|
timebase-frequency = <3000000>;
|
|
compatible = "sandbox,cpu_sandbox";
|
|
bootph-all;
|
|
};
|
|
|
|
cpu2: cpu@2 {
|
|
device_type = "cpu";
|
|
reg = <0x2>;
|
|
compatible = "sandbox,cpu_sandbox";
|
|
bootph-all;
|
|
};
|
|
|
|
cpu3: cpu@3 {
|
|
device_type = "cpu";
|
|
reg = <0x3>;
|
|
compatible = "sandbox,cpu_sandbox";
|
|
bootph-all;
|
|
};
|
|
};
|
|
|
|
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";
|
|
};
|
|
};
|
|
|
|
memory-controller {
|
|
compatible = "sandbox,memory";
|
|
};
|
|
|
|
misc-test {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "sandbox,misc_sandbox";
|
|
|
|
eth5_addr: mac-address@10 {
|
|
reg = <0x10 6>;
|
|
};
|
|
};
|
|
|
|
mmc2 {
|
|
compatible = "sandbox,mmc";
|
|
non-removable;
|
|
};
|
|
|
|
/* This is used for the bootdev tests */
|
|
mmc1 {
|
|
compatible = "sandbox,mmc";
|
|
filename = "mmc1.img";
|
|
};
|
|
|
|
/* This is used for the fastboot tests */
|
|
mmc0: mmc0 {
|
|
compatible = "sandbox,mmc";
|
|
};
|
|
|
|
/* This is used for VBE VPL tests */
|
|
mmc3 {
|
|
status = "disabled";
|
|
compatible = "sandbox,mmc";
|
|
filename = "image.bin";
|
|
non-removable;
|
|
};
|
|
|
|
/* This is used for bootstd bootmenu tests */
|
|
mmc4 {
|
|
status = "disabled";
|
|
compatible = "sandbox,mmc";
|
|
filename = "mmc4.img";
|
|
};
|
|
|
|
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>;
|
|
iommu-map = <0x0010 &iommu 0 1>;
|
|
iommu-map-mask = <0xfffffff8>;
|
|
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 0x3e000000 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>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinmux_pwm_pins>;
|
|
};
|
|
|
|
pwm2 {
|
|
compatible = "sandbox,pwm";
|
|
#pwm-cells = <2>;
|
|
};
|
|
|
|
ram {
|
|
compatible = "sandbox,ram";
|
|
};
|
|
|
|
reset@0 {
|
|
compatible = "sandbox,warm-reset";
|
|
bootph-some-ram;
|
|
};
|
|
|
|
reset@1 {
|
|
compatible = "sandbox,reset";
|
|
bootph-some-ram;
|
|
};
|
|
|
|
resetc: reset-ctl {
|
|
compatible = "sandbox,reset-ctl";
|
|
#reset-cells = <1>;
|
|
};
|
|
|
|
reset-ctl-test {
|
|
compatible = "sandbox,reset-ctl-test";
|
|
resets = <&resetc 100>, <&resetc 2>, <&resetc 20>, <&resetc 40>;
|
|
reset-names = "other", "test", "test2", "test3";
|
|
};
|
|
|
|
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>;
|
|
};
|
|
|
|
scsi {
|
|
compatible = "sandbox,scsi";
|
|
sandbox,filepath = "scsi.img";
|
|
};
|
|
|
|
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>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinmux_spi0_pins>;
|
|
|
|
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";
|
|
};
|
|
|
|
tpm {
|
|
compatible = "google,sandbox-tpm";
|
|
};
|
|
|
|
uart0: serial {
|
|
compatible = "sandbox,serial";
|
|
bootph-all;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinmux_uart0_pins>;
|
|
};
|
|
|
|
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";
|
|
iommus = <&iommu>;
|
|
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";
|
|
hw_margin_ms = <200>;
|
|
};
|
|
|
|
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
|
|
>;
|
|
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ofnode-foreach {
|
|
compatible = "foreach";
|
|
|
|
first {
|
|
prop1 = <1>;
|
|
prop2 = <2>;
|
|
};
|
|
|
|
second {
|
|
prop1 = <1>;
|
|
prop2 = <2>;
|
|
};
|
|
};
|
|
|
|
osd {
|
|
compatible = "sandbox,sandbox_osd";
|
|
};
|
|
|
|
sandbox_tee {
|
|
compatible = "sandbox,tee";
|
|
};
|
|
|
|
sandbox_virtio1 {
|
|
compatible = "sandbox,virtio1";
|
|
virtio-type = <4>; /* rng */
|
|
};
|
|
|
|
sandbox_virtio2 {
|
|
compatible = "sandbox,virtio2";
|
|
};
|
|
|
|
sandbox-virtio-blk {
|
|
compatible = "sandbox,virtio1";
|
|
virtio-type = <2>; /* block */
|
|
};
|
|
|
|
sandbox_scmi {
|
|
compatible = "sandbox,scmi-devices";
|
|
clocks = <&clk_scmi 2>, <&clk_scmi 0>;
|
|
resets = <&reset_scmi 3>;
|
|
regul0-supply = <®ul0_scmi>;
|
|
regul1-supply = <®ul1_scmi>;
|
|
};
|
|
|
|
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)>;
|
|
};
|
|
};
|
|
};
|
|
|
|
pinctrl-single-no-width {
|
|
compatible = "pinctrl-single";
|
|
reg = <0x0000 0x238>;
|
|
#pinctrl-cells = <1>;
|
|
pinctrl-single,function-mask = <0x7f>;
|
|
};
|
|
|
|
pinctrl-single-pins {
|
|
compatible = "pinctrl-single";
|
|
reg = <0x0000 0x238>;
|
|
#pinctrl-cells = <1>;
|
|
pinctrl-single,register-width = <32>;
|
|
pinctrl-single,function-mask = <0x7f>;
|
|
|
|
pinmux_pwm_pins: pinmux_pwm_pins {
|
|
pinctrl-single,pins = < 0x48 0x06 >;
|
|
};
|
|
|
|
pinmux_spi0_pins: pinmux_spi0_pins {
|
|
pinctrl-single,pins = <
|
|
0x190 0x0c
|
|
0x194 0x0c
|
|
0x198 0x23
|
|
0x19c 0x0c
|
|
>;
|
|
};
|
|
|
|
pinmux_uart0_pins: pinmux_uart0_pins {
|
|
pinctrl-single,pins = <
|
|
0x70 0x30
|
|
0x74 0x00
|
|
>;
|
|
};
|
|
};
|
|
|
|
pinctrl-single-bits {
|
|
compatible = "pinctrl-single";
|
|
reg = <0x0000 0x50>;
|
|
#pinctrl-cells = <2>;
|
|
pinctrl-single,bit-per-mux;
|
|
pinctrl-single,register-width = <32>;
|
|
pinctrl-single,function-mask = <0xf>;
|
|
|
|
pinmux_i2c0_pins: pinmux_i2c0_pins {
|
|
pinctrl-single,bits = <
|
|
0x10 0x00002200 0x0000ff00
|
|
>;
|
|
};
|
|
|
|
pinmux_lcd_pins: pinmux_lcd_pins {
|
|
pinctrl-single,bits = <
|
|
0x40 0x22222200 0xffffff00
|
|
0x44 0x22222222 0xffffffff
|
|
0x48 0x00000022 0x000000ff
|
|
0x48 0x02000000 0x0f000000
|
|
0x4c 0x02000022 0x0f0000ff
|
|
>;
|
|
};
|
|
};
|
|
|
|
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";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ethphy1: ethernet-phy@1 {
|
|
reg = <1>;
|
|
};
|
|
};
|
|
|
|
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";
|
|
};
|
|
|
|
sysinfo-gpio {
|
|
compatible = "gpio-sysinfo";
|
|
gpios = <&gpio_a 15>, <&gpio_a 16>, <&gpio_a 17>;
|
|
revisions = <19>, <5>;
|
|
names = "rev_a", "foo";
|
|
};
|
|
|
|
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";
|
|
};
|
|
};
|
|
|
|
thermal {
|
|
compatible = "sandbox,thermal";
|
|
};
|
|
|
|
fwu-mdata {
|
|
compatible = "u-boot,fwu-mdata-gpt";
|
|
fwu-mdata-store = <&mmc0>;
|
|
};
|
|
|
|
nvmxip-qspi1@08000000 {
|
|
compatible = "nvmxip,qspi";
|
|
reg = <0x08000000 0x00200000>;
|
|
lba_shift = <9>;
|
|
lba = <4096>;
|
|
};
|
|
|
|
nvmxip-qspi2@08200000 {
|
|
compatible = "nvmxip,qspi";
|
|
reg = <0x08200000 0x00100000>;
|
|
lba_shift = <9>;
|
|
lba = <2048>;
|
|
};
|
|
|
|
extcon {
|
|
compatible = "sandbox,extcon";
|
|
};
|
|
|
|
arm-ffa-emul {
|
|
compatible = "sandbox,arm-ffa-emul";
|
|
|
|
sandbox-arm-ffa {
|
|
compatible = "sandbox,arm-ffa";
|
|
};
|
|
};
|
|
};
|
|
|
|
#include "sandbox_pmic.dtsi"
|
|
#include "cros-ec-keyboard.dtsi"
|
|
|
|
#ifdef CONFIG_SANDBOX_VPL
|
|
#include "sandbox_vpl.dtsi"
|
|
#endif
|
|
|
|
#include "cedit.dtsi"
|