mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-22 03:03:05 +00:00
ff5fa7d626
At present this function uses the old format for reading hashes. Add support for the current format. Add a test while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
1357 lines
25 KiB
Text
1357 lines
25 KiB
Text
/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"
|