1ade8127aSBin Meng/dts-v1/;
2ade8127aSBin Meng
30a10f440SSimon Glass#include <dt-bindings/gpio/x86-gpio.h>
4*6744c0d6SSimon Glass#include <dt-bindings/sound/azalia.h>
5*6744c0d6SSimon Glass#include <pci_ids.h>
60a10f440SSimon Glass
7ade8127aSBin Meng/include/ "skeleton.dtsi"
86b44ae6bSSimon Glass/include/ "keyboard.dtsi"
9ade8127aSBin Meng/include/ "serial.dtsi"
10b37b7b20SBin Meng/include/ "reset.dtsi"
1193f8a311SBin Meng/include/ "rtc.dtsi"
1280af3984SBin Meng/include/ "tsc_timer.dtsi"
13ade8127aSBin Meng
14ade8127aSBin Meng/ {
15ade8127aSBin Meng	model = "Google Link";
16ade8127aSBin Meng	compatible = "google,link", "intel,celeron-ivybridge";
17ade8127aSBin Meng
18a9aff2f4SSimon Glass	aliases {
1981aaa3d9SBin Meng		spi0 = &spi;
20278d3a44SSimon Glass		usb0 = &usb_0;
21278d3a44SSimon Glass		usb1 = &usb_1;
22a9aff2f4SSimon Glass	};
23a9aff2f4SSimon Glass
24ade8127aSBin Meng	config {
25ade8127aSBin Meng	       silent_console = <0>;
26ade8127aSBin Meng	};
27ade8127aSBin Meng
28bba22a97SSimon Glass	cpus {
29bba22a97SSimon Glass		#address-cells = <1>;
30bba22a97SSimon Glass		#size-cells = <0>;
31bba22a97SSimon Glass
32bba22a97SSimon Glass		cpu@0 {
33bba22a97SSimon Glass			device_type = "cpu";
34bba22a97SSimon Glass			compatible = "intel,core-gen3";
35bba22a97SSimon Glass			reg = <0>;
36bba22a97SSimon Glass			intel,apic-id = <0>;
37bba22a97SSimon Glass		};
38bba22a97SSimon Glass
39bba22a97SSimon Glass		cpu@1 {
40bba22a97SSimon Glass			device_type = "cpu";
41bba22a97SSimon Glass			compatible = "intel,core-gen3";
42bba22a97SSimon Glass			reg = <1>;
43bba22a97SSimon Glass			intel,apic-id = <1>;
44bba22a97SSimon Glass		};
45bba22a97SSimon Glass
46bba22a97SSimon Glass		cpu@2 {
47bba22a97SSimon Glass			device_type = "cpu";
48bba22a97SSimon Glass			compatible = "intel,core-gen3";
49bba22a97SSimon Glass			reg = <2>;
50bba22a97SSimon Glass			intel,apic-id = <2>;
51bba22a97SSimon Glass		};
52bba22a97SSimon Glass
53bba22a97SSimon Glass		cpu@3 {
54bba22a97SSimon Glass			device_type = "cpu";
55bba22a97SSimon Glass			compatible = "intel,core-gen3";
56bba22a97SSimon Glass			reg = <3>;
57bba22a97SSimon Glass			intel,apic-id = <3>;
58bba22a97SSimon Glass		};
59bba22a97SSimon Glass
60bba22a97SSimon Glass	};
61bba22a97SSimon Glass
62ade8127aSBin Meng	chosen {
63ade8127aSBin Meng		stdout-path = "/serial";
64ade8127aSBin Meng	};
65ade8127aSBin Meng
666b44ae6bSSimon Glass	keyboard {
676b44ae6bSSimon Glass		intel,duplicate-por;
686b44ae6bSSimon Glass	};
696b44ae6bSSimon Glass
700a10f440SSimon Glass	pch_pinctrl {
710a10f440SSimon Glass		compatible = "intel,x86-pinctrl";
720a10f440SSimon Glass		u-boot,dm-pre-reloc;
730a10f440SSimon Glass		reg = <0 0>;
740a10f440SSimon Glass
750a10f440SSimon Glass		gpio_a0 {
760a10f440SSimon Glass			gpio-offset = <0 0>;
770a10f440SSimon Glass			mode-gpio;
780a10f440SSimon Glass			direction = <PIN_INPUT>;
790a10f440SSimon Glass		};
800a10f440SSimon Glass
810a10f440SSimon Glass		gpio_a1 {
820a10f440SSimon Glass			gpio-offset = <0>;
830a10f440SSimon Glass			mode-gpio;
840a10f440SSimon Glass			direction = <PIN_OUTPUT>;
850a10f440SSimon Glass			output-value = <1>;
860a10f440SSimon Glass		};
870a10f440SSimon Glass
880a10f440SSimon Glass		gpio_a3 {
890a10f440SSimon Glass			gpio-offset = <0 3>;
900a10f440SSimon Glass			mode-gpio;
910a10f440SSimon Glass			direction = <PIN_INPUT>;
920a10f440SSimon Glass		};
930a10f440SSimon Glass
940a10f440SSimon Glass		gpio_a5 {
950a10f440SSimon Glass			gpio-offset = <0 5>;
960a10f440SSimon Glass			mode-gpio;
970a10f440SSimon Glass			direction = <PIN_INPUT>;
980a10f440SSimon Glass		};
990a10f440SSimon Glass
1000a10f440SSimon Glass		gpio_a6 {
1010a10f440SSimon Glass			gpio-offset = <0 6>;
1020a10f440SSimon Glass			mode-gpio;
1030a10f440SSimon Glass			direction = <PIN_OUTPUT>;
1040a10f440SSimon Glass			output-value = <1>;
1050a10f440SSimon Glass		};
1060a10f440SSimon Glass
1070a10f440SSimon Glass		gpio_a7 {
1080a10f440SSimon Glass			gpio-offset = <0 7>;
1090a10f440SSimon Glass			mode-gpio;
1100a10f440SSimon Glass			direction = <PIN_INPUT>;
1110a10f440SSimon Glass			invert;
1120a10f440SSimon Glass		};
1130a10f440SSimon Glass
1140a10f440SSimon Glass		gpio_a8 {
1150a10f440SSimon Glass			gpio-offset = <0 8>;
1160a10f440SSimon Glass			mode-gpio;
1170a10f440SSimon Glass			direction = <PIN_INPUT>;
1180a10f440SSimon Glass			invert;
1190a10f440SSimon Glass		};
1200a10f440SSimon Glass
1210a10f440SSimon Glass		gpio_a9 {
1220a10f440SSimon Glass			gpio-offset = <0 9>;
1230a10f440SSimon Glass			mode-gpio;
1240a10f440SSimon Glass			direction = <PIN_INPUT>;
1250a10f440SSimon Glass		};
1260a10f440SSimon Glass
1270a10f440SSimon Glass		gpio_a10 {
1280a10f440SSimon Glass			u-boot,dm-pre-reloc;
1290a10f440SSimon Glass			gpio-offset = <0 10>;
1300a10f440SSimon Glass			mode-gpio;
1310a10f440SSimon Glass			direction = <PIN_INPUT>;
1320a10f440SSimon Glass		};
1330a10f440SSimon Glass
1340a10f440SSimon Glass		gpio_a11 {
1350a10f440SSimon Glass			gpio-offset = <0 11>;
1360a10f440SSimon Glass			mode-gpio;
1370a10f440SSimon Glass			direction = <PIN_INPUT>;
1380a10f440SSimon Glass		};
1390a10f440SSimon Glass
1400a10f440SSimon Glass		gpio_a12 {
1410a10f440SSimon Glass			gpio-offset = <0 12>;
1420a10f440SSimon Glass			mode-gpio;
1430a10f440SSimon Glass			direction = <PIN_INPUT>;
1440a10f440SSimon Glass			invert;
1450a10f440SSimon Glass		};
1460a10f440SSimon Glass
1470a10f440SSimon Glass		gpio_a14 {
1480a10f440SSimon Glass			gpio-offset = <0 14>;
1490a10f440SSimon Glass			mode-gpio;
1500a10f440SSimon Glass			direction = <PIN_INPUT>;
1510a10f440SSimon Glass			invert;
1520a10f440SSimon Glass		};
1530a10f440SSimon Glass
1540a10f440SSimon Glass		gpio_a15 {
1550a10f440SSimon Glass			gpio-offset = <0 15>;
1560a10f440SSimon Glass			mode-gpio;
1570a10f440SSimon Glass			direction = <PIN_INPUT>;
1580a10f440SSimon Glass			invert;
1590a10f440SSimon Glass		};
1600a10f440SSimon Glass
1610a10f440SSimon Glass		gpio_a21 {
1620a10f440SSimon Glass			gpio-offset = <0 21>;
1630a10f440SSimon Glass			mode-gpio;
1640a10f440SSimon Glass			direction = <PIN_INPUT>;
1650a10f440SSimon Glass		};
1660a10f440SSimon Glass
1670a10f440SSimon Glass		gpio_a24 {
1680a10f440SSimon Glass			gpio-offset = <0 24>;
1690a10f440SSimon Glass			mode-gpio;
1700a10f440SSimon Glass			output-value = <0>;
1710a10f440SSimon Glass			direction = <PIN_OUTPUT>;
1720a10f440SSimon Glass		};
1730a10f440SSimon Glass
1740a10f440SSimon Glass		gpio_a28 {
1750a10f440SSimon Glass			gpio-offset = <0 28>;
1760a10f440SSimon Glass			mode-gpio;
1770a10f440SSimon Glass			direction = <PIN_INPUT>;
1780a10f440SSimon Glass		};
1790a10f440SSimon Glass
1800a10f440SSimon Glass		gpio_b4 {
1810a10f440SSimon Glass			gpio-offset = <0x30 4>;
1820a10f440SSimon Glass			mode-gpio;
1830a10f440SSimon Glass			direction = <PIN_OUTPUT>;
1840a10f440SSimon Glass			output-value = <1>;
1850a10f440SSimon Glass		};
1860a10f440SSimon Glass
1870a10f440SSimon Glass		gpio_b9 {
1880a10f440SSimon Glass			u-boot,dm-pre-reloc;
1890a10f440SSimon Glass			gpio-offset = <0x30 9>;
1900a10f440SSimon Glass			mode-gpio;
1910a10f440SSimon Glass			direction = <PIN_INPUT>;
1920a10f440SSimon Glass		};
1930a10f440SSimon Glass
1940a10f440SSimon Glass		gpio_b10 {
1950a10f440SSimon Glass			u-boot,dm-pre-reloc;
1960a10f440SSimon Glass			gpio-offset = <0x30 10>;
1970a10f440SSimon Glass			mode-gpio;
1980a10f440SSimon Glass			direction = <PIN_INPUT>;
1990a10f440SSimon Glass		};
2000a10f440SSimon Glass
2010a10f440SSimon Glass		gpio_b11 {
2020a10f440SSimon Glass			u-boot,dm-pre-reloc;
2030a10f440SSimon Glass			gpio-offset = <0x30 11>;
2040a10f440SSimon Glass			mode-gpio;
2050a10f440SSimon Glass			direction = <PIN_INPUT>;
2060a10f440SSimon Glass		};
2070a10f440SSimon Glass
2080a10f440SSimon Glass		gpio_b25 {
2090a10f440SSimon Glass			gpio-offset = <0x30 25>;
2100a10f440SSimon Glass			mode-gpio;
2110a10f440SSimon Glass			direction = <PIN_INPUT>;
2120a10f440SSimon Glass		};
2130a10f440SSimon Glass
2140a10f440SSimon Glass		gpio_b28 {
2150a10f440SSimon Glass			gpio-offset = <0x30 28>;
2160a10f440SSimon Glass			mode-gpio;
2170a10f440SSimon Glass			direction = <PIN_OUTPUT>;
2180a10f440SSimon Glass			output-value = <1>;
2190a10f440SSimon Glass		};
2200a10f440SSimon Glass
2210a10f440SSimon Glass	};
2220a10f440SSimon Glass
223a86d4549SSimon Glass	pci {
224a86d4549SSimon Glass		compatible = "pci-x86";
225a86d4549SSimon Glass		#address-cells = <3>;
226a86d4549SSimon Glass		#size-cells = <2>;
227a86d4549SSimon Glass		u-boot,dm-pre-reloc;
228a86d4549SSimon Glass		ranges = <0x02000000 0x0 0xe0000000 0xe0000000 0 0x10000000
229a86d4549SSimon Glass			0x42000000 0x0 0xd0000000 0xd0000000 0 0x10000000
230a86d4549SSimon Glass			0x01000000 0x0 0x1000 0x1000 0 0xefff>;
231a86d4549SSimon Glass
232a86d4549SSimon Glass		northbridge@0,0 {
233a86d4549SSimon Glass			reg = <0x00000000 0 0 0 0>;
2346935dc1bSSimon Glass			u-boot,dm-pre-reloc;
235a86d4549SSimon Glass			compatible = "intel,bd82x6x-northbridge";
236963a811aSSimon Glass			board-id-gpios = <&gpio_b 9 0>, <&gpio_b 10 0>,
237963a811aSSimon Glass					<&gpio_b 11 0>, <&gpio_a 10 0>;
238ade8127aSBin Meng			spd {
2396935dc1bSSimon Glass				u-boot,dm-pre-reloc;
240ade8127aSBin Meng				#address-cells = <1>;
241ade8127aSBin Meng				#size-cells = <0>;
242ade8127aSBin Meng				elpida_4Gb_1600_x16 {
2436935dc1bSSimon Glass					u-boot,dm-pre-reloc;
244ade8127aSBin Meng					reg = <0>;
245ade8127aSBin Meng					data = [92 10 0b 03 04 19 02 02
246ade8127aSBin Meng						03 52 01 08 0a 00 fe 00
247ade8127aSBin Meng						69 78 69 3c 69 11 18 81
248ade8127aSBin Meng						20 08 3c 3c 01 40 83 81
249ade8127aSBin Meng						00 00 00 00 00 00 00 00
250ade8127aSBin Meng						00 00 00 00 00 00 00 00
251ade8127aSBin Meng						00 00 00 00 00 00 00 00
252ade8127aSBin Meng						00 00 00 00 0f 11 42 00
253ade8127aSBin Meng						00 00 00 00 00 00 00 00
254ade8127aSBin Meng						00 00 00 00 00 00 00 00
255ade8127aSBin Meng						00 00 00 00 00 00 00 00
256ade8127aSBin Meng						00 00 00 00 00 00 00 00
257ade8127aSBin Meng						00 00 00 00 00 00 00 00
258ade8127aSBin Meng						00 00 00 00 00 00 00 00
259ade8127aSBin Meng						00 00 00 00 00 02 fe 00
260ade8127aSBin Meng						11 52 00 00 00 07 7f 37
261ade8127aSBin Meng						45 42 4a 32 30 55 47 36
262ade8127aSBin Meng						45 42 55 30 2d 47 4e 2d
263ade8127aSBin Meng						46 20 30 20 02 fe 00 00
264ade8127aSBin Meng						00 00 00 00 00 00 00 00
265ade8127aSBin Meng						00 00 00 00 00 00 00 00
266ade8127aSBin Meng						00 00 00 00 00 00 00 00
267ade8127aSBin Meng						00 00 00 00 00 00 00 00
268ade8127aSBin Meng						00 00 00 00 00 00 00 00
269ade8127aSBin Meng						00 00 00 00 00 00 00 00
270ade8127aSBin Meng						00 00 00 00 00 00 00 00
271ade8127aSBin Meng						00 00 00 00 00 00 00 00
272ade8127aSBin Meng						00 00 00 00 00 00 00 00
273ade8127aSBin Meng						00 00 00 00 00 00 00 00
274ade8127aSBin Meng						00 00 00 00 00 00 00 00
275ade8127aSBin Meng						00 00 00 00 00 00 00 00
276ade8127aSBin Meng						00 00 00 00 00 00 00 00];
277ade8127aSBin Meng				};
278ade8127aSBin Meng				samsung_4Gb_1600_1.35v_x16 {
2796935dc1bSSimon Glass					u-boot,dm-pre-reloc;
280ade8127aSBin Meng					reg = <1>;
281ade8127aSBin Meng					data = [92 11 0b 03 04 19 02 02
282ade8127aSBin Meng						03 11 01 08 0a 00 fe 00
283ade8127aSBin Meng						69 78 69 3c 69 11 18 81
284ade8127aSBin Meng						f0 0a 3c 3c 01 40 83 01
285ade8127aSBin Meng						00 80 00 00 00 00 00 00
286ade8127aSBin Meng						00 00 00 00 00 00 00 00
287ade8127aSBin Meng						00 00 00 00 00 00 00 00
288ade8127aSBin Meng						00 00 00 00 0f 11 02 00
289ade8127aSBin Meng						00 00 00 00 00 00 00 00
290ade8127aSBin Meng						00 00 00 00 00 00 00 00
291ade8127aSBin Meng						00 00 00 00 00 00 00 00
292ade8127aSBin Meng						00 00 00 00 00 00 00 00
293ade8127aSBin Meng						00 00 00 00 00 00 00 00
294ade8127aSBin Meng						00 00 00 00 00 00 00 00
295ade8127aSBin Meng						00 00 00 00 00 80 ce 01
296ade8127aSBin Meng						00 00 00 00 00 00 6a 04
297ade8127aSBin Meng						4d 34 37 31 42 35 36 37
298ade8127aSBin Meng						34 42 48 30 2d 59 4b 30
299ade8127aSBin Meng						20 20 00 00 80 ce 00 00
300ade8127aSBin Meng						00 00 00 00 00 00 00 00
301ade8127aSBin Meng						00 00 00 00 00 00 00 00
302ade8127aSBin Meng						00 00 00 00 00 00 00 00
303ade8127aSBin Meng						00 00 00 00 00 00 00 00
304ade8127aSBin Meng						00 00 00 00 00 00 00 00
305ade8127aSBin Meng						00 00 00 00 00 00 00 00
306ade8127aSBin Meng						00 00 00 00 00 00 00 00
307ade8127aSBin Meng						00 00 00 00 00 00 00 00
308ade8127aSBin Meng						00 00 00 00 00 00 00 00
309ade8127aSBin Meng						00 00 00 00 00 00 00 00
310ade8127aSBin Meng						00 00 00 00 00 00 00 00
311ade8127aSBin Meng						00 00 00 00 00 00 00 00
312ade8127aSBin Meng						00 00 00 00 00 00 00 00];
313ade8127aSBin Meng					};
314ade8127aSBin Meng				micron_4Gb_1600_1.35v_x16 {
315ade8127aSBin Meng					reg = <2>;
316ade8127aSBin Meng					data = [92 11 0b 03 04 19 02 02
317ade8127aSBin Meng						03 11 01 08 0a 00 fe 00
318ade8127aSBin Meng						69 78 69 3c 69 11 18 81
319ade8127aSBin Meng						20 08 3c 3c 01 40 83 05
320ade8127aSBin Meng						00 00 00 00 00 00 00 00
321ade8127aSBin Meng						00 00 00 00 00 00 00 00
322ade8127aSBin Meng						00 00 00 00 00 00 00 00
323ade8127aSBin Meng						00 00 00 00 0f 01 02 00
324ade8127aSBin Meng						00 00 00 00 00 00 00 00
325ade8127aSBin Meng						00 00 00 00 00 00 00 00
326ade8127aSBin Meng						00 00 00 00 00 00 00 00
327ade8127aSBin Meng						00 00 00 00 00 00 00 00
328ade8127aSBin Meng						00 00 00 00 00 00 00 00
329ade8127aSBin Meng						00 00 00 00 00 00 00 00
330ade8127aSBin Meng						00 00 00 00 00 80 2c 00
331ade8127aSBin Meng						00 00 00 00 00 00 ad 75
332ade8127aSBin Meng						34 4b 54 46 32 35 36 36
333ade8127aSBin Meng						34 48 5a 2d 31 47 36 45
334ade8127aSBin Meng						31 20 45 31 80 2c 00 00
335ade8127aSBin Meng						00 00 00 00 00 00 00 00
336ade8127aSBin Meng						00 00 00 00 00 00 00 00
337ade8127aSBin Meng						00 00 00 00 00 00 00 00
338ade8127aSBin Meng						ff ff ff ff ff ff ff ff
339ade8127aSBin Meng						ff ff ff ff ff ff ff ff
340ade8127aSBin Meng						ff ff ff ff ff ff ff ff
341ade8127aSBin Meng						ff ff ff ff ff ff ff ff
342ade8127aSBin Meng						ff ff ff ff ff ff ff ff
343ade8127aSBin Meng						ff ff ff ff ff ff ff ff
344ade8127aSBin Meng						ff ff ff ff ff ff ff ff
345ade8127aSBin Meng						ff ff ff ff ff ff ff ff
346ade8127aSBin Meng						ff ff ff ff ff ff ff ff
347ade8127aSBin Meng						ff ff ff ff ff ff ff ff];
348ade8127aSBin Meng				};
349ade8127aSBin Meng			};
350e40a6e3fSSimon Glass		};
351e40a6e3fSSimon Glass
35225d5352cSSimon Glass		gma@2,0 {
35325d5352cSSimon Glass			reg = <0x00001000 0 0 0 0>;
354ade8127aSBin Meng			compatible = "intel,gma";
355ade8127aSBin Meng			intel,dp_hotplug = <0 0 0x06>;
356ade8127aSBin Meng			intel,panel-port-select = <1>;
357ade8127aSBin Meng			intel,panel-power-cycle-delay = <6>;
358ade8127aSBin Meng			intel,panel-power-up-delay = <2000>;
359ade8127aSBin Meng			intel,panel-power-down-delay = <500>;
360ade8127aSBin Meng			intel,panel-power-backlight-on-delay = <2000>;
361ade8127aSBin Meng			intel,panel-power-backlight-off-delay = <2000>;
362ade8127aSBin Meng			intel,cpu-backlight = <0x00000200>;
363ade8127aSBin Meng			intel,pch-backlight = <0x04000000>;
364ade8127aSBin Meng		};
365ade8127aSBin Meng
366c02a4242SSimon Glass		me@16,0 {
367c02a4242SSimon Glass			reg = <0x0000b000 0 0 0 0>;
368c02a4242SSimon Glass			compatible = "intel,me";
369c02a4242SSimon Glass			u-boot,dm-pre-reloc;
370c02a4242SSimon Glass		};
371c02a4242SSimon Glass
372278d3a44SSimon Glass		usb_1: usb@1a,0 {
373278d3a44SSimon Glass			reg = <0x0000d000 0 0 0 0>;
374278d3a44SSimon Glass			compatible = "ehci-pci";
375278d3a44SSimon Glass		};
376278d3a44SSimon Glass
377*6744c0d6SSimon Glass		hda@1b,0 {
378*6744c0d6SSimon Glass			reg = <0x0000d800 0 0 0 0>;
379*6744c0d6SSimon Glass			compatible = "intel,bd82x6x-hda";
380*6744c0d6SSimon Glass
381*6744c0d6SSimon Glass			/* These correspond to the Intel HDA specification */
382*6744c0d6SSimon Glass			beep-verbs = <
383*6744c0d6SSimon Glass				0x00170500	/* power up codec */
384*6744c0d6SSimon Glass				0x00270500	/* power up DAC */
385*6744c0d6SSimon Glass				0x00b70500	/* power up speaker */
386*6744c0d6SSimon Glass				0x00b70740	/* enable speaker out */
387*6744c0d6SSimon Glass				0x00b78d00	/* enable EAPD pin */
388*6744c0d6SSimon Glass				0x00b70c02	/* set EAPD pin */
389*6744c0d6SSimon Glass				0x0143b013>;	/* beep volume */
390*6744c0d6SSimon Glass
391*6744c0d6SSimon Glass			codecs {
392*6744c0d6SSimon Glass				creative_codec: creative-ca0132 {
393*6744c0d6SSimon Glass					vendor-id = <PCI_VENDOR_ID_CREATIVE>;
394*6744c0d6SSimon Glass					device-id = <PCI_DEVICE_ID_CREATIVE_CA01322>;
395*6744c0d6SSimon Glass				};
396*6744c0d6SSimon Glass				intel_hdmi: hdmi {
397*6744c0d6SSimon Glass					vendor-id = <PCI_VENDOR_ID_INTEL>;
398*6744c0d6SSimon Glass					device-id = <PCI_DEVICE_ID_INTEL_COUGARPOINT_HDMI>;
399*6744c0d6SSimon Glass				};
400*6744c0d6SSimon Glass			};
401*6744c0d6SSimon Glass		};
402*6744c0d6SSimon Glass
403278d3a44SSimon Glass		usb_0: usb@1d,0 {
404278d3a44SSimon Glass			reg = <0x0000e800 0 0 0 0>;
405278d3a44SSimon Glass			compatible = "ehci-pci";
406278d3a44SSimon Glass		};
407278d3a44SSimon Glass
408f2b85ab5SSimon Glass		pch@1f,0 {
409aad78d27SSimon Glass			reg = <0x0000f800 0 0 0 0>;
410f2b85ab5SSimon Glass			compatible = "intel,bd82x6x", "intel,pch9";
41190b16d14SSimon Glass			u-boot,dm-pre-reloc;
412ade8127aSBin Meng			#address-cells = <1>;
413ade8127aSBin Meng			#size-cells = <1>;
414ade8127aSBin Meng			intel,pirq-routing = <0x8b 0x8a 0x8b 0x8b
415ade8127aSBin Meng						0x80 0x80 0x80 0x80>;
416ade8127aSBin Meng			intel,gpi-routing = <0 0 0 0 0 0 0 2
417ade8127aSBin Meng						1 0 0 0 0 0 0 0>;
418ade8127aSBin Meng			/* Enable EC SMI source */
419ade8127aSBin Meng			intel,alt-gp-smi-enable = <0x0100>;
420f2b85ab5SSimon Glass
42181aaa3d9SBin Meng			spi: spi {
42290b16d14SSimon Glass				#address-cells = <1>;
42390b16d14SSimon Glass				#size-cells = <0>;
4241f9eb59dSBin Meng				compatible = "intel,ich9-spi";
4256935dc1bSSimon Glass				u-boot,dm-pre-reloc;
42690b16d14SSimon Glass				spi-flash@0 {
42790b16d14SSimon Glass					#size-cells = <1>;
42890b16d14SSimon Glass					#address-cells = <1>;
4296935dc1bSSimon Glass					u-boot,dm-pre-reloc;
43090b16d14SSimon Glass					reg = <0>;
43190b16d14SSimon Glass					compatible = "winbond,w25q64",
43290b16d14SSimon Glass							"spi-flash";
43390b16d14SSimon Glass					memory-map = <0xff800000 0x00800000>;
43490b16d14SSimon Glass					rw-mrc-cache {
43590b16d14SSimon Glass						label = "rw-mrc-cache";
43690b16d14SSimon Glass						reg = <0x003e0000 0x00010000>;
4376935dc1bSSimon Glass						u-boot,dm-pre-reloc;
43890b16d14SSimon Glass					};
43990b16d14SSimon Glass				};
44090b16d14SSimon Glass			};
441ade8127aSBin Meng
442e9822d44SSimon Glass			gpio_a: gpioa {
4433ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
4443ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
445e9822d44SSimon Glass				#gpio-cells = <2>;
446e9822d44SSimon Glass				gpio-controller;
4473ddc1c7bSBin Meng				reg = <0 0x10>;
4483ddc1c7bSBin Meng				bank-name = "A";
4493ddc1c7bSBin Meng			};
4503ddc1c7bSBin Meng
451e9822d44SSimon Glass			gpio_b: gpiob {
4523ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
4533ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
454e9822d44SSimon Glass				#gpio-cells = <2>;
455e9822d44SSimon Glass				gpio-controller;
4563ddc1c7bSBin Meng				reg = <0x30 0x10>;
4573ddc1c7bSBin Meng				bank-name = "B";
4583ddc1c7bSBin Meng			};
4593ddc1c7bSBin Meng
460e9822d44SSimon Glass			gpio_c: gpioc {
4613ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
4623ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
463e9822d44SSimon Glass				#gpio-cells = <2>;
464e9822d44SSimon Glass				gpio-controller;
4653ddc1c7bSBin Meng				reg = <0x40 0x10>;
4663ddc1c7bSBin Meng				bank-name = "C";
4673ddc1c7bSBin Meng			};
4683ddc1c7bSBin Meng
46990b16d14SSimon Glass			lpc {
47090b16d14SSimon Glass				compatible = "intel,bd82x6x-lpc";
47190b16d14SSimon Glass				#address-cells = <1>;
47290b16d14SSimon Glass				#size-cells = <0>;
4734acc83d4SSimon Glass				u-boot,dm-pre-reloc;
474788cd908SSimon Glass				intel,gen-dec = <0x800 0xfc 0x900 0xfc>;
475ade8127aSBin Meng				cros-ec@200 {
476ade8127aSBin Meng					compatible = "google,cros-ec";
477ade8127aSBin Meng					reg = <0x204 1 0x200 1 0x880 0x80>;
478ade8127aSBin Meng
47990b16d14SSimon Glass					/*
48090b16d14SSimon Glass					 * Describes the flash memory within
48190b16d14SSimon Glass					 * the EC
48290b16d14SSimon Glass					 */
483ade8127aSBin Meng					#address-cells = <1>;
484ade8127aSBin Meng					#size-cells = <1>;
485ade8127aSBin Meng					flash@8000000 {
486ade8127aSBin Meng						reg = <0x08000000 0x20000>;
487ade8127aSBin Meng						erase-value = <0xff>;
488ade8127aSBin Meng					};
489ade8127aSBin Meng				};
490ade8127aSBin Meng			};
491ade8127aSBin Meng		};
492d46f2a68SSimon Glass
493d46f2a68SSimon Glass		sata@1f,2 {
494d46f2a68SSimon Glass			compatible = "intel,pantherpoint-ahci";
495d46f2a68SSimon Glass			reg = <0x0000fa00 0 0 0 0>;
496d46f2a68SSimon Glass			u-boot,dm-pre-reloc;
497d46f2a68SSimon Glass			intel,sata-mode = "ahci";
498d46f2a68SSimon Glass			intel,sata-port-map = <1>;
499d46f2a68SSimon Glass			intel,sata-port0-gen3-tx = <0x00880a7f>;
500d46f2a68SSimon Glass		};
5010c7645bdSSimon Glass
5020c7645bdSSimon Glass		smbus: smbus@1f,3 {
5030c7645bdSSimon Glass			compatible = "intel,ich-i2c";
5040c7645bdSSimon Glass			reg = <0x0000fb00 0 0 0 0>;
5050c7645bdSSimon Glass			u-boot,dm-pre-reloc;
5060c7645bdSSimon Glass		};
50790b16d14SSimon Glass	};
508ade8127aSBin Meng
5096e474eabSSimon Glass	tpm {
5106e474eabSSimon Glass		reg = <0xfed40000 0x5000>;
5116e474eabSSimon Glass		compatible = "infineon,slb9635lpc";
5126e474eabSSimon Glass	};
5136e474eabSSimon Glass
514ade8127aSBin Meng	microcode {
5156935dc1bSSimon Glass		u-boot,dm-pre-reloc;
516ade8127aSBin Meng		update@0 {
5176935dc1bSSimon Glass			u-boot,dm-pre-reloc;
518ade8127aSBin Meng#include "microcode/m12306a9_0000001b.dtsi"
519ade8127aSBin Meng		};
520ade8127aSBin Meng	};
521ade8127aSBin Meng
522ade8127aSBin Meng};
523*6744c0d6SSimon Glass
524*6744c0d6SSimon Glass&creative_codec {
525*6744c0d6SSimon Glass	verbs =  <
526*6744c0d6SSimon Glass		/**
527*6744c0d6SSimon Glass		 * Malcolm Setup. These correspond to the Intel HDA
528*6744c0d6SSimon Glass		 * specification.
529*6744c0d6SSimon Glass		 */
530*6744c0d6SSimon Glass		0x01570d09 0x01570c23 0x01570a01 0x01570df0
531*6744c0d6SSimon Glass		0x01570efe 0x01570775 0x015707d3 0x01570709
532*6744c0d6SSimon Glass		0x01570753 0x015707d4 0x015707ef 0x01570775
533*6744c0d6SSimon Glass		0x015707d3 0x01570709 0x01570702 0x01570737
534*6744c0d6SSimon Glass		0x01570778 0x01553cce 0x015575c9 0x01553dce
535*6744c0d6SSimon Glass		0x0155b7c9 0x01570de8 0x01570efe 0x01570702
536*6744c0d6SSimon Glass		0x01570768 0x01570762 0x01553ace 0x015546c9
537*6744c0d6SSimon Glass		0x01553bce 0x0155e8c9 0x01570d49 0x01570c88
538*6744c0d6SSimon Glass		0x01570d20 0x01570e19 0x01570700 0x01571a05
539*6744c0d6SSimon Glass		0x01571b29 0x01571a04 0x01571b29 0x01570a01
540*6744c0d6SSimon Glass
541*6744c0d6SSimon Glass		/* Pin Widget Verb Table */
542*6744c0d6SSimon Glass
543*6744c0d6SSimon Glass		/* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x144dc0c2 */
544*6744c0d6SSimon Glass		AZALIA_SUBVENDOR(0x0, 0x144dc0c2)
545*6744c0d6SSimon Glass
546*6744c0d6SSimon Glass		/*
547*6744c0d6SSimon Glass		 * Pin Complex (NID 0x0B)  Port-G Analog Unknown
548*6744c0d6SSimon Glass		 * Speaker at Int N/A
549*6744c0d6SSimon Glass		 */
550*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x0b, 0x901700f0)
551*6744c0d6SSimon Glass
552*6744c0d6SSimon Glass		/* Pin Complex (NID 0x0C)  N/C */
553*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x0c, 0x70f000f0)
554*6744c0d6SSimon Glass
555*6744c0d6SSimon Glass		/* Pin Complex (NID 0x0D)  N/C */
556*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x0d, 0x70f000f0)
557*6744c0d6SSimon Glass
558*6744c0d6SSimon Glass		/* Pin Complex (NID 0x0E)  N/C */
559*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x0e, 0x70f000f0)
560*6744c0d6SSimon Glass
561*6744c0d6SSimon Glass		/* Pin Complex (NID 0x0F)  N/C */
562*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x0f, 0x70f000f0)
563*6744c0d6SSimon Glass
564*6744c0d6SSimon Glass		/* Pin Complex (NID 0x10) Port-D 1/8 Black HP Out at Ext Left */
565*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x10, 0x032110f0)
566*6744c0d6SSimon Glass
567*6744c0d6SSimon Glass		/* Pin Complex (NID 0x11) Port-B Click Mic */
568*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x11, 0x90a700f0)
569*6744c0d6SSimon Glass
570*6744c0d6SSimon Glass		/* Pin Complex (NID 0x12) Port-C Combo Jack Mic or D-Mic */
571*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x12, 0x03a110f0)
572*6744c0d6SSimon Glass
573*6744c0d6SSimon Glass		/* Pin Complex (NID 0x13) What you hear */
574*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x0, 0x13, 0x90d600f0)>;
575*6744c0d6SSimon Glass};
576*6744c0d6SSimon Glass
577*6744c0d6SSimon Glass&intel_hdmi {
578*6744c0d6SSimon Glass	verbs = <
579*6744c0d6SSimon Glass		/* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x80860101 */
580*6744c0d6SSimon Glass		AZALIA_SUBVENDOR(0x3, 0x80860101)
581*6744c0d6SSimon Glass
582*6744c0d6SSimon Glass		/* Pin Complex (NID 0x05) Digital Out at Int HDMI */
583*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x3, 0x05, 0x18560010)
584*6744c0d6SSimon Glass
585*6744c0d6SSimon Glass		/* Pin Complex (NID 0x06) Digital Out at Int HDMI */
586*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x3, 0x06, 0x18560020)
587*6744c0d6SSimon Glass
588*6744c0d6SSimon Glass		/* Pin Complex (NID 0x07) Digital Out at Int HDMI */
589*6744c0d6SSimon Glass		AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)>;
590*6744c0d6SSimon Glass};
591