blob: 8a6bcf394e1598fdb0392f3d2304317a5138c5a8 [file] [log] [blame]
Nick Vaccarof9781912020-01-28 18:43:28 -08001chip soc/intel/tigerlake
2
3 device cpu_cluster 0 on
4 device lapic 0 on end
5 end
6
7 # GPE configuration
8 # Note that GPE events called out in ASL code rely on this
9 # route. i.e. If this route changes then the affected GPE
10 # offset bits also need to be changed.
11 register "pmc_gpe0_dw0" = "GPP_C"
12 register "pmc_gpe0_dw1" = "GPP_D"
13 register "pmc_gpe0_dw2" = "GPP_E"
14
15 # FSP configuration
16 register "SaGv" = "SaGv_Disabled"
17 register "SmbusEnable" = "0"
18
19 register "usb2_ports[0]" = "USB2_PORT_MID(OC_SKIP)" # Type-A Port A0
20 register "usb2_ports[1]" = "USB2_PORT_MID(OC_SKIP)" # Type-A Port A1
21 register "usb2_ports[2]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WWAN
22 register "usb2_ports[3]" = "USB2_PORT_MID(OC_SKIP)" # Type-A / Type-C Cl
23 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Camera
24 register "usb2_ports[5]" = "USB2_PORT_EMPTY" # Type-A / Type-C Not Used
25 register "usb2_ports[6]" = "USB2_PORT_EMPTY" # Type-A / Type-C Not Used
26 register "usb2_ports[7]" = "USB2_PORT_EMPTY" # Type-A / Type-C Not Used
27 register "usb2_ports[8]" = "USB2_PORT_MID(OC_SKIP)" # Type-A / Type-C Co
28 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Bluetooth
29
30 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC1)" # USB3/2 Type A port A0
31 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC2)" # USB3/2 Type A port A1
32 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)" # M.2 WWAN
33 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # M.2 Camera
34
35 # Enable Pch iSCLK
36 register "pch_isclk" = "1"
37
38 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
39 register "gen1_dec" = "0x00fc0801"
40 register "gen2_dec" = "0x000c0201"
41 # EC memory map range is 0x900-0x9ff
42 register "gen3_dec" = "0x00fc0901"
43
44 # Enable NVMe PCIE 9 using clk 0
45 register "PcieRpEnable[8]" = "1"
Wonkyu Kime3bf8ba2020-04-07 23:34:12 -070046 register "PcieRpLtrEnable[8]" = "1"
Nick Vaccarof9781912020-01-28 18:43:28 -080047 register "PcieClkSrcUsage[0]" = "8"
48 register "PcieClkSrcClkReq[0]" = "0"
49
Venkata Krishna Nimmagaddac34bb382020-01-15 10:13:26 -080050 # Enable Optane PCIE 11 using clk 0
51 register "PcieRpEnable[10]" = "1"
Wonkyu Kime3bf8ba2020-04-07 23:34:12 -070052 register "PcieRpLtrEnable[10]" = "1"
Venkata Krishna Nimmagaddac34bb382020-01-15 10:13:26 -080053 register "HybridStorageMode" = "1"
54
Nick Vaccarof9781912020-01-28 18:43:28 -080055 # Enable SD Card PCIE 8 using clk 3
56 register "PcieRpEnable[7]" = "1"
Wonkyu Kime3bf8ba2020-04-07 23:34:12 -070057 register "PcieRpLtrEnable[7]" = "1"
Nick Vaccarof9781912020-01-28 18:43:28 -080058 register "PcieClkSrcUsage[3]" = "7"
59 register "PcieClkSrcClkReq[3]" = "3"
60
61 # Enable WLAN PCIE 7 using clk 1
62 register "PcieRpEnable[6]" = "1"
Wonkyu Kime3bf8ba2020-04-07 23:34:12 -070063 register "PcieRpLtrEnable[6]" = "1"
Nick Vaccarof9781912020-01-28 18:43:28 -080064 register "PcieClkSrcUsage[1]" = "6"
65 register "PcieClkSrcClkReq[1]" = "1"
66
Nick Vaccarof9781912020-01-28 18:43:28 -080067 # Mark SRCCLKREQ pins as unused that are routed for a Non-Clkreq functionality
Alex Levina53dbd42020-03-09 16:52:59 -070068 register "PcieClkSrcUsage[2]" = "0xFF"
Nick Vaccarof9781912020-01-28 18:43:28 -080069 register "PcieClkSrcUsage[4]" = "0xFF"
70 register "PcieClkSrcUsage[5]" = "0xFF"
71 register "PcieClkSrcUsage[6]" = "0xFF"
72
73 # Enable SATA
74 register "SataEnable" = "1"
75 register "SataMode" = "0"
76 register "SataSalpSupport" = "1"
77 register "SataPortsEnable[0]" = "0"
78 register "SataPortsEnable[1]" = "1"
79 register "SataPortsDevSlp[0]" = "0"
80
81 register "SerialIoI2cMode" = "{
82 [PchSerialIoIndexI2C0] = PchSerialIoPci,
83 [PchSerialIoIndexI2C1] = PchSerialIoPci,
84 [PchSerialIoIndexI2C2] = PchSerialIoPci,
85 [PchSerialIoIndexI2C3] = PchSerialIoPci,
86 [PchSerialIoIndexI2C4] = PchSerialIoDisabled,
87 [PchSerialIoIndexI2C5] = PchSerialIoPci,
88 }"
89
90 register "SerialIoGSpiMode" = "{
91 [PchSerialIoIndexGSPI0] = PchSerialIoPci,
92 [PchSerialIoIndexGSPI1] = PchSerialIoPci,
93 [PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
94 [PchSerialIoIndexGSPI3] = PchSerialIoDisabled,
95 }"
96
97 register "SerialIoGSpiCsMode" = "{
98 [PchSerialIoIndexGSPI0] = 1,
99 [PchSerialIoIndexGSPI1] = 1,
100 [PchSerialIoIndexGSPI2] = 0,
101 [PchSerialIoIndexGSPI3] = 0,
102 }"
103
104 register "SerialIoGSpiCsState" = "{
105 [PchSerialIoIndexGSPI0] = 0,
106 [PchSerialIoIndexGSPI1] = 0,
107 [PchSerialIoIndexGSPI2] = 0,
108 [PchSerialIoIndexGSPI3] = 0,
109 }"
110
111 register "SerialIoUartMode" = "{
112 [PchSerialIoIndexUART0] = PchSerialIoPci,
113 [PchSerialIoIndexUART1] = PchSerialIoDisabled,
114 [PchSerialIoIndexUART2] = PchSerialIoDisabled,
115 }"
116
Srinidhi N Kaushik22d5b072020-03-06 10:47:17 -0800117 # HD Audio
118 register "PchHdaDspEnable" = "1"
119 register "PchHdaAudioLinkHdaEnable" = "0"
120 register "PchHdaAudioLinkDmicEnable[0]" = "1"
121 register "PchHdaAudioLinkDmicEnable[1]" = "1"
122 register "PchHdaAudioLinkSspEnable[0]" = "1"
123 register "PchHdaAudioLinkSspEnable[1]" = "1"
124 # iDisp-Link T-Mode 0: 2T, 2: 4T, 3: 8T, 4: 16T
125 register "PchHdaIDispLinkTmode" = "2"
126 # iDisp-Link Freq 4: 96MHz, 3: 48MHz.
127 register "PchHdaIDispLinkFrequency" = "4"
128 # Not disconnected/enumerable
129 register "PchHdaIDispCodecDisconnect" = "0"
130
131
Brandon Breitenstein01ec7132020-03-06 10:51:30 -0800132 # TCSS USB3
133 register "TcssXhciEn" = "1"
Brandon Breitenstein91dddd42020-03-11 16:16:16 -0700134 register "TcssAuxOri" = "0"
Brandon Breitenstein01ec7132020-03-06 10:51:30 -0800135
Nick Vaccarof9781912020-01-28 18:43:28 -0800136 # DP port
137 register "DdiPortAConfig" = "1" # eDP
138 register "DdiPortBConfig" = "0"
139
140 register "DdiPortAHpd" = "1"
141 register "DdiPortBHpd" = "1"
142 register "DdiPortCHpd" = "0"
143 register "DdiPort1Hpd" = "1"
144 register "DdiPort2Hpd" = "1"
145 register "DdiPort3Hpd" = "0"
146 register "DdiPort4Hpd" = "0"
147
148 register "DdiPortADdc" = "0"
149 register "DdiPortBDdc" = "1"
150 register "DdiPortCDdc" = "0"
151 register "DdiPort1Ddc" = "0"
152 register "DdiPort2Ddc" = "0"
153 register "DdiPort3Ddc" = "0"
154 register "DdiPort4Ddc" = "0"
155
156 # Disable PM to allow for shorter irq pulses
157 register "gpio_override_pm" = "1"
158 register "gpio_pm[0]" = "0"
159 register "gpio_pm[1]" = "0"
160 register "gpio_pm[2]" = "0"
161 register "gpio_pm[3]" = "0"
162 register "gpio_pm[4]" = "0"
163
164 # Enable "Intel Speed Shift Technology"
165 register "speed_shift_enable" = "1"
166
167 # Enable S0ix
168 register "s0ix_enable" = "1"
169
170 # Intel Common SoC Config
171 #+-------------------+---------------------------+
172 #| Field | Value |
173 #+-------------------+---------------------------+
174 #| chipset_lockdown | CHIPSET_LOCKDOWN_COREBOOT |
175 #| GSPI0 | cr50 TPM. Early init is |
176 #| | required to set up a BAR |
177 #| | for TPM communication |
178 #| | before memory is up |
Alex Levin3bc41cf2020-03-06 10:54:10 -0800179 #| GSPI1 | Fingerprint MCU |
Nick Vaccarof9781912020-01-28 18:43:28 -0800180 #| I2C0 | Audio |
181 #| I2C1 | Touchscreen |
182 #| I2C2 | WLAN, SAR0 |
183 #| I2C3 | Camera, SAR1 |
184 #| I2C5 | Trackpad |
185 #+-------------------+---------------------------+
186 register "common_soc_config" = "{
187 .chipset_lockdown = CHIPSET_LOCKDOWN_COREBOOT,
188 .gspi[0] = {
189 .speed_mhz = 1,
190 .early_init = 1,
191 },
192 .i2c[0] = {
193 .speed = I2C_SPEED_FAST,
194 },
195 .i2c[1] = {
196 .speed = I2C_SPEED_FAST,
197 },
198 .i2c[2] = {
199 .speed = I2C_SPEED_FAST,
200 },
201 .i2c[3] = {
202 .speed = I2C_SPEED_FAST,
203 },
204 .i2c[5] = {
205 .speed = I2C_SPEED_FAST,
206 },
207 }"
208
209 device domain 0 on
210 #From EDS(575683)
211 device pci 00.0 on end # Host Bridge 0x9A14:U/0x9A12:Y
212 device pci 02.0 on end # Graphics
213 device pci 04.0 on end # DPTF 0x9A03
214 device pci 05.0 off end # IPU 0x9A19
215 device pci 06.0 off end # PEG60 0x9A09
216 device pci 07.0 on end # TBT_PCIe0 0x9A23
217 device pci 07.1 on end # TBT_PCIe1 0x9A25
218 device pci 07.2 on end # TBT_PCIe2 0x9A27
219 device pci 07.3 on end # TBT_PCIe3 0x9A29
220 device pci 08.0 on end # GNA 0x9A11
221 device pci 09.0 off end # NPK 0x9A33
222 device pci 0a.0 off end # Crash-log SRAM 0x9A0D
223 device pci 0d.0 on end # USB xHCI 0x9A13
224 device pci 0d.1 off end # USB xDCI (OTG) 0x9A15
225 device pci 0d.2 off end # TBT DMA0 0x9A1B
226 device pci 0d.3 off end # TBT DMA1 0x9A1D
227 device pci 0e.0 off end # VMD 0x9A0B
228
229 # From PCH EDS(576591)
Nick Vaccarof9781912020-01-28 18:43:28 -0800230 device pci 10.2 on end # CNVi: BT 0xA0F5 - A0F7
231 device pci 10.6 off end # THC0 0xA0D0
232 device pci 10.7 off end # THC1 0xA0D1
233
Nick Vaccarof9781912020-01-28 18:43:28 -0800234 device pci 12.0 off end # SensorHUB 0xA0FC
235 device pci 12.6 off end # GSPI2 0x34FB
236
237 device pci 13.0 off end # GSPI3 0xA0FD
Nick Vaccarof9781912020-01-28 18:43:28 -0800238
239 device pci 14.0 on end # USB3.1 xHCI 0xA0ED
240 device pci 14.1 off end # USB3.1 xDCI 0xA0EE
241 device pci 14.2 on end # Shared RAM 0xA0EF
Srinidhi N Kaushikac7d6b42020-03-05 17:19:51 -0800242 chip drivers/intel/wifi
243 register "wake" = "GPE0_PME_B0"
244 device pci 14.3 on end # CNVi: WiFi 0xA0F0 - A0F3
245 end
Nick Vaccarof9781912020-01-28 18:43:28 -0800246
247 device pci 15.0 on
248 chip drivers/i2c/generic
249 register "hid" = ""10EC5682""
250 register "name" = ""RT58""
251 register "desc" = ""Realtek RT5682""
252 register "irq" = "ACPI_IRQ_EDGE_HIGH(GPP_F8_IRQ)"
253 # Set the jd_src to RT5668_JD1 for jack detection
254 register "property_count" = "1"
255 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
256 register "property_list[0].name" = ""realtek,jd-src""
257 register "property_list[0].integer" = "1"
258 device i2c 1a on end
259 end
260 end # I2C #0 0xA0E8
261 device pci 15.1 on end # I2C1 0xA0E9
262 device pci 15.2 on
263 chip drivers/i2c/sx9310
264 register "desc" = ""SAR0 Proximity Sensor""
265 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F14_IRQ)"
266 register "speed" = "I2C_SPEED_FAST"
267 register "uid" = "0"
268 register "reg_prox_ctrl0" = "0x10"
269 register "reg_prox_ctrl1" = "0x00"
270 register "reg_prox_ctrl2" = "0x84"
271 register "reg_prox_ctrl3" = "0x0e"
272 register "reg_prox_ctrl4" = "0x07"
273 register "reg_prox_ctrl5" = "0xc6"
274 register "reg_prox_ctrl6" = "0x20"
275 register "reg_prox_ctrl7" = "0x0d"
276 register "reg_prox_ctrl8" = "0x8d"
277 register "reg_prox_ctrl9" = "0x43"
278 register "reg_prox_ctrl10" = "0x1f"
279 register "reg_prox_ctrl11" = "0x00"
280 register "reg_prox_ctrl12" = "0x00"
281 register "reg_prox_ctrl13" = "0x00"
282 register "reg_prox_ctrl14" = "0x00"
283 register "reg_prox_ctrl15" = "0x00"
284 register "reg_prox_ctrl16" = "0x00"
285 register "reg_prox_ctrl17" = "0x00"
286 register "reg_prox_ctrl18" = "0x00"
287 register "reg_prox_ctrl19" = "0x00"
288 register "reg_sar_ctrl0" = "0x50"
289 register "reg_sar_ctrl1" = "0x8a"
290 register "reg_sar_ctrl2" = "0x3c"
291 device i2c 28 on end
292 end
293 end # I2C2 0xA0EA
294 device pci 15.3 on end # I2C3 0xA0EB
295
296 device pci 16.0 on end # HECI1 0xA0E0
297 device pci 16.1 off end # HECI2 0xA0E1
298 device pci 16.2 off end # CSME 0xA0E2
299 device pci 16.3 off end # CSME 0xA0E3
300 device pci 16.4 off end # HECI3 0xA0E4
301 device pci 16.5 off end # HECI4 0xA0E5
302
303 device pci 17.0 on end # SATA 0xA0D3
304
305 device pci 19.0 on end # I2C4 0xA0C5
306 device pci 19.1 on
307 chip drivers/i2c/generic
308 register "hid" = ""ELAN0000""
309 register "desc" = ""ELAN Touchpad""
310 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E15_IRQ)"
311 register "probed" = "1"
312 device i2c 15 on end
313 end
314 end # I2C5 0xA0C6
315 device pci 19.2 off end # UART2 0xA0C7
316
317 device pci 1c.0 on end # RP1 0xA0B8
318 device pci 1c.1 off end # RP2 0xA0B9
319 device pci 1c.2 off end # RP3 0xA0BA
320 device pci 1c.3 off end # RP4 0xA0BB
321 device pci 1c.4 off end # RP5 0xA0BC
Alex Levina53dbd42020-03-09 16:52:59 -0700322 device pci 1c.5 off end # WWAN RP6 0xA0BD
Nick Vaccarof9781912020-01-28 18:43:28 -0800323 device pci 1c.6 on end # RP7 0xA0BE
324 device pci 1c.7 on end # SD Card RP8 0xA0BF
325
326 device pci 1d.0 on end # RP9 0xA0B0
327 device pci 1d.1 off end # RP10 0xA0B1
Venkata Krishna Nimmagaddac34bb382020-01-15 10:13:26 -0800328 device pci 1d.2 on end # RP11 0xA0B2
Nick Vaccarof9781912020-01-28 18:43:28 -0800329 device pci 1d.3 off end # RP12 0xA0B3
Nick Vaccarof9781912020-01-28 18:43:28 -0800330
331 device pci 1e.0 on end # UART0 0xA0A8
332 device pci 1e.1 off end # UART1 0xA0A9
333 device pci 1e.2 on
334 chip drivers/spi/acpi
335 register "hid" = "ACPI_DT_NAMESPACE_HID"
336 register "compat_string" = ""google,cr50""
337 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_C21_IRQ)"
338 device spi 0 on end
339 end
340 end # GSPI0 0xA0AA
Alex Levin3bc41cf2020-03-06 10:54:10 -0800341 device pci 1e.3 on
342 chip drivers/spi/acpi
343 register "name" = ""CRFP""
344 register "hid" = "ACPI_DT_NAMESPACE_HID"
345 register "uid" = "1"
346 register "compat_string" = ""google,cros-ec-spi""
347 register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPP_C20)"
348 device spi 0 on end
349 end # FPMCU
350 end # GSPI1 0xA0AB
Nick Vaccaro9a3486e2020-04-17 10:14:57 -0700351 device pci 1f.0 on
352 chip ec/google/chromeec
353 device pnp 0c09.0 on end
354 end
355 end # eSPI 0xA080 - A09F
Nick Vaccarof9781912020-01-28 18:43:28 -0800356 device pci 1f.1 off end # P2SB 0xA0A0
357 device pci 1f.2 on end # PMC 0xA0A1
358 device pci 1f.3 on
359 chip drivers/generic/max98357a
Aamir Bohraa1c82c52020-03-16 18:57:48 +0530360 register "hid" = ""MX98357A""
Nick Vaccarof9781912020-01-28 18:43:28 -0800361 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)"
362 register "sdmode_delay" = "5"
363 device generic 0 on end
364 end
365 end # Intel HD audio 0xA0C8-A0CF
366 device pci 1f.4 off end # SMBus 0xA0A3
367 device pci 1f.5 on end # SPI 0xA0A4
368 device pci 1f.6 off end # GbE 0x15E1/0x15E2
369 device pci 1f.7 off end # TH 0xA0A6
370 end
371end