blob: 8cf4e52fb90cce5c2a72366b892dfe17f065d133 [file] [log] [blame]
Shelley Chen243dc392017-03-15 15:25:48 -07001chip soc/intel/skylake
2
3 # Deep Sx states
Duncan Laurie1fe32d62017-04-10 21:02:13 -07004 register "deep_s3_enable_ac" = "0"
5 register "deep_s3_enable_dc" = "0"
6 register "deep_s5_enable_ac" = "1"
7 register "deep_s5_enable_dc" = "1"
Shelley Chen243dc392017-03-15 15:25:48 -07008 register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN | DSX_EN_WAKE_PIN"
9
Shelley Chenda6e4f62017-06-29 16:13:33 -070010 # Mapping of USB port # to device
11 #+----------------+-------+-----------------------------------+
12 #| Device | Port# | Rev |
13 #+----------------+-------+-----------------------------------+
14 #| USB C | 1 | 2/3 |
15 #| USB A Rear | 2 | 2/3 |
16 #| USB A Front | 3 | 2/3 |
17 #| USB A Front | 4 | 2/3 |
18 #| USB A Rear | 5 | 2 on base celeron, 2/3 all others |
19 #| USB A Rear | 6 | 2 on base celeron, 2/3 all others |
20 #| Bluetooth | 7 | |
21 #| Daughter Board | 8 | |
22 #+----------------+-------+-----------------------------------+
23
24 # Bitmap for Wake Enable on USB attach/detach
25 register "usb2_wake_enable_bitmap" = "USB_PORT_WAKE_ENABLE(2) | \
26 USB_PORT_WAKE_ENABLE(3) | \
27 USB_PORT_WAKE_ENABLE(4) | \
28 USB_PORT_WAKE_ENABLE(5) | \
29 USB_PORT_WAKE_ENABLE(6)"
30 register "usb3_wake_enable_bitmap" = "USB_PORT_WAKE_ENABLE(2) | \
31 USB_PORT_WAKE_ENABLE(3) | \
32 USB_PORT_WAKE_ENABLE(4) | \
33 USB_PORT_WAKE_ENABLE(5) | \
34 USB_PORT_WAKE_ENABLE(6)"
35
Shelley Chen243dc392017-03-15 15:25:48 -070036 # GPE configuration
37 # Note that GPE events called out in ASL code rely on this
38 # route. i.e. If this route changes then the affected GPE
39 # offset bits also need to be changed.
40 register "gpe0_dw0" = "GPP_B"
41 register "gpe0_dw1" = "GPP_D"
42 register "gpe0_dw2" = "GPP_E"
43
44 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
45 register "gen1_dec" = "0x00fc0801"
46 register "gen2_dec" = "0x000c0201"
47 # EC memory map range is 0x900-0x9ff
48 register "gen3_dec" = "0x00fc0901"
49
Tsai, Gaggeryb2a3ac42017-08-22 10:55:13 +080050 # Enable DPTF
51 register "dptf_enable" = "1"
52
Shelley Chen6dd9e592017-12-20 10:43:25 -080053 # Enable S0ix
54 register "s0ix_enable" = "1"
55
Shelley Chen243dc392017-03-15 15:25:48 -070056 # FSP Configuration
57 register "ProbelessTrace" = "0"
Kane Chene13a2692018-01-09 09:52:37 +080058 register "EnableLan" = "0"
Shelley Chenc5168832017-03-21 15:04:04 -070059 register "EnableSata" = "1"
Kevin Chiua63f4c42018-01-08 09:54:08 +080060 register "SataSalpSupport" = "0"
Kane Chen91ea9f02017-12-13 11:35:54 +080061 register "SataMode" = "0"
David Wu0f829052017-12-11 14:08:11 +080062 register "SataPortsEnable[0]" = "1"
Shelley Chene8365aa2017-04-24 13:11:43 -070063 register "SataPortsEnable[1]" = "1"
Gaggery Tsaibc37c672017-09-29 13:40:04 +080064 register "SataPortsDevSlp[1]" = "1"
Kane Chenf3122ce2017-12-27 13:55:45 +080065 register "SataPwrOptEnable" = "1"
Shelley Chen243dc392017-03-15 15:25:48 -070066 register "EnableAzalia" = "1"
67 register "DspEnable" = "1"
68 register "IoBufferOwnership" = "3"
69 register "EnableTraceHub" = "0"
70 register "XdciEnable" = "0"
71 register "SsicPortEnable" = "0"
72 register "SmbusEnable" = "1"
73 register "Cio2Enable" = "0"
Shelley Chenc5168832017-03-21 15:04:04 -070074 register "ScsEmmcEnabled" = "0"
75 register "ScsEmmcHs400Enabled" = "0"
Shelley Chen243dc392017-03-15 15:25:48 -070076 register "ScsSdCardEnabled" = "2"
77 register "IshEnable" = "0"
78 register "PttSwitch" = "0"
79 register "InternalGfx" = "1"
80 register "SkipExtGfxScan" = "1"
81 register "Device4Enable" = "1"
82 register "HeciEnabled" = "0"
83 register "FspSkipMpInit" = "1"
84 register "SaGv" = "3"
85 register "SerialIrqConfigSirqEnable" = "1"
86 register "PmConfigSlpS3MinAssert" = "2" # 50ms
87 register "PmConfigSlpS4MinAssert" = "1" # 1s
88 register "PmConfigSlpSusMinAssert" = "1" # 500ms
89 register "PmConfigSlpAMinAssert" = "3" # 2s
90 register "PmTimerDisabled" = "1"
91 register "SendVrMbxCmd" = "1" # IMVP8 workaround
92
Rizwan Qureshibbff1572017-12-07 02:10:06 +053093 # Intersil VR c-state issue workaround
94 # send VR mailbox command for IA/GT/SA rails
95 register "IslVrCmd" = "2"
96
Shelley Chen243dc392017-03-15 15:25:48 -070097 register "pirqa_routing" = "PCH_IRQ11"
98 register "pirqb_routing" = "PCH_IRQ10"
99 register "pirqc_routing" = "PCH_IRQ11"
100 register "pirqd_routing" = "PCH_IRQ11"
101 register "pirqe_routing" = "PCH_IRQ11"
102 register "pirqf_routing" = "PCH_IRQ11"
103 register "pirqg_routing" = "PCH_IRQ11"
104 register "pirqh_routing" = "PCH_IRQ11"
105
106 # VR Settings Configuration for 4 Domains
107 #+----------------+-------+-------+-------+-------+
108 #| Domain/Setting | SA | IA | GTUS | GTS |
109 #+----------------+-------+-------+-------+-------+
110 #| Psi1Threshold | 20A | 20A | 20A | 20A |
111 #| Psi2Threshold | 4A | 5A | 5A | 5A |
112 #| Psi3Threshold | 1A | 1A | 1A | 1A |
113 #| Psi3Enable | 1 | 1 | 1 | 1 |
114 #| Psi4Enable | 1 | 1 | 1 | 1 |
115 #| ImonSlope | 0 | 0 | 0 | 0 |
116 #| ImonOffset | 0 | 0 | 0 | 0 |
117 #| IccMax | 7A | 34A | 35A | 35A |
118 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
119 #+----------------+-------+-------+-------+-------+
Gaggery Tsai2ce90902018-01-15 22:48:18 +0800120 #Note: IccMax settings are moved to SoC code
Shelley Chen243dc392017-03-15 15:25:48 -0700121 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
122 .vr_config_enable = 1,
123 .psi1threshold = VR_CFG_AMP(20),
124 .psi2threshold = VR_CFG_AMP(4),
125 .psi3threshold = VR_CFG_AMP(1),
126 .psi3enable = 1,
127 .psi4enable = 1,
128 .imon_slope = 0x0,
129 .imon_offset = 0x0,
Shelley Chen243dc392017-03-15 15:25:48 -0700130 .voltage_limit = 1520,
131 }"
132
133 register "domain_vr_config[VR_IA_CORE]" = "{
134 .vr_config_enable = 1,
135 .psi1threshold = VR_CFG_AMP(20),
136 .psi2threshold = VR_CFG_AMP(5),
137 .psi3threshold = VR_CFG_AMP(1),
138 .psi3enable = 1,
139 .psi4enable = 1,
140 .imon_slope = 0x0,
141 .imon_offset = 0x0,
Shelley Chen243dc392017-03-15 15:25:48 -0700142 .voltage_limit = 1520,
143 }"
144
145 register "domain_vr_config[VR_GT_UNSLICED]" = "{
146 .vr_config_enable = 1,
147 .psi1threshold = VR_CFG_AMP(20),
148 .psi2threshold = VR_CFG_AMP(5),
149 .psi3threshold = VR_CFG_AMP(1),
150 .psi3enable = 1,
151 .psi4enable = 1,
152 .imon_slope = 0x0,
153 .imon_offset = 0x0,
Shelley Chen243dc392017-03-15 15:25:48 -0700154 .voltage_limit = 1520,
155 }"
156
157 register "domain_vr_config[VR_GT_SLICED]" = "{
158 .vr_config_enable = 1,
159 .psi1threshold = VR_CFG_AMP(20),
160 .psi2threshold = VR_CFG_AMP(5),
161 .psi3threshold = VR_CFG_AMP(1),
162 .psi3enable = 1,
163 .psi4enable = 1,
164 .imon_slope = 0x0,
165 .imon_offset = 0x0,
Shelley Chen243dc392017-03-15 15:25:48 -0700166 .voltage_limit = 1520,
167 }"
168
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530169 # Enable Root port 3(x1) for LAN.
170 register "PcieRpEnable[2]" = "1"
Shelley Chen243dc392017-03-15 15:25:48 -0700171 # Enable CLKREQ#
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530172 register "PcieRpClkReqSupport[2]" = "1"
173 # RP 3 uses SRCCLKREQ0#
174 register "PcieRpClkReqNumber[2]" = "0"
Kane Chen6708d3a2017-10-11 12:39:46 +0800175 # RP 3, Enable Advanced Error Reporting
176 register "PcieRpAdvancedErrorReporting[2]" = "1"
177 # RP 3, Enable Latency Tolerance Reporting Mechanism
178 register "PcieRpLtrEnable[2]" = "1"
Divya Chellape7fb7ce2017-12-19 20:16:50 +0530179 # RP 3 uses uses CLK SRC 0
180 register "PcieRpClkSrcNumber[2]" = "0"
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530181
182 # Enable Root port 4(x1) for WLAN.
183 register "PcieRpEnable[3]" = "1"
184 # Enable CLKREQ#
185 register "PcieRpClkReqSupport[3]" = "1"
186 # RP 4 uses SRCCLKREQ5#
187 register "PcieRpClkReqNumber[3]" = "5"
Kane Chen6708d3a2017-10-11 12:39:46 +0800188 # RP 4, Enable Advanced Error Reporting
189 register "PcieRpAdvancedErrorReporting[3]" = "1"
190 # RP 4, Enable Latency Tolerance Reporting Mechanism
191 register "PcieRpLtrEnable[3]" = "1"
Divya Chellape7fb7ce2017-12-19 20:16:50 +0530192 # RP 4 uses uses CLK SRC 5
193 register "PcieRpClkSrcNumber[3]" = "5"
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530194
195 # Enable Root port 5(x4) for NVMe.
196 register "PcieRpEnable[4]" = "1"
197 # Enable CLKREQ#
198 register "PcieRpClkReqSupport[4]" = "1"
199 # RP 5 uses SRCCLKREQ1#
200 register "PcieRpClkReqNumber[4]" = "1"
Kane Chen6708d3a2017-10-11 12:39:46 +0800201 # RP 5, Enable Advanced Error Reporting
202 register "PcieRpAdvancedErrorReporting[4]" = "1"
203 # RP 5, Enable Latency Tolerance Reporting Mechanism
204 register "PcieRpLtrEnable[4]" = "1"
Divya Chellape7fb7ce2017-12-19 20:16:50 +0530205 # RP 5 uses CLK SRC 1
206 register "PcieRpClkSrcNumber[4]" = "1"
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530207
208 # Enable Root port 9 for BtoB.
209 register "PcieRpEnable[8]" = "1"
210 # Enable CLKREQ#
211 register "PcieRpClkReqSupport[8]" = "1"
212 # RP 9 uses SRCCLKREQ2#
213 register "PcieRpClkReqNumber[8]" = "2"
Kane Chen6708d3a2017-10-11 12:39:46 +0800214 # RP 9, Enable Advanced Error Reporting
215 register "PcieRpAdvancedErrorReporting[8]" = "1"
216 # RP 9, Enable Latency Tolerance Reporting Mechanism
217 register "PcieRpLtrEnable[8]" = "1"
Divya Chellape7fb7ce2017-12-19 20:16:50 +0530218 # RP 9 uses uses CLK SRC 2
219 register "PcieRpClkSrcNumber[8]" = "2"
Shelley Chen243dc392017-03-15 15:25:48 -0700220
Shelley Chenc5168832017-03-21 15:04:04 -0700221 register "usb2_ports[0]" = "USB2_PORT_LONG(OC0)" # Type-C
222 register "usb2_ports[1]" = "USB2_PORT_MID(OC3)" # Type-A Rear
223 register "usb2_ports[2]" = "USB2_PORT_MID(OC2)" # Type-A Front
224 register "usb2_ports[3]" = "USB2_PORT_MID(OC2)" # Type-A Front
225 register "usb2_ports[4]" = "USB2_PORT_MID(OC1)" # Type-A Rear
226 register "usb2_ports[5]" = "USB2_PORT_MID(OC1)" # Type-A Rear
227 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth
228 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Type-A 2.0 / Debug
229 register "usb2_ports[8]" = "USB2_PORT_EMPTY" # H1 (disconnected)
Shelley Chen243dc392017-03-15 15:25:48 -0700230
Shelley Chenc5168832017-03-21 15:04:04 -0700231 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC0)" # Type-C
232 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Rear
233 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Front
234 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Front
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530235 register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC1)" # Type-A Rear
236 register "usb3_ports[5]" = "USB3_PORT_DEFAULT(OC1)" # Type-A Rear
Shelley Chen243dc392017-03-15 15:25:48 -0700237
Shelley Chenc5168832017-03-21 15:04:04 -0700238 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3" # HDMI CEC
239 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3" # TPM
240 register "i2c_voltage[2]" = "I2C_VOLTAGE_3V3" # Debug
Shelley Chen243dc392017-03-15 15:25:48 -0700241 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8" # Audio
242
Shelley Chen5aa64b92017-06-09 13:05:29 -0700243 # Use GSPI0 for cr50 TPM. Early init is required to set up a BAR for TPM
244 # communication before memory is up.
245 register "gspi[0]" = "{
246 .speed_mhz = 1,
247 .early_init = 1,
248 }"
249
Shelley Chen8bd8cd32018-01-22 10:26:31 -0800250 # audio
251 register "i2c[5]" = "{
252 .speed = I2C_SPEED_FAST,
253 .speed_config[0] = {
254 .speed = I2C_SPEED_FAST,
255 .scl_lcnt = 194,
256 .scl_hcnt = 100,
257 .sda_hold = 36,
258 },
259 }"
260
Shelley Chen243dc392017-03-15 15:25:48 -0700261 # Must leave UART0 enabled or SD/eMMC will not work as PCI
262 register "SerialIoDevMode" = "{
Shelley Chen5537f022017-11-22 16:55:27 -0800263 [PchSerialIoIndexI2C0] = PchSerialIoDisabled,
264 [PchSerialIoIndexI2C1] = PchSerialIoDisabled,
265 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
Shelley Chenc5168832017-03-21 15:04:04 -0700266 [PchSerialIoIndexI2C3] = PchSerialIoDisabled,
267 [PchSerialIoIndexI2C4] = PchSerialIoDisabled,
Shelley Chen243dc392017-03-15 15:25:48 -0700268 [PchSerialIoIndexI2C5] = PchSerialIoPci,
269 [PchSerialIoIndexSpi0] = PchSerialIoPci,
Shelley Chenc5168832017-03-21 15:04:04 -0700270 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Shelley Chen243dc392017-03-15 15:25:48 -0700271 [PchSerialIoIndexUart0] = PchSerialIoPci,
272 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
273 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
274 }"
275
276 register "speed_shift_enable" = "1"
Shelley Chen8c81c6a2017-06-29 14:58:59 -0700277 register "tdp_psyspl2" = "90"
Kevin Chiu09f8a832018-01-08 11:50:59 +0800278 register "tcc_offset" = "6" # TCC of 94C
Shelley Chen243dc392017-03-15 15:25:48 -0700279
280 # Use default SD card detect GPIO configuration
Shelley Chenc5168832017-03-21 15:04:04 -0700281 register "sdcard_cd_gpio_default" = "GPP_A7"
Shelley Chen243dc392017-03-15 15:25:48 -0700282
Subrata Banikc204aaa2017-08-17 15:49:58 +0530283 # Lock Down
284 register "chipset_lockdown" = "CHIPSET_LOCKDOWN_COREBOOT"
285
Shelley Chen243dc392017-03-15 15:25:48 -0700286 device cpu_cluster 0 on
287 device lapic 0 on end
288 end
289 device domain 0 on
290 device pci 00.0 on end # Host Bridge
291 device pci 02.0 on end # Integrated Graphics Device
292 device pci 14.0 on end # USB xHCI
293 device pci 14.1 off end # USB xDCI (OTG)
294 device pci 14.2 on end # Thermal Subsystem
Shelley Chen5537f022017-11-22 16:55:27 -0800295 device pci 15.0 off end # I2C #0
296 device pci 15.1 off end # I2C #1
297 device pci 15.2 off end # I2C #2
298 device pci 15.3 off end # I2C #3
Shelley Chen243dc392017-03-15 15:25:48 -0700299 device pci 16.0 on end # Management Engine Interface 1
300 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
Shelley Chenc5168832017-03-21 15:04:04 -0700304 device pci 17.0 on end # SATA
Shelley Chen243dc392017-03-15 15:25:48 -0700305 device pci 19.0 on end # UART #2
306 device pci 19.1 on
Kevin Cheng2a6f4ae2017-06-06 10:37:59 +0800307 chip drivers/i2c/generic
308 register "hid" = ""10EC5663""
309 register "name" = ""RT53""
310 register "desc" = ""Realtek RT5663""
311 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D9)"
312 device i2c 13 on end
313 end
Shelley Chen243dc392017-03-15 15:25:48 -0700314 end # I2C #5
Shelley Chenc5168832017-03-21 15:04:04 -0700315 device pci 19.2 off end # I2C #4
Gaggery Tsai2ecf3f82017-11-02 09:58:06 +0800316 device pci 1c.0 on # PCI Express Port 1
317 chip drivers/net
Gaggery Tsaid7de7bc2017-12-20 13:12:57 +0800318 register "customized_leds" = "0x0fa5"
Gaggery Tsai61c817d2017-11-23 13:23:57 +0800319 register "wake" = "GPE0_PCI_EXP"
Gaggery Tsai2ecf3f82017-11-02 09:58:06 +0800320 device pci 00.0 on end
321 end
322 end # PCI Express Port 1
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530323 device pci 1c.1 off end # PCI Express Port 2
Gaggery Tsai2ecf3f82017-11-02 09:58:06 +0800324 # PCI Express Port 3 for LAN, but will be swapped to port 1
325 device pci 1c.2 on end
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530326 device pci 1c.3 on
Shelley Chen243dc392017-03-15 15:25:48 -0700327 chip drivers/intel/wifi
328 register "wake" = "GPE0_PCI_EXP"
329 device pci 00.0 on end
330 end
Naresh G Solanki561f7fc2017-04-20 16:45:01 +0530331 end # PCI Express Port 4 for WLAN
332 device pci 1c.4 on end # PCI Express Port 5 for NVMe
Shelley Chen243dc392017-03-15 15:25:48 -0700333 device pci 1c.5 off end # PCI Express Port 6
334 device pci 1c.6 off end # PCI Express Port 7
335 device pci 1c.7 off end # PCI Express Port 8
David Wu5f7fa722017-12-11 14:40:36 +0800336 device pci 1d.0 on # PCI Express Port 9 for 2nd LAN
337 chip drivers/net
Gaggery Tsaid7de7bc2017-12-20 13:12:57 +0800338 register "customized_leds" = "0x0fa5"
David Wu5f7fa722017-12-11 14:40:36 +0800339 device pci 00.0 on end
340 end
341 end # PCI Express Port 9 for BtoB
Shelley Chen243dc392017-03-15 15:25:48 -0700342 device pci 1d.1 off end # PCI Express Port 10
343 device pci 1d.2 off end # PCI Express Port 11
344 device pci 1d.3 off end # PCI Express Port 12
345 device pci 1e.0 on end # UART #0
346 device pci 1e.1 off end # UART #1
Shelley Chen5aa64b92017-06-09 13:05:29 -0700347 device pci 1e.2 on
348 chip drivers/spi/acpi
349 register "hid" = "ACPI_DT_NAMESPACE_HID"
350 register "compat_string" = ""google,cr50""
351 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
352 device spi 0 on end
353 end
354 end # GSPI #0
Shelley Chenc5168832017-03-21 15:04:04 -0700355 device pci 1e.3 off end # GSPI #1
356 device pci 1e.4 off end # eMMC
Shelley Chen243dc392017-03-15 15:25:48 -0700357 device pci 1e.5 off end # SDIO
358 device pci 1e.6 on end # SDCard
359 device pci 1f.0 on
360 chip ec/google/chromeec
361 device pnp 0c09.0 on end
362 end
363 end # LPC Interface
364 device pci 1f.1 on end # P2SB
365 device pci 1f.2 on end # Power Management Controller
366 device pci 1f.3 on end # Intel HDA
367 device pci 1f.4 on end # SMBus
368 device pci 1f.5 on end # PCH SPI
369 device pci 1f.6 off end # GbE
370 end
371end