blob: 86680a6b11dfae70ef70b51b167c0eaab9b9c3ea [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 {
Joe Hershbergera8921922015-03-22 17:09:23 -050011 eth5 = "/eth@90000000";
Simon Glass72138b92015-04-20 12:37:28 -060012 i2c0 = &i2c_0;
Simon Glass70778bc2015-03-05 12:25:26 -070013 pci0 = &pci;
Simon Glass72138b92015-04-20 12:37:28 -060014 rtc0 = &rtc_0;
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 Glass73f220c2015-03-26 09:29:39 -060021 cros_ec: cros-ec@0 {
22 reg = <0 0>;
23 compatible = "google,cros-ec-sandbox";
Simon Glass1f6acb52014-02-27 13:25:59 -070024
Simon Glass73f220c2015-03-26 09:29:39 -060025 /*
26 * This describes the flash memory within the EC. Note
27 * that the STM32L flash erases to 0, not 0xff.
28 */
29 #address-cells = <1>;
30 #size-cells = <1>;
31 flash@8000000 {
32 reg = <0x08000000 0x20000>;
33 erase-value = <0>;
Simon Glass1f6acb52014-02-27 13:25:59 -070034 #address-cells = <1>;
35 #size-cells = <1>;
Simon Glass1f6acb52014-02-27 13:25:59 -070036
Simon Glass73f220c2015-03-26 09:29:39 -060037 /* Information for sandbox */
38 ro {
39 reg = <0 0xf000>;
40 };
41 wp-ro {
42 reg = <0xf000 0x1000>;
43 };
44 rw {
45 reg = <0x10000 0x10000>;
Simon Glass1f6acb52014-02-27 13:25:59 -070046 };
47 };
48 };
49
Simon Glass45ab0082015-05-22 15:42:16 -060050 eth@10002000 {
51 compatible = "sandbox,eth";
52 reg = <0x10002000 0x1000>;
53 fake-host-hwaddr = [00 00 66 44 22 00];
54 };
55
56 eth@80000000 {
57 compatible = "sandbox,eth-raw";
58 reg = <0x80000000 0x1000>;
59 host-raw-interface = "eth0";
60 };
61
62 eth@90000000 {
63 compatible = "sandbox,eth-raw";
64 reg = <0x90000000 0x1000>;
65 host-raw-interface = "lo";
Simon Glass1f6acb52014-02-27 13:25:59 -070066 };
67
Simon Glass120834d2015-01-05 20:05:31 -070068 gpio_a: gpios@0 {
Simon Glass093f3a72014-08-11 09:24:03 -060069 gpio-controller;
70 compatible = "sandbox,gpio";
71 #gpio-cells = <1>;
72 gpio-bank-name = "a";
Simon Glass9e7ab232018-02-03 10:36:59 -070073 sandbox,gpio-count = <20>;
Simon Glass093f3a72014-08-11 09:24:03 -060074 };
75
Simon Glass120834d2015-01-05 20:05:31 -070076 gpio_b: gpios@1 {
77 gpio-controller;
78 compatible = "sandbox,gpio";
79 #gpio-cells = <2>;
80 gpio-bank-name = "b";
Simon Glass9e7ab232018-02-03 10:36:59 -070081 sandbox,gpio-count = <10>;
Simon Glass120834d2015-01-05 20:05:31 -070082 };
83
Simon Glass45ab0082015-05-22 15:42:16 -060084 hexagon {
85 compatible = "demo-simple";
86 colour = "white";
87 sides = <6>;
88 };
89
Simon Glass72138b92015-04-20 12:37:28 -060090 i2c_0: i2c@0 {
Simon Glass4f46a592014-12-10 08:55:53 -070091 #address-cells = <1>;
92 #size-cells = <0>;
Simon Glassf905be82015-03-05 12:25:13 -070093 reg = <0 0>;
Simon Glass4f46a592014-12-10 08:55:53 -070094 compatible = "sandbox,i2c";
95 clock-frequency = <400000>;
Masahiro Yamada0b53a752015-08-27 12:44:30 +090096 pinctrl-names = "default";
97 pinctrl-0 = <&pinctrl_i2c0>;
Simon Glass4f46a592014-12-10 08:55:53 -070098 eeprom@2c {
99 reg = <0x2c>;
100 compatible = "i2c-eeprom";
101 emul {
102 compatible = "sandbox,i2c-eeprom";
103 sandbox,filename = "i2c.bin";
104 sandbox,size = <128>;
105 };
106 };
Simon Glass72138b92015-04-20 12:37:28 -0600107
108 rtc_0: rtc@43 {
109 reg = <0x43>;
110 compatible = "sandbox-rtc";
111 emul {
112 compatible = "sandbox,i2c-rtc";
113 };
114 };
Przemyslaw Marczak77bee052015-05-13 13:38:35 +0200115 sandbox_pmic: sandbox_pmic {
116 reg = <0x40>;
117 };
Lukasz Majewskia4d82972018-05-15 16:26:40 +0200118
119 mc34708: pmic@41 {
120 reg = <0x41>;
121 };
Simon Glass4f46a592014-12-10 08:55:53 -0700122 };
123
Simon Glass45ab0082015-05-22 15:42:16 -0600124 lcd {
Simon Glass38a2ae22016-01-18 19:52:25 -0700125 u-boot,dm-pre-reloc;
Simon Glass45ab0082015-05-22 15:42:16 -0600126 compatible = "sandbox,lcd-sdl";
127 xres = <1366>;
128 yres = <768>;
Simon Glassfd91fc92014-10-13 23:41:48 -0600129 };
130
Simon Glassfefc7ba2017-04-10 11:34:51 -0600131 leds {
132 compatible = "gpio-leds";
133
134 iracibble {
135 gpios = <&gpio_a 1 0>;
136 label = "sandbox:red";
137 };
138
139 martinet {
140 gpios = <&gpio_a 2 0>;
141 label = "sandbox:green";
142 };
143 };
144
Simon Glass70778bc2015-03-05 12:25:26 -0700145 pci: pci-controller {
146 compatible = "sandbox,pci";
147 device_type = "pci";
148 #address-cells = <3>;
149 #size-cells = <2>;
150 ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000
151 0x01000000 0 0x20000000 0x20000000 0 0x2000>;
152 pci@1f,0 {
153 compatible = "pci-generic";
154 reg = <0xf800 0 0 0 0>;
155 emul@1f,0 {
156 compatible = "sandbox,swap-case";
157 };
158 };
159 };
160
Masahiro Yamada0b53a752015-08-27 12:44:30 +0900161 pinctrl {
162 compatible = "sandbox,pinctrl";
163
164 pinctrl_i2c0: i2c0 {
165 groups = "i2c";
166 function = "i2c";
167 bias-pull-up;
168 };
169
170 pinctrl_serial0: uart0 {
171 groups = "serial_a";
172 function = "serial";
173 };
174 };
175
Simon Glass68a3d492015-10-03 11:21:16 -0600176 reset@1 {
177 compatible = "sandbox,reset";
178 };
179
Simon Glass45ab0082015-05-22 15:42:16 -0600180 spi@0 {
181 #address-cells = <1>;
182 #size-cells = <0>;
183 reg = <0 0>;
184 compatible = "sandbox,spi";
185 cs-gpios = <0>, <&gpio_a 0>;
186 firmware_storage_spi: flash@0 {
187 reg = <0>;
188 compatible = "spansion,m25p16", "sandbox,spi-flash";
189 spi-max-frequency = <40000000>;
190 sandbox,filename = "spi.bin";
191 };
Joe Hershberger6ab76992015-03-22 17:09:13 -0500192 };
Joe Hershberger586cbd12015-03-22 17:09:21 -0500193
Simon Glass4e9c1312016-07-04 11:57:55 -0600194 spl-test {
195 u-boot,dm-pre-reloc;
196 compatible = "sandbox,spl-test";
197 boolval;
198 intval = <1>;
199 intarray = <2 3 4>;
200 byteval = [05];
201 bytearray = [06];
202 longbytearray = [09 0a 0b 0c 0d 0e 0f 10 11];
203 stringval = "message";
204 stringarray = "multi-word", "message";
205 };
206
207 spl-test2 {
208 u-boot,dm-pre-reloc;
209 compatible = "sandbox,spl-test";
210 intval = <3>;
211 intarray = <5>;
212 byteval = [08];
213 bytearray = [01 23 34];
214 longbytearray = [09 0a 0b 0c];
215 stringval = "message2";
216 stringarray = "another", "multi-word", "message";
217 };
218
219 spl-test3 {
220 u-boot,dm-pre-reloc;
221 compatible = "sandbox,spl-test";
222 stringarray = "one";
223 };
224
Simon Glassb17ab152017-01-15 21:09:08 -0700225 spl-test4 {
226 u-boot,dm-pre-reloc;
227 compatible = "sandbox,spl-test.2";
228 };
229
Simon Glass45ab0082015-05-22 15:42:16 -0600230 square {
231 compatible = "demo-shape";
232 colour = "blue";
233 sides = <4>;
Joe Hershberger586cbd12015-03-22 17:09:21 -0500234 };
Joe Hershbergera8921922015-03-22 17:09:23 -0500235
Thomas Chou7b059dc2015-10-30 15:35:52 +0800236 timer {
237 compatible = "sandbox,timer";
Bin Mengd041c422015-11-13 00:11:17 -0800238 clock-frequency = <1000000>;
Thomas Chou7b059dc2015-10-30 15:35:52 +0800239 };
240
Simon Glassa425f762015-08-22 18:31:35 -0600241 tpm {
242 compatible = "google,sandbox-tpm";
243 };
244
Simon Glass45ab0082015-05-22 15:42:16 -0600245 triangle {
246 compatible = "demo-shape";
247 colour = "cyan";
248 sides = <3>;
249 character = <83>;
250 light-gpios = <&gpio_a 2>, <&gpio_b 6 0>;
251 };
252
253 /* Needs to be available prior to relocation */
254 uart0: serial {
255 compatible = "sandbox,serial";
256 sandbox,text-colour = "cyan";
Masahiro Yamada0b53a752015-08-27 12:44:30 +0900257 pinctrl-names = "default";
258 pinctrl-0 = <&pinctrl_serial0>;
Joe Hershbergera8921922015-03-22 17:09:23 -0500259 };
Simon Glassce3ca2e2015-03-25 12:22:42 -0600260
261 usb@0 {
262 compatible = "sandbox,usb";
263 status = "disabled";
264 hub {
265 compatible = "sandbox,usb-hub";
266 #address-cells = <1>;
267 #size-cells = <0>;
268 flash-stick {
269 reg = <0>;
270 compatible = "sandbox,usb-flash";
271 };
272 };
273 };
274
275 usb@1 {
276 compatible = "sandbox,usb";
277 hub {
278 compatible = "usb-hub";
279 usb,device-class = <USB_CLASS_HUB>;
280 hub-emul {
281 compatible = "sandbox,usb-hub";
282 #address-cells = <1>;
283 #size-cells = <0>;
284 flash-stick {
285 reg = <0>;
286 compatible = "sandbox,usb-flash";
287 sandbox,filepath = "flash.bin";
288 };
289 };
290 };
291 };
292
293 usb@2 {
294 compatible = "sandbox,usb";
295 status = "disabled";
296 };
297
Mateusz Kulikowskic7e4fbb2016-03-31 23:12:28 +0200298 spmi: spmi@0 {
299 compatible = "sandbox,spmi";
300 #address-cells = <0x1>;
301 #size-cells = <0x1>;
302 pm8916@0 {
303 compatible = "qcom,spmi-pmic";
304 reg = <0x0 0x1>;
305 #address-cells = <0x1>;
306 #size-cells = <0x1>;
307
308 spmi_gpios: gpios@c000 {
309 compatible = "qcom,pm8916-gpio";
310 reg = <0xc000 0x400>;
311 gpio-controller;
312 gpio-count = <4>;
313 #gpio-cells = <2>;
314 gpio-bank-name="spmi";
315 };
316 };
317 };
Simon Glass66c164b2014-02-26 15:59:14 -0700318};
Simon Glass73f220c2015-03-26 09:29:39 -0600319
320#include "cros-ec-keyboard.dtsi"
Przemyslaw Marczak77bee052015-05-13 13:38:35 +0200321#include "sandbox_pmic.dtsi"