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