blob: a55ef7d79107fb5a6a0f5b13c65dd9d9be44f83f [file] [log] [blame]
Duncan Laurie9db8c252020-05-10 11:16:45 -07001fw_config
2 field USB_DB 0 3
3 option NONE 0
4 option USB4 1
5 option USB3 2
6 end
7 field THERMAL 4 7 end
8 field AUDIO 8 10
9 option NONE 0
10 option MAX98357_ALC5682I_I2S 1
11 option MAX98373_ALC5682I_I2S 2
12 option MAX98373_ALC5682_SNDW 3
13 end
14 field TABLETMODE 11
15 option DISABLED 0
16 option ENABLED 1
17 end
18 field LTE_DB 12
19 option ABSENT 0
20 option PRESENT 1
21 end
22end
23
Nick Vaccarof9781912020-01-28 18:43:28 -080024chip soc/intel/tigerlake
25
26 device cpu_cluster 0 on
27 device lapic 0 on end
28 end
29
30 # GPE configuration
31 # Note that GPE events called out in ASL code rely on this
32 # route. i.e. If this route changes then the affected GPE
33 # offset bits also need to be changed.
34 register "pmc_gpe0_dw0" = "GPP_C"
35 register "pmc_gpe0_dw1" = "GPP_D"
36 register "pmc_gpe0_dw2" = "GPP_E"
37
38 # FSP configuration
39 register "SaGv" = "SaGv_Disabled"
40 register "SmbusEnable" = "0"
41
42 register "usb2_ports[0]" = "USB2_PORT_MID(OC_SKIP)" # Type-A Port A0
43 register "usb2_ports[1]" = "USB2_PORT_MID(OC_SKIP)" # Type-A Port A1
44 register "usb2_ports[2]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WWAN
45 register "usb2_ports[3]" = "USB2_PORT_MID(OC_SKIP)" # Type-A / Type-C Cl
46 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Camera
47 register "usb2_ports[5]" = "USB2_PORT_EMPTY" # Type-A / Type-C Not Used
48 register "usb2_ports[6]" = "USB2_PORT_EMPTY" # Type-A / Type-C Not Used
49 register "usb2_ports[7]" = "USB2_PORT_EMPTY" # Type-A / Type-C Not Used
50 register "usb2_ports[8]" = "USB2_PORT_MID(OC_SKIP)" # Type-A / Type-C Co
51 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Bluetooth
52
53 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC1)" # USB3/2 Type A port A0
54 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC2)" # USB3/2 Type A port A1
55 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)" # M.2 WWAN
56 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # M.2 Camera
57
Nick Vaccarof9781912020-01-28 18:43:28 -080058 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
59 register "gen1_dec" = "0x00fc0801"
60 register "gen2_dec" = "0x000c0201"
61 # EC memory map range is 0x900-0x9ff
62 register "gen3_dec" = "0x00fc0901"
63
64 # Enable NVMe PCIE 9 using clk 0
65 register "PcieRpEnable[8]" = "1"
Wonkyu Kime3bf8ba2020-04-07 23:34:12 -070066 register "PcieRpLtrEnable[8]" = "1"
Nick Vaccarof9781912020-01-28 18:43:28 -080067 register "PcieClkSrcUsage[0]" = "8"
68 register "PcieClkSrcClkReq[0]" = "0"
69
Venkata Krishna Nimmagaddac34bb382020-01-15 10:13:26 -080070 # Enable Optane PCIE 11 using clk 0
71 register "PcieRpEnable[10]" = "1"
Wonkyu Kime3bf8ba2020-04-07 23:34:12 -070072 register "PcieRpLtrEnable[10]" = "1"
Venkata Krishna Nimmagaddac34bb382020-01-15 10:13:26 -080073 register "HybridStorageMode" = "1"
74
Nick Vaccarof9781912020-01-28 18:43:28 -080075 # Enable SD Card PCIE 8 using clk 3
76 register "PcieRpEnable[7]" = "1"
Wonkyu Kime3bf8ba2020-04-07 23:34:12 -070077 register "PcieRpLtrEnable[7]" = "1"
Nick Vaccarof9781912020-01-28 18:43:28 -080078 register "PcieClkSrcUsage[3]" = "7"
79 register "PcieClkSrcClkReq[3]" = "3"
80
81 # Enable WLAN PCIE 7 using clk 1
82 register "PcieRpEnable[6]" = "1"
Wonkyu Kime3bf8ba2020-04-07 23:34:12 -070083 register "PcieRpLtrEnable[6]" = "1"
Nick Vaccarof9781912020-01-28 18:43:28 -080084 register "PcieClkSrcUsage[1]" = "6"
85 register "PcieClkSrcClkReq[1]" = "1"
86
Nick Vaccarof9781912020-01-28 18:43:28 -080087 # Mark SRCCLKREQ pins as unused that are routed for a Non-Clkreq functionality
Alex Levina53dbd42020-03-09 16:52:59 -070088 register "PcieClkSrcUsage[2]" = "0xFF"
Nick Vaccarof9781912020-01-28 18:43:28 -080089 register "PcieClkSrcUsage[4]" = "0xFF"
90 register "PcieClkSrcUsage[5]" = "0xFF"
91 register "PcieClkSrcUsage[6]" = "0xFF"
92
93 # Enable SATA
94 register "SataEnable" = "1"
95 register "SataMode" = "0"
96 register "SataSalpSupport" = "1"
97 register "SataPortsEnable[0]" = "0"
98 register "SataPortsEnable[1]" = "1"
99 register "SataPortsDevSlp[0]" = "0"
Wonkyu Kimb8bfe142020-04-21 17:07:57 -0700100 register "SataPortsDevSlp[1]" = "1"
Nick Vaccarof9781912020-01-28 18:43:28 -0800101
102 register "SerialIoI2cMode" = "{
103 [PchSerialIoIndexI2C0] = PchSerialIoPci,
104 [PchSerialIoIndexI2C1] = PchSerialIoPci,
105 [PchSerialIoIndexI2C2] = PchSerialIoPci,
106 [PchSerialIoIndexI2C3] = PchSerialIoPci,
107 [PchSerialIoIndexI2C4] = PchSerialIoDisabled,
108 [PchSerialIoIndexI2C5] = PchSerialIoPci,
109 }"
110
111 register "SerialIoGSpiMode" = "{
112 [PchSerialIoIndexGSPI0] = PchSerialIoPci,
113 [PchSerialIoIndexGSPI1] = PchSerialIoPci,
114 [PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
115 [PchSerialIoIndexGSPI3] = PchSerialIoDisabled,
116 }"
117
118 register "SerialIoGSpiCsMode" = "{
119 [PchSerialIoIndexGSPI0] = 1,
120 [PchSerialIoIndexGSPI1] = 1,
121 [PchSerialIoIndexGSPI2] = 0,
122 [PchSerialIoIndexGSPI3] = 0,
123 }"
124
125 register "SerialIoGSpiCsState" = "{
126 [PchSerialIoIndexGSPI0] = 0,
127 [PchSerialIoIndexGSPI1] = 0,
128 [PchSerialIoIndexGSPI2] = 0,
129 [PchSerialIoIndexGSPI3] = 0,
130 }"
131
132 register "SerialIoUartMode" = "{
133 [PchSerialIoIndexUART0] = PchSerialIoPci,
134 [PchSerialIoIndexUART1] = PchSerialIoDisabled,
135 [PchSerialIoIndexUART2] = PchSerialIoDisabled,
136 }"
137
Srinidhi N Kaushik22d5b072020-03-06 10:47:17 -0800138 # HD Audio
139 register "PchHdaDspEnable" = "1"
140 register "PchHdaAudioLinkHdaEnable" = "0"
Duncan Laurie4dffa9c2020-05-10 11:20:20 -0700141 register "PchHdaAudioLinkDmicEnable[0]" = "0"
142 register "PchHdaAudioLinkDmicEnable[1]" = "0"
143 register "PchHdaAudioLinkSspEnable[0]" = "0"
144 register "PchHdaAudioLinkSspEnable[1]" = "0"
145 register "PchHdaAudioLinkSndwEnable[0]" = "0"
146 register "PchHdaAudioLinkSndwEnable[1]" = "0"
Srinidhi N Kaushik22d5b072020-03-06 10:47:17 -0800147
Brandon Breitenstein01ec7132020-03-06 10:51:30 -0800148 # TCSS USB3
149 register "TcssXhciEn" = "1"
Brandon Breitensteinb7911c82020-04-06 15:34:19 -0700150 register "TcssAuxOri" = "1"
151 register "IomTypeCPortPadCfg[0]" = "0x090E000A"
152 register "IomTypeCPortPadCfg[1]" = "0x090E000D"
153 register "IomTypeCPortPadCfg[2]" = "0x0"
154 register "IomTypeCPortPadCfg[3]" = "0x0"
155 register "IomTypeCPortPadCfg[4]" = "0x0"
156 register "IomTypeCPortPadCfg[5]" = "0x0"
157 register "IomTypeCPortPadCfg[6]" = "0x0"
158 register "IomTypeCPortPadCfg[7]" = "0x0"
159
John Zhaof5b33c02020-05-19 15:29:07 -0700160 # D3Hot and D3Cold for TCSS
161 register "TcssD3HotEnable" = "1"
162 register "TcssD3ColdEnable" = "1"
163
Nick Vaccarof9781912020-01-28 18:43:28 -0800164 # DP port
165 register "DdiPortAConfig" = "1" # eDP
166 register "DdiPortBConfig" = "0"
167
168 register "DdiPortAHpd" = "1"
169 register "DdiPortBHpd" = "1"
170 register "DdiPortCHpd" = "0"
171 register "DdiPort1Hpd" = "1"
172 register "DdiPort2Hpd" = "1"
173 register "DdiPort3Hpd" = "0"
174 register "DdiPort4Hpd" = "0"
175
176 register "DdiPortADdc" = "0"
177 register "DdiPortBDdc" = "1"
178 register "DdiPortCDdc" = "0"
179 register "DdiPort1Ddc" = "0"
180 register "DdiPort2Ddc" = "0"
181 register "DdiPort3Ddc" = "0"
182 register "DdiPort4Ddc" = "0"
183
184 # Disable PM to allow for shorter irq pulses
185 register "gpio_override_pm" = "1"
186 register "gpio_pm[0]" = "0"
187 register "gpio_pm[1]" = "0"
188 register "gpio_pm[2]" = "0"
189 register "gpio_pm[3]" = "0"
190 register "gpio_pm[4]" = "0"
191
192 # Enable "Intel Speed Shift Technology"
193 register "speed_shift_enable" = "1"
194
195 # Enable S0ix
196 register "s0ix_enable" = "1"
197
Sumeet R Pawnikar7d6bc602020-05-08 19:22:07 +0530198 # Enable DPTF
199 register "dptf_enable" = "1"
200
201 register "power_limits_config" = "{
202 .tdp_pl1_override = 15,
203 .tdp_pl2_override = 60,
204 }"
205
206 register "Device4Enable" = "1"
207
Nick Vaccarof9781912020-01-28 18:43:28 -0800208 # Intel Common SoC Config
209 #+-------------------+---------------------------+
210 #| Field | Value |
211 #+-------------------+---------------------------+
212 #| chipset_lockdown | CHIPSET_LOCKDOWN_COREBOOT |
213 #| GSPI0 | cr50 TPM. Early init is |
214 #| | required to set up a BAR |
215 #| | for TPM communication |
216 #| | before memory is up |
Alex Levin3bc41cf2020-03-06 10:54:10 -0800217 #| GSPI1 | Fingerprint MCU |
Nick Vaccarof9781912020-01-28 18:43:28 -0800218 #| I2C0 | Audio |
219 #| I2C1 | Touchscreen |
220 #| I2C2 | WLAN, SAR0 |
221 #| I2C3 | Camera, SAR1 |
222 #| I2C5 | Trackpad |
223 #+-------------------+---------------------------+
224 register "common_soc_config" = "{
225 .chipset_lockdown = CHIPSET_LOCKDOWN_COREBOOT,
226 .gspi[0] = {
227 .speed_mhz = 1,
228 .early_init = 1,
229 },
230 .i2c[0] = {
231 .speed = I2C_SPEED_FAST,
232 },
233 .i2c[1] = {
234 .speed = I2C_SPEED_FAST,
235 },
236 .i2c[2] = {
237 .speed = I2C_SPEED_FAST,
238 },
239 .i2c[3] = {
240 .speed = I2C_SPEED_FAST,
241 },
242 .i2c[5] = {
243 .speed = I2C_SPEED_FAST,
244 },
245 }"
246
247 device domain 0 on
248 #From EDS(575683)
249 device pci 00.0 on end # Host Bridge 0x9A14:U/0x9A12:Y
250 device pci 02.0 on end # Graphics
251 device pci 04.0 on end # DPTF 0x9A03
252 device pci 05.0 off end # IPU 0x9A19
253 device pci 06.0 off end # PEG60 0x9A09
John Zhao5d79a0c2020-05-13 16:44:38 -0700254 device pci 07.0 on end # TBT_PCIe0 0x9A23
255 device pci 07.1 on end # TBT_PCIe1 0x9A25
256 device pci 07.2 off end # TBT_PCIe2 0x9A27
257 device pci 07.3 off end # TBT_PCIe3 0x9A29
Nick Vaccarof9781912020-01-28 18:43:28 -0800258 device pci 08.0 on end # GNA 0x9A11
259 device pci 09.0 off end # NPK 0x9A33
260 device pci 0a.0 off end # Crash-log SRAM 0x9A0D
261 device pci 0d.0 on end # USB xHCI 0x9A13
262 device pci 0d.1 off end # USB xDCI (OTG) 0x9A15
John Zhao5d79a0c2020-05-13 16:44:38 -0700263 device pci 0d.2 on end # TBT DMA0 0x9A1B
Nick Vaccarof9781912020-01-28 18:43:28 -0800264 device pci 0d.3 off end # TBT DMA1 0x9A1D
265 device pci 0e.0 off end # VMD 0x9A0B
266
267 # From PCH EDS(576591)
Nick Vaccarof9781912020-01-28 18:43:28 -0800268 device pci 10.2 on end # CNVi: BT 0xA0F5 - A0F7
269 device pci 10.6 off end # THC0 0xA0D0
270 device pci 10.7 off end # THC1 0xA0D1
271
Nick Vaccarof9781912020-01-28 18:43:28 -0800272 device pci 12.0 off end # SensorHUB 0xA0FC
273 device pci 12.6 off end # GSPI2 0x34FB
274
275 device pci 13.0 off end # GSPI3 0xA0FD
Nick Vaccarof9781912020-01-28 18:43:28 -0800276
277 device pci 14.0 on end # USB3.1 xHCI 0xA0ED
278 device pci 14.1 off end # USB3.1 xDCI 0xA0EE
279 device pci 14.2 on end # Shared RAM 0xA0EF
Srinidhi N Kaushikac7d6b42020-03-05 17:19:51 -0800280 chip drivers/intel/wifi
281 register "wake" = "GPE0_PME_B0"
282 device pci 14.3 on end # CNVi: WiFi 0xA0F0 - A0F3
283 end
Duncan Laurie4dffa9c2020-05-10 11:20:20 -0700284 device pci 15.0 on end # I2C #0 0xA0E8
Alex Levin34d9e682020-04-20 21:55:24 -0700285 device pci 15.1 on
286 chip drivers/i2c/hid
287 register "generic.hid" = ""GDIX0000""
288 register "generic.desc" = ""Goodix Touchscreen""
289 register "generic.irq" = "ACPI_IRQ_EDGE_LOW(GPP_E7_IRQ)"
290 register "generic.probed" = "1"
291 register "generic.reset_gpio" =
292 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C10)"
293 register "generic.reset_delay_ms" = "120"
294 register "generic.reset_off_delay_ms" = "3"
295 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A8)"
296 register "generic.enable_delay_ms" = "12"
297 register "generic.has_power_resource" = "1"
298 register "hid_desc_reg_offset" = "0x01"
299 device i2c 14 on end
300 end
301 chip drivers/i2c/hid
302 register "generic.hid" = ""ELAN90FC""
303 register "generic.desc" = ""ELAN Touchscreen""
304 register "generic.irq" = "ACPI_IRQ_EDGE_LOW(GPP_E7_IRQ)"
305 register "generic.probed" = "1"
306 register "generic.reset_gpio" =
307 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C10)"
308 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A8)"
309 register "generic.reset_delay_ms" = "20"
310 register "generic.has_power_resource" = "1"
311 register "generic.disable_gpio_export_in_crs" = "1"
312 register "hid_desc_reg_offset" = "0x01"
313 device i2c 10 on end
314 end
315 end # I2C1 0xA0E9
Nick Vaccarof9781912020-01-28 18:43:28 -0800316 device pci 15.2 on
317 chip drivers/i2c/sx9310
318 register "desc" = ""SAR0 Proximity Sensor""
319 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F14_IRQ)"
320 register "speed" = "I2C_SPEED_FAST"
321 register "uid" = "0"
322 register "reg_prox_ctrl0" = "0x10"
323 register "reg_prox_ctrl1" = "0x00"
324 register "reg_prox_ctrl2" = "0x84"
325 register "reg_prox_ctrl3" = "0x0e"
326 register "reg_prox_ctrl4" = "0x07"
327 register "reg_prox_ctrl5" = "0xc6"
328 register "reg_prox_ctrl6" = "0x20"
329 register "reg_prox_ctrl7" = "0x0d"
330 register "reg_prox_ctrl8" = "0x8d"
331 register "reg_prox_ctrl9" = "0x43"
332 register "reg_prox_ctrl10" = "0x1f"
333 register "reg_prox_ctrl11" = "0x00"
334 register "reg_prox_ctrl12" = "0x00"
335 register "reg_prox_ctrl13" = "0x00"
336 register "reg_prox_ctrl14" = "0x00"
337 register "reg_prox_ctrl15" = "0x00"
338 register "reg_prox_ctrl16" = "0x00"
339 register "reg_prox_ctrl17" = "0x00"
340 register "reg_prox_ctrl18" = "0x00"
341 register "reg_prox_ctrl19" = "0x00"
342 register "reg_sar_ctrl0" = "0x50"
343 register "reg_sar_ctrl1" = "0x8a"
344 register "reg_sar_ctrl2" = "0x3c"
345 device i2c 28 on end
346 end
347 end # I2C2 0xA0EA
348 device pci 15.3 on end # I2C3 0xA0EB
349
350 device pci 16.0 on end # HECI1 0xA0E0
351 device pci 16.1 off end # HECI2 0xA0E1
352 device pci 16.2 off end # CSME 0xA0E2
353 device pci 16.3 off end # CSME 0xA0E3
354 device pci 16.4 off end # HECI3 0xA0E4
355 device pci 16.5 off end # HECI4 0xA0E5
356
357 device pci 17.0 on end # SATA 0xA0D3
358
359 device pci 19.0 on end # I2C4 0xA0C5
360 device pci 19.1 on
361 chip drivers/i2c/generic
362 register "hid" = ""ELAN0000""
363 register "desc" = ""ELAN Touchpad""
William Weid9cd0642020-05-20 14:30:13 +0800364 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E15_IRQ)"
365 register "wake" = "GPE0_DW2_15"
Nick Vaccarof9781912020-01-28 18:43:28 -0800366 register "probed" = "1"
367 device i2c 15 on end
368 end
369 end # I2C5 0xA0C6
370 device pci 19.2 off end # UART2 0xA0C7
371
372 device pci 1c.0 on end # RP1 0xA0B8
373 device pci 1c.1 off end # RP2 0xA0B9
374 device pci 1c.2 off end # RP3 0xA0BA
375 device pci 1c.3 off end # RP4 0xA0BB
376 device pci 1c.4 off end # RP5 0xA0BC
Alex Levina53dbd42020-03-09 16:52:59 -0700377 device pci 1c.5 off end # WWAN RP6 0xA0BD
Nick Vaccarof9781912020-01-28 18:43:28 -0800378 device pci 1c.6 on end # RP7 0xA0BE
379 device pci 1c.7 on end # SD Card RP8 0xA0BF
380
381 device pci 1d.0 on end # RP9 0xA0B0
382 device pci 1d.1 off end # RP10 0xA0B1
Venkata Krishna Nimmagaddac34bb382020-01-15 10:13:26 -0800383 device pci 1d.2 on end # RP11 0xA0B2
Nick Vaccarof9781912020-01-28 18:43:28 -0800384 device pci 1d.3 off end # RP12 0xA0B3
Nick Vaccarof9781912020-01-28 18:43:28 -0800385
386 device pci 1e.0 on end # UART0 0xA0A8
387 device pci 1e.1 off end # UART1 0xA0A9
388 device pci 1e.2 on
389 chip drivers/spi/acpi
390 register "hid" = "ACPI_DT_NAMESPACE_HID"
391 register "compat_string" = ""google,cr50""
392 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_C21_IRQ)"
393 device spi 0 on end
394 end
Tim Wawrzynczak6d20d0c2020-05-13 17:00:33 -0600395 end # GSPI0 0xA0AA
Alex Levin3bc41cf2020-03-06 10:54:10 -0800396 device pci 1e.3 on
397 chip drivers/spi/acpi
398 register "name" = ""CRFP""
399 register "hid" = "ACPI_DT_NAMESPACE_HID"
400 register "uid" = "1"
401 register "compat_string" = ""google,cros-ec-spi""
402 register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPP_C20)"
403 device spi 0 on end
404 end # FPMCU
Tim Wawrzynczak6d20d0c2020-05-13 17:00:33 -0600405 end # GSPI1 0xA0AB
Nick Vaccaro9a3486e2020-04-17 10:14:57 -0700406 device pci 1f.0 on
407 chip ec/google/chromeec
408 device pnp 0c09.0 on end
409 end
Tim Wawrzynczak6d20d0c2020-05-13 17:00:33 -0600410 end # eSPI 0xA080 - A09F
Nick Vaccarof9781912020-01-28 18:43:28 -0800411 device pci 1f.1 off end # P2SB 0xA0A0
Tim Wawrzynczak6d20d0c2020-05-13 17:00:33 -0600412 device pci 1f.2 hidden end # PMC 0xA0A1
Duncan Laurie4dffa9c2020-05-10 11:20:20 -0700413 device pci 1f.3 on end # Intel HD audio 0xA0C8-A0CF
Nick Vaccarof9781912020-01-28 18:43:28 -0800414 device pci 1f.4 off end # SMBus 0xA0A3
415 device pci 1f.5 on end # SPI 0xA0A4
416 device pci 1f.6 off end # GbE 0x15E1/0x15E2
417 device pci 1f.7 off end # TH 0xA0A6
418 end
419end