Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 1 | chip 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" |
| 46 | register "PcieClkSrcUsage[0]" = "8" |
| 47 | register "PcieClkSrcClkReq[0]" = "0" |
| 48 | |
Venkata Krishna Nimmagadda | c34bb38 | 2020-01-15 10:13:26 -0800 | [diff] [blame^] | 49 | # Enable Optane PCIE 11 using clk 0 |
| 50 | register "PcieRpEnable[10]" = "1" |
| 51 | register "HybridStorageMode" = "1" |
| 52 | |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 53 | # Enable SD Card PCIE 8 using clk 3 |
| 54 | register "PcieRpEnable[7]" = "1" |
| 55 | register "PcieClkSrcUsage[3]" = "7" |
| 56 | register "PcieClkSrcClkReq[3]" = "3" |
| 57 | |
| 58 | # Enable WLAN PCIE 7 using clk 1 |
| 59 | register "PcieRpEnable[6]" = "1" |
| 60 | register "PcieClkSrcUsage[1]" = "6" |
| 61 | register "PcieClkSrcClkReq[1]" = "1" |
| 62 | |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 63 | # Mark SRCCLKREQ pins as unused that are routed for a Non-Clkreq functionality |
Alex Levin | a53dbd4 | 2020-03-09 16:52:59 -0700 | [diff] [blame] | 64 | register "PcieClkSrcUsage[2]" = "0xFF" |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 65 | register "PcieClkSrcUsage[4]" = "0xFF" |
| 66 | register "PcieClkSrcUsage[5]" = "0xFF" |
| 67 | register "PcieClkSrcUsage[6]" = "0xFF" |
| 68 | |
| 69 | # Enable SATA |
| 70 | register "SataEnable" = "1" |
| 71 | register "SataMode" = "0" |
| 72 | register "SataSalpSupport" = "1" |
| 73 | register "SataPortsEnable[0]" = "0" |
| 74 | register "SataPortsEnable[1]" = "1" |
| 75 | register "SataPortsDevSlp[0]" = "0" |
| 76 | |
| 77 | register "SerialIoI2cMode" = "{ |
| 78 | [PchSerialIoIndexI2C0] = PchSerialIoPci, |
| 79 | [PchSerialIoIndexI2C1] = PchSerialIoPci, |
| 80 | [PchSerialIoIndexI2C2] = PchSerialIoPci, |
| 81 | [PchSerialIoIndexI2C3] = PchSerialIoPci, |
| 82 | [PchSerialIoIndexI2C4] = PchSerialIoDisabled, |
| 83 | [PchSerialIoIndexI2C5] = PchSerialIoPci, |
| 84 | }" |
| 85 | |
| 86 | register "SerialIoGSpiMode" = "{ |
| 87 | [PchSerialIoIndexGSPI0] = PchSerialIoPci, |
| 88 | [PchSerialIoIndexGSPI1] = PchSerialIoPci, |
| 89 | [PchSerialIoIndexGSPI2] = PchSerialIoDisabled, |
| 90 | [PchSerialIoIndexGSPI3] = PchSerialIoDisabled, |
| 91 | }" |
| 92 | |
| 93 | register "SerialIoGSpiCsMode" = "{ |
| 94 | [PchSerialIoIndexGSPI0] = 1, |
| 95 | [PchSerialIoIndexGSPI1] = 1, |
| 96 | [PchSerialIoIndexGSPI2] = 0, |
| 97 | [PchSerialIoIndexGSPI3] = 0, |
| 98 | }" |
| 99 | |
| 100 | register "SerialIoGSpiCsState" = "{ |
| 101 | [PchSerialIoIndexGSPI0] = 0, |
| 102 | [PchSerialIoIndexGSPI1] = 0, |
| 103 | [PchSerialIoIndexGSPI2] = 0, |
| 104 | [PchSerialIoIndexGSPI3] = 0, |
| 105 | }" |
| 106 | |
| 107 | register "SerialIoUartMode" = "{ |
| 108 | [PchSerialIoIndexUART0] = PchSerialIoPci, |
| 109 | [PchSerialIoIndexUART1] = PchSerialIoDisabled, |
| 110 | [PchSerialIoIndexUART2] = PchSerialIoDisabled, |
| 111 | }" |
| 112 | |
Brandon Breitenstein | 01ec713 | 2020-03-06 10:51:30 -0800 | [diff] [blame] | 113 | # TCSS USB3 |
| 114 | register "TcssXhciEn" = "1" |
| 115 | |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 116 | # DP port |
| 117 | register "DdiPortAConfig" = "1" # eDP |
| 118 | register "DdiPortBConfig" = "0" |
| 119 | |
| 120 | register "DdiPortAHpd" = "1" |
| 121 | register "DdiPortBHpd" = "1" |
| 122 | register "DdiPortCHpd" = "0" |
| 123 | register "DdiPort1Hpd" = "1" |
| 124 | register "DdiPort2Hpd" = "1" |
| 125 | register "DdiPort3Hpd" = "0" |
| 126 | register "DdiPort4Hpd" = "0" |
| 127 | |
| 128 | register "DdiPortADdc" = "0" |
| 129 | register "DdiPortBDdc" = "1" |
| 130 | register "DdiPortCDdc" = "0" |
| 131 | register "DdiPort1Ddc" = "0" |
| 132 | register "DdiPort2Ddc" = "0" |
| 133 | register "DdiPort3Ddc" = "0" |
| 134 | register "DdiPort4Ddc" = "0" |
| 135 | |
| 136 | # Disable PM to allow for shorter irq pulses |
| 137 | register "gpio_override_pm" = "1" |
| 138 | register "gpio_pm[0]" = "0" |
| 139 | register "gpio_pm[1]" = "0" |
| 140 | register "gpio_pm[2]" = "0" |
| 141 | register "gpio_pm[3]" = "0" |
| 142 | register "gpio_pm[4]" = "0" |
| 143 | |
| 144 | # Enable "Intel Speed Shift Technology" |
| 145 | register "speed_shift_enable" = "1" |
| 146 | |
| 147 | # Enable S0ix |
| 148 | register "s0ix_enable" = "1" |
| 149 | |
| 150 | # Intel Common SoC Config |
| 151 | #+-------------------+---------------------------+ |
| 152 | #| Field | Value | |
| 153 | #+-------------------+---------------------------+ |
| 154 | #| chipset_lockdown | CHIPSET_LOCKDOWN_COREBOOT | |
| 155 | #| GSPI0 | cr50 TPM. Early init is | |
| 156 | #| | required to set up a BAR | |
| 157 | #| | for TPM communication | |
| 158 | #| | before memory is up | |
Alex Levin | 3bc41cf | 2020-03-06 10:54:10 -0800 | [diff] [blame] | 159 | #| GSPI1 | Fingerprint MCU | |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 160 | #| I2C0 | Audio | |
| 161 | #| I2C1 | Touchscreen | |
| 162 | #| I2C2 | WLAN, SAR0 | |
| 163 | #| I2C3 | Camera, SAR1 | |
| 164 | #| I2C5 | Trackpad | |
| 165 | #+-------------------+---------------------------+ |
| 166 | register "common_soc_config" = "{ |
| 167 | .chipset_lockdown = CHIPSET_LOCKDOWN_COREBOOT, |
| 168 | .gspi[0] = { |
| 169 | .speed_mhz = 1, |
| 170 | .early_init = 1, |
| 171 | }, |
| 172 | .i2c[0] = { |
| 173 | .speed = I2C_SPEED_FAST, |
| 174 | }, |
| 175 | .i2c[1] = { |
| 176 | .speed = I2C_SPEED_FAST, |
| 177 | }, |
| 178 | .i2c[2] = { |
| 179 | .speed = I2C_SPEED_FAST, |
| 180 | }, |
| 181 | .i2c[3] = { |
| 182 | .speed = I2C_SPEED_FAST, |
| 183 | }, |
| 184 | .i2c[5] = { |
| 185 | .speed = I2C_SPEED_FAST, |
| 186 | }, |
| 187 | }" |
| 188 | |
| 189 | device domain 0 on |
| 190 | #From EDS(575683) |
| 191 | device pci 00.0 on end # Host Bridge 0x9A14:U/0x9A12:Y |
| 192 | device pci 02.0 on end # Graphics |
| 193 | device pci 04.0 on end # DPTF 0x9A03 |
| 194 | device pci 05.0 off end # IPU 0x9A19 |
| 195 | device pci 06.0 off end # PEG60 0x9A09 |
| 196 | device pci 07.0 on end # TBT_PCIe0 0x9A23 |
| 197 | device pci 07.1 on end # TBT_PCIe1 0x9A25 |
| 198 | device pci 07.2 on end # TBT_PCIe2 0x9A27 |
| 199 | device pci 07.3 on end # TBT_PCIe3 0x9A29 |
| 200 | device pci 08.0 on end # GNA 0x9A11 |
| 201 | device pci 09.0 off end # NPK 0x9A33 |
| 202 | device pci 0a.0 off end # Crash-log SRAM 0x9A0D |
| 203 | device pci 0d.0 on end # USB xHCI 0x9A13 |
| 204 | device pci 0d.1 off end # USB xDCI (OTG) 0x9A15 |
| 205 | device pci 0d.2 off end # TBT DMA0 0x9A1B |
| 206 | device pci 0d.3 off end # TBT DMA1 0x9A1D |
| 207 | device pci 0e.0 off end # VMD 0x9A0B |
| 208 | |
| 209 | # From PCH EDS(576591) |
| 210 | device pci 10.0 on end # I2C6 0xA0D8 |
| 211 | device pci 10.1 off end # I2C7 0xA0D9 |
| 212 | device pci 10.2 on end # CNVi: BT 0xA0F5 - A0F7 |
| 213 | device pci 10.6 off end # THC0 0xA0D0 |
| 214 | device pci 10.7 off end # THC1 0xA0D1 |
| 215 | |
| 216 | device pci 11.0 off end # UART3 0xA0DA |
| 217 | device pci 11.1 off end # UART4 0xA0DB |
| 218 | device pci 11.2 off end # UART5 0xA0DC |
| 219 | device pci 11.3 off end # UART6 0xA0DD |
| 220 | |
| 221 | device pci 12.0 off end # SensorHUB 0xA0FC |
| 222 | device pci 12.6 off end # GSPI2 0x34FB |
| 223 | |
| 224 | device pci 13.0 off end # GSPI3 0xA0FD |
| 225 | device pci 13.1 off end # GSPI4 0xA0FE |
| 226 | device pci 13.2 off end # GSPI5 0xA0DE |
| 227 | device pci 13.3 off end # GSPI6 0xA0DF |
| 228 | |
| 229 | device pci 14.0 on end # USB3.1 xHCI 0xA0ED |
| 230 | device pci 14.1 off end # USB3.1 xDCI 0xA0EE |
| 231 | device pci 14.2 on end # Shared RAM 0xA0EF |
Srinidhi N Kaushik | ac7d6b4 | 2020-03-05 17:19:51 -0800 | [diff] [blame] | 232 | chip drivers/intel/wifi |
| 233 | register "wake" = "GPE0_PME_B0" |
| 234 | device pci 14.3 on end # CNVi: WiFi 0xA0F0 - A0F3 |
| 235 | end |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 236 | |
| 237 | device pci 15.0 on |
| 238 | chip drivers/i2c/generic |
| 239 | register "hid" = ""10EC5682"" |
| 240 | register "name" = ""RT58"" |
| 241 | register "desc" = ""Realtek RT5682"" |
| 242 | register "irq" = "ACPI_IRQ_EDGE_HIGH(GPP_F8_IRQ)" |
| 243 | # Set the jd_src to RT5668_JD1 for jack detection |
| 244 | register "property_count" = "1" |
| 245 | register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER" |
| 246 | register "property_list[0].name" = ""realtek,jd-src"" |
| 247 | register "property_list[0].integer" = "1" |
| 248 | device i2c 1a on end |
| 249 | end |
| 250 | end # I2C #0 0xA0E8 |
| 251 | device pci 15.1 on end # I2C1 0xA0E9 |
| 252 | device pci 15.2 on |
| 253 | chip drivers/i2c/sx9310 |
| 254 | register "desc" = ""SAR0 Proximity Sensor"" |
| 255 | register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F14_IRQ)" |
| 256 | register "speed" = "I2C_SPEED_FAST" |
| 257 | register "uid" = "0" |
| 258 | register "reg_prox_ctrl0" = "0x10" |
| 259 | register "reg_prox_ctrl1" = "0x00" |
| 260 | register "reg_prox_ctrl2" = "0x84" |
| 261 | register "reg_prox_ctrl3" = "0x0e" |
| 262 | register "reg_prox_ctrl4" = "0x07" |
| 263 | register "reg_prox_ctrl5" = "0xc6" |
| 264 | register "reg_prox_ctrl6" = "0x20" |
| 265 | register "reg_prox_ctrl7" = "0x0d" |
| 266 | register "reg_prox_ctrl8" = "0x8d" |
| 267 | register "reg_prox_ctrl9" = "0x43" |
| 268 | register "reg_prox_ctrl10" = "0x1f" |
| 269 | register "reg_prox_ctrl11" = "0x00" |
| 270 | register "reg_prox_ctrl12" = "0x00" |
| 271 | register "reg_prox_ctrl13" = "0x00" |
| 272 | register "reg_prox_ctrl14" = "0x00" |
| 273 | register "reg_prox_ctrl15" = "0x00" |
| 274 | register "reg_prox_ctrl16" = "0x00" |
| 275 | register "reg_prox_ctrl17" = "0x00" |
| 276 | register "reg_prox_ctrl18" = "0x00" |
| 277 | register "reg_prox_ctrl19" = "0x00" |
| 278 | register "reg_sar_ctrl0" = "0x50" |
| 279 | register "reg_sar_ctrl1" = "0x8a" |
| 280 | register "reg_sar_ctrl2" = "0x3c" |
| 281 | device i2c 28 on end |
| 282 | end |
| 283 | end # I2C2 0xA0EA |
| 284 | device pci 15.3 on end # I2C3 0xA0EB |
| 285 | |
| 286 | device pci 16.0 on end # HECI1 0xA0E0 |
| 287 | device pci 16.1 off end # HECI2 0xA0E1 |
| 288 | device pci 16.2 off end # CSME 0xA0E2 |
| 289 | device pci 16.3 off end # CSME 0xA0E3 |
| 290 | device pci 16.4 off end # HECI3 0xA0E4 |
| 291 | device pci 16.5 off end # HECI4 0xA0E5 |
| 292 | |
| 293 | device pci 17.0 on end # SATA 0xA0D3 |
| 294 | |
| 295 | device pci 19.0 on end # I2C4 0xA0C5 |
| 296 | device pci 19.1 on |
| 297 | chip drivers/i2c/generic |
| 298 | register "hid" = ""ELAN0000"" |
| 299 | register "desc" = ""ELAN Touchpad"" |
| 300 | register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E15_IRQ)" |
| 301 | register "probed" = "1" |
| 302 | device i2c 15 on end |
| 303 | end |
| 304 | end # I2C5 0xA0C6 |
| 305 | device pci 19.2 off end # UART2 0xA0C7 |
| 306 | |
| 307 | device pci 1c.0 on end # RP1 0xA0B8 |
| 308 | device pci 1c.1 off end # RP2 0xA0B9 |
| 309 | device pci 1c.2 off end # RP3 0xA0BA |
| 310 | device pci 1c.3 off end # RP4 0xA0BB |
| 311 | device pci 1c.4 off end # RP5 0xA0BC |
Alex Levin | a53dbd4 | 2020-03-09 16:52:59 -0700 | [diff] [blame] | 312 | device pci 1c.5 off end # WWAN RP6 0xA0BD |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 313 | device pci 1c.6 on end # RP7 0xA0BE |
| 314 | device pci 1c.7 on end # SD Card RP8 0xA0BF |
| 315 | |
| 316 | device pci 1d.0 on end # RP9 0xA0B0 |
| 317 | device pci 1d.1 off end # RP10 0xA0B1 |
Venkata Krishna Nimmagadda | c34bb38 | 2020-01-15 10:13:26 -0800 | [diff] [blame^] | 318 | device pci 1d.2 on end # RP11 0xA0B2 |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 319 | device pci 1d.3 off end # RP12 0xA0B3 |
| 320 | device pci 1d.4 off end # RP13 0xA0B4 |
| 321 | device pci 1d.5 off end # RP14 0xA0B5 |
| 322 | device pci 1d.6 off end # RP15 0xA0B6 |
| 323 | device pci 1d.7 off end # RP16 0xA0B7 |
| 324 | |
| 325 | device pci 1e.0 on end # UART0 0xA0A8 |
| 326 | device pci 1e.1 off end # UART1 0xA0A9 |
| 327 | device pci 1e.2 on |
| 328 | chip drivers/spi/acpi |
| 329 | register "hid" = "ACPI_DT_NAMESPACE_HID" |
| 330 | register "compat_string" = ""google,cr50"" |
| 331 | register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_C21_IRQ)" |
| 332 | device spi 0 on end |
| 333 | end |
| 334 | end # GSPI0 0xA0AA |
Alex Levin | 3bc41cf | 2020-03-06 10:54:10 -0800 | [diff] [blame] | 335 | device pci 1e.3 on |
| 336 | chip drivers/spi/acpi |
| 337 | register "name" = ""CRFP"" |
| 338 | register "hid" = "ACPI_DT_NAMESPACE_HID" |
| 339 | register "uid" = "1" |
| 340 | register "compat_string" = ""google,cros-ec-spi"" |
| 341 | register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW_WAKE(GPP_C20)" |
| 342 | device spi 0 on end |
| 343 | end # FPMCU |
| 344 | end # GSPI1 0xA0AB |
Nick Vaccaro | f978191 | 2020-01-28 18:43:28 -0800 | [diff] [blame] | 345 | |
| 346 | device pci 1f.0 on end # eSPI 0xA080 - A09F |
| 347 | device pci 1f.1 off end # P2SB 0xA0A0 |
| 348 | device pci 1f.2 on end # PMC 0xA0A1 |
| 349 | device pci 1f.3 on |
| 350 | chip drivers/generic/max98357a |
| 351 | register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)" |
| 352 | register "sdmode_delay" = "5" |
| 353 | device generic 0 on end |
| 354 | end |
| 355 | end # Intel HD audio 0xA0C8-A0CF |
| 356 | device pci 1f.4 off end # SMBus 0xA0A3 |
| 357 | device pci 1f.5 on end # SPI 0xA0A4 |
| 358 | device pci 1f.6 off end # GbE 0x15E1/0x15E2 |
| 359 | device pci 1f.7 off end # TH 0xA0A6 |
| 360 | end |
| 361 | end |