xref: /rk3399_rockchip-uboot/arch/x86/dts/bayleybay.dts (revision f0a1ad469871eaca59037d0b9a74907f2d551533)
19b911bedSBin Meng/*
29b911bedSBin Meng * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
39b911bedSBin Meng *
49b911bedSBin Meng * SPDX-License-Identifier:	GPL-2.0+
59b911bedSBin Meng */
69b911bedSBin Meng
79b911bedSBin Meng/dts-v1/;
89b911bedSBin Meng
95e74e5a6SBin Meng#include <asm/arch-baytrail/fsp/fsp_configs.h>
109b911bedSBin Meng#include <dt-bindings/gpio/x86-gpio.h>
11fe3fbd30SBin Meng#include <dt-bindings/interrupt-router/intel-irq.h>
129b911bedSBin Meng
139b911bedSBin Meng/include/ "skeleton.dtsi"
146b44ae6bSSimon Glass/include/ "keyboard.dtsi"
159b911bedSBin Meng/include/ "serial.dtsi"
169b911bedSBin Meng/include/ "rtc.dtsi"
1780af3984SBin Meng/include/ "tsc_timer.dtsi"
182d3c573eSBin Meng/include/ "coreboot_fb.dtsi"
199b911bedSBin Meng
209b911bedSBin Meng/ {
219b911bedSBin Meng	model = "Intel Bayley Bay";
229b911bedSBin Meng	compatible = "intel,bayleybay", "intel,baytrail";
239b911bedSBin Meng
249b911bedSBin Meng	aliases {
259b911bedSBin Meng		serial0 = &serial;
2681aaa3d9SBin Meng		spi0 = &spi;
279b911bedSBin Meng	};
289b911bedSBin Meng
299b911bedSBin Meng	config {
309b911bedSBin Meng		silent_console = <0>;
319b911bedSBin Meng	};
329b911bedSBin Meng
339b911bedSBin Meng	chosen {
349b911bedSBin Meng		stdout-path = "/serial";
359b911bedSBin Meng	};
369b911bedSBin Meng
379b911bedSBin Meng	cpus {
389b911bedSBin Meng		#address-cells = <1>;
399b911bedSBin Meng		#size-cells = <0>;
409b911bedSBin Meng
419b911bedSBin Meng		cpu@0 {
429b911bedSBin Meng			device_type = "cpu";
439b911bedSBin Meng			compatible = "intel,baytrail-cpu";
449b911bedSBin Meng			reg = <0>;
459b911bedSBin Meng			intel,apic-id = <0>;
469b911bedSBin Meng		};
479b911bedSBin Meng
489b911bedSBin Meng		cpu@1 {
499b911bedSBin Meng			device_type = "cpu";
509b911bedSBin Meng			compatible = "intel,baytrail-cpu";
519b911bedSBin Meng			reg = <1>;
529b911bedSBin Meng			intel,apic-id = <2>;
539b911bedSBin Meng		};
549b911bedSBin Meng
559b911bedSBin Meng		cpu@2 {
569b911bedSBin Meng			device_type = "cpu";
579b911bedSBin Meng			compatible = "intel,baytrail-cpu";
589b911bedSBin Meng			reg = <2>;
599b911bedSBin Meng			intel,apic-id = <4>;
609b911bedSBin Meng		};
619b911bedSBin Meng
629b911bedSBin Meng		cpu@3 {
639b911bedSBin Meng			device_type = "cpu";
649b911bedSBin Meng			compatible = "intel,baytrail-cpu";
659b911bedSBin Meng			reg = <3>;
669b911bedSBin Meng			intel,apic-id = <6>;
679b911bedSBin Meng		};
689b911bedSBin Meng	};
699b911bedSBin Meng
70e264e3ccSBin Meng	pch_pinctrl {
71e264e3ccSBin Meng		compatible = "intel,x86-pinctrl";
72e264e3ccSBin Meng		reg = <0 0>;
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		};
88e264e3ccSBin Meng	};
89e264e3ccSBin Meng
909b911bedSBin Meng	pci {
919b911bedSBin Meng		compatible = "pci-x86";
929b911bedSBin Meng		#address-cells = <3>;
939b911bedSBin Meng		#size-cells = <2>;
949b911bedSBin Meng		u-boot,dm-pre-reloc;
959b911bedSBin Meng		ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000
969b911bedSBin Meng			  0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
979b911bedSBin Meng			  0x01000000 0x0 0x2000 0x2000 0 0xe000>;
98fe3fbd30SBin Meng
99f2b85ab5SSimon Glass		pch@1f,0 {
100fe3fbd30SBin Meng			reg = <0x0000f800 0 0 0 0>;
101f2b85ab5SSimon Glass			compatible = "intel,pch9";
1023ddc1c7bSBin Meng			#address-cells = <1>;
1033ddc1c7bSBin Meng			#size-cells = <1>;
104f2b85ab5SSimon Glass
105f2b85ab5SSimon Glass			irq-router {
106fe3fbd30SBin Meng				compatible = "intel,irq-router";
107fe3fbd30SBin Meng				intel,pirq-config = "ibase";
108fe3fbd30SBin Meng				intel,ibase-offset = <0x50>;
109ce8dd77dSBin Meng				intel,actl-addr = <0>;
110fe3fbd30SBin Meng				intel,pirq-link = <8 8>;
111fe3fbd30SBin Meng				intel,pirq-mask = <0xdee0>;
112fe3fbd30SBin Meng				intel,pirq-routing = <
113fe3fbd30SBin Meng					/* BayTrail PCI devices */
114fe3fbd30SBin Meng					PCI_BDF(0, 2, 0) INTA PIRQA
115fe3fbd30SBin Meng					PCI_BDF(0, 3, 0) INTA PIRQA
116fe3fbd30SBin Meng					PCI_BDF(0, 16, 0) INTA PIRQA
117fe3fbd30SBin Meng					PCI_BDF(0, 17, 0) INTA PIRQA
118fe3fbd30SBin Meng					PCI_BDF(0, 18, 0) INTA PIRQA
119fe3fbd30SBin Meng					PCI_BDF(0, 19, 0) INTA PIRQA
120fe3fbd30SBin Meng					PCI_BDF(0, 20, 0) INTA PIRQA
121fe3fbd30SBin Meng					PCI_BDF(0, 21, 0) INTA PIRQA
122fe3fbd30SBin Meng					PCI_BDF(0, 22, 0) INTA PIRQA
123fe3fbd30SBin Meng					PCI_BDF(0, 23, 0) INTA PIRQA
124fe3fbd30SBin Meng					PCI_BDF(0, 24, 0) INTA PIRQA
125fe3fbd30SBin Meng					PCI_BDF(0, 24, 1) INTC PIRQC
126fe3fbd30SBin Meng					PCI_BDF(0, 24, 2) INTD PIRQD
127fe3fbd30SBin Meng					PCI_BDF(0, 24, 3) INTB PIRQB
128fe3fbd30SBin Meng					PCI_BDF(0, 24, 4) INTA PIRQA
129fe3fbd30SBin Meng					PCI_BDF(0, 24, 5) INTC PIRQC
130fe3fbd30SBin Meng					PCI_BDF(0, 24, 6) INTD PIRQD
131fe3fbd30SBin Meng					PCI_BDF(0, 24, 7) INTB PIRQB
132fe3fbd30SBin Meng					PCI_BDF(0, 26, 0) INTA PIRQA
133fe3fbd30SBin Meng					PCI_BDF(0, 27, 0) INTA PIRQA
134fe3fbd30SBin Meng					PCI_BDF(0, 28, 0) INTA PIRQA
135fe3fbd30SBin Meng					PCI_BDF(0, 28, 1) INTB PIRQB
136fe3fbd30SBin Meng					PCI_BDF(0, 28, 2) INTC PIRQC
137fe3fbd30SBin Meng					PCI_BDF(0, 28, 3) INTD PIRQD
138fe3fbd30SBin Meng					PCI_BDF(0, 29, 0) INTA PIRQA
139fe3fbd30SBin Meng					PCI_BDF(0, 30, 0) INTA PIRQA
140fe3fbd30SBin Meng					PCI_BDF(0, 30, 1) INTD PIRQD
141fe3fbd30SBin Meng					PCI_BDF(0, 30, 2) INTB PIRQB
142fe3fbd30SBin Meng					PCI_BDF(0, 30, 3) INTC PIRQC
143fe3fbd30SBin Meng					PCI_BDF(0, 30, 4) INTD PIRQD
144fe3fbd30SBin Meng					PCI_BDF(0, 30, 5) INTB PIRQB
145fe3fbd30SBin Meng					PCI_BDF(0, 31, 3) INTB PIRQB
146fe3fbd30SBin Meng
147f2b85ab5SSimon Glass					/*
148f2b85ab5SSimon Glass					 * PCIe root ports downstream
149f2b85ab5SSimon Glass					 * interrupts
150f2b85ab5SSimon Glass					 */
151fe3fbd30SBin Meng					PCI_BDF(1, 0, 0) INTA PIRQA
152fe3fbd30SBin Meng					PCI_BDF(1, 0, 0) INTB PIRQB
153fe3fbd30SBin Meng					PCI_BDF(1, 0, 0) INTC PIRQC
154fe3fbd30SBin Meng					PCI_BDF(1, 0, 0) INTD PIRQD
155fe3fbd30SBin Meng					PCI_BDF(2, 0, 0) INTA PIRQB
156fe3fbd30SBin Meng					PCI_BDF(2, 0, 0) INTB PIRQC
157fe3fbd30SBin Meng					PCI_BDF(2, 0, 0) INTC PIRQD
158fe3fbd30SBin Meng					PCI_BDF(2, 0, 0) INTD PIRQA
159fe3fbd30SBin Meng					PCI_BDF(3, 0, 0) INTA PIRQC
160fe3fbd30SBin Meng					PCI_BDF(3, 0, 0) INTB PIRQD
161fe3fbd30SBin Meng					PCI_BDF(3, 0, 0) INTC PIRQA
162fe3fbd30SBin Meng					PCI_BDF(3, 0, 0) INTD PIRQB
163fe3fbd30SBin Meng					PCI_BDF(4, 0, 0) INTA PIRQD
164fe3fbd30SBin Meng					PCI_BDF(4, 0, 0) INTB PIRQA
165fe3fbd30SBin Meng					PCI_BDF(4, 0, 0) INTC PIRQB
166fe3fbd30SBin Meng					PCI_BDF(4, 0, 0) INTD PIRQC
167fe3fbd30SBin Meng				>;
168fe3fbd30SBin Meng			};
169f2b85ab5SSimon Glass
17081aaa3d9SBin Meng			spi: spi {
171f2b85ab5SSimon Glass				#address-cells = <1>;
172f2b85ab5SSimon Glass				#size-cells = <0>;
1731f9eb59dSBin Meng				compatible = "intel,ich9-spi";
174f2b85ab5SSimon Glass				spi-flash@0 {
175f2b85ab5SSimon Glass					#address-cells = <1>;
176f2b85ab5SSimon Glass					#size-cells = <1>;
177f2b85ab5SSimon Glass					reg = <0>;
178f2b85ab5SSimon Glass					compatible = "winbond,w25q64dw",
179f2b85ab5SSimon Glass						"spi-flash";
180f2b85ab5SSimon Glass					memory-map = <0xff800000 0x00800000>;
181f2b85ab5SSimon Glass					rw-mrc-cache {
182f2b85ab5SSimon Glass						label = "rw-mrc-cache";
183f2b85ab5SSimon Glass						reg = <0x006e0000 0x00010000>;
184f2b85ab5SSimon Glass					};
185f2b85ab5SSimon Glass				};
186f2b85ab5SSimon Glass			};
1873ddc1c7bSBin Meng
1883ddc1c7bSBin Meng			gpioa {
1893ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
1903ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
1913ddc1c7bSBin Meng				reg = <0 0x20>;
1923ddc1c7bSBin Meng				bank-name = "A";
193770ee017SBin Meng				use-lvl-write-cache;
1943ddc1c7bSBin Meng			};
1953ddc1c7bSBin Meng
1963ddc1c7bSBin Meng			gpiob {
1973ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
1983ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
1993ddc1c7bSBin Meng				reg = <0x20 0x20>;
2003ddc1c7bSBin Meng				bank-name = "B";
201770ee017SBin Meng				use-lvl-write-cache;
2023ddc1c7bSBin Meng			};
2033ddc1c7bSBin Meng
2043ddc1c7bSBin Meng			gpioc {
2053ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2063ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2073ddc1c7bSBin Meng				reg = <0x40 0x20>;
2083ddc1c7bSBin Meng				bank-name = "C";
209770ee017SBin Meng				use-lvl-write-cache;
2103ddc1c7bSBin Meng			};
2113ddc1c7bSBin Meng
2123ddc1c7bSBin Meng			gpiod {
2133ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2143ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2153ddc1c7bSBin Meng				reg = <0x60 0x20>;
2163ddc1c7bSBin Meng				bank-name = "D";
217770ee017SBin Meng				use-lvl-write-cache;
2183ddc1c7bSBin Meng			};
2193ddc1c7bSBin Meng
2203ddc1c7bSBin Meng			gpioe {
2213ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2223ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2233ddc1c7bSBin Meng				reg = <0x80 0x20>;
2243ddc1c7bSBin Meng				bank-name = "E";
225770ee017SBin Meng				use-lvl-write-cache;
2263ddc1c7bSBin Meng			};
2273ddc1c7bSBin Meng
2283ddc1c7bSBin Meng			gpiof {
2293ddc1c7bSBin Meng				compatible = "intel,ich6-gpio";
2303ddc1c7bSBin Meng				u-boot,dm-pre-reloc;
2313ddc1c7bSBin Meng				reg = <0xA0 0x20>;
2323ddc1c7bSBin Meng				bank-name = "F";
233770ee017SBin Meng				use-lvl-write-cache;
2343ddc1c7bSBin Meng			};
235f2b85ab5SSimon Glass		};
2369b911bedSBin Meng	};
2379b911bedSBin Meng
238f3b84a30SAndrew Bradford	fsp {
239f3b84a30SAndrew Bradford		compatible = "intel,baytrail-fsp";
2405e74e5a6SBin Meng		fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_1MB>;
2415e74e5a6SBin Meng		fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>;
242f3b84a30SAndrew Bradford		fsp,mrc-init-spd-addr1 = <0xa0>;
243f3b84a30SAndrew Bradford		fsp,mrc-init-spd-addr2 = <0xa2>;
2445e74e5a6SBin Meng		fsp,emmc-boot-mode = <EMMC_BOOT_MODE_AUTO>;
245f3b84a30SAndrew Bradford		fsp,enable-sdio;
246f3b84a30SAndrew Bradford		fsp,enable-sdcard;
247f3b84a30SAndrew Bradford		fsp,enable-hsuart1;
248f3b84a30SAndrew Bradford		fsp,enable-spi;
249f3b84a30SAndrew Bradford		fsp,enable-sata;
2505e74e5a6SBin Meng		fsp,sata-mode = <SATA_MODE_AHCI>;
251*f8f291b0SBin Meng		fsp,lpe-mode = <LPE_MODE_PCI>;
252*f8f291b0SBin Meng		fsp,lpss-sio-mode = <LPSS_SIO_MODE_PCI>;
253f3b84a30SAndrew Bradford		fsp,enable-dma0;
254f3b84a30SAndrew Bradford		fsp,enable-dma1;
255f3b84a30SAndrew Bradford		fsp,enable-i2c0;
256f3b84a30SAndrew Bradford		fsp,enable-i2c1;
257f3b84a30SAndrew Bradford		fsp,enable-i2c2;
258f3b84a30SAndrew Bradford		fsp,enable-i2c3;
259f3b84a30SAndrew Bradford		fsp,enable-i2c4;
260f3b84a30SAndrew Bradford		fsp,enable-i2c5;
261f3b84a30SAndrew Bradford		fsp,enable-i2c6;
262f3b84a30SAndrew Bradford		fsp,enable-pwm0;
263f3b84a30SAndrew Bradford		fsp,enable-pwm1;
2645e74e5a6SBin Meng		fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_64MB>;
2655e74e5a6SBin Meng		fsp,aperture-size = <APERTURE_SIZE_256MB>;
2665e74e5a6SBin Meng		fsp,gtt-size = <GTT_SIZE_2MB>;
267*f8f291b0SBin Meng		fsp,scc-mode = <SCC_MODE_PCI>;
2685e74e5a6SBin Meng		fsp,os-selection = <OS_SELECTION_LINUX>;
269f3b84a30SAndrew Bradford		fsp,emmc45-ddr50-enabled;
270f3b84a30SAndrew Bradford		fsp,emmc45-retune-timer-value = <8>;
271f3b84a30SAndrew Bradford		fsp,enable-igd;
272f3b84a30SAndrew Bradford	};
273f3b84a30SAndrew Bradford
2749b911bedSBin Meng	microcode {
2759b911bedSBin Meng		update@0 {
2769b911bedSBin Meng#include "microcode/m0230671117.dtsi"
2779b911bedSBin Meng		};
2785fb01516SBin Meng		update@1 {
279bab4b961SBin Meng#include "microcode/m0130673325.dtsi"
2805fb01516SBin Meng		};
2815fb01516SBin Meng		update@2 {
282bab4b961SBin Meng#include "microcode/m0130679907.dtsi"
2835fb01516SBin Meng		};
2849b911bedSBin Meng	};
2859b911bedSBin Meng
2869b911bedSBin Meng};
287