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