xref: /rk3399_rockchip-uboot/arch/x86/dts/minnowmax.dts (revision 211aaf309cde193918f9a19b0b010acebfd80a82)
13a1a18ffSSimon Glass/*
23a1a18ffSSimon Glass * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
33a1a18ffSSimon Glass *
43a1a18ffSSimon Glass * SPDX-License-Identifier:	GPL-2.0+
53a1a18ffSSimon Glass */
63a1a18ffSSimon Glass
73a1a18ffSSimon Glass/dts-v1/;
83a1a18ffSSimon Glass
95e74e5a6SBin Meng#include <asm/arch-baytrail/fsp/fsp_configs.h>
105318f18dSGabriel Huau#include <dt-bindings/gpio/x86-gpio.h>
11ef910819SSimon Glass#include <dt-bindings/interrupt-router/intel-irq.h>
125318f18dSGabriel Huau
133a1a18ffSSimon Glass/include/ "skeleton.dtsi"
143a1a18ffSSimon Glass/include/ "serial.dtsi"
1593f8a311SBin Meng/include/ "rtc.dtsi"
1680af3984SBin Meng/include/ "tsc_timer.dtsi"
172d3c573eSBin Meng/include/ "coreboot_fb.dtsi"
183a1a18ffSSimon Glass
193a1a18ffSSimon Glass/ {
203a1a18ffSSimon Glass	model = "Intel Minnowboard Max";
213a1a18ffSSimon Glass	compatible = "intel,minnowmax", "intel,baytrail";
223a1a18ffSSimon Glass
233a1a18ffSSimon Glass	aliases {
243a1a18ffSSimon Glass		serial0 = &serial;
2581aaa3d9SBin Meng		spi0 = &spi;
263a1a18ffSSimon Glass	};
273a1a18ffSSimon Glass
283a1a18ffSSimon Glass	config {
293a1a18ffSSimon Glass		silent_console = <0>;
303a1a18ffSSimon Glass	};
313a1a18ffSSimon Glass
325318f18dSGabriel Huau	pch_pinctrl {
335318f18dSGabriel Huau		compatible = "intel,x86-pinctrl";
34e264e3ccSBin Meng		reg = <0 0>;
355318f18dSGabriel Huau
36cce7e0faSSimon Glass		/* GPIO E0 */
37cce7e0faSSimon Glass		soc_gpio_s5_0@0 {
38cce7e0faSSimon Glass			gpio-offset = <0x80 0>;
39cce7e0faSSimon Glass			mode-gpio;
40cce7e0faSSimon Glass			output-value = <0>;
41cce7e0faSSimon Glass			direction = <PIN_OUTPUT>;
42cce7e0faSSimon Glass		};
43cce7e0faSSimon Glass
44cce7e0faSSimon Glass		/* GPIO E1 */
45cce7e0faSSimon Glass		soc_gpio_s5_1@0 {
46cce7e0faSSimon Glass			gpio-offset = <0x80 1>;
47cce7e0faSSimon Glass			mode-gpio;
48cce7e0faSSimon Glass			output-value = <0>;
49cce7e0faSSimon Glass			direction = <PIN_OUTPUT>;
50cce7e0faSSimon Glass		};
51cce7e0faSSimon Glass
52cce7e0faSSimon Glass		/* GPIO E2 */
53cce7e0faSSimon Glass		soc_gpio_s5_2@0 {
54cce7e0faSSimon Glass			gpio-offset = <0x80 2>;
55cce7e0faSSimon Glass			mode-gpio;
56cce7e0faSSimon Glass			output-value = <0>;
57cce7e0faSSimon Glass			direction = <PIN_OUTPUT>;
58cce7e0faSSimon Glass		};
59cce7e0faSSimon Glass
605318f18dSGabriel Huau		pin_usb_host_en0@0 {
615318f18dSGabriel Huau			gpio-offset = <0x80 8>;
625318f18dSGabriel Huau			mode-gpio;
635318f18dSGabriel Huau			output-value = <1>;
645318f18dSGabriel Huau			direction = <PIN_OUTPUT>;
655318f18dSGabriel Huau		};
665318f18dSGabriel Huau
675318f18dSGabriel Huau		pin_usb_host_en1@0 {
685318f18dSGabriel Huau			gpio-offset = <0x80 9>;
695318f18dSGabriel Huau			mode-gpio;
705318f18dSGabriel Huau			output-value = <1>;
715318f18dSGabriel Huau			direction = <PIN_OUTPUT>;
725318f18dSGabriel Huau		};
73f7a01e48SBin Meng
74f7a01e48SBin Meng		/*
75f7a01e48SBin Meng		 * As of today, the latest version FSP (gold4) for BayTrail
76f7a01e48SBin Meng		 * misses the PAD configuration of the SD controller's Card
77f7a01e48SBin Meng		 * Detect signal. The default PAD value for the CD pin sets
78f7a01e48SBin Meng		 * the pin to work in GPIO mode, which causes card detect
79f7a01e48SBin Meng		 * status cannot be reflected by the Present State register
80f7a01e48SBin Meng		 * in the SD controller (bit 16 & bit 18 are always zero).
81f7a01e48SBin Meng		 *
82f7a01e48SBin Meng		 * Configure this pin to function 1 (SD controller).
83f7a01e48SBin Meng		 */
84f7a01e48SBin Meng		sdmmc3_cd@0 {
85f7a01e48SBin Meng			pad-offset = <0x3a0>;
86f7a01e48SBin Meng			mode-func = <1>;
87f7a01e48SBin Meng		};
885318f18dSGabriel Huau	};
895318f18dSGabriel Huau
903a1a18ffSSimon Glass	chosen {
913a1a18ffSSimon Glass		stdout-path = "/serial";
923a1a18ffSSimon Glass	};
933a1a18ffSSimon Glass
94281239adSSimon Glass	cpus {
95281239adSSimon Glass		#address-cells = <1>;
96281239adSSimon Glass		#size-cells = <0>;
97281239adSSimon Glass
98281239adSSimon Glass		cpu@0 {
99281239adSSimon Glass			device_type = "cpu";
100281239adSSimon Glass			compatible = "intel,baytrail-cpu";
101281239adSSimon Glass			reg = <0>;
102281239adSSimon Glass			intel,apic-id = <0>;
103281239adSSimon Glass		};
104281239adSSimon Glass
105281239adSSimon Glass		cpu@1 {
106281239adSSimon Glass			device_type = "cpu";
107281239adSSimon Glass			compatible = "intel,baytrail-cpu";
108281239adSSimon Glass			reg = <1>;
109281239adSSimon Glass			intel,apic-id = <4>;
110281239adSSimon Glass		};
111281239adSSimon Glass
112281239adSSimon Glass	};
113281239adSSimon Glass
114b71f9dcaSSimon Glass	pci {
115b71f9dcaSSimon Glass		compatible = "intel,pci-baytrail", "pci-x86";
116b71f9dcaSSimon Glass		#address-cells = <3>;
117b71f9dcaSSimon Glass		#size-cells = <2>;
118b71f9dcaSSimon Glass		u-boot,dm-pre-reloc;
119ef910819SSimon Glass		ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000
120ef910819SSimon Glass			  0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
121b71f9dcaSSimon Glass			  0x01000000 0x0 0x2000 0x2000 0 0xe000>;
122ef910819SSimon Glass
123f2b85ab5SSimon Glass		pch@1f,0 {
124ef910819SSimon Glass			reg = <0x0000f800 0 0 0 0>;
125f2b85ab5SSimon Glass			compatible = "pci8086,0f1c", "intel,pch9";
1263ddc1c7bSBin Meng			#address-cells = <1>;
1273ddc1c7bSBin Meng			#size-cells = <1>;
128f2b85ab5SSimon Glass
129f2b85ab5SSimon Glass			irq-router {
130ef910819SSimon Glass				compatible = "intel,irq-router";
131ef910819SSimon Glass				intel,pirq-config = "ibase";
132ef910819SSimon Glass				intel,ibase-offset = <0x50>;
133ce8dd77dSBin Meng				intel,actl-addr = <0>;
134ef910819SSimon Glass				intel,pirq-link = <8 8>;
135ef910819SSimon Glass				intel,pirq-mask = <0xdee0>;
136ef910819SSimon Glass				intel,pirq-routing = <
137ef910819SSimon Glass					/* BayTrail PCI devices */
138ef910819SSimon Glass					PCI_BDF(0, 2, 0) INTA PIRQA
139ef910819SSimon Glass					PCI_BDF(0, 3, 0) INTA PIRQA
140ef910819SSimon Glass					PCI_BDF(0, 16, 0) INTA PIRQA
141ef910819SSimon Glass					PCI_BDF(0, 17, 0) INTA PIRQA
142ef910819SSimon Glass					PCI_BDF(0, 18, 0) INTA PIRQA
143ef910819SSimon Glass					PCI_BDF(0, 19, 0) INTA PIRQA
144ef910819SSimon Glass					PCI_BDF(0, 20, 0) INTA PIRQA
145ef910819SSimon Glass					PCI_BDF(0, 21, 0) INTA PIRQA
146ef910819SSimon Glass					PCI_BDF(0, 22, 0) INTA PIRQA
147ef910819SSimon Glass					PCI_BDF(0, 23, 0) INTA PIRQA
148ef910819SSimon Glass					PCI_BDF(0, 24, 0) INTA PIRQA
149ef910819SSimon Glass					PCI_BDF(0, 24, 1) INTC PIRQC
150ef910819SSimon Glass					PCI_BDF(0, 24, 2) INTD PIRQD
151ef910819SSimon Glass					PCI_BDF(0, 24, 3) INTB PIRQB
152ef910819SSimon Glass					PCI_BDF(0, 24, 4) INTA PIRQA
153ef910819SSimon Glass					PCI_BDF(0, 24, 5) INTC PIRQC
154ef910819SSimon Glass					PCI_BDF(0, 24, 6) INTD PIRQD
155ef910819SSimon Glass					PCI_BDF(0, 24, 7) INTB PIRQB
156ef910819SSimon Glass					PCI_BDF(0, 26, 0) INTA PIRQA
157ef910819SSimon Glass					PCI_BDF(0, 27, 0) INTA PIRQA
158ef910819SSimon Glass					PCI_BDF(0, 28, 0) INTA PIRQA
159ef910819SSimon Glass					PCI_BDF(0, 28, 1) INTB PIRQB
160ef910819SSimon Glass					PCI_BDF(0, 28, 2) INTC PIRQC
161ef910819SSimon Glass					PCI_BDF(0, 28, 3) INTD PIRQD
162ef910819SSimon Glass					PCI_BDF(0, 29, 0) INTA PIRQA
163ef910819SSimon Glass					PCI_BDF(0, 30, 0) INTA PIRQA
164ef910819SSimon Glass					PCI_BDF(0, 30, 1) INTD PIRQD
165ef910819SSimon Glass					PCI_BDF(0, 30, 2) INTB PIRQB
166ef910819SSimon Glass					PCI_BDF(0, 30, 3) INTC PIRQC
167ef910819SSimon Glass					PCI_BDF(0, 30, 4) INTD PIRQD
168ef910819SSimon Glass					PCI_BDF(0, 30, 5) INTB PIRQB
169ef910819SSimon Glass					PCI_BDF(0, 31, 3) INTB PIRQB
170ef910819SSimon Glass
171f2b85ab5SSimon Glass					/*
172f2b85ab5SSimon Glass					 * PCIe root ports downstream
173f2b85ab5SSimon Glass					 * interrupts
174f2b85ab5SSimon Glass					 */
175ef910819SSimon Glass					PCI_BDF(1, 0, 0) INTA PIRQA
176ef910819SSimon Glass					PCI_BDF(1, 0, 0) INTB PIRQB
177ef910819SSimon Glass					PCI_BDF(1, 0, 0) INTC PIRQC
178ef910819SSimon Glass					PCI_BDF(1, 0, 0) INTD PIRQD
179ef910819SSimon Glass					PCI_BDF(2, 0, 0) INTA PIRQB
180ef910819SSimon Glass					PCI_BDF(2, 0, 0) INTB PIRQC
181ef910819SSimon Glass					PCI_BDF(2, 0, 0) INTC PIRQD
182ef910819SSimon Glass					PCI_BDF(2, 0, 0) INTD PIRQA
183ef910819SSimon Glass					PCI_BDF(3, 0, 0) INTA PIRQC
184ef910819SSimon Glass					PCI_BDF(3, 0, 0) INTB PIRQD
185ef910819SSimon Glass					PCI_BDF(3, 0, 0) INTC PIRQA
186ef910819SSimon Glass					PCI_BDF(3, 0, 0) INTD PIRQB
187ef910819SSimon Glass					PCI_BDF(4, 0, 0) INTA PIRQD
188ef910819SSimon Glass					PCI_BDF(4, 0, 0) INTB PIRQA
189ef910819SSimon Glass					PCI_BDF(4, 0, 0) INTC PIRQB
190ef910819SSimon Glass					PCI_BDF(4, 0, 0) INTD PIRQC
191ef910819SSimon Glass				>;
192ef910819SSimon Glass			};
193f2b85ab5SSimon Glass
19481aaa3d9SBin Meng			spi: spi {
195f2b85ab5SSimon Glass				#address-cells = <1>;
196f2b85ab5SSimon Glass				#size-cells = <0>;
1971f9eb59dSBin Meng				compatible = "intel,ich9-spi";
198f2b85ab5SSimon Glass				spi-flash@0 {
199f2b85ab5SSimon Glass					#address-cells = <1>;
200f2b85ab5SSimon Glass					#size-cells = <1>;
201f2b85ab5SSimon Glass					reg = <0>;
202f2b85ab5SSimon Glass					compatible = "stmicro,n25q064a",
203f2b85ab5SSimon Glass						"spi-flash";
204f2b85ab5SSimon Glass					memory-map = <0xff800000 0x00800000>;
205f2b85ab5SSimon Glass					rw-mrc-cache {
206f2b85ab5SSimon Glass						label = "rw-mrc-cache";
207f2b85ab5SSimon Glass						reg = <0x006f0000 0x00010000>;
208f2b85ab5SSimon Glass					};
209f2b85ab5SSimon Glass				};
210f2b85ab5SSimon Glass			};
2113ddc1c7bSBin Meng
2123ddc1c7bSBin Meng			gpioa {
2133ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2143ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2153ddc1c7bSBin Meng				reg = <0 0x20>;
2163ddc1c7bSBin Meng				bank-name = "A";
217770ee017SBin Meng				use-lvl-write-cache;
2183ddc1c7bSBin Meng			};
2193ddc1c7bSBin Meng
2203ddc1c7bSBin Meng			gpiob {
2213ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2223ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2233ddc1c7bSBin Meng				reg = <0x20 0x20>;
2243ddc1c7bSBin Meng				bank-name = "B";
225770ee017SBin Meng				use-lvl-write-cache;
2263ddc1c7bSBin Meng			};
2273ddc1c7bSBin Meng
2283ddc1c7bSBin Meng			gpioc {
2293ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2303ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2313ddc1c7bSBin Meng				reg = <0x40 0x20>;
2323ddc1c7bSBin Meng				bank-name = "C";
233770ee017SBin Meng				use-lvl-write-cache;
2343ddc1c7bSBin Meng			};
2353ddc1c7bSBin Meng
2363ddc1c7bSBin Meng			gpiod {
2373ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2383ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2393ddc1c7bSBin Meng				reg = <0x60 0x20>;
2403ddc1c7bSBin Meng				bank-name = "D";
241770ee017SBin Meng				use-lvl-write-cache;
2423ddc1c7bSBin Meng			};
2433ddc1c7bSBin Meng
2443ddc1c7bSBin Meng			gpioe {
2453ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2463ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2473ddc1c7bSBin Meng				reg = <0x80 0x20>;
2483ddc1c7bSBin Meng				bank-name = "E";
249770ee017SBin Meng				use-lvl-write-cache;
2503ddc1c7bSBin Meng			};
2513ddc1c7bSBin Meng
2523ddc1c7bSBin Meng			gpiof {
2533ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2543ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2553ddc1c7bSBin Meng				reg = <0xA0 0x20>;
2563ddc1c7bSBin Meng				bank-name = "F";
257770ee017SBin Meng				use-lvl-write-cache;
2583ddc1c7bSBin Meng			};
259f2b85ab5SSimon Glass		};
260b71f9dcaSSimon Glass	};
261b71f9dcaSSimon Glass
262f3b84a30SAndrew Bradford	fsp {
263f3b84a30SAndrew Bradford		compatible = "intel,baytrail-fsp";
2645e74e5a6SBin Meng		fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_1MB>;
2655e74e5a6SBin Meng		fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>;
266f3b84a30SAndrew Bradford		fsp,mrc-init-spd-addr1 = <0xa0>;
267f3b84a30SAndrew Bradford		fsp,mrc-init-spd-addr2 = <0xa2>;
2685e74e5a6SBin Meng		fsp,emmc-boot-mode = <EMMC_BOOT_MODE_AUTO>;
269f3b84a30SAndrew Bradford		fsp,enable-sdio;
270f3b84a30SAndrew Bradford		fsp,enable-sdcard;
271f3b84a30SAndrew Bradford		fsp,enable-hsuart1;
272f3b84a30SAndrew Bradford		fsp,enable-spi;
273f3b84a30SAndrew Bradford		fsp,enable-sata;
2745e74e5a6SBin Meng		fsp,sata-mode = <SATA_MODE_AHCI>;
275*c9621012SBin Meng#ifdef CONFIG_USB_XHCI_HCD
276*c9621012SBin Meng		fsp,enable-xhci;
277*c9621012SBin Meng#endif
278f8f291b0SBin Meng		fsp,lpe-mode = <LPE_MODE_PCI>;
279f8f291b0SBin Meng		fsp,lpss-sio-mode = <LPSS_SIO_MODE_PCI>;
280f3b84a30SAndrew Bradford		fsp,enable-dma0;
281f3b84a30SAndrew Bradford		fsp,enable-dma1;
282f3b84a30SAndrew Bradford		fsp,enable-i2c0;
283f3b84a30SAndrew Bradford		fsp,enable-i2c1;
284f3b84a30SAndrew Bradford		fsp,enable-i2c2;
285f3b84a30SAndrew Bradford		fsp,enable-i2c3;
286f3b84a30SAndrew Bradford		fsp,enable-i2c4;
287f3b84a30SAndrew Bradford		fsp,enable-i2c5;
288f3b84a30SAndrew Bradford		fsp,enable-i2c6;
289f3b84a30SAndrew Bradford		fsp,enable-pwm0;
290f3b84a30SAndrew Bradford		fsp,enable-pwm1;
2915e74e5a6SBin Meng		fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_64MB>;
2925e74e5a6SBin Meng		fsp,aperture-size = <APERTURE_SIZE_256MB>;
2935e74e5a6SBin Meng		fsp,gtt-size = <GTT_SIZE_2MB>;
294f8f291b0SBin Meng		fsp,scc-mode = <SCC_MODE_PCI>;
2955e74e5a6SBin Meng		fsp,os-selection = <OS_SELECTION_LINUX>;
296f3b84a30SAndrew Bradford		fsp,emmc45-ddr50-enabled;
297f3b84a30SAndrew Bradford		fsp,emmc45-retune-timer-value = <8>;
298f3b84a30SAndrew Bradford		fsp,enable-igd;
299f3b84a30SAndrew Bradford		fsp,enable-memory-down;
300f3b84a30SAndrew Bradford		fsp,memory-down-params {
301f3b84a30SAndrew Bradford			compatible = "intel,baytrail-fsp-mdp";
3025e74e5a6SBin Meng			fsp,dram-speed = <DRAM_SPEED_1066MTS>;
3035e74e5a6SBin Meng			fsp,dram-type = <DRAM_TYPE_DDR3L>;
304f3b84a30SAndrew Bradford			fsp,dimm-0-enable;
3055e74e5a6SBin Meng			fsp,dimm-width = <DIMM_WIDTH_X16>;
3065e74e5a6SBin Meng			fsp,dimm-density = <DIMM_DENSITY_4GBIT>;
3075e74e5a6SBin Meng			fsp,dimm-bus-width = <DIMM_BUS_WIDTH_64BITS>;
3085e74e5a6SBin Meng			fsp,dimm-sides = <DIMM_SIDES_1RANKS>;
309f3b84a30SAndrew Bradford			fsp,dimm-tcl = <0xb>;
310f3b84a30SAndrew Bradford			fsp,dimm-trpt-rcd = <0xb>;
311f3b84a30SAndrew Bradford			fsp,dimm-twr = <0xc>;
312f3b84a30SAndrew Bradford			fsp,dimm-twtr = <6>;
313f3b84a30SAndrew Bradford			fsp,dimm-trrd = <6>;
314f3b84a30SAndrew Bradford			fsp,dimm-trtp = <6>;
315f3b84a30SAndrew Bradford			fsp,dimm-tfaw = <0x14>;
316f3b84a30SAndrew Bradford		};
317f3b84a30SAndrew Bradford	};
318f3b84a30SAndrew Bradford
3193a1a18ffSSimon Glass	microcode {
3203a1a18ffSSimon Glass		update@0 {
321bab4b961SBin Meng#include "microcode/m0130673325.dtsi"
3223a1a18ffSSimon Glass		};
3235fb01516SBin Meng		update@1 {
324bab4b961SBin Meng#include "microcode/m0130679907.dtsi"
3255fb01516SBin Meng		};
3263a1a18ffSSimon Glass	};
3273a1a18ffSSimon Glass
3283a1a18ffSSimon Glass};
329