blob: 385a4be19fb4c3eed6b679fc784b8306149a5c76 [file] [log] [blame]
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +08001##
2## This file is part of the coreboot project.
3##
4## Copyright (C) 2017 Intel Corporation.
5##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; version 2 of the License.
9##
10## This program is distributed in the hope that it will be useful,
11## but WITHOUT ANY WARRANTY; without even the implied warranty of
12## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13## GNU General Public License for more details.
14##
15
16chip soc/intel/skylake
17
18 # Enable deep Sx states
19 register "deep_s5_enable_ac" = "0"
20 register "deep_s5_enable_dc" = "0"
21 register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN"
22
23 # GPE configuration
24 # Note that GPE events called out in ASL code rely on this
25 # route. i.e. If this route changes then the affected GPE
26 # offset bits also need to be changed.
27 register "gpe0_dw0" = "GPP_B"
28 register "gpe0_dw1" = "GPP_D"
29 register "gpe0_dw2" = "GPP_E"
30
31 # Enable "Intel Speed Shift Technology"
32 register "speed_shift_enable" = "1"
33
34 # FSP Configuration
35 register "EnableAzalia" = "1"
36 register "DspEnable" = "1"
37 register "IoBufferOwnership" = "3"
38 register "SmbusEnable" = "1"
39 register "ScsEmmcEnabled" = "0"
40 register "ScsEmmcHs400Enabled" = "0"
41 register "ScsSdCardEnabled" = "0"
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +080042 register "SkipExtGfxScan" = "1"
43 register "Device4Enable" = "0"
44 register "Heci3Enabled" = "0"
45
46 register "SaGv" = "3"
47 register "PmTimerDisabled" = "0"
48
49 # Enabling SLP_S3#, SLP_S4#, SLP_SUS and SLP_A Stretch
50 # SLP_S3 Minimum Assertion Width. Values 0: 60us, 1: 1ms, 2: 50ms, 3: 2s
51 register "PmConfigSlpS3MinAssert" = "0x02"
52
53 # SLP_S4 Minimum Assertion Width. Values 0: default, 1: 1s, 2: 2s, 3: 3s, 4: 4s
54 register "PmConfigSlpS4MinAssert" = "0x04"
55
56 # SLP_SUS Minimum Assertion Width. Values 0: 0ms, 1: 500ms, 2: 1s, 3: 4s
57 register "PmConfigSlpSusMinAssert" = "0x03"
58
59 # SLP_A Minimum Assertion Width. Values 0: 0ms, 1: 4s, 2: 98ms, 3: 2s
60 register "PmConfigSlpAMinAssert" = "0x03"
61
Nico Huber44e89af2019-02-23 19:24:51 +010062 register "serirq_mode" = "SERIRQ_CONTINUOUS"
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +080063
Michael Niewöhner5e779f92019-10-09 21:02:36 +020064 # VR Settings Configuration for 4 Domains
65 #+----------------+-----------+-----------+-------------+----------+
66 #| Domain/Setting | SA | IA | GT Unsliced | GT |
67 #+----------------+-----------+-----------+-------------+----------+
68 #| Psi1Threshold | 20A | 20A | 20A | 20A |
69 #| Psi2Threshold | 4A | 5A | 5A | 5A |
70 #| Psi3Threshold | 1A | 1A | 1A | 1A |
71 #| Psi3Enable | 1 | 1 | 1 | 1 |
72 #| Psi4Enable | 1 | 1 | 1 | 1 |
73 #| ImonSlope | 0 | 0 | 0 | 0 |
74 #| ImonOffset | 0 | 0 | 0 | 0 |
75 #| IccMax | 7A | 34A | 35A | 35A |
76 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
77 #+----------------+-----------+-----------+-------------+----------+
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +080078 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
Michael Niewöhner5e779f92019-10-09 21:02:36 +020079 .vr_config_enable = 1,
80 .psi1threshold = VR_CFG_AMP(20),
81 .psi2threshold = VR_CFG_AMP(4),
82 .psi3threshold = VR_CFG_AMP(1),
83 .psi3enable = 1,
84 .psi4enable = 1,
85 .imon_slope = 0x0,
86 .imon_offset = 0x0,
87 .icc_max = VR_CFG_AMP(7),
88 .voltage_limit = 1520,
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +080089 }"
90
91 register "domain_vr_config[VR_IA_CORE]" = "{
Michael Niewöhner5e779f92019-10-09 21:02:36 +020092 .vr_config_enable = 1,
93 .psi1threshold = VR_CFG_AMP(20),
94 .psi2threshold = VR_CFG_AMP(5),
95 .psi3threshold = VR_CFG_AMP(1),
96 .psi3enable = 1,
97 .psi4enable = 1,
98 .imon_slope = 0x0,
99 .imon_offset = 0x0,
100 .icc_max = VR_CFG_AMP(34),
101 .voltage_limit = 1520,
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +0800102 }"
103
104 register "domain_vr_config[VR_GT_UNSLICED]" = "{
Michael Niewöhner5e779f92019-10-09 21:02:36 +0200105 .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,
113 .icc_max = VR_CFG_AMP(35),
114 .voltage_limit = 1520,
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +0800115 }"
116
117 register "domain_vr_config[VR_GT_SLICED]" = "{
Michael Niewöhner5e779f92019-10-09 21:02:36 +0200118 .vr_config_enable = 1,
119 .psi1threshold = VR_CFG_AMP(20),
120 .psi2threshold = VR_CFG_AMP(5),
121 .psi3threshold = VR_CFG_AMP(1),
122 .psi3enable = 1,
123 .psi4enable = 1,
124 .imon_slope = 0x0,
125 .imon_offset = 0x0,
126 .icc_max = VR_CFG_AMP(35),
127 .voltage_limit = 1520,
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +0800128 }"
129
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +0800130 # Enable x1 slot
131 register "PcieRpEnable[7]" = "1"
132 register "PcieRpClkReqSupport[7]" = "1"
133 register "PcieRpClkReqNumber[7]" = "3" #uses SRCCLKREQ3
134
135 # Enable x4 slot
136 register "PcieRpEnable[8]" = "1"
137 register "PcieRpClkReqSupport[8]" = "1"
138 register "PcieRpClkReqNumber[8]" = "4" #uses SRCCLKREQ4
139
140 # Enable Root port 6 and 13.
141 register "PcieRpEnable[5]" = "1"
142 register "PcieRpEnable[12]" = "1"
143
144 # Enable CLKREQ#
145 register "PcieRpClkReqSupport[5]" = "1"
146 register "PcieRpClkReqSupport[12]" = "1"
147
148 # RP 6 uses SRCCLKREQ1# while RP `3 uses SRCCLKREQ2#
149 register "PcieRpClkReqNumber[5]" = "0"
150 register "PcieRpClkReqNumber[12]" = "1"
151
152 register "EnableLan" = "1"
153
154 # USB related
155 register "SsicPortEnable" = "1"
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +0800156
157 register "usb2_ports[0]" = "USB2_PORT_MID(OC_SKIP)" # OTG
158 register "usb2_ports[1]" = "USB2_PORT_MID(OC3)" # Touch Pad
159 register "usb2_ports[2]" = "USB2_PORT_MID(OC_SKIP)" # M.2 BT
160 register "usb2_ports[3]" = "USB2_PORT_MID(OC_SKIP)" # Touch Panel
161 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WWAN
162 register "usb2_ports[5]" = "USB2_PORT_MID(OC0)" # Front Panel
163 register "usb2_ports[6]" = "USB2_PORT_MID(OC0)" # Front Panel
164 register "usb2_ports[7]" = "USB2_PORT_MID(OC2)" # Stacked conn (lan + usb)
165 register "usb2_ports[8]" = "USB2_PORT_MID(OC2)" # Stacked conn (lan + usb)
166 register "usb2_ports[9]" = "USB2_PORT_MID(OC1)" # LAN MAGJACK
167 register "usb2_ports[10]" = "USB2_PORT_MID(OC1)" # LAN MAGJACK
168 register "usb2_ports[11]" = "USB2_PORT_MID(OC_SKIP)" # Finger print sensor
169 register "usb2_ports[12]" = "USB2_PORT_MID(OC4)" # USB 2 stack conn
170 register "usb2_ports[13]" = "USB2_PORT_MID(OC4)" # USB 2 stack conn
171
172 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC5)" # OTG
173 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # M.2 WWAN
174 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC3)" # Flex
175 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # IVCAM
176 register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC1)" # LAN MAGJACK
177 register "usb3_ports[5]" = "USB3_PORT_DEFAULT(OC0)" # Front Panel
178 register "usb3_ports[6]" = "USB3_PORT_DEFAULT(OC0)" # Front Panel
179 register "usb3_ports[7]" = "USB3_PORT_DEFAULT(OC2)" # Stack Conn
180 register "usb3_ports[8]" = "USB3_PORT_DEFAULT(OC2)" # Stack Conn
181 register "usb3_ports[9]" = "USB3_PORT_DEFAULT(OC1)" # LAN MAGJACK
182
183 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8" # I2C4 is 1.8V
184
185 # Must leave UART0 enabled or SD/eMMC will not work as PCI
186
187 register "pirqa_routing" = "0x0b"
188 register "pirqb_routing" = "0x0a"
189 register "pirqc_routing" = "0x0b"
190 register "pirqd_routing" = "0x0b"
191 register "pirqe_routing" = "0x0b"
192 register "pirqf_routing" = "0x0b"
193 register "pirqg_routing" = "0x0b"
194 register "pirqh_routing" = "0x0b"
195
196 register "PmTimerDisabled" = "0"
197
198 register "EnableSata" = "1"
199 register "SataSalpSupport" = "1"
200 register "SataPortsEnable" = "{ \
201 [0] = 1, \
202 [1] = 1, \
203 [2] = 1, \
204 [3] = 1, \
205 [4] = 1, \
206 [5] = 1, \
207 [6] = 1, \
208 [7] = 1, \
209 }"
210 register "SerialIoDevMode" = "{ \
Elyes HAOUASb0f19882018-06-09 11:59:00 +0200211 [PchSerialIoIndexI2C0] = PchSerialIoPci, \
212 [PchSerialIoIndexI2C1] = PchSerialIoPci, \
213 [PchSerialIoIndexI2C2] = PchSerialIoPci, \
214 [PchSerialIoIndexI2C3] = PchSerialIoPci, \
215 [PchSerialIoIndexI2C4] = PchSerialIoPci, \
216 [PchSerialIoIndexI2C5] = PchSerialIoPci, \
217 [PchSerialIoIndexSpi0] = PchSerialIoPci, \
218 [PchSerialIoIndexSpi1] = PchSerialIoPci, \
219 [PchSerialIoIndexUart0] = PchSerialIoPci, \
220 [PchSerialIoIndexUart1] = PchSerialIoPci, \
221 [PchSerialIoIndexUart2] = PchSerialIoSkipInit, \
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +0800222 }"
223
224 # PL2 override 25W
225 register "tdp_pl2_override" = "25"
226
227 # Send an extra VR mailbox command for the PS4 exit issue
228 register "SendVrMbxCmd" = "2"
229
Teo Boon Tiong4dee7b52017-09-07 00:48:55 +0800230 # Use default SD card detect GPIO configuration
231 #register "sdcard_cd_gpio_default" = "GPP_A7"
232
233 device cpu_cluster 0 on
234 device lapic 0 on end
235 end
236 device domain 0 on
237 device pci 00.0 on end # Host Bridge
238 device pci 02.0 on end # Integrated Graphics Device
239 device pci 14.0 on end # USB xHCI
240 device pci 14.1 off end # USB xDCI (OTG)
241 device pci 14.2 on end # Thermal Subsystem
242 device pci 15.0 on end # I2C #0
243 device pci 15.1 on end # I2C #1
244 device pci 15.2 on end # I2C #2
245 device pci 15.3 on end # I2C #3
246 device pci 16.0 on end # Management Engine Interface 1
247 device pci 16.1 off end # Management Engine Interface 2
248 device pci 16.2 off end # Management Engine IDE-R
249 device pci 16.3 off end # Management Engine KT Redirection
250 device pci 16.4 off end # Management Engine Interface 3
251 device pci 17.0 on end # SATA
252 device pci 19.0 on end # UART #2
253 device pci 19.1 on end # I2C #5
254 device pci 19.2 on end # I2C #4
255 device pci 1c.0 on end # PCI Express Port 1
256 device pci 1c.1 off end # PCI Express Port 2
257 device pci 1c.2 off end # PCI Express Port 3
258 device pci 1c.3 off end # PCI Express Port 4
259 device pci 1c.4 off end # PCI Express Port 5
260 device pci 1c.5 off end # PCI Express Port 6
261 device pci 1c.6 off end # PCI Express Port 7
262 device pci 1c.7 off end # PCI Express Port 8
263 device pci 1d.0 off end # PCI Express Port 9
264 device pci 1d.1 off end # PCI Express Port 10
265 device pci 1d.2 off end # PCI Express Port 11
266 device pci 1d.3 off end # PCI Express Port 12
267 device pci 1e.0 on end # UART #0
268 device pci 1e.1 on end # UART #1
269 device pci 1e.2 on end # GSPI #0
270 device pci 1e.3 on end # GSPI #1
271 device pci 1e.4 off end # eMMC
272 device pci 1e.5 off end # SDIO
273 device pci 1e.6 off end # SDCard
274 device pci 1f.0 on
275 end # LPC Interface
276 device pci 1f.1 on end # P2SB
277 device pci 1f.2 on end # Power Management Controller
278 device pci 1f.3 on end # Intel HDA
279 device pci 1f.4 on end # SMBus
280 device pci 1f.5 on end # PCH SPI
281 device pci 1f.6 on end # GbE
282 end
283end