blob: ce3c88c221d233149f738c51c43f554db1360c38 [file] [log] [blame]
Simon Glass66c164b2014-02-26 15:59:14 -07001/dts-v1/;
2
Simon Glassce3ca2e2015-03-25 12:22:42 -06003#define USB_CLASS_HUB 9
4
Simon Glass66c164b2014-02-26 15:59:14 -07005/ {
Simon Glassfd91fc92014-10-13 23:41:48 -06006 #address-cells = <1>;
Simon Glassf905be82015-03-05 12:25:13 -07007 #size-cells = <1>;
Simon Glass00c34d5b2017-06-15 21:37:53 -06008 model = "sandbox";
Simon Glassfd91fc92014-10-13 23:41:48 -06009
Simon Glass70778bc2015-03-05 12:25:26 -070010 aliases {
Simon Glass72138b92015-04-20 12:37:28 -060011 i2c0 = &i2c_0;
Simon Glass70778bc2015-03-05 12:25:26 -070012 pci0 = &pci;
Simon Glass72138b92015-04-20 12:37:28 -060013 rtc0 = &rtc_0;
Mario Six95922152018-08-09 14:51:19 +020014 axi0 = &axi;
Simon Glass70778bc2015-03-05 12:25:26 -070015 };
16
Simon Glasscdbbfe32014-09-04 16:27:29 -060017 chosen {
18 stdout-path = "/serial";
19 };
20
Simon Glass699c9ca2018-10-01 12:22:08 -060021 cros_ec: cros-ec {
Simon Glass73f220c2015-03-26 09:29:39 -060022 reg = <0 0>;
Simon Glasse5501552018-11-06 15:21:27 -070023 u-boot,dm-pre-reloc;
Simon Glass73f220c2015-03-26 09:29:39 -060024 compatible = "google,cros-ec-sandbox";
Simon Glass1f6acb52014-02-27 13:25:59 -070025
Simon Glass73f220c2015-03-26 09:29:39 -060026 /*
27 * This describes the flash memory within the EC. Note
28 * that the STM32L flash erases to 0, not 0xff.
29 */
Simon Glass699c9ca2018-10-01 12:22:08 -060030 flash {
Simon Glasse5501552018-11-06 15:21:27 -070031 u-boot,dm-pre-reloc;
Simon Glass699c9ca2018-10-01 12:22:08 -060032 image-pos = <0x08000000>;
33 size = <0x20000>;
Simon Glass73f220c2015-03-26 09:29:39 -060034 erase-value = <0>;
Simon Glass1f6acb52014-02-27 13:25:59 -070035
Simon Glass73f220c2015-03-26 09:29:39 -060036 /* Information for sandbox */
37 ro {
Simon Glass699c9ca2018-10-01 12:22:08 -060038 image-pos = <0>;
39 size = <0xf000>;
Simon Glass73f220c2015-03-26 09:29:39 -060040 };
41 wp-ro {
Simon Glass699c9ca2018-10-01 12:22:08 -060042 image-pos = <0xf000>;
43 size = <0x1000>;
Simon Glass73f220c2015-03-26 09:29:39 -060044 };
45 rw {
Simon Glass699c9ca2018-10-01 12:22:08 -060046 image-pos = <0x10000>;
47 size = <0x10000>;
Simon Glass1f6acb52014-02-27 13:25:59 -070048 };
49 };
50 };
51
Joe Hershberger89590c82018-07-02 14:47:54 -050052 ethrawbus {
53 compatible = "sandbox,eth-raw-bus";
54 skip-localhost = <0>;
55 };
56
Simon Glass45ab0082015-05-22 15:42:16 -060057 eth@10002000 {
58 compatible = "sandbox,eth";
59 reg = <0x10002000 0x1000>;
60 fake-host-hwaddr = [00 00 66 44 22 00];
61 };
62
Simon Glass120834d2015-01-05 20:05:31 -070063 gpio_a: gpios@0 {
Simon Glasse5501552018-11-06 15:21:27 -070064 u-boot,dm-pre-reloc;
Simon Glass093f3a72014-08-11 09:24:03 -060065 gpio-controller;
66 compatible = "sandbox,gpio";
67 #gpio-cells = <1>;
68 gpio-bank-name = "a";
Simon Glass9e7ab232018-02-03 10:36:59 -070069 sandbox,gpio-count = <20>;
Simon Glass093f3a72014-08-11 09:24:03 -060070 };
71
Simon Glass120834d2015-01-05 20:05:31 -070072 gpio_b: gpios@1 {
Simon Glasse5501552018-11-06 15:21:27 -070073 u-boot,dm-pre-reloc;
Simon Glass120834d2015-01-05 20:05:31 -070074 gpio-controller;
75 compatible = "sandbox,gpio";
76 #gpio-cells = <2>;
77 gpio-bank-name = "b";
Simon Glass9e7ab232018-02-03 10:36:59 -070078 sandbox,gpio-count = <10>;
Simon Glass120834d2015-01-05 20:05:31 -070079 };
80
Simon Glass45ab0082015-05-22 15:42:16 -060081 hexagon {
82 compatible = "demo-simple";
83 colour = "white";
84 sides = <6>;
85 };
86
Simon Glass72138b92015-04-20 12:37:28 -060087 i2c_0: i2c@0 {
Simon Glass4f46a592014-12-10 08:55:53 -070088 #address-cells = <1>;
89 #size-cells = <0>;
Simon Glassf905be82015-03-05 12:25:13 -070090 reg = <0 0>;
Simon Glass4f46a592014-12-10 08:55:53 -070091 compatible = "sandbox,i2c";
92 clock-frequency = <400000>;
Masahiro Yamada0b53a752015-08-27 12:44:30 +090093 pinctrl-names = "default";
94 pinctrl-0 = <&pinctrl_i2c0>;
Simon Glass4f46a592014-12-10 08:55:53 -070095 eeprom@2c {
96 reg = <0x2c>;
97 compatible = "i2c-eeprom";
Simon Glass4f46a592014-12-10 08:55:53 -070098 };
Simon Glass72138b92015-04-20 12:37:28 -060099
100 rtc_0: rtc@43 {
101 reg = <0x43>;
102 compatible = "sandbox-rtc";
Simon Glass72138b92015-04-20 12:37:28 -0600103 };
Przemyslaw Marczak77bee052015-05-13 13:38:35 +0200104 sandbox_pmic: sandbox_pmic {
105 reg = <0x40>;
106 };
Lukasz Majewskia4d82972018-05-15 16:26:40 +0200107
108 mc34708: pmic@41 {
109 reg = <0x41>;
110 };
Simon Glass17b56f62018-11-18 08:14:34 -0700111
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 };
Simon Glass4f46a592014-12-10 08:55:53 -0700128 };
129
Simon Glass45ab0082015-05-22 15:42:16 -0600130 lcd {
Simon Glass38a2ae22016-01-18 19:52:25 -0700131 u-boot,dm-pre-reloc;
Simon Glass45ab0082015-05-22 15:42:16 -0600132 compatible = "sandbox,lcd-sdl";
133 xres = <1366>;
134 yres = <768>;
Simon Glassfd91fc92014-10-13 23:41:48 -0600135 };
136
Simon Glassfefc7ba2017-04-10 11:34:51 -0600137 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
Simon Glass70778bc2015-03-05 12:25:26 -0700151 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
Masahiro Yamada0b53a752015-08-27 12:44:30 +0900167 pinctrl {
168 compatible = "sandbox,pinctrl";
Eugen Hristevfc50a802018-09-18 10:35:35 +0300169 status = "okay";
Masahiro Yamada0b53a752015-08-27 12:44:30 +0900170
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 };
Eugen Hristevfc50a802018-09-18 10:35:35 +0300181
182 pinctrl_onewire0: onewire0 {
183 groups = "w1";
184 function = "w1";
185 bias-pull-up;
186 };
Masahiro Yamada0b53a752015-08-27 12:44:30 +0900187 };
188
Simon Glass68a3d492015-10-03 11:21:16 -0600189 reset@1 {
190 compatible = "sandbox,reset";
191 };
192
Simon Glass45ab0082015-05-22 15:42:16 -0600193 spi@0 {
Simon Glasse5501552018-11-06 15:21:27 -0700194 u-boot,dm-pre-reloc;
Simon Glass45ab0082015-05-22 15:42:16 -0600195 #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 {
Simon Glasse5501552018-11-06 15:21:27 -0700201 u-boot,dm-pre-reloc;
Simon Glass45ab0082015-05-22 15:42:16 -0600202 reg = <0>;
203 compatible = "spansion,m25p16", "sandbox,spi-flash";
204 spi-max-frequency = <40000000>;
205 sandbox,filename = "spi.bin";
206 };
Joe Hershberger6ab76992015-03-22 17:09:13 -0500207 };
Joe Hershberger586cbd12015-03-22 17:09:21 -0500208
Simon Glass4e9c1312016-07-04 11:57:55 -0600209 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
Simon Glassb17ab152017-01-15 21:09:08 -0700240 spl-test4 {
241 u-boot,dm-pre-reloc;
242 compatible = "sandbox,spl-test.2";
243 };
244
Simon Glass45ab0082015-05-22 15:42:16 -0600245 square {
246 compatible = "demo-shape";
247 colour = "blue";
248 sides = <4>;
Joe Hershberger586cbd12015-03-22 17:09:21 -0500249 };
Joe Hershbergera8921922015-03-22 17:09:23 -0500250
Thomas Chou7b059dc2015-10-30 15:35:52 +0800251 timer {
252 compatible = "sandbox,timer";
Bin Mengd041c422015-11-13 00:11:17 -0800253 clock-frequency = <1000000>;
Thomas Chou7b059dc2015-10-30 15:35:52 +0800254 };
255
Simon Glassa425f762015-08-22 18:31:35 -0600256 tpm {
Simon Glasse5501552018-11-06 15:21:27 -0700257 u-boot,dm-pre-reloc;
Simon Glassa425f762015-08-22 18:31:35 -0600258 compatible = "google,sandbox-tpm";
259 };
260
Miquel Raynal80938c12018-05-15 11:57:27 +0200261 tpm2 {
262 compatible = "sandbox,tpm2";
263 };
264
Simon Glass45ab0082015-05-22 15:42:16 -0600265 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 {
Simon Glasse5501552018-11-06 15:21:27 -0700275 u-boot,dm-spl;
Simon Glass45ab0082015-05-22 15:42:16 -0600276 compatible = "sandbox,serial";
277 sandbox,text-colour = "cyan";
Masahiro Yamada0b53a752015-08-27 12:44:30 +0900278 pinctrl-names = "default";
279 pinctrl-0 = <&pinctrl_serial0>;
Joe Hershbergera8921922015-03-22 17:09:23 -0500280 };
Simon Glassce3ca2e2015-03-25 12:22:42 -0600281
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
Mateusz Kulikowskic7e4fbb2016-03-31 23:12:28 +0200319 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 };
Mario Six95922152018-08-09 14:51:19 +0200339
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 };
Eugen Hristevfc50a802018-09-18 10:35:35 +0300349
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 };
Jens Wiklander86afaa62018-09-25 16:40:16 +0200362
363 sandbox_tee {
364 compatible = "sandbox,tee";
365 };
Simon Glass66c164b2014-02-26 15:59:14 -0700366};
Simon Glass73f220c2015-03-26 09:29:39 -0600367
368#include "cros-ec-keyboard.dtsi"
Przemyslaw Marczak77bee052015-05-13 13:38:35 +0200369#include "sandbox_pmic.dtsi"
Simon Glasse5501552018-11-06 15:21:27 -0700370
371&cros_ec {
372 u-boot,dm-pre-reloc;
373 keyboard-controller {
374 u-boot,dm-pre-reloc;
375 };
376};