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