xref: /openbmc/u-boot/arch/x86/dts/cherryhill.dts (revision e0ed8332fa2fe684b4c8ba1caab991663730cbf0)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
2eb45787bSBin Meng/*
3eb45787bSBin Meng * Copyright (C) 2017, Bin Meng <bmeng.cn@gmail.com>
4eb45787bSBin Meng */
5eb45787bSBin Meng
6eb45787bSBin Meng/dts-v1/;
7eb45787bSBin Meng
8eb45787bSBin Meng#include <asm/arch-braswell/fsp/fsp_configs.h>
9eb45787bSBin Meng#include <dt-bindings/interrupt-router/intel-irq.h>
10eb45787bSBin Meng
11eb45787bSBin Meng/include/ "skeleton.dtsi"
12eb45787bSBin Meng/include/ "serial.dtsi"
13*b37b7b20SBin Meng/include/ "reset.dtsi"
14eb45787bSBin Meng/include/ "rtc.dtsi"
15eb45787bSBin Meng/include/ "tsc_timer.dtsi"
16eb45787bSBin Meng
17eb45787bSBin Meng/ {
18eb45787bSBin Meng	model = "Intel Cherry Hill";
19eb45787bSBin Meng	compatible = "intel,cherryhill", "intel,braswell";
20eb45787bSBin Meng
21eb45787bSBin Meng	aliases {
22eb45787bSBin Meng		serial0 = &serial;
23eb45787bSBin Meng		spi0 = &spi;
24eb45787bSBin Meng	};
25eb45787bSBin Meng
26eb45787bSBin Meng	config {
27eb45787bSBin Meng		silent_console = <0>;
28eb45787bSBin Meng	};
29eb45787bSBin Meng
30eb45787bSBin Meng	chosen {
31eb45787bSBin Meng		stdout-path = "/serial";
32eb45787bSBin Meng	};
33eb45787bSBin Meng
34eb45787bSBin Meng	cpus {
35eb45787bSBin Meng		#address-cells = <1>;
36eb45787bSBin Meng		#size-cells = <0>;
37eb45787bSBin Meng
38eb45787bSBin Meng		cpu@0 {
39eb45787bSBin Meng			device_type = "cpu";
404a5a7fcaSBin Meng			compatible = "cpu-x86";
41eb45787bSBin Meng			reg = <0>;
42eb45787bSBin Meng			intel,apic-id = <0>;
43eb45787bSBin Meng		};
44eb45787bSBin Meng
45eb45787bSBin Meng		cpu@1 {
46eb45787bSBin Meng			device_type = "cpu";
474a5a7fcaSBin Meng			compatible = "cpu-x86";
48eb45787bSBin Meng			reg = <1>;
49eb45787bSBin Meng			intel,apic-id = <2>;
50eb45787bSBin Meng		};
51eb45787bSBin Meng
52eb45787bSBin Meng		cpu@2 {
53eb45787bSBin Meng			device_type = "cpu";
544a5a7fcaSBin Meng			compatible = "cpu-x86";
55eb45787bSBin Meng			reg = <2>;
56eb45787bSBin Meng			intel,apic-id = <4>;
57eb45787bSBin Meng		};
58eb45787bSBin Meng
59eb45787bSBin Meng		cpu@3 {
60eb45787bSBin Meng			device_type = "cpu";
614a5a7fcaSBin Meng			compatible = "cpu-x86";
62eb45787bSBin Meng			reg = <3>;
63eb45787bSBin Meng			intel,apic-id = <6>;
64eb45787bSBin Meng		};
65eb45787bSBin Meng	};
66eb45787bSBin Meng
67eb45787bSBin Meng	pci {
68eb45787bSBin Meng		compatible = "pci-x86";
69eb45787bSBin Meng		#address-cells = <3>;
70eb45787bSBin Meng		#size-cells = <2>;
71eb45787bSBin Meng		u-boot,dm-pre-reloc;
72eb45787bSBin Meng		ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000
73eb45787bSBin Meng			  0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
74eb45787bSBin Meng			  0x01000000 0x0 0x2000 0x2000 0 0xe000>;
75eb45787bSBin Meng
76eb45787bSBin Meng		pch@1f,0 {
77eb45787bSBin Meng			reg = <0x0000f800 0 0 0 0>;
78eb45787bSBin Meng			compatible = "intel,pch9";
79eb45787bSBin Meng
80eb45787bSBin Meng			irq-router {
81eb45787bSBin Meng				compatible = "intel,irq-router";
82eb45787bSBin Meng				intel,pirq-config = "ibase";
83eb45787bSBin Meng				intel,ibase-offset = <0x50>;
84eb45787bSBin Meng				intel,pirq-link = <8 8>;
85eb45787bSBin Meng				intel,pirq-mask = <0xdee0>;
86eb45787bSBin Meng				intel,pirq-routing = <
87eb45787bSBin Meng					/* Braswell PCI devices */
88eb45787bSBin Meng					PCI_BDF(0, 2, 0) INTA PIRQA
89eb45787bSBin Meng					PCI_BDF(0, 3, 0) INTA PIRQA
90eb45787bSBin Meng					PCI_BDF(0, 11, 0) INTA PIRQA
91eb45787bSBin Meng					PCI_BDF(0, 16, 0) INTA PIRQA
92eb45787bSBin Meng					PCI_BDF(0, 17, 0) INTA PIRQA
93eb45787bSBin Meng					PCI_BDF(0, 18, 0) INTA PIRQA
94eb45787bSBin Meng					PCI_BDF(0, 19, 0) INTA PIRQA
95eb45787bSBin Meng					PCI_BDF(0, 20, 0) INTA PIRQA
96eb45787bSBin Meng					PCI_BDF(0, 21, 0) INTA PIRQA
97eb45787bSBin Meng					PCI_BDF(0, 24, 0) INTA PIRQA
98eb45787bSBin Meng					PCI_BDF(0, 24, 1) INTC PIRQC
99eb45787bSBin Meng					PCI_BDF(0, 24, 2) INTD PIRQD
100eb45787bSBin Meng					PCI_BDF(0, 24, 3) INTB PIRQB
101eb45787bSBin Meng					PCI_BDF(0, 24, 4) INTA PIRQA
102eb45787bSBin Meng					PCI_BDF(0, 24, 5) INTC PIRQC
103eb45787bSBin Meng					PCI_BDF(0, 24, 6) INTD PIRQD
104eb45787bSBin Meng					PCI_BDF(0, 24, 7) INTB PIRQB
105eb45787bSBin Meng					PCI_BDF(0, 26, 0) INTA PIRQA
106eb45787bSBin Meng					PCI_BDF(0, 27, 0) INTA PIRQA
107eb45787bSBin Meng					PCI_BDF(0, 28, 0) INTA PIRQA
108eb45787bSBin Meng					PCI_BDF(0, 28, 1) INTB PIRQB
109eb45787bSBin Meng					PCI_BDF(0, 28, 2) INTC PIRQC
110eb45787bSBin Meng					PCI_BDF(0, 28, 3) INTD PIRQD
111eb45787bSBin Meng					PCI_BDF(0, 30, 0) INTA PIRQA
112eb45787bSBin Meng					PCI_BDF(0, 30, 3) INTA PIRQA
113eb45787bSBin Meng					PCI_BDF(0, 30, 4) INTA PIRQA
114eb45787bSBin Meng					PCI_BDF(0, 31, 0) INTB PIRQB
115eb45787bSBin Meng					PCI_BDF(0, 31, 3) INTB PIRQB
116eb45787bSBin Meng
117eb45787bSBin Meng					/*
118eb45787bSBin Meng					 * PCIe root ports downstream
119eb45787bSBin Meng					 * interrupts
120eb45787bSBin Meng					 */
121eb45787bSBin Meng					PCI_BDF(1, 0, 0) INTA PIRQA
122eb45787bSBin Meng					PCI_BDF(1, 0, 0) INTB PIRQB
123eb45787bSBin Meng					PCI_BDF(1, 0, 0) INTC PIRQC
124eb45787bSBin Meng					PCI_BDF(1, 0, 0) INTD PIRQD
125eb45787bSBin Meng					PCI_BDF(2, 0, 0) INTA PIRQB
126eb45787bSBin Meng					PCI_BDF(2, 0, 0) INTB PIRQC
127eb45787bSBin Meng					PCI_BDF(2, 0, 0) INTC PIRQD
128eb45787bSBin Meng					PCI_BDF(2, 0, 0) INTD PIRQA
129eb45787bSBin Meng					PCI_BDF(3, 0, 0) INTA PIRQC
130eb45787bSBin Meng					PCI_BDF(3, 0, 0) INTB PIRQD
131eb45787bSBin Meng					PCI_BDF(3, 0, 0) INTC PIRQA
132eb45787bSBin Meng					PCI_BDF(3, 0, 0) INTD PIRQB
133eb45787bSBin Meng					PCI_BDF(4, 0, 0) INTA PIRQD
134eb45787bSBin Meng					PCI_BDF(4, 0, 0) INTB PIRQA
135eb45787bSBin Meng					PCI_BDF(4, 0, 0) INTC PIRQB
136eb45787bSBin Meng					PCI_BDF(4, 0, 0) INTD PIRQC
137eb45787bSBin Meng				>;
138eb45787bSBin Meng			};
139eb45787bSBin Meng
140eb45787bSBin Meng			spi: spi {
141eb45787bSBin Meng				#address-cells = <1>;
142eb45787bSBin Meng				#size-cells = <0>;
143eb45787bSBin Meng				compatible = "intel,ich9-spi";
1444c9f4c5eSBin Meng				intel,spi-lock-down;
145eb45787bSBin Meng
146eb45787bSBin Meng				spi-flash@0 {
147eb45787bSBin Meng					#address-cells = <1>;
148eb45787bSBin Meng					#size-cells = <1>;
149eb45787bSBin Meng					reg = <0>;
150eb45787bSBin Meng					compatible = "macronix,mx25u6435f", "spi-flash";
151eb45787bSBin Meng					memory-map = <0xff800000 0x00800000>;
152eb45787bSBin Meng					rw-mrc-cache {
153eb45787bSBin Meng						label = "rw-mrc-cache";
154eb45787bSBin Meng						reg = <0x005e0000 0x00010000>;
155eb45787bSBin Meng					};
156eb45787bSBin Meng				};
157eb45787bSBin Meng			};
158eb45787bSBin Meng		};
159eb45787bSBin Meng	};
160eb45787bSBin Meng
161eb45787bSBin Meng	fsp {
162eb45787bSBin Meng		compatible = "intel,braswell-fsp";
163eb45787bSBin Meng		fsp,memory-upd {
164eb45787bSBin Meng			compatible = "intel,braswell-fsp-memory";
165eb45787bSBin Meng			fsp,mrc-init-tseg-size = <MRC_INIT_TSEG_SIZE_4MB>;
166eb45787bSBin Meng			fsp,mrc-init-mmio-size = <MRC_INIT_MMIO_SIZE_2048MB>;
167eb45787bSBin Meng			fsp,mrc-init-spd-addr1 = <0xa0>;
168eb45787bSBin Meng			fsp,mrc-init-spd-addr2 = <0xa2>;
169eb45787bSBin Meng			fsp,igd-dvmt50-pre-alloc = <IGD_DVMT50_PRE_ALLOC_32MB>;
170eb45787bSBin Meng			fsp,aperture-size = <APERTURE_SIZE_256MB>;
171eb45787bSBin Meng			fsp,gtt-size = <GTT_SIZE_1MB>;
172eb45787bSBin Meng			fsp,enable-dvfs;
173eb45787bSBin Meng			fsp,memory-type = <DRAM_TYPE_DDR3>;
174eb45787bSBin Meng		};
175eb45787bSBin Meng		fsp,silicon-upd {
176eb45787bSBin Meng			compatible = "intel,braswell-fsp-silicon";
177eb45787bSBin Meng			fsp,sdcard-mode = <SDCARD_MODE_PCI>;
178eb45787bSBin Meng			fsp,enable-hsuart1;
179eb45787bSBin Meng			fsp,enable-sata;
180eb45787bSBin Meng			fsp,enable-xhci;
181eb45787bSBin Meng			fsp,lpe-mode = <LPE_MODE_PCI>;
182eb45787bSBin Meng			fsp,enable-dma0;
183eb45787bSBin Meng			fsp,enable-dma1;
184eb45787bSBin Meng			fsp,enable-i2c0;
185eb45787bSBin Meng			fsp,enable-i2c1;
186eb45787bSBin Meng			fsp,enable-i2c2;
187eb45787bSBin Meng			fsp,enable-i2c3;
188eb45787bSBin Meng			fsp,enable-i2c4;
189eb45787bSBin Meng			fsp,enable-i2c5;
190eb45787bSBin Meng			fsp,enable-i2c6;
191eb45787bSBin Meng			fsp,emmc-mode = <EMMC_MODE_PCI>;
192eb45787bSBin Meng			fsp,sata-speed = <SATA_SPEED_GEN3>;
193eb45787bSBin Meng			fsp,pmic-i2c-bus = <0>;
194eb45787bSBin Meng			fsp,enable-isp;
195eb45787bSBin Meng			fsp,isp-pci-dev-config = <ISP_PCI_DEV_CONFIG_2>;
196eb45787bSBin Meng			fsp,pnp-settings = <PNP_SETTING_POWER_AND_PERF>;
197eb45787bSBin Meng			fsp,sd-detect-chk;
198eb45787bSBin Meng		};
199eb45787bSBin Meng	};
200eb45787bSBin Meng
201eb45787bSBin Meng	microcode {
202eb45787bSBin Meng		update@0 {
203eb45787bSBin Meng#include "microcode/m01406c2220.dtsi"
204eb45787bSBin Meng		};
205eb45787bSBin Meng		update@1 {
206eb45787bSBin Meng#include "microcode/m01406c3363.dtsi"
207eb45787bSBin Meng		};
208eb45787bSBin Meng		update@2 {
209eb45787bSBin Meng#include "microcode/m01406c440a.dtsi"
210eb45787bSBin Meng		};
211eb45787bSBin Meng	};
212eb45787bSBin Meng
213eb45787bSBin Meng};
214