blob: 976d82970c8f0466efd9d6222311ac8b73fbfe4e [file] [log] [blame]
Shelley Chene3110b82018-12-10 12:59:01 -08001chip soc/intel/cannonlake
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +05302
3 # GPE configuration
4 # Note that GPE events called out in ASL code rely on this
5 # route. i.e. If this route changes then the affected GPE
6 # offset bits also need to be changed.
7 # DW1 is used by:
Maulik V Vaghela6225a672018-12-28 13:44:59 +05308 # - GPP_C1 - PCIE_14_WLAN_WAKE_ODL
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +05309 # - GPP_C21 - H1_PCH_INT_ODL
10 register "gpe0_dw0" = "PMC_GPP_A"
11 register "gpe0_dw1" = "PMC_GPP_C"
12 register "gpe0_dw2" = "PMC_GPP_D"
13
Aamir Bohra6aaae1c2018-12-24 18:24:09 +053014 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
15 register "gen1_dec" = "0x00fc0801"
16 register "gen2_dec" = "0x000c0201"
17 # EC memory map range is 0x900-0x9ff
18 register "gen3_dec" = "0x00fc0901"
19
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +053020 # FSP configuration
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +053021 register "SkipExtGfxScan" = "1"
V Sowmya5c1f1782018-12-26 17:14:31 +053022 register "SataSalpSupport" = "1"
V Sowmya5c1f1782018-12-26 17:14:31 +053023 register "SataPortsEnable[1]" = "1"
24 register "SataPortsDevSlp[1]" = "1"
Aamir Bohra8dda4192019-09-10 08:51:02 +053025 # Configure devslp pad reset to PLT_RST
26 register "SataPortsDevSlpResetConfig[1]" = "SataDevSlpPlatformReset"
V Sowmya5c1f1782018-12-26 17:14:31 +053027 register "satapwroptimize" = "1"
Ronak Kanabard2667102019-01-09 15:50:12 +053028 # Enable System Agent dynamic frequency
29 register "SaGv" = "SaGv_Enabled"
Shelley Chen757571e2019-01-29 15:30:14 -080030 # Enable S0ix
31 register "s0ix_enable" = "1"
Sumeet Pawnikarfe1b40b2019-02-08 00:29:00 +053032 # Enable DPTF
33 register "dptf_enable" = "1"
Sumeet R Pawnikar309ccf72020-05-09 16:37:30 +053034 register "power_limits_config" = "{
35 .tdp_pl1_override = 15,
36 .tdp_pl2_override = 64,
37 }"
Sumeet Pawnikarfe1b40b2019-02-08 00:29:00 +053038 register "Device4Enable" = "1"
Krishna Prasad Bhatcaa85f22019-02-20 15:05:33 +053039 # Enable eDP device
40 register "DdiPortEdp" = "1"
41 # Enable HPD for DDI ports B/C
42 register "DdiPortBHpd" = "1"
43 register "DdiPortCHpd" = "1"
Sumeet Pawnikar39f9fbc2019-03-27 14:16:01 +053044 register "tcc_offset" = "10" # TCC of 90C
Krishna Prasad Bhat847289d2019-03-30 10:42:23 +053045 # Unlock GPIO pads
46 register "PchUnlockGpioPads" = "1"
Martin Roth50863da2021-10-01 14:37:30 -060047 # SD card WP pin configuration
Aamir Bohraa4542992019-08-16 12:20:01 +053048 register "ScsSdCardWpPinEnabled" = "0"
V Sowmya5c1f1782018-12-26 17:14:31 +053049
Sumeet Pawnikar17674ad2019-07-23 22:32:17 +053050 # NOTE: if any variant wants to override this value, use the same format
51 # as register "common_soc_config.pch_thermal_trip" = "value", instead of
52 # putting it under register "common_soc_config" in overridetree.cb file.
53 register "common_soc_config.pch_thermal_trip" = "77"
54
Jamie Chen0c89c292020-01-07 15:31:00 +080055 # Select CPU PL2/PL4 config
56 register "cpu_pl2_4_cfg" = "baseline"
57
Rizwan Qureshie211b9e2019-06-10 22:50:39 +053058 # VR Settings Configuration for 4 Domains
59 #+----------------+-------+-------+-------+-------+
60 #| Domain/Setting | SA | IA | GTUS | GTS |
61 #+----------------+-------+-------+-------+-------+
62 #| Psi1Threshold | 20A | 20A | 20A | 20A |
63 #| Psi2Threshold | 5A | 5A | 5A | 5A |
64 #| Psi3Threshold | 1A | 1A | 1A | 1A |
65 #| Psi3Enable | 1 | 1 | 1 | 1 |
66 #| Psi4Enable | 1 | 1 | 1 | 1 |
67 #| ImonSlope | 0 | 0 | 0 | 0 |
68 #| ImonOffset | 0 | 0 | 0 | 0 |
69 #| IccMax | 6A | 70A | 31A | 31A |
70 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
71 #| AcLoadline | 10.3 | 1.8 | 3.1 | 3.1 |
72 #| DcLoadline | 10.3 | 1.8 | 3.1 | 3.1 |
73 #+----------------+-------+-------+-------+-------+
74 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
75 .vr_config_enable = 1,
76 .psi1threshold = VR_CFG_AMP(20),
77 .psi2threshold = VR_CFG_AMP(5),
78 .psi3threshold = VR_CFG_AMP(1),
79 .psi3enable = 1,
80 .psi4enable = 1,
81 .imon_slope = 0x0,
82 .imon_offset = 0x0,
Jamie Chen0c89c292020-01-07 15:31:00 +080083 .icc_max = 0,
Rizwan Qureshie211b9e2019-06-10 22:50:39 +053084 .voltage_limit = 1520,
85 .ac_loadline = 1030,
86 .dc_loadline = 1030,
87 }"
88
89 register "domain_vr_config[VR_IA_CORE]" = "{
90 .vr_config_enable = 1,
91 .psi1threshold = VR_CFG_AMP(20),
92 .psi2threshold = VR_CFG_AMP(5),
93 .psi3threshold = VR_CFG_AMP(1),
94 .psi3enable = 1,
95 .psi4enable = 1,
96 .imon_slope = 0x0,
97 .imon_offset = 0x0,
Jamie Chen0c89c292020-01-07 15:31:00 +080098 .icc_max = 0,
Rizwan Qureshie211b9e2019-06-10 22:50:39 +053099 .voltage_limit = 1520,
100 .ac_loadline = 180,
101 .dc_loadline = 180,
102 }"
103
104 register "domain_vr_config[VR_GT_UNSLICED]" = "{
105 .vr_config_enable = 1,
106 .psi1threshold = VR_CFG_AMP(20),
107 .psi2threshold = VR_CFG_AMP(5),
108 .psi3threshold = VR_CFG_AMP(1),
109 .psi3enable = 1,
110 .psi4enable = 1,
111 .imon_slope = 0x0,
112 .imon_offset = 0x0,
Jamie Chen0c89c292020-01-07 15:31:00 +0800113 .icc_max = 0,
Rizwan Qureshie211b9e2019-06-10 22:50:39 +0530114 .voltage_limit = 1520,
115 .ac_loadline = 310,
116 .dc_loadline = 310,
117 }"
118
119 register "domain_vr_config[VR_GT_SLICED]" = "{
120 .vr_config_enable = 1,
121 .psi1threshold = VR_CFG_AMP(20),
122 .psi2threshold = VR_CFG_AMP(5),
123 .psi3threshold = VR_CFG_AMP(1),
124 .psi3enable = 1,
125 .psi4enable = 1,
126 .imon_slope = 0x0,
127 .imon_offset = 0x0,
Jamie Chen0c89c292020-01-07 15:31:00 +0800128 .icc_max = 0,
Rizwan Qureshie211b9e2019-06-10 22:50:39 +0530129 .voltage_limit = 1520,
130 .ac_loadline = 310,
131 .dc_loadline = 310,
132 }"
133
Rizwan Qureshi43bb6552019-04-10 16:58:07 +0530134 register "PchPmSlpS3MinAssert" = "2" # 50ms
135 register "PchPmSlpS4MinAssert" = "1" # 1s
136 register "PchPmSlpSusMinAssert" = "1" # 500ms
Sridhar Siricilla469dda32020-06-25 21:55:35 +0530137 register "PchPmSlpAMinAssert" = "3" # 98ms
138
139 # NOTE: Duration programmed in the below register should never be smaller than the
140 # stretch duration programmed in the following registers -
141 # - GEN_PMCON_A.SLP_S3_MIN_ASST_WDTH (PchPmSlpS3MinAssert)
142 # - GEN_PMCON_A.S4MAW (PchPmSlpS4MinAssert)
143 # - PM_CFG.SLP_A_MIN_ASST_WDTH (PchPmSlpAMinAssert)
144 # - PM_CFG.SLP_LAN_MIN_ASST_WDTH
145 register "PchPmPwrCycDur" = "1" # 1s
Rizwan Qureshi43bb6552019-04-10 16:58:07 +0530146
Aamir Bohrae65f5002020-02-04 08:31:18 +0530147 # Enable Audio DSP oscillator qualification for S0ix
148 register "cppmvric2_adsposcdis" = "1"
149
V Sowmya3f3d6b32018-12-27 14:53:14 +0530150 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC2)" # Type-C Port 0
151 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC2)" # Type-C Port 1
152 register "usb2_ports[2]" = "USB2_PORT_SHORT(OC3)" # Type-A Port 0
153 register "usb2_ports[3]" = "USB2_PORT_LONG(OC3)" # Type-A Port 1
V Sowmya3f3d6b32018-12-27 14:53:14 +0530154 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # WWAN
155 register "usb2_ports[6]" = "USB2_PORT_LONG(OC_SKIP)" # Camera
Aamir Bohrab09de702019-05-29 13:33:32 +0530156 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # BT
V Sowmya3f3d6b32018-12-27 14:53:14 +0530157
158 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC2)" # Type-C Port 0
159 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC2)" # Type-C Port 1
160 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 0
161 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 1
162 register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC_SKIP)" # WWAN
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +0530163
V Sowmya2d324ca2018-12-26 14:40:12 +0530164 # Enable Root port 9(x4) for NVMe.
165 register "PcieRpEnable[8]" = "1"
Furquan Shaikhfca7c4d2019-06-01 14:44:56 -0700166 register "PcieRpLtrEnable[8]" = "1"
V Sowmya2d324ca2018-12-26 14:40:12 +0530167 # RP 9 uses CLK SRC 1
168 register "PcieClkSrcUsage[1]" = "8"
169 # ClkReq-to-ClkSrc mapping for CLK SRC 1
170 register "PcieClkSrcClkReq[1]" = "1"
171
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530172 # PCIe port 14 for M.2 E-key WLAN
173 register "PcieRpEnable[13]" = "1"
Furquan Shaikhfca7c4d2019-06-01 14:44:56 -0700174 register "PcieRpLtrEnable[13]" = "1"
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530175 # RP 14 uses CLK SRC 3
176 register "PcieClkSrcUsage[3]" = "13"
177 register "PcieClkSrcClkReq[3]" = "3"
Maulik V Vaghelae4fcc3b2018-12-31 12:12:36 +0530178
Mac Chiang7439a7a2019-08-02 11:09:24 +0800179 #Enable I2S Audio, SSP0, SSP1 and DMIC0, default DMIC1 N/A (by variants override)
Sathya Prakash M Rd244f6c2019-02-04 17:26:45 +0530180 register "PchHdaDspEnable" = "1"
181 register "PchHdaAudioLinkSsp0" = "1"
182 register "PchHdaAudioLinkSsp1" = "1"
183 register "PchHdaAudioLinkDmic0" = "1"
Mac Chiang7439a7a2019-08-02 11:09:24 +0800184 register "PchHdaAudioLinkDmic1" = "0"
Sathya Prakash M Rd244f6c2019-02-04 17:26:45 +0530185
Subrata Banik0c89ed92019-05-17 14:50:48 +0530186 # GPIO PM programming
187 register "gpio_override_pm" = "1"
188
189 # GPIO community PM configuration
Tim Wawrzynczak145748b2019-07-09 13:33:04 -0600190 # Disable dynamic clock gating; with bits 0-5 set in these registers,
191 # some short interrupt pulses were missed (esp. cr50 irq)
192 register "gpio_pm[COMM_0]" = "0"
193 register "gpio_pm[COMM_1]" = "0"
194 register "gpio_pm[COMM_2]" = "0"
195 register "gpio_pm[COMM_3]" = "0"
Subrata Banikb5bea522019-06-08 20:30:41 +0530196 register "gpio_pm[COMM_4]" = "0"
Subrata Banik0c89ed92019-05-17 14:50:48 +0530197
Aamir Bohracda27c22019-01-09 20:41:22 +0530198 device cpu_cluster 0 on
199 device lapic 0 on end
200 end
201
Shelley Chene3110b82018-12-10 12:59:01 -0800202 device domain 0 on
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530203 device pci 00.0 on end # Host Bridge
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +0530204 device pci 02.0 on end # Integrated Graphics Device
Shelley Chene3110b82018-12-10 12:59:01 -0800205 device pci 04.0 off end # SA Thermal device
V Sowmya638dcf92019-01-07 13:49:03 +0530206 device pci 05.0 off end # SA IPU
Sumeet Pawnikar17674ad2019-07-23 22:32:17 +0530207 device pci 12.0 on end # Thermal Subsystem
Shelley Chene3110b82018-12-10 12:59:01 -0800208 device pci 12.5 off end # UFS SCS
209 device pci 12.6 off end # GSPI #2
V Sowmya3f3d6b32018-12-27 14:53:14 +0530210 device pci 14.0 on
211 chip drivers/usb/acpi
212 register "desc" = ""Root Hub""
213 register "type" = "UPC_TYPE_HUB"
214 device usb 0.0 on
215 chip drivers/usb/acpi
216 register "desc" = ""Left Type-C Port""
217 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
218 register "group" = "ACPI_PLD_GROUP(1, 1)"
219 device usb 2.0 on end
220 end
221 chip drivers/usb/acpi
222 register "desc" = ""Right Type-C Port 1""
223 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
224 register "group" = "ACPI_PLD_GROUP(2, 1)"
225 device usb 2.1 on end
226 end
227 chip drivers/usb/acpi
228 register "desc" = ""Left Type-A Port""
229 register "type" = "UPC_TYPE_A"
230 register "group" = "ACPI_PLD_GROUP(1, 2)"
231 device usb 2.2 on end
232 end
233 chip drivers/usb/acpi
234 register "desc" = ""Right Type-A Port 1""
235 register "type" = "UPC_TYPE_A"
236 register "group" = "ACPI_PLD_GROUP(2, 2)"
237 device usb 2.3 on end
238 end
239 chip drivers/usb/acpi
V Sowmya3f3d6b32018-12-27 14:53:14 +0530240 register "desc" = ""WWAN""
241 register "type" = "UPC_TYPE_INTERNAL"
242 device usb 2.5 on end
243 end
244 chip drivers/usb/acpi
245 register "desc" = ""Camera""
246 register "type" = "UPC_TYPE_INTERNAL"
247 device usb 2.6 on end
248 end
249 chip drivers/usb/acpi
Aamir Bohrab09de702019-05-29 13:33:32 +0530250 register "desc" = ""Bluetooth""
Aamir Bohrafc63b8b2019-02-01 18:15:17 +0530251 register "type" = "UPC_TYPE_INTERNAL"
Tim Wawrzynczak5ce16982019-03-21 12:47:21 -0600252 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C14)"
Aamir Bohrafc63b8b2019-02-01 18:15:17 +0530253 device usb 2.9 on end
254 end
255 chip drivers/usb/acpi
V Sowmya3f3d6b32018-12-27 14:53:14 +0530256 register "desc" = ""Left Type-C Port""
257 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
258 register "group" = "ACPI_PLD_GROUP(1, 1)"
259 device usb 3.0 on end
260 end
261 chip drivers/usb/acpi
262 register "desc" = ""Right Type-C Port 1""
263 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
264 register "group" = "ACPI_PLD_GROUP(2, 1)"
265 device usb 3.1 on end
266 end
267 chip drivers/usb/acpi
268 register "desc" = ""Left Type-A Port""
269 register "type" = "UPC_TYPE_USB3_A"
270 register "group" = "ACPI_PLD_GROUP(1, 2)"
271 device usb 3.2 on end
272 end
273 chip drivers/usb/acpi
274 register "desc" = ""Right Type-A Port 1""
275 register "type" = "UPC_TYPE_USB3_A"
276 register "group" = "ACPI_PLD_GROUP(2, 2)"
277 device usb 3.3 on end
278 end
279 chip drivers/usb/acpi
280 register "desc" = ""WWAN""
281 register "type" = "UPC_TYPE_INTERNAL"
282 device usb 3.4 on end
283 end
284 end
285 end
286 end # USB xHCI
Shelley Chene3110b82018-12-10 12:59:01 -0800287 device pci 14.1 off end # USB xDCI (OTG)
Furquan Shaikhedac4ef2020-10-09 08:50:14 -0700288 device pci 14.3 on
289 chip drivers/wifi/generic
290 register "wake" = "GPE0_PME_B0"
291 device generic 0 on end
292 end
293 end # CNVi wifi
Furquan Shaikhbac21f52019-04-01 22:24:29 -0700294 device pci 14.5 on end # SDCard
295 device pci 15.0 on end # I2C #0
296 device pci 15.1 on end # I2C #1
297 device pci 15.2 on end # I2C #2
298 device pci 15.3 on end # I2C #3
Subrata Banik805956b2022-01-03 18:29:05 +0000299 device pci 16.0 on end # Management Engine Interface 1
Shelley Chene3110b82018-12-10 12:59:01 -0800300 device pci 16.1 off end # Management Engine Interface 2
301 device pci 16.2 off end # Management Engine IDE-R
302 device pci 16.3 off end # Management Engine KT Redirection
303 device pci 16.4 off end # Management Engine Interface 3
304 device pci 16.5 off end # Management Engine Interface 4
V Sowmya5c1f1782018-12-26 17:14:31 +0530305 device pci 17.0 on end # SATA
Tim Wawrzynczakc60a8302019-04-23 10:51:20 -0600306 device pci 19.0 on end # I2C #4
Shelley Chene3110b82018-12-10 12:59:01 -0800307 device pci 19.1 off end # I2C #5
308 device pci 19.2 off end # UART #2
309 device pci 1a.0 off end # eMMC
310 device pci 1c.0 off end # PCI Express Port 1 (USB)
311 device pci 1c.1 off end # PCI Express Port 2 (USB)
312 device pci 1c.2 off end # PCI Express Port 3 (USB)
313 device pci 1c.3 off end # PCI Express Port 4 (USB)
314 device pci 1c.4 off end # PCI Express Port 5 (USB)
315 device pci 1c.5 off end # PCI Express Port 6
316 device pci 1c.6 off end # PCI Express Port 7
317 device pci 1c.7 off end # PCI Express Port 8
Nico Huber119ace02019-10-02 16:02:06 +0200318 device pci 1d.0 on # PCI Express Port 9 (X4 NVME)
319 register "PcieRpSlotImplemented[8]" = "1"
320 end
Shelley Chene3110b82018-12-10 12:59:01 -0800321 device pci 1d.1 off end # PCI Express Port 10
322 device pci 1d.2 off end # PCI Express Port 11
323 device pci 1d.3 off end # PCI Express Port 12
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530324 device pci 1d.4 off end # PCI Express port 13
325 device pci 1d.5 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700326 chip drivers/wifi/generic
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530327 register "wake" = "GPE0_DW1_01"
328 device pci 00.0 on end
329 end
Nico Huber119ace02019-10-02 16:02:06 +0200330 register "PcieRpSlotImplemented[13]" = "1"
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530331 end # PCI Express Port 14 (x4)
Maulik V Vaghela8f537442018-12-25 13:21:03 +0530332 device pci 1e.0 on end # UART #0
Shelley Chene3110b82018-12-10 12:59:01 -0800333 device pci 1e.1 off end # UART #1
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +0530334 device pci 1e.2 on
335 chip drivers/spi/acpi
336 register "hid" = "ACPI_DT_NAMESPACE_HID"
337 register "compat_string" = ""google,cr50""
338 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_C21_IRQ)"
339 device spi 0 on end
340 end
341 end # GSPI #0
Furquan Shaikhbac21f52019-04-01 22:24:29 -0700342 device pci 1e.3 on end # GSPI #1
Shelley Chenfced3fe2019-01-25 14:44:42 -0800343 device pci 1f.0 on
344 chip ec/google/chromeec
345 device pnp 0c09.0 on end
346 end
347 end # eSPI Interface
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530348 device pci 1f.1 on end # P2SB
Tim Wawrzynczakb7b51152021-07-01 08:38:30 -0600349 device pci 1f.2 hidden end # Power Management Controller
Edward O'Callaghanb4177862019-12-23 18:14:23 +1100350 device pci 1f.3 on end # Intel HDA
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530351 device pci 1f.4 on end # SMBus
Rizwan Qureshi37361272018-12-26 19:02:09 +0530352 device pci 1f.5 on end # PCH SPI
Shelley Chene3110b82018-12-10 12:59:01 -0800353 device pci 1f.6 off end # GbE
354 end
355end