blob: 1ec90cda184f6e5e38e803339a7448deb7449962 [file] [log] [blame]
Bin Meng115b5e32014-12-12 21:05:24 +08001/*
2 * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7/dts-v1/;
8
Bin Meng51c3b1e2015-05-25 22:35:04 +08009#include <dt-bindings/interrupt-router/intel-irq.h>
10
Bin Mengaea05d82014-12-24 13:06:39 +080011/include/ "skeleton.dtsi"
Bin Meng82db36c2014-12-24 13:06:38 +080012/include/ "serial.dtsi"
Bin Meng115b5e32014-12-12 21:05:24 +080013
14/ {
Bin Meng115b5e32014-12-12 21:05:24 +080015 model = "Intel Crown Bay";
16 compatible = "intel,crownbay", "intel,queensbay";
17
Bin Meng60ccd372015-04-15 12:00:11 +080018 aliases {
19 spi0 = "/spi";
20 };
21
Bin Meng115b5e32014-12-12 21:05:24 +080022 config {
23 silent_console = <0>;
24 };
25
Bin Meng3916df52015-06-17 11:15:39 +080026 cpus {
27 #address-cells = <1>;
28 #size-cells = <0>;
29
30 cpu@0 {
31 device_type = "cpu";
32 compatible = "cpu-x86";
33 reg = <0>;
34 intel,apic-id = <0>;
35 };
36
37 cpu@1 {
38 device_type = "cpu";
39 compatible = "cpu-x86";
40 reg = <1>;
41 intel,apic-id = <1>;
42 };
43
44 };
45
Bin Meng115b5e32014-12-12 21:05:24 +080046 gpioa {
47 compatible = "intel,ich6-gpio";
48 u-boot,dm-pre-reloc;
49 reg = <0 0x20>;
50 bank-name = "A";
51 };
52
53 gpiob {
54 compatible = "intel,ich6-gpio";
55 u-boot,dm-pre-reloc;
56 reg = <0x20 0x20>;
57 bank-name = "B";
58 };
59
Bin Mengaea05d82014-12-24 13:06:39 +080060 chosen {
Bin Meng37e40302014-12-31 16:05:14 +080061 /*
62 * By default the legacy superio serial port is used as the
63 * U-Boot serial console. If we want to use UART from Topcliff
64 * PCH as the console, change this property to &pciuart#.
65 *
66 * For example, stdout-path = &pciuart0 will use the first
67 * UART on Topcliff PCH.
68 */
Bin Mengaea05d82014-12-24 13:06:39 +080069 stdout-path = "/serial";
Bin Meng115b5e32014-12-12 21:05:24 +080070 };
71
Bin Meng115b5e32014-12-12 21:05:24 +080072 spi {
73 #address-cells = <1>;
74 #size-cells = <0>;
Bin Meng60ccd372015-04-15 12:00:11 +080075 compatible = "intel,ich-spi";
Bin Meng115b5e32014-12-12 21:05:24 +080076 spi-flash@0 {
77 reg = <0>;
78 compatible = "sst,25vf016b", "spi-flash";
79 memory-map = <0xffe00000 0x00200000>;
80 };
81 };
Simon Glass8bfe0662014-12-17 15:50:37 +080082
83 microcode {
84 update@0 {
85#include "microcode/m0220661105_cv.dtsi"
86 };
87 };
88
Bin Meng37e40302014-12-31 16:05:14 +080089 pci {
90 #address-cells = <3>;
91 #size-cells = <2>;
92 compatible = "intel,pci";
93 device_type = "pci";
94
95 pcie@17,0 {
96 #address-cells = <3>;
97 #size-cells = <2>;
98 compatible = "intel,pci";
99 device_type = "pci";
100
101 topcliff@0,0 {
102 #address-cells = <3>;
103 #size-cells = <2>;
104 compatible = "intel,pci";
105 device_type = "pci";
106
107 pciuart0: uart@a,1 {
108 compatible = "pci8086,8811.00",
109 "pci8086,8811",
110 "pciclass,070002",
111 "pciclass,0700",
112 "x86-uart";
113 reg = <0x00025100 0x0 0x0 0x0 0x0
114 0x01025110 0x0 0x0 0x0 0x0>;
115 reg-shift = <0>;
116 clock-frequency = <1843200>;
117 current-speed = <115200>;
118 };
119
120 pciuart1: uart@a,2 {
121 compatible = "pci8086,8812.00",
122 "pci8086,8812",
123 "pciclass,070002",
124 "pciclass,0700",
125 "x86-uart";
126 reg = <0x00025200 0x0 0x0 0x0 0x0
127 0x01025210 0x0 0x0 0x0 0x0>;
128 reg-shift = <0>;
129 clock-frequency = <1843200>;
130 current-speed = <115200>;
131 };
132
133 pciuart2: uart@a,3 {
134 compatible = "pci8086,8813.00",
135 "pci8086,8813",
136 "pciclass,070002",
137 "pciclass,0700",
138 "x86-uart";
139 reg = <0x00025300 0x0 0x0 0x0 0x0
140 0x01025310 0x0 0x0 0x0 0x0>;
141 reg-shift = <0>;
142 clock-frequency = <1843200>;
143 current-speed = <115200>;
144 };
145
146 pciuart3: uart@a,4 {
147 compatible = "pci8086,8814.00",
148 "pci8086,8814",
149 "pciclass,070002",
150 "pciclass,0700",
151 "x86-uart";
152 reg = <0x00025400 0x0 0x0 0x0 0x0
153 0x01025410 0x0 0x0 0x0 0x0>;
154 reg-shift = <0>;
155 clock-frequency = <1843200>;
156 current-speed = <115200>;
157 };
158 };
159 };
Bin Meng51c3b1e2015-05-25 22:35:04 +0800160
161 irq-router@1f,0 {
162 reg = <0x0000f800 0 0 0 0>;
163 compatible = "intel,irq-router";
164 intel,pirq-config = "pci";
165 intel,pirq-link = <0x60 8>;
166 intel,pirq-mask = <0xdee0>;
167 intel,pirq-routing = <
168 /* TunnelCreek PCI devices */
169 PCI_BDF(0, 2, 0) INTA PIRQE
170 PCI_BDF(0, 3, 0) INTA PIRQF
171 PCI_BDF(0, 23, 0) INTA PIRQE
172 PCI_BDF(0, 24, 0) INTA PIRQF
173 PCI_BDF(0, 25, 0) INTA PIRQG
174 PCI_BDF(0, 26, 0) INTA PIRQH
175 PCI_BDF(0, 27, 0) INTA PIRQG
176 /*
177 * Topcliff PCI devices
178 *
179 * Note on the Crown Bay board, Topcliff chipset
180 * is connected to TunnelCreek PCIe port 0, so
181 * its bus number is 1 for its PCIe port and 2
182 * for its PCI devices per U-Boot currnet PCI
183 * bus enumeration algorithm.
184 */
185 PCI_BDF(1, 0, 0) INTA PIRQA
186 PCI_BDF(2, 0, 1) INTA PIRQA
187 PCI_BDF(2, 0, 2) INTA PIRQA
188 PCI_BDF(2, 2, 0) INTB PIRQB
189 PCI_BDF(2, 2, 1) INTB PIRQB
190 PCI_BDF(2, 2, 2) INTB PIRQB
191 PCI_BDF(2, 2, 3) INTB PIRQB
192 PCI_BDF(2, 2, 4) INTB PIRQB
193 PCI_BDF(2, 4, 0) INTC PIRQC
194 PCI_BDF(2, 4, 1) INTC PIRQC
195 PCI_BDF(2, 6, 0) INTD PIRQD
196 PCI_BDF(2, 8, 0) INTA PIRQA
197 PCI_BDF(2, 8, 1) INTA PIRQA
198 PCI_BDF(2, 8, 2) INTA PIRQA
199 PCI_BDF(2, 8, 3) INTA PIRQA
200 PCI_BDF(2, 10, 0) INTB PIRQB
201 PCI_BDF(2, 10, 1) INTB PIRQB
202 PCI_BDF(2, 10, 2) INTB PIRQB
203 PCI_BDF(2, 10, 3) INTB PIRQB
204 PCI_BDF(2, 10, 4) INTB PIRQB
205 PCI_BDF(2, 12, 0) INTC PIRQC
206 PCI_BDF(2, 12, 1) INTC PIRQC
207 PCI_BDF(2, 12, 2) INTC PIRQC
208 PCI_BDF(2, 12, 3) INTC PIRQC
209 PCI_BDF(2, 12, 4) INTC PIRQC
210 >;
211 };
Bin Meng37e40302014-12-31 16:05:14 +0800212 };
213
Bin Meng115b5e32014-12-12 21:05:24 +0800214};