1/dts-v1/; 2 3#define USB_CLASS_HUB 9 4 5/ { 6 #address-cells = <1>; 7 #size-cells = <1>; 8 model = "sandbox"; 9 10 aliases { 11 i2c0 = &i2c_0; 12 pci0 = &pci; 13 rtc0 = &rtc_0; 14 axi0 = &axi; 15 }; 16 17 chosen { 18 stdout-path = "/serial"; 19 }; 20 21 cros_ec: cros-ec { 22 reg = <0 0>; 23 u-boot,dm-pre-reloc; 24 compatible = "google,cros-ec-sandbox"; 25 26 /* 27 * This describes the flash memory within the EC. Note 28 * that the STM32L flash erases to 0, not 0xff. 29 */ 30 flash { 31 u-boot,dm-pre-reloc; 32 image-pos = <0x08000000>; 33 size = <0x20000>; 34 erase-value = <0>; 35 36 /* Information for sandbox */ 37 ro { 38 image-pos = <0>; 39 size = <0xf000>; 40 }; 41 wp-ro { 42 image-pos = <0xf000>; 43 size = <0x1000>; 44 }; 45 rw { 46 image-pos = <0x10000>; 47 size = <0x10000>; 48 }; 49 }; 50 }; 51 52 ethrawbus { 53 compatible = "sandbox,eth-raw-bus"; 54 skip-localhost = <0>; 55 }; 56 57 eth@10002000 { 58 compatible = "sandbox,eth"; 59 reg = <0x10002000 0x1000>; 60 fake-host-hwaddr = [00 00 66 44 22 00]; 61 }; 62 63 gpio_a: gpios@0 { 64 u-boot,dm-pre-reloc; 65 gpio-controller; 66 compatible = "sandbox,gpio"; 67 #gpio-cells = <1>; 68 gpio-bank-name = "a"; 69 sandbox,gpio-count = <20>; 70 }; 71 72 gpio_b: gpios@1 { 73 u-boot,dm-pre-reloc; 74 gpio-controller; 75 compatible = "sandbox,gpio"; 76 #gpio-cells = <2>; 77 gpio-bank-name = "b"; 78 sandbox,gpio-count = <10>; 79 }; 80 81 hexagon { 82 compatible = "demo-simple"; 83 colour = "white"; 84 sides = <6>; 85 }; 86 87 i2c_0: i2c@0 { 88 #address-cells = <1>; 89 #size-cells = <0>; 90 reg = <0 0>; 91 compatible = "sandbox,i2c"; 92 clock-frequency = <400000>; 93 pinctrl-names = "default"; 94 pinctrl-0 = <&pinctrl_i2c0>; 95 eeprom@2c { 96 reg = <0x2c>; 97 compatible = "i2c-eeprom"; 98 }; 99 100 rtc_0: rtc@43 { 101 reg = <0x43>; 102 compatible = "sandbox-rtc"; 103 }; 104 sandbox_pmic: sandbox_pmic { 105 reg = <0x40>; 106 }; 107 108 mc34708: pmic@41 { 109 reg = <0x41>; 110 }; 111 112 i2c_emul: emul { 113 #address-cells = <1>; 114 #size-cells = <0>; 115 reg = <0xff>; 116 compatible = "sandbox,i2c-emul-parent"; 117 emul-eeprom { 118 reg = <0x2c>; 119 compatible = "sandbox,i2c-eeprom"; 120 sandbox,filename = "i2c.bin"; 121 sandbox,size = <256>; 122 }; 123 emul0 { 124 reg = <0x43>; 125 compatible = "sandbox,i2c-rtc"; 126 }; 127 }; 128 }; 129 130 lcd { 131 u-boot,dm-pre-reloc; 132 compatible = "sandbox,lcd-sdl"; 133 xres = <1366>; 134 yres = <768>; 135 }; 136 137 leds { 138 compatible = "gpio-leds"; 139 140 iracibble { 141 gpios = <&gpio_a 1 0>; 142 label = "sandbox:red"; 143 }; 144 145 martinet { 146 gpios = <&gpio_a 2 0>; 147 label = "sandbox:green"; 148 }; 149 }; 150 151 pci: pci-controller { 152 compatible = "sandbox,pci"; 153 device_type = "pci"; 154 #address-cells = <3>; 155 #size-cells = <2>; 156 ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000 157 0x01000000 0 0x20000000 0x20000000 0 0x2000>; 158 pci@1f,0 { 159 compatible = "pci-generic"; 160 reg = <0xf800 0 0 0 0>; 161 emul@1f,0 { 162 compatible = "sandbox,swap-case"; 163 }; 164 }; 165 }; 166 167 pinctrl { 168 compatible = "sandbox,pinctrl"; 169 status = "okay"; 170 171 pinctrl_i2c0: i2c0 { 172 groups = "i2c"; 173 function = "i2c"; 174 bias-pull-up; 175 }; 176 177 pinctrl_serial0: uart0 { 178 groups = "serial_a"; 179 function = "serial"; 180 }; 181 182 pinctrl_onewire0: onewire0 { 183 groups = "w1"; 184 function = "w1"; 185 bias-pull-up; 186 }; 187 }; 188 189 reset@1 { 190 compatible = "sandbox,reset"; 191 }; 192 193 spi@0 { 194 u-boot,dm-pre-reloc; 195 #address-cells = <1>; 196 #size-cells = <0>; 197 reg = <0 0>; 198 compatible = "sandbox,spi"; 199 cs-gpios = <0>, <&gpio_a 0>; 200 firmware_storage_spi: flash@0 { 201 u-boot,dm-pre-reloc; 202 reg = <0>; 203 compatible = "spansion,m25p16", "sandbox,spi-flash"; 204 spi-max-frequency = <40000000>; 205 sandbox,filename = "spi.bin"; 206 }; 207 }; 208 209 spl-test { 210 u-boot,dm-pre-reloc; 211 compatible = "sandbox,spl-test"; 212 boolval; 213 intval = <1>; 214 intarray = <2 3 4>; 215 byteval = [05]; 216 bytearray = [06]; 217 longbytearray = [09 0a 0b 0c 0d 0e 0f 10 11]; 218 stringval = "message"; 219 stringarray = "multi-word", "message"; 220 }; 221 222 spl-test2 { 223 u-boot,dm-pre-reloc; 224 compatible = "sandbox,spl-test"; 225 intval = <3>; 226 intarray = <5>; 227 byteval = [08]; 228 bytearray = [01 23 34]; 229 longbytearray = [09 0a 0b 0c]; 230 stringval = "message2"; 231 stringarray = "another", "multi-word", "message"; 232 }; 233 234 spl-test3 { 235 u-boot,dm-pre-reloc; 236 compatible = "sandbox,spl-test"; 237 stringarray = "one"; 238 }; 239 240 spl-test4 { 241 u-boot,dm-pre-reloc; 242 compatible = "sandbox,spl-test.2"; 243 }; 244 245 square { 246 compatible = "demo-shape"; 247 colour = "blue"; 248 sides = <4>; 249 }; 250 251 timer { 252 compatible = "sandbox,timer"; 253 clock-frequency = <1000000>; 254 }; 255 256 tpm { 257 u-boot,dm-pre-reloc; 258 compatible = "google,sandbox-tpm"; 259 }; 260 261 tpm2 { 262 compatible = "sandbox,tpm2"; 263 }; 264 265 triangle { 266 compatible = "demo-shape"; 267 colour = "cyan"; 268 sides = <3>; 269 character = <83>; 270 light-gpios = <&gpio_a 2>, <&gpio_b 6 0>; 271 }; 272 273 /* Needs to be available prior to relocation */ 274 uart0: serial { 275 u-boot,dm-spl; 276 compatible = "sandbox,serial"; 277 sandbox,text-colour = "cyan"; 278 pinctrl-names = "default"; 279 pinctrl-0 = <&pinctrl_serial0>; 280 }; 281 282 usb@0 { 283 compatible = "sandbox,usb"; 284 status = "disabled"; 285 hub { 286 compatible = "sandbox,usb-hub"; 287 #address-cells = <1>; 288 #size-cells = <0>; 289 flash-stick { 290 reg = <0>; 291 compatible = "sandbox,usb-flash"; 292 }; 293 }; 294 }; 295 296 usb@1 { 297 compatible = "sandbox,usb"; 298 hub { 299 compatible = "usb-hub"; 300 usb,device-class = <USB_CLASS_HUB>; 301 hub-emul { 302 compatible = "sandbox,usb-hub"; 303 #address-cells = <1>; 304 #size-cells = <0>; 305 flash-stick { 306 reg = <0>; 307 compatible = "sandbox,usb-flash"; 308 sandbox,filepath = "flash.bin"; 309 }; 310 }; 311 }; 312 }; 313 314 usb@2 { 315 compatible = "sandbox,usb"; 316 status = "disabled"; 317 }; 318 319 spmi: spmi@0 { 320 compatible = "sandbox,spmi"; 321 #address-cells = <0x1>; 322 #size-cells = <0x1>; 323 pm8916@0 { 324 compatible = "qcom,spmi-pmic"; 325 reg = <0x0 0x1>; 326 #address-cells = <0x1>; 327 #size-cells = <0x1>; 328 329 spmi_gpios: gpios@c000 { 330 compatible = "qcom,pm8916-gpio"; 331 reg = <0xc000 0x400>; 332 gpio-controller; 333 gpio-count = <4>; 334 #gpio-cells = <2>; 335 gpio-bank-name="spmi"; 336 }; 337 }; 338 }; 339 340 axi: axi@0 { 341 compatible = "sandbox,axi"; 342 #address-cells = <0x1>; 343 #size-cells = <0x1>; 344 store@0 { 345 compatible = "sandbox,sandbox_store"; 346 reg = <0x0 0x400>; 347 }; 348 }; 349 350 onewire0: onewire { 351 compatible = "w1-gpio"; 352 gpios = <&gpio_a 8>; 353 pinctrl-names = "default"; 354 pinctrl-0 = <&pinctrl_onewire0>; 355 status = "okay"; 356 357 sandbox_eeprom0: sandbox_eeprom@0 { 358 compatible = "sandbox,w1-eeprom"; 359 status = "okay"; 360 }; 361 }; 362 363 sandbox_tee { 364 compatible = "sandbox,tee"; 365 }; 366}; 367 368#include "cros-ec-keyboard.dtsi" 369#include "sandbox_pmic.dtsi" 370 371&cros_ec { 372 u-boot,dm-pre-reloc; 373 keyboard-controller { 374 u-boot,dm-pre-reloc; 375 }; 376}; 377