blob: f492c35875b65c39a43e155b0b449da8ecd54a4e [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Bin Meng115b5e32014-12-12 21:05:24 +08002/*
3 * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
Bin Meng115b5e32014-12-12 21:05:24 +08004 */
5
6/dts-v1/;
7
Bin Meng51c3b1e2015-05-25 22:35:04 +08008#include <dt-bindings/interrupt-router/intel-irq.h>
9
Bin Mengaea05d82014-12-24 13:06:39 +080010/include/ "skeleton.dtsi"
Bin Meng82db36c2014-12-24 13:06:38 +080011/include/ "serial.dtsi"
Bin Meng50704d32015-11-12 05:33:05 -080012/include/ "keyboard.dtsi"
Bin Meng0b9461d2019-02-26 01:52:22 -080013/include/ "pcspkr.dtsi"
Bin Mengaf5b8d22018-07-19 03:07:33 -070014/include/ "reset.dtsi"
Bin Meng8800c412015-06-23 12:18:43 +080015/include/ "rtc.dtsi"
Bin Meng38de0202015-11-13 00:11:22 -080016/include/ "tsc_timer.dtsi"
Bin Meng115b5e32014-12-12 21:05:24 +080017
18/ {
Bin Meng115b5e32014-12-12 21:05:24 +080019 model = "Intel Crown Bay";
20 compatible = "intel,crownbay", "intel,queensbay";
21
Bin Meng60ccd372015-04-15 12:00:11 +080022 aliases {
Bin Meng4f8d4e92016-01-27 00:56:34 -080023 spi0 = &spi;
Bin Meng60ccd372015-04-15 12:00:11 +080024 };
25
Bin Meng115b5e32014-12-12 21:05:24 +080026 config {
27 silent_console = <0>;
28 };
29
Bin Meng3916df52015-06-17 11:15:39 +080030 cpus {
31 #address-cells = <1>;
32 #size-cells = <0>;
33
34 cpu@0 {
35 device_type = "cpu";
36 compatible = "cpu-x86";
37 reg = <0>;
38 intel,apic-id = <0>;
39 };
40
41 cpu@1 {
42 device_type = "cpu";
43 compatible = "cpu-x86";
44 reg = <1>;
45 intel,apic-id = <1>;
46 };
47
48 };
49
Bin Mengaea05d82014-12-24 13:06:39 +080050 chosen {
Bin Meng37e40302014-12-31 16:05:14 +080051 /*
52 * By default the legacy superio serial port is used as the
53 * U-Boot serial console. If we want to use UART from Topcliff
54 * PCH as the console, change this property to &pciuart#.
55 *
56 * For example, stdout-path = &pciuart0 will use the first
57 * UART on Topcliff PCH.
58 */
Bin Mengaea05d82014-12-24 13:06:39 +080059 stdout-path = "/serial";
Bin Meng115b5e32014-12-12 21:05:24 +080060 };
61
Simon Glass8bfe0662014-12-17 15:50:37 +080062 microcode {
63 update@0 {
64#include "microcode/m0220661105_cv.dtsi"
65 };
66 };
67
Bin Meng37e40302014-12-31 16:05:14 +080068 pci {
69 #address-cells = <3>;
70 #size-cells = <2>;
Bin Mengd0e93732015-07-19 00:20:07 +080071 compatible = "pci-x86";
Bin Mengd0e93732015-07-19 00:20:07 +080072 u-boot,dm-pre-reloc;
73 ranges = <0x02000000 0x0 0x40000000 0x40000000 0 0x80000000
74 0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
75 0x01000000 0x0 0x2000 0x2000 0 0xe000>;
Bin Meng37e40302014-12-31 16:05:14 +080076
77 pcie@17,0 {
78 #address-cells = <3>;
79 #size-cells = <2>;
Bin Meng4521a6c2015-08-24 01:14:03 -070080 compatible = "pci-bridge";
81 u-boot,dm-pre-reloc;
82 reg = <0x0000b800 0x0 0x0 0x0 0x0>;
Bin Meng37e40302014-12-31 16:05:14 +080083
84 topcliff@0,0 {
85 #address-cells = <3>;
86 #size-cells = <2>;
Bin Meng4521a6c2015-08-24 01:14:03 -070087 compatible = "pci-bridge";
88 u-boot,dm-pre-reloc;
89 reg = <0x00010000 0x0 0x0 0x0 0x0>;
Bin Meng37e40302014-12-31 16:05:14 +080090
91 pciuart0: uart@a,1 {
92 compatible = "pci8086,8811.00",
93 "pci8086,8811",
94 "pciclass,070002",
95 "pciclass,0700",
Bin Meng20e9e162015-12-07 05:28:13 -080096 "ns16550";
Bin Meng4521a6c2015-08-24 01:14:03 -070097 u-boot,dm-pre-reloc;
Bin Meng37e40302014-12-31 16:05:14 +080098 reg = <0x00025100 0x0 0x0 0x0 0x0
99 0x01025110 0x0 0x0 0x0 0x0>;
100 reg-shift = <0>;
101 clock-frequency = <1843200>;
102 current-speed = <115200>;
103 };
104
105 pciuart1: uart@a,2 {
106 compatible = "pci8086,8812.00",
107 "pci8086,8812",
108 "pciclass,070002",
109 "pciclass,0700",
Bin Meng20e9e162015-12-07 05:28:13 -0800110 "ns16550";
Bin Meng4521a6c2015-08-24 01:14:03 -0700111 u-boot,dm-pre-reloc;
Bin Meng37e40302014-12-31 16:05:14 +0800112 reg = <0x00025200 0x0 0x0 0x0 0x0
113 0x01025210 0x0 0x0 0x0 0x0>;
114 reg-shift = <0>;
115 clock-frequency = <1843200>;
116 current-speed = <115200>;
117 };
118
119 pciuart2: uart@a,3 {
120 compatible = "pci8086,8813.00",
121 "pci8086,8813",
122 "pciclass,070002",
123 "pciclass,0700",
Bin Meng20e9e162015-12-07 05:28:13 -0800124 "ns16550";
Bin Meng4521a6c2015-08-24 01:14:03 -0700125 u-boot,dm-pre-reloc;
Bin Meng37e40302014-12-31 16:05:14 +0800126 reg = <0x00025300 0x0 0x0 0x0 0x0
127 0x01025310 0x0 0x0 0x0 0x0>;
128 reg-shift = <0>;
129 clock-frequency = <1843200>;
130 current-speed = <115200>;
131 };
132
133 pciuart3: uart@a,4 {
134 compatible = "pci8086,8814.00",
135 "pci8086,8814",
136 "pciclass,070002",
137 "pciclass,0700",
Bin Meng20e9e162015-12-07 05:28:13 -0800138 "ns16550";
Bin Meng4521a6c2015-08-24 01:14:03 -0700139 u-boot,dm-pre-reloc;
Bin Meng37e40302014-12-31 16:05:14 +0800140 reg = <0x00025400 0x0 0x0 0x0 0x0
141 0x01025410 0x0 0x0 0x0 0x0>;
142 reg-shift = <0>;
143 clock-frequency = <1843200>;
144 current-speed = <115200>;
145 };
146 };
147 };
Bin Meng51c3b1e2015-05-25 22:35:04 +0800148
Simon Glass32761632016-01-18 20:19:21 -0700149 pch@1f,0 {
Bin Meng51c3b1e2015-05-25 22:35:04 +0800150 reg = <0x0000f800 0 0 0 0>;
Simon Glass32761632016-01-18 20:19:21 -0700151 compatible = "intel,pch7";
Bin Meng6e916cc2016-02-01 01:40:47 -0800152 #address-cells = <1>;
153 #size-cells = <1>;
Simon Glass32761632016-01-18 20:19:21 -0700154
155 irq-router {
Bin Meng0c9f5942018-06-03 19:04:22 -0700156 compatible = "intel,irq-router";
Simon Glass32761632016-01-18 20:19:21 -0700157 intel,pirq-config = "pci";
Bin Meng0651f622016-05-07 07:46:15 -0700158 intel,actl-addr = <0x58>;
Simon Glass32761632016-01-18 20:19:21 -0700159 intel,pirq-link = <0x60 8>;
160 intel,pirq-mask = <0xcee0>;
161 intel,pirq-routing = <
162 /* TunnelCreek PCI devices */
163 PCI_BDF(0, 2, 0) INTA PIRQE
164 PCI_BDF(0, 3, 0) INTA PIRQF
165 PCI_BDF(0, 23, 0) INTA PIRQA
166 PCI_BDF(0, 23, 0) INTB PIRQB
167 PCI_BDF(0, 23, 0) INTC PIRQC
168 PCI_BDF(0, 23, 0) INTD PIRQD
169 PCI_BDF(0, 24, 0) INTA PIRQB
170 PCI_BDF(0, 24, 0) INTB PIRQC
171 PCI_BDF(0, 24, 0) INTC PIRQD
172 PCI_BDF(0, 24, 0) INTD PIRQA
173 PCI_BDF(0, 25, 0) INTA PIRQC
174 PCI_BDF(0, 25, 0) INTB PIRQD
175 PCI_BDF(0, 25, 0) INTC PIRQA
176 PCI_BDF(0, 25, 0) INTD PIRQB
177 PCI_BDF(0, 26, 0) INTA PIRQD
178 PCI_BDF(0, 26, 0) INTB PIRQA
179 PCI_BDF(0, 26, 0) INTC PIRQB
180 PCI_BDF(0, 26, 0) INTD PIRQC
181 PCI_BDF(0, 27, 0) INTA PIRQG
182 /*
183 * Topcliff PCI devices
184 *
185 * Note on the Crown Bay board, Topcliff
186 * chipset is connected to TunnelCreek
187 * PCIe port 0, so its bus number is 1
188 * for its PCIe port and 2 for its PCI
189 * devices per U-Boot current PCI bus
190 * enumeration algorithm.
191 */
192 PCI_BDF(1, 0, 0) INTA PIRQA
193 PCI_BDF(2, 0, 1) INTA PIRQA
194 PCI_BDF(2, 0, 2) INTA PIRQA
195 PCI_BDF(2, 2, 0) INTB PIRQD
196 PCI_BDF(2, 2, 1) INTB PIRQD
197 PCI_BDF(2, 2, 2) INTB PIRQD
198 PCI_BDF(2, 2, 3) INTB PIRQD
199 PCI_BDF(2, 2, 4) INTB PIRQD
200 PCI_BDF(2, 4, 0) INTC PIRQC
201 PCI_BDF(2, 4, 1) INTC PIRQC
202 PCI_BDF(2, 6, 0) INTD PIRQB
203 PCI_BDF(2, 8, 0) INTA PIRQA
204 PCI_BDF(2, 8, 1) INTA PIRQA
205 PCI_BDF(2, 8, 2) INTA PIRQA
206 PCI_BDF(2, 8, 3) INTA PIRQA
207 PCI_BDF(2, 10, 0) INTB PIRQD
208 PCI_BDF(2, 10, 1) INTB PIRQD
209 PCI_BDF(2, 10, 2) INTB PIRQD
210 PCI_BDF(2, 10, 3) INTB PIRQD
211 PCI_BDF(2, 10, 4) INTB PIRQD
212 PCI_BDF(2, 12, 0) INTC PIRQC
213 PCI_BDF(2, 12, 1) INTC PIRQC
214 PCI_BDF(2, 12, 2) INTC PIRQC
215 PCI_BDF(2, 12, 3) INTC PIRQC
216 PCI_BDF(2, 12, 4) INTC PIRQC
217 >;
218 };
219
Bin Meng4f8d4e92016-01-27 00:56:34 -0800220 spi: spi {
Simon Glass32761632016-01-18 20:19:21 -0700221 #address-cells = <1>;
222 #size-cells = <0>;
Bin Mengd9406672016-02-01 01:40:37 -0800223 compatible = "intel,ich7-spi";
Simon Glass32761632016-01-18 20:19:21 -0700224 spi-flash@0 {
225 reg = <0>;
226 compatible = "sst,25vf016b",
Neil Armstrongf6625b42019-02-10 10:16:21 +0000227 "jedec,spi-nor";
Simon Glass32761632016-01-18 20:19:21 -0700228 memory-map = <0xffe00000 0x00200000>;
229 };
230 };
Bin Meng6e916cc2016-02-01 01:40:47 -0800231
232 gpioa {
233 compatible = "intel,ich6-gpio";
234 u-boot,dm-pre-reloc;
235 reg = <0 0x20>;
236 bank-name = "A";
237 };
238
239 gpiob {
240 compatible = "intel,ich6-gpio";
241 u-boot,dm-pre-reloc;
242 reg = <0x20 0x20>;
243 bank-name = "B";
244 };
Bin Meng51c3b1e2015-05-25 22:35:04 +0800245 };
Bin Meng37e40302014-12-31 16:05:14 +0800246 };
247
Bin Meng115b5e32014-12-12 21:05:24 +0800248};