xref: /openbmc/u-boot/arch/x86/dts/baytrail_som-db5800-som-6867.dts (revision e0ed8332fa2fe684b4c8ba1caab991663730cbf0)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
2215099a5SGeorge McCollister/*
3215099a5SGeorge McCollister * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
4215099a5SGeorge McCollister * Copyright (C) 2016, George McCollister <george.mccollister@gmail.com>
5215099a5SGeorge McCollister */
6215099a5SGeorge McCollister
7215099a5SGeorge McCollister/dts-v1/;
8215099a5SGeorge McCollister
95e74e5a6SBin Meng#include <asm/arch-baytrail/fsp/fsp_configs.h>
10215099a5SGeorge McCollister#include <dt-bindings/gpio/x86-gpio.h>
11215099a5SGeorge McCollister#include <dt-bindings/interrupt-router/intel-irq.h>
12215099a5SGeorge McCollister
13215099a5SGeorge McCollister/include/ "skeleton.dtsi"
14215099a5SGeorge McCollister/include/ "serial.dtsi"
15*b37b7b20SBin Meng/include/ "reset.dtsi"
16215099a5SGeorge McCollister/include/ "rtc.dtsi"
17215099a5SGeorge McCollister/include/ "tsc_timer.dtsi"
18215099a5SGeorge McCollister
19215099a5SGeorge McCollister/ {
20215099a5SGeorge McCollister	model = "Advantech SOM-DB5800-SOM-6867";
21215099a5SGeorge McCollister	compatible = "advantech,som-db5800-som-6867", "intel,baytrail";
22215099a5SGeorge McCollister
23215099a5SGeorge McCollister	aliases {
24215099a5SGeorge McCollister		serial0 = &serial;
25215099a5SGeorge McCollister		spi0 = &spi;
26215099a5SGeorge McCollister	};
27215099a5SGeorge McCollister
28215099a5SGeorge McCollister	config {
29215099a5SGeorge McCollister		silent_console = <0>;
30215099a5SGeorge McCollister	};
31215099a5SGeorge McCollister
32215099a5SGeorge McCollister	pch_pinctrl {
33215099a5SGeorge McCollister		compatible = "intel,x86-pinctrl";
34215099a5SGeorge McCollister		reg = <0 0>;
35215099a5SGeorge McCollister
36215099a5SGeorge McCollister		/* HDA_RSTB */
37215099a5SGeorge McCollister		soc_gpio_s0_8@0 {
38215099a5SGeorge McCollister			pad-offset = <0x220>;
39215099a5SGeorge McCollister			mode-func = <2>;
40215099a5SGeorge McCollister		};
41215099a5SGeorge McCollister
42215099a5SGeorge McCollister		/* HDA_SYNC */
43215099a5SGeorge McCollister		soc_gpio_s0_9@0 {
44215099a5SGeorge McCollister			pad-offset = <0x250>;
45215099a5SGeorge McCollister			mode-func = <2>;
46215099a5SGeorge McCollister			pull-assign = <1>;
47215099a5SGeorge McCollister		};
48215099a5SGeorge McCollister
49215099a5SGeorge McCollister		/* HDA_CLK */
50215099a5SGeorge McCollister		soc_gpio_s0_10@0 {
51215099a5SGeorge McCollister			pad-offset = <0x240>;
52215099a5SGeorge McCollister			mode-func = <2>;
53215099a5SGeorge McCollister		};
54215099a5SGeorge McCollister
55215099a5SGeorge McCollister		/* HDA_SDO */
56215099a5SGeorge McCollister		soc_gpio_s0_11@0 {
57215099a5SGeorge McCollister			pad-offset = <0x260>;
58215099a5SGeorge McCollister			mode-func = <2>;
59215099a5SGeorge McCollister			pull-assign = <1>;
60215099a5SGeorge McCollister		};
61215099a5SGeorge McCollister
62215099a5SGeorge McCollister		/* HDA_SDI0 */
63215099a5SGeorge McCollister		soc_gpio_s0_12@0 {
64215099a5SGeorge McCollister			pad-offset = <0x270>;
65215099a5SGeorge McCollister			mode-func = <2>;
66215099a5SGeorge McCollister		};
67144fdbdeSGeorge McCollister
68144fdbdeSGeorge McCollister		/* SERIRQ */
69144fdbdeSGeorge McCollister		soc_gpio_s0_50@0 {
70144fdbdeSGeorge McCollister			pad-offset = <0x560>;
71144fdbdeSGeorge McCollister			mode-func = <1>;
72144fdbdeSGeorge McCollister		};
73215099a5SGeorge McCollister	};
74215099a5SGeorge McCollister
75215099a5SGeorge McCollister	chosen {
76215099a5SGeorge McCollister		stdout-path = "/serial";
77215099a5SGeorge McCollister	};
78215099a5SGeorge McCollister
79215099a5SGeorge McCollister	cpus {
80215099a5SGeorge McCollister		#address-cells = <1>;
81215099a5SGeorge McCollister		#size-cells = <0>;
82215099a5SGeorge McCollister
83215099a5SGeorge McCollister		cpu@0 {
84215099a5SGeorge McCollister			device_type = "cpu";
85215099a5SGeorge McCollister			compatible = "intel,baytrail-cpu";
86215099a5SGeorge McCollister			reg = <0>;
87215099a5SGeorge McCollister			intel,apic-id = <0>;
88215099a5SGeorge McCollister		};
89215099a5SGeorge McCollister
90215099a5SGeorge McCollister		cpu@1 {
91215099a5SGeorge McCollister			device_type = "cpu";
92215099a5SGeorge McCollister			compatible = "intel,baytrail-cpu";
93215099a5SGeorge McCollister			reg = <1>;
94215099a5SGeorge McCollister			intel,apic-id = <2>;
95215099a5SGeorge McCollister		};
96215099a5SGeorge McCollister
97215099a5SGeorge McCollister		cpu@2 {
98215099a5SGeorge McCollister			device_type = "cpu";
99215099a5SGeorge McCollister			compatible = "intel,baytrail-cpu";
100215099a5SGeorge McCollister			reg = <2>;
101215099a5SGeorge McCollister			intel,apic-id = <4>;
102215099a5SGeorge McCollister		};
103215099a5SGeorge McCollister
104215099a5SGeorge McCollister		cpu@3 {
105215099a5SGeorge McCollister			device_type = "cpu";
106215099a5SGeorge McCollister			compatible = "intel,baytrail-cpu";
107215099a5SGeorge McCollister			reg = <3>;
108215099a5SGeorge McCollister			intel,apic-id = <6>;
109215099a5SGeorge McCollister		};
110215099a5SGeorge McCollister
111215099a5SGeorge McCollister	};
112215099a5SGeorge McCollister
113215099a5SGeorge McCollister	pci {
114215099a5SGeorge McCollister		compatible = "intel,pci-baytrail", "pci-x86";
115215099a5SGeorge McCollister		#address-cells = <3>;
116215099a5SGeorge McCollister		#size-cells = <2>;
117215099a5SGeorge McCollister		u-boot,dm-pre-reloc;
118215099a5SGeorge McCollister		ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000
119215099a5SGeorge McCollister			  0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
120215099a5SGeorge McCollister			  0x01000000 0x0 0x2000 0x2000 0 0xe000>;
121215099a5SGeorge McCollister
122215099a5SGeorge McCollister		pch@1f,0 {
123215099a5SGeorge McCollister			reg = <0x0000f800 0 0 0 0>;
124215099a5SGeorge McCollister			compatible = "pci8086,0f1c", "intel,pch9";
125215099a5SGeorge McCollister			#address-cells = <1>;
126215099a5SGeorge McCollister			#size-cells = <1>;
127215099a5SGeorge McCollister
128215099a5SGeorge McCollister			irq-router {
129215099a5SGeorge McCollister				compatible = "intel,irq-router";
130215099a5SGeorge McCollister				intel,pirq-config = "ibase";
131215099a5SGeorge McCollister				intel,ibase-offset = <0x50>;
132215099a5SGeorge McCollister				intel,actl-addr = <0>;
133215099a5SGeorge McCollister				intel,pirq-link = <8 8>;
134215099a5SGeorge McCollister				intel,pirq-mask = <0xdee0>;
135215099a5SGeorge McCollister				intel,pirq-routing = <
136215099a5SGeorge McCollister					/* BayTrail PCI devices */
137215099a5SGeorge McCollister					PCI_BDF(0, 2, 0) INTA PIRQA
138215099a5SGeorge McCollister					PCI_BDF(0, 3, 0) INTA PIRQA
139215099a5SGeorge McCollister					PCI_BDF(0, 16, 0) INTA PIRQA
140215099a5SGeorge McCollister					PCI_BDF(0, 17, 0) INTA PIRQA
141215099a5SGeorge McCollister					PCI_BDF(0, 18, 0) INTA PIRQA
142215099a5SGeorge McCollister					PCI_BDF(0, 19, 0) INTA PIRQA
143215099a5SGeorge McCollister					PCI_BDF(0, 20, 0) INTA PIRQA
144215099a5SGeorge McCollister					PCI_BDF(0, 21, 0) INTA PIRQA
145215099a5SGeorge McCollister					PCI_BDF(0, 22, 0) INTA PIRQA
146215099a5SGeorge McCollister					PCI_BDF(0, 23, 0) INTA PIRQA
147215099a5SGeorge McCollister					PCI_BDF(0, 24, 0) INTA PIRQA
148215099a5SGeorge McCollister					PCI_BDF(0, 24, 1) INTC PIRQC
149215099a5SGeorge McCollister					PCI_BDF(0, 24, 2) INTD PIRQD
150215099a5SGeorge McCollister					PCI_BDF(0, 24, 3) INTB PIRQB
151215099a5SGeorge McCollister					PCI_BDF(0, 24, 4) INTA PIRQA
152215099a5SGeorge McCollister					PCI_BDF(0, 24, 5) INTC PIRQC
153215099a5SGeorge McCollister					PCI_BDF(0, 24, 6) INTD PIRQD
154215099a5SGeorge McCollister					PCI_BDF(0, 24, 7) INTB PIRQB
155215099a5SGeorge McCollister					PCI_BDF(0, 26, 0) INTA PIRQA
156215099a5SGeorge McCollister					PCI_BDF(0, 27, 0) INTA PIRQA
157215099a5SGeorge McCollister					PCI_BDF(0, 28, 0) INTA PIRQA
158215099a5SGeorge McCollister					PCI_BDF(0, 28, 1) INTB PIRQB
159215099a5SGeorge McCollister					PCI_BDF(0, 28, 2) INTC PIRQC
160215099a5SGeorge McCollister					PCI_BDF(0, 28, 3) INTD PIRQD
161215099a5SGeorge McCollister					PCI_BDF(0, 29, 0) INTA PIRQA
162215099a5SGeorge McCollister					PCI_BDF(0, 30, 0) INTA PIRQA
163215099a5SGeorge McCollister					PCI_BDF(0, 30, 1) INTD PIRQD
164215099a5SGeorge McCollister					PCI_BDF(0, 30, 2) INTB PIRQB
165215099a5SGeorge McCollister					PCI_BDF(0, 30, 3) INTC PIRQC
166215099a5SGeorge McCollister					PCI_BDF(0, 30, 4) INTD PIRQD
167215099a5SGeorge McCollister					PCI_BDF(0, 30, 5) INTB PIRQB
168215099a5SGeorge McCollister					PCI_BDF(0, 31, 3) INTB PIRQB
169215099a5SGeorge McCollister
170215099a5SGeorge McCollister					/*
171215099a5SGeorge McCollister					 * PCIe root ports downstream
172215099a5SGeorge McCollister					 * interrupts
173215099a5SGeorge McCollister					 */
174215099a5SGeorge McCollister					PCI_BDF(1, 0, 0) INTA PIRQA
175215099a5SGeorge McCollister					PCI_BDF(1, 0, 0) INTB PIRQB
176215099a5SGeorge McCollister					PCI_BDF(1, 0, 0) INTC PIRQC
177215099a5SGeorge McCollister					PCI_BDF(1, 0, 0) INTD PIRQD
178215099a5SGeorge McCollister					PCI_BDF(2, 0, 0) INTA PIRQB
179215099a5SGeorge McCollister					PCI_BDF(2, 0, 0) INTB PIRQC
180215099a5SGeorge McCollister					PCI_BDF(2, 0, 0) INTC PIRQD
181215099a5SGeorge McCollister					PCI_BDF(2, 0, 0) INTD PIRQA
182215099a5SGeorge McCollister					PCI_BDF(3, 0, 0) INTA PIRQC
183215099a5SGeorge McCollister					PCI_BDF(3, 0, 0) INTB PIRQD
184215099a5SGeorge McCollister					PCI_BDF(3, 0, 0) INTC PIRQA
185215099a5SGeorge McCollister					PCI_BDF(3, 0, 0) INTD PIRQB
186215099a5SGeorge McCollister					PCI_BDF(4, 0, 0) INTA PIRQD
187215099a5SGeorge McCollister					PCI_BDF(4, 0, 0) INTB PIRQA
188215099a5SGeorge McCollister					PCI_BDF(4, 0, 0) INTC PIRQB
189215099a5SGeorge McCollister					PCI_BDF(4, 0, 0) INTD PIRQC
190215099a5SGeorge McCollister				>;
191215099a5SGeorge McCollister			};
192215099a5SGeorge McCollister
193215099a5SGeorge McCollister			spi: spi {
194215099a5SGeorge McCollister				#address-cells = <1>;
195215099a5SGeorge McCollister				#size-cells = <0>;
196215099a5SGeorge McCollister				compatible = "intel,ich9-spi";
197215099a5SGeorge McCollister				spi-flash@0 {
198215099a5SGeorge McCollister					#address-cells = <1>;
199215099a5SGeorge McCollister					#size-cells = <1>;
200215099a5SGeorge McCollister					reg = <0>;
201215099a5SGeorge McCollister					compatible = "macronix,mx25l6405d",
202215099a5SGeorge McCollister						"spi-flash";
203215099a5SGeorge McCollister					memory-map = <0xff800000 0x00800000>;
204215099a5SGeorge McCollister					rw-mrc-cache {
205215099a5SGeorge McCollister						label = "rw-mrc-cache";
206215099a5SGeorge McCollister						reg = <0x006f0000 0x00010000>;
207215099a5SGeorge McCollister					};
208215099a5SGeorge McCollister				};
209215099a5SGeorge McCollister			};
210215099a5SGeorge McCollister
211215099a5SGeorge McCollister			gpioa {
212215099a5SGeorge McCollister				compatible = "intel,ich6-gpio";
213215099a5SGeorge McCollister				u-boot,dm-pre-reloc;
214215099a5SGeorge McCollister				reg = <0 0x20>;
215215099a5SGeorge McCollister				bank-name = "A";
216770ee017SBin Meng				use-lvl-write-cache;
217215099a5SGeorge McCollister			};
218215099a5SGeorge McCollister
219215099a5SGeorge McCollister			gpiob {
220215099a5SGeorge McCollister				compatible = "intel,ich6-gpio";
221215099a5SGeorge McCollister				u-boot,dm-pre-reloc;
222215099a5SGeorge McCollister				reg = <0x20 0x20>;
223215099a5SGeorge McCollister				bank-name = "B";
224770ee017SBin Meng				use-lvl-write-cache;
225215099a5SGeorge McCollister			};
226215099a5SGeorge McCollister
227215099a5SGeorge McCollister			gpioc {
228215099a5SGeorge McCollister				compatible = "intel,ich6-gpio";
229215099a5SGeorge McCollister				u-boot,dm-pre-reloc;
230215099a5SGeorge McCollister				reg = <0x40 0x20>;
231215099a5SGeorge McCollister				bank-name = "C";
232770ee017SBin Meng				use-lvl-write-cache;
233215099a5SGeorge McCollister			};
234215099a5SGeorge McCollister
235215099a5SGeorge McCollister			gpiod {
236215099a5SGeorge McCollister				compatible = "intel,ich6-gpio";
237215099a5SGeorge McCollister				u-boot,dm-pre-reloc;
238215099a5SGeorge McCollister				reg = <0x60 0x20>;
239215099a5SGeorge McCollister				bank-name = "D";
240770ee017SBin Meng				use-lvl-write-cache;
241215099a5SGeorge McCollister			};
242215099a5SGeorge McCollister
243215099a5SGeorge McCollister			gpioe {
244215099a5SGeorge McCollister				compatible = "intel,ich6-gpio";
245215099a5SGeorge McCollister				u-boot,dm-pre-reloc;
246215099a5SGeorge McCollister				reg = <0x80 0x20>;
247215099a5SGeorge McCollister				bank-name = "E";
248770ee017SBin Meng				use-lvl-write-cache;
249215099a5SGeorge McCollister			};
250215099a5SGeorge McCollister
251215099a5SGeorge McCollister			gpiof {
252215099a5SGeorge McCollister				compatible = "intel,ich6-gpio";
253215099a5SGeorge McCollister				u-boot,dm-pre-reloc;
254215099a5SGeorge McCollister				reg = <0xA0 0x20>;
255215099a5SGeorge McCollister				bank-name = "F";
256770ee017SBin Meng				use-lvl-write-cache;
257215099a5SGeorge McCollister			};
258215099a5SGeorge McCollister		};
259215099a5SGeorge McCollister	};
260215099a5SGeorge McCollister
261215099a5SGeorge McCollister	fsp {
262215099a5SGeorge McCollister		compatible = "intel,baytrail-fsp";
2635e74e5a6SBin Meng		fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_1MB>;
2645e74e5a6SBin Meng		fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>;
265215099a5SGeorge McCollister		fsp,mrc-init-spd-addr1 = <0xa0>;
266215099a5SGeorge McCollister		fsp,mrc-init-spd-addr2 = <0xa2>;
267215099a5SGeorge McCollister		fsp,enable-spi;
268215099a5SGeorge McCollister		fsp,enable-sata;
2695e74e5a6SBin Meng		fsp,sata-mode = <SATA_MODE_AHCI>;
270215099a5SGeorge McCollister		fsp,enable-azalia;
271f8f291b0SBin Meng		fsp,lpss-sio-mode = <LPSS_SIO_MODE_PCI>;
272215099a5SGeorge McCollister		fsp,enable-dma0;
273215099a5SGeorge McCollister		fsp,enable-dma1;
274215099a5SGeorge McCollister		fsp,enable-i2c0;
275215099a5SGeorge McCollister		fsp,enable-i2c1;
276215099a5SGeorge McCollister		fsp,enable-i2c2;
277215099a5SGeorge McCollister		fsp,enable-i2c3;
278215099a5SGeorge McCollister		fsp,enable-i2c4;
279215099a5SGeorge McCollister		fsp,enable-i2c5;
280215099a5SGeorge McCollister		fsp,enable-i2c6;
281215099a5SGeorge McCollister		fsp,enable-pwm0;
282215099a5SGeorge McCollister		fsp,enable-pwm1;
2835e74e5a6SBin Meng		fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_64MB>;
2845e74e5a6SBin Meng		fsp,aperture-size = <APERTURE_SIZE_256MB>;
2855e74e5a6SBin Meng		fsp,gtt-size = <GTT_SIZE_2MB>;
286f8f291b0SBin Meng		fsp,scc-mode = <SCC_MODE_PCI>;
2875e74e5a6SBin Meng		fsp,os-selection = <OS_SELECTION_LINUX>;
288215099a5SGeorge McCollister		fsp,enable-igd;
289215099a5SGeorge McCollister	};
290215099a5SGeorge McCollister
291215099a5SGeorge McCollister	microcode {
292215099a5SGeorge McCollister		update@0 {
293215099a5SGeorge McCollister#include "microcode/m0130673325.dtsi"
294215099a5SGeorge McCollister		};
295215099a5SGeorge McCollister		update@1 {
296215099a5SGeorge McCollister#include "microcode/m0130679907.dtsi"
297215099a5SGeorge McCollister		};
298215099a5SGeorge McCollister	};
299215099a5SGeorge McCollister
300215099a5SGeorge McCollister};
301