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