/dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/gpio/sandbox-gpio.h>
+
/ {
model = "sandbox";
compatible = "sandbox";
eth5 = ð_5;
gpio1 = &gpio_a;
gpio2 = &gpio_b;
+ gpio3 = &gpio_c;
i2c0 = "/i2c@0";
mmc0 = "/mmc0";
mmc1 = "/mmc1";
pci0 = &pci0;
pci1 = &pci1;
pci2 = &pci2;
- remoteproc1 = &rproc_1;
- remoteproc2 = &rproc_2;
+ remoteproc0 = &rproc_1;
+ remoteproc1 = &rproc_2;
rtc0 = &rtc_0;
rtc1 = &rtc_1;
spi0 = "/spi@0";
#sound-dai-cells = <1>;
};
+ buttons {
+ compatible = "gpio-keys";
+
+ summer {
+ gpios = <&gpio_a 3 0>;
+ label = "summer";
+ };
+
+ christmas {
+ gpios = <&gpio_a 4 0>;
+ label = "christmas";
+ };
+ };
+
cros_ec: cros-ec {
reg = <0 0>;
compatible = "google,cros-ec-sandbox";
ping-expect = <0>;
ping-add = <0>;
u-boot,dm-pre-reloc;
- test-gpios = <&gpio_a 1>, <&gpio_a 4>, <&gpio_b 5 0 3 2 1>,
+ 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 1 3 2 1>,
- <&gpio_b 7 2 3 2 1>, <&gpio_b 8 4 3 2 1>,
- <&gpio_b 9 0xc 3 2 1>;
+ 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)>;
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";
};
junk {
};
bind-test {
+ compatible = "simple-bus";
bind-test-child1 {
compatible = "sandbox,phy";
#phy-cells = <1>;
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-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";
+ };
+
+ 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";
};
};
- gpio_a: base-gpios {
- compatible = "sandbox,gpio";
- gpio-controller;
- #gpio-cells = <1>;
- gpio-bank-name = "a";
- sandbox,gpio-count = <20>;
- };
+ pinctrl-gpio {
+ compatible = "sandbox,pinctrl-gpio";
- gpio_b: extra-gpios {
- compatible = "sandbox,gpio";
- gpio-controller;
- #gpio-cells = <5>;
- gpio-bank-name = "b";
- sandbox,gpio-count = <10>;
+ 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 {
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 {
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: irq {
compatible = "sandbox,irq";
+ interrupt-controller;
+ #interrupt-cells = <2>;
};
lcd {
};
};
+ chipid: chipid {
+ compatible = "sandbox,soc";
+ };
+
i2s: i2s {
compatible = "sandbox,i2s";
#sound-dai-cells = <1>;
compatible = "sandbox,pch";
};
- pci0: pci-controller0 {
+ 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
};
};
- pci1: pci-controller1 {
+ 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
- 0x01000000 0 0x40000000 0x40000000 0 0x2000>;
+ 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>;
};
};
- pci2: pci-controller2 {
+ 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
reset-names = "other", "test";
};
+ rng {
+ compatible = "sandbox,sandbox-rng";
+ };
+
rproc_1: rproc@1 {
compatible = "sandbox,test-processor";
remoteproc-name = "remoteproc-test-dev1";
hub {
compatible = "usb-hub";
usb,device-class = <9>;
+ #address-cells = <1>;
+ #size-cells = <0>;
hub-emul {
compatible = "sandbox,usb-hub";
#address-cells = <1>;
};
};
+
+ usbstor@1 {
+ reg = <1>;
+ };
+ usbstor@3 {
+ reg = <3>;
+ };
};
};
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>;
pinctrl {
compatible = "sandbox,pinctrl";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpios>;
+
+ gpios: gpios {
+ gpio0 {
+ pins = "GPIO0";
+ bias-pull-up;
+ input-disable;
+ };
+ gpio1 {
+ pins = "GPIO1";
+ output-high;
+ drive-open-drain;
+ };
+ gpio2 {
+ pins = "GPIO2";
+ bias-pull-down;
+ input-enable;
+ };
+ gpio3 {
+ pins = "GPIO3";
+ bias-disable;
+ };
+ };
};
hwspinlock@0 {
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";
+ };
};
#include "sandbox_pmic.dtsi"