blob: 01c0d234f9e39c265eb587217531fdd592335fff [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"
23 register "SataMode" = "Sata_AHCI"
24 register "SataPortsEnable[1]" = "1"
25 register "SataPortsDevSlp[1]" = "1"
Aamir Bohra8dda4192019-09-10 08:51:02 +053026 # Configure devslp pad reset to PLT_RST
27 register "SataPortsDevSlpResetConfig[1]" = "SataDevSlpPlatformReset"
V Sowmya5c1f1782018-12-26 17:14:31 +053028 register "satapwroptimize" = "1"
Ronak Kanabard2667102019-01-09 15:50:12 +053029 # Enable System Agent dynamic frequency
30 register "SaGv" = "SaGv_Enabled"
Shelley Chen757571e2019-01-29 15:30:14 -080031 # Enable S0ix
32 register "s0ix_enable" = "1"
Sumeet Pawnikarfe1b40b2019-02-08 00:29:00 +053033 # Enable DPTF
34 register "dptf_enable" = "1"
Sumeet R Pawnikar309ccf72020-05-09 16:37:30 +053035 register "power_limits_config" = "{
36 .tdp_pl1_override = 15,
37 .tdp_pl2_override = 64,
38 }"
Sumeet Pawnikarfe1b40b2019-02-08 00:29:00 +053039 register "Device4Enable" = "1"
Krishna Prasad Bhatcaa85f22019-02-20 15:05:33 +053040 # Enable eDP device
41 register "DdiPortEdp" = "1"
42 # Enable HPD for DDI ports B/C
43 register "DdiPortBHpd" = "1"
44 register "DdiPortCHpd" = "1"
Sumeet Pawnikar39f9fbc2019-03-27 14:16:01 +053045 register "tcc_offset" = "10" # TCC of 90C
Krishna Prasad Bhat847289d2019-03-30 10:42:23 +053046 # Unlock GPIO pads
47 register "PchUnlockGpioPads" = "1"
Aamir Bohraa4542992019-08-16 12:20:01 +053048 # SD card WP pin confguration
49 register "ScsSdCardWpPinEnabled" = "0"
V Sowmya5c1f1782018-12-26 17:14:31 +053050
Sumeet Pawnikar17674ad2019-07-23 22:32:17 +053051 # NOTE: if any variant wants to override this value, use the same format
52 # as register "common_soc_config.pch_thermal_trip" = "value", instead of
53 # putting it under register "common_soc_config" in overridetree.cb file.
54 register "common_soc_config.pch_thermal_trip" = "77"
55
Subrata Banikeaee3922019-07-29 14:35:03 +053056 register "PmTimerDisabled" = "1"
57
Jamie Chen0c89c292020-01-07 15:31:00 +080058 # Select CPU PL2/PL4 config
59 register "cpu_pl2_4_cfg" = "baseline"
60
Rizwan Qureshie211b9e2019-06-10 22:50:39 +053061 # VR Settings Configuration for 4 Domains
62 #+----------------+-------+-------+-------+-------+
63 #| Domain/Setting | SA | IA | GTUS | GTS |
64 #+----------------+-------+-------+-------+-------+
65 #| Psi1Threshold | 20A | 20A | 20A | 20A |
66 #| Psi2Threshold | 5A | 5A | 5A | 5A |
67 #| Psi3Threshold | 1A | 1A | 1A | 1A |
68 #| Psi3Enable | 1 | 1 | 1 | 1 |
69 #| Psi4Enable | 1 | 1 | 1 | 1 |
70 #| ImonSlope | 0 | 0 | 0 | 0 |
71 #| ImonOffset | 0 | 0 | 0 | 0 |
72 #| IccMax | 6A | 70A | 31A | 31A |
73 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
74 #| AcLoadline | 10.3 | 1.8 | 3.1 | 3.1 |
75 #| DcLoadline | 10.3 | 1.8 | 3.1 | 3.1 |
76 #+----------------+-------+-------+-------+-------+
77 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
78 .vr_config_enable = 1,
79 .psi1threshold = VR_CFG_AMP(20),
80 .psi2threshold = VR_CFG_AMP(5),
81 .psi3threshold = VR_CFG_AMP(1),
82 .psi3enable = 1,
83 .psi4enable = 1,
84 .imon_slope = 0x0,
85 .imon_offset = 0x0,
Jamie Chen0c89c292020-01-07 15:31:00 +080086 .icc_max = 0,
Rizwan Qureshie211b9e2019-06-10 22:50:39 +053087 .voltage_limit = 1520,
88 .ac_loadline = 1030,
89 .dc_loadline = 1030,
90 }"
91
92 register "domain_vr_config[VR_IA_CORE]" = "{
93 .vr_config_enable = 1,
94 .psi1threshold = VR_CFG_AMP(20),
95 .psi2threshold = VR_CFG_AMP(5),
96 .psi3threshold = VR_CFG_AMP(1),
97 .psi3enable = 1,
98 .psi4enable = 1,
99 .imon_slope = 0x0,
100 .imon_offset = 0x0,
Jamie Chen0c89c292020-01-07 15:31:00 +0800101 .icc_max = 0,
Rizwan Qureshie211b9e2019-06-10 22:50:39 +0530102 .voltage_limit = 1520,
103 .ac_loadline = 180,
104 .dc_loadline = 180,
105 }"
106
107 register "domain_vr_config[VR_GT_UNSLICED]" = "{
108 .vr_config_enable = 1,
109 .psi1threshold = VR_CFG_AMP(20),
110 .psi2threshold = VR_CFG_AMP(5),
111 .psi3threshold = VR_CFG_AMP(1),
112 .psi3enable = 1,
113 .psi4enable = 1,
114 .imon_slope = 0x0,
115 .imon_offset = 0x0,
Jamie Chen0c89c292020-01-07 15:31:00 +0800116 .icc_max = 0,
Rizwan Qureshie211b9e2019-06-10 22:50:39 +0530117 .voltage_limit = 1520,
118 .ac_loadline = 310,
119 .dc_loadline = 310,
120 }"
121
122 register "domain_vr_config[VR_GT_SLICED]" = "{
123 .vr_config_enable = 1,
124 .psi1threshold = VR_CFG_AMP(20),
125 .psi2threshold = VR_CFG_AMP(5),
126 .psi3threshold = VR_CFG_AMP(1),
127 .psi3enable = 1,
128 .psi4enable = 1,
129 .imon_slope = 0x0,
130 .imon_offset = 0x0,
Jamie Chen0c89c292020-01-07 15:31:00 +0800131 .icc_max = 0,
Rizwan Qureshie211b9e2019-06-10 22:50:39 +0530132 .voltage_limit = 1520,
133 .ac_loadline = 310,
134 .dc_loadline = 310,
135 }"
136
Rizwan Qureshi43bb6552019-04-10 16:58:07 +0530137 register "PchPmSlpS3MinAssert" = "2" # 50ms
138 register "PchPmSlpS4MinAssert" = "1" # 1s
139 register "PchPmSlpSusMinAssert" = "1" # 500ms
Sridhar Siricilla469dda32020-06-25 21:55:35 +0530140 register "PchPmSlpAMinAssert" = "3" # 98ms
141
142 # NOTE: Duration programmed in the below register should never be smaller than the
143 # stretch duration programmed in the following registers -
144 # - GEN_PMCON_A.SLP_S3_MIN_ASST_WDTH (PchPmSlpS3MinAssert)
145 # - GEN_PMCON_A.S4MAW (PchPmSlpS4MinAssert)
146 # - PM_CFG.SLP_A_MIN_ASST_WDTH (PchPmSlpAMinAssert)
147 # - PM_CFG.SLP_LAN_MIN_ASST_WDTH
148 register "PchPmPwrCycDur" = "1" # 1s
Rizwan Qureshi43bb6552019-04-10 16:58:07 +0530149
Aamir Bohrae65f5002020-02-04 08:31:18 +0530150 # Enable Audio DSP oscillator qualification for S0ix
151 register "cppmvric2_adsposcdis" = "1"
152
V Sowmya3f3d6b32018-12-27 14:53:14 +0530153 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC2)" # Type-C Port 0
154 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC2)" # Type-C Port 1
155 register "usb2_ports[2]" = "USB2_PORT_SHORT(OC3)" # Type-A Port 0
156 register "usb2_ports[3]" = "USB2_PORT_LONG(OC3)" # Type-A Port 1
V Sowmya3f3d6b32018-12-27 14:53:14 +0530157 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # WWAN
158 register "usb2_ports[6]" = "USB2_PORT_LONG(OC_SKIP)" # Camera
Aamir Bohrab09de702019-05-29 13:33:32 +0530159 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # BT
V Sowmya3f3d6b32018-12-27 14:53:14 +0530160
161 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC2)" # Type-C Port 0
162 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC2)" # Type-C Port 1
163 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 0
164 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 1
165 register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC_SKIP)" # WWAN
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +0530166
V Sowmya2d324ca2018-12-26 14:40:12 +0530167 # Enable Root port 9(x4) for NVMe.
168 register "PcieRpEnable[8]" = "1"
Furquan Shaikhfca7c4d2019-06-01 14:44:56 -0700169 register "PcieRpLtrEnable[8]" = "1"
V Sowmya2d324ca2018-12-26 14:40:12 +0530170 # RP 9 uses CLK SRC 1
171 register "PcieClkSrcUsage[1]" = "8"
172 # ClkReq-to-ClkSrc mapping for CLK SRC 1
173 register "PcieClkSrcClkReq[1]" = "1"
174
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530175 # PCIe port 14 for M.2 E-key WLAN
176 register "PcieRpEnable[13]" = "1"
Furquan Shaikhfca7c4d2019-06-01 14:44:56 -0700177 register "PcieRpLtrEnable[13]" = "1"
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530178 # RP 14 uses CLK SRC 3
179 register "PcieClkSrcUsage[3]" = "13"
180 register "PcieClkSrcClkReq[3]" = "3"
Maulik V Vaghelae4fcc3b2018-12-31 12:12:36 +0530181
Mac Chiang7439a7a2019-08-02 11:09:24 +0800182 #Enable I2S Audio, SSP0, SSP1 and DMIC0, default DMIC1 N/A (by variants override)
Sathya Prakash M Rd244f6c2019-02-04 17:26:45 +0530183 register "PchHdaDspEnable" = "1"
184 register "PchHdaAudioLinkSsp0" = "1"
185 register "PchHdaAudioLinkSsp1" = "1"
186 register "PchHdaAudioLinkDmic0" = "1"
Mac Chiang7439a7a2019-08-02 11:09:24 +0800187 register "PchHdaAudioLinkDmic1" = "0"
Sathya Prakash M Rd244f6c2019-02-04 17:26:45 +0530188
Subrata Banik0c89ed92019-05-17 14:50:48 +0530189 # GPIO PM programming
190 register "gpio_override_pm" = "1"
191
192 # GPIO community PM configuration
Tim Wawrzynczak145748b2019-07-09 13:33:04 -0600193 # Disable dynamic clock gating; with bits 0-5 set in these registers,
194 # some short interrupt pulses were missed (esp. cr50 irq)
195 register "gpio_pm[COMM_0]" = "0"
196 register "gpio_pm[COMM_1]" = "0"
197 register "gpio_pm[COMM_2]" = "0"
198 register "gpio_pm[COMM_3]" = "0"
Subrata Banikb5bea522019-06-08 20:30:41 +0530199 register "gpio_pm[COMM_4]" = "0"
Subrata Banik0c89ed92019-05-17 14:50:48 +0530200
Subrata Banik9d426f12019-07-30 22:01:51 +0530201 # chipset_lockdown configuration
202 # Use below format to override value in overridetree.cb if required
203 # format:
204 # register "common_soc_config.<variable_name>" = "value"
205 register "common_soc_config.chipset_lockdown" = CHIPSET_LOCKDOWN_COREBOOT
206
Aamir Bohracda27c22019-01-09 20:41:22 +0530207 device cpu_cluster 0 on
208 device lapic 0 on end
209 end
210
Shelley Chene3110b82018-12-10 12:59:01 -0800211 device domain 0 on
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530212 device pci 00.0 on end # Host Bridge
Maulik V Vaghela2fe81b22018-12-21 19:07:43 +0530213 device pci 02.0 on end # Integrated Graphics Device
Shelley Chene3110b82018-12-10 12:59:01 -0800214 device pci 04.0 off end # SA Thermal device
V Sowmya638dcf92019-01-07 13:49:03 +0530215 device pci 05.0 off end # SA IPU
Sumeet Pawnikar17674ad2019-07-23 22:32:17 +0530216 device pci 12.0 on end # Thermal Subsystem
Shelley Chene3110b82018-12-10 12:59:01 -0800217 device pci 12.5 off end # UFS SCS
218 device pci 12.6 off end # GSPI #2
V Sowmya3f3d6b32018-12-27 14:53:14 +0530219 device pci 14.0 on
220 chip drivers/usb/acpi
221 register "desc" = ""Root Hub""
222 register "type" = "UPC_TYPE_HUB"
223 device usb 0.0 on
224 chip drivers/usb/acpi
225 register "desc" = ""Left Type-C Port""
226 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
227 register "group" = "ACPI_PLD_GROUP(1, 1)"
228 device usb 2.0 on end
229 end
230 chip drivers/usb/acpi
231 register "desc" = ""Right Type-C Port 1""
232 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
233 register "group" = "ACPI_PLD_GROUP(2, 1)"
234 device usb 2.1 on end
235 end
236 chip drivers/usb/acpi
237 register "desc" = ""Left Type-A Port""
238 register "type" = "UPC_TYPE_A"
239 register "group" = "ACPI_PLD_GROUP(1, 2)"
240 device usb 2.2 on end
241 end
242 chip drivers/usb/acpi
243 register "desc" = ""Right Type-A Port 1""
244 register "type" = "UPC_TYPE_A"
245 register "group" = "ACPI_PLD_GROUP(2, 2)"
246 device usb 2.3 on end
247 end
248 chip drivers/usb/acpi
V Sowmya3f3d6b32018-12-27 14:53:14 +0530249 register "desc" = ""WWAN""
250 register "type" = "UPC_TYPE_INTERNAL"
251 device usb 2.5 on end
252 end
253 chip drivers/usb/acpi
254 register "desc" = ""Camera""
255 register "type" = "UPC_TYPE_INTERNAL"
256 device usb 2.6 on end
257 end
258 chip drivers/usb/acpi
Aamir Bohrab09de702019-05-29 13:33:32 +0530259 register "desc" = ""Bluetooth""
Aamir Bohrafc63b8b2019-02-01 18:15:17 +0530260 register "type" = "UPC_TYPE_INTERNAL"
Tim Wawrzynczak5ce16982019-03-21 12:47:21 -0600261 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C14)"
Aamir Bohrafc63b8b2019-02-01 18:15:17 +0530262 device usb 2.9 on end
263 end
264 chip drivers/usb/acpi
V Sowmya3f3d6b32018-12-27 14:53:14 +0530265 register "desc" = ""Left Type-C Port""
266 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
267 register "group" = "ACPI_PLD_GROUP(1, 1)"
268 device usb 3.0 on end
269 end
270 chip drivers/usb/acpi
271 register "desc" = ""Right Type-C Port 1""
272 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
273 register "group" = "ACPI_PLD_GROUP(2, 1)"
274 device usb 3.1 on end
275 end
276 chip drivers/usb/acpi
277 register "desc" = ""Left Type-A Port""
278 register "type" = "UPC_TYPE_USB3_A"
279 register "group" = "ACPI_PLD_GROUP(1, 2)"
280 device usb 3.2 on end
281 end
282 chip drivers/usb/acpi
283 register "desc" = ""Right Type-A Port 1""
284 register "type" = "UPC_TYPE_USB3_A"
285 register "group" = "ACPI_PLD_GROUP(2, 2)"
286 device usb 3.3 on end
287 end
288 chip drivers/usb/acpi
289 register "desc" = ""WWAN""
290 register "type" = "UPC_TYPE_INTERNAL"
291 device usb 3.4 on end
292 end
293 end
294 end
295 end # USB xHCI
Shelley Chene3110b82018-12-10 12:59:01 -0800296 device pci 14.1 off end # USB xDCI (OTG)
Furquan Shaikhedac4ef2020-10-09 08:50:14 -0700297 device pci 14.3 on
298 chip drivers/wifi/generic
299 register "wake" = "GPE0_PME_B0"
300 device generic 0 on end
301 end
302 end # CNVi wifi
Furquan Shaikhbac21f52019-04-01 22:24:29 -0700303 device pci 14.5 on end # SDCard
304 device pci 15.0 on end # I2C #0
305 device pci 15.1 on end # I2C #1
306 device pci 15.2 on end # I2C #2
307 device pci 15.3 on end # I2C #3
Felix Singer3de90d12020-08-04 16:47:10 +0200308 device pci 16.0 off end # Management Engine Interface 1
Shelley Chene3110b82018-12-10 12:59:01 -0800309 device pci 16.1 off end # Management Engine Interface 2
310 device pci 16.2 off end # Management Engine IDE-R
311 device pci 16.3 off end # Management Engine KT Redirection
312 device pci 16.4 off end # Management Engine Interface 3
313 device pci 16.5 off end # Management Engine Interface 4
V Sowmya5c1f1782018-12-26 17:14:31 +0530314 device pci 17.0 on end # SATA
Tim Wawrzynczakc60a8302019-04-23 10:51:20 -0600315 device pci 19.0 on end # I2C #4
Shelley Chene3110b82018-12-10 12:59:01 -0800316 device pci 19.1 off end # I2C #5
317 device pci 19.2 off end # UART #2
318 device pci 1a.0 off end # eMMC
319 device pci 1c.0 off end # PCI Express Port 1 (USB)
320 device pci 1c.1 off end # PCI Express Port 2 (USB)
321 device pci 1c.2 off end # PCI Express Port 3 (USB)
322 device pci 1c.3 off end # PCI Express Port 4 (USB)
323 device pci 1c.4 off end # PCI Express Port 5 (USB)
324 device pci 1c.5 off end # PCI Express Port 6
325 device pci 1c.6 off end # PCI Express Port 7
326 device pci 1c.7 off end # PCI Express Port 8
Nico Huber119ace02019-10-02 16:02:06 +0200327 device pci 1d.0 on # PCI Express Port 9 (X4 NVME)
328 register "PcieRpSlotImplemented[8]" = "1"
329 end
Shelley Chene3110b82018-12-10 12:59:01 -0800330 device pci 1d.1 off end # PCI Express Port 10
331 device pci 1d.2 off end # PCI Express Port 11
332 device pci 1d.3 off end # PCI Express Port 12
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530333 device pci 1d.4 off end # PCI Express port 13
334 device pci 1d.5 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700335 chip drivers/wifi/generic
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530336 register "wake" = "GPE0_DW1_01"
337 device pci 00.0 on end
338 end
Nico Huber119ace02019-10-02 16:02:06 +0200339 register "PcieRpSlotImplemented[13]" = "1"
Maulik V Vaghela6225a672018-12-28 13:44:59 +0530340 end # PCI Express Port 14 (x4)
Maulik V Vaghela8f537442018-12-25 13:21:03 +0530341 device pci 1e.0 on end # UART #0
Shelley Chene3110b82018-12-10 12:59:01 -0800342 device pci 1e.1 off end # UART #1
Aamir Bohra6d8e0cd2018-12-18 16:09:27 +0530343 device pci 1e.2 on
344 chip drivers/spi/acpi
345 register "hid" = "ACPI_DT_NAMESPACE_HID"
346 register "compat_string" = ""google,cr50""
347 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_C21_IRQ)"
348 device spi 0 on end
349 end
350 end # GSPI #0
Furquan Shaikhbac21f52019-04-01 22:24:29 -0700351 device pci 1e.3 on end # GSPI #1
Shelley Chenfced3fe2019-01-25 14:44:42 -0800352 device pci 1f.0 on
353 chip ec/google/chromeec
354 device pnp 0c09.0 on end
355 end
356 end # eSPI Interface
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530357 device pci 1f.1 on end # P2SB
358 device pci 1f.2 on end # Power Management Controller
Edward O'Callaghanb4177862019-12-23 18:14:23 +1100359 device pci 1f.3 on end # Intel HDA
Rizwan Qureshi8ae54182018-12-28 12:29:56 +0530360 device pci 1f.4 on end # SMBus
Rizwan Qureshi37361272018-12-26 19:02:09 +0530361 device pci 1f.5 on end # PCH SPI
Shelley Chene3110b82018-12-10 12:59:01 -0800362 device pci 1f.6 off end # GbE
363 end
364end