blob: cbd8b01821a316c1e4ec1272bf3b6cc423b08307 [file] [log] [blame]
Matt DeVillierbba1ee02018-07-09 00:58:59 -05001chip soc/intel/skylake
2
3 # Enable deep Sx states
4 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"
8 register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN"
9
10 # GPE configuration
11 # Note that GPE events called out in ASL code rely on this
12 # route. i.e. If this route changes then the affected GPE
13 # offset bits also need to be changed.
14 register "gpe0_dw0" = "GPP_B"
15 register "gpe0_dw1" = "GPP_D"
16 register "gpe0_dw2" = "GPP_E"
17
18 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
19 register "gen1_dec" = "0x00fc0801"
20 register "gen2_dec" = "0x000c0201"
21
22 # Enable "Intel Speed Shift Technology"
23 register "speed_shift_enable" = "1"
24
25 # Enable DPTF
26 register "dptf_enable" = "1"
27
28 # FSP Configuration
29 register "EnableAzalia" = "1"
30 register "DspEnable" = "1"
31 register "IoBufferOwnership" = "3"
32 register "SmbusEnable" = "1"
33 register "ScsEmmcEnabled" = "1"
34 register "ScsEmmcHs400Enabled" = "1"
35 register "ScsSdCardEnabled" = "0"
36 register "InternalGfx" = "1"
37 register "SkipExtGfxScan" = "1"
38 register "Device4Enable" = "1"
39 register "HeciEnabled" = "0"
40 register "SaGv" = "3"
41 register "SerialIrqConfigSirqEnable" = "1"
42 register "PmConfigSlpS3MinAssert" = "2" # 50ms
43 register "PmConfigSlpS4MinAssert" = "4" # 4s
44 register "PmConfigSlpSusMinAssert" = "3" # 4s
45 register "PmConfigSlpAMinAssert" = "3" # 2s
46 register "PmTimerDisabled" = "1"
47
48 register "pirqa_routing" = "PCH_IRQ11"
49 register "pirqb_routing" = "PCH_IRQ10"
50 register "pirqc_routing" = "PCH_IRQ11"
51 register "pirqd_routing" = "PCH_IRQ11"
52 register "pirqe_routing" = "PCH_IRQ11"
53 register "pirqf_routing" = "PCH_IRQ11"
54 register "pirqg_routing" = "PCH_IRQ11"
55 register "pirqh_routing" = "PCH_IRQ11"
56
57 # VR Settings Configuration for 5 Domains
58 #+----------------+-------+-------+-------------+-------------+-------+
59 #| Domain/Setting | SA | IA | Ring Sliced | GT Unsliced | GT |
60 #+----------------+-------+-------+-------------+-------------+-------+
61 #| Psi1Threshold | 20A | 20A | 20A | 20A | 20A |
62 #| Psi2Threshold | 4A | 5A | 5A | 5A | 5A |
63 #| Psi3Threshold | 1A | 1A | 1A | 1A | 1A |
64 #| Psi3Enable | 1 | 1 | 1 | 1 | 1 |
65 #| Psi4Enable | 1 | 1 | 1 | 1 | 1 |
66 #| ImonSlope | 0 | 0 | 0 | 0 | 0 |
67 #| ImonOffset | 0 | 0 | 0 | 0 | 0 |
68 #| IccMax | 7A | 34A | 34A | 35A | 35A |
69 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V | 1.52V |
70 #+----------------+-------+-------+-------------+-------------+-------+
71 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
72 .vr_config_enable = 1,
73 .psi1threshold = VR_CFG_AMP(20),
74 .psi2threshold = VR_CFG_AMP(4),
75 .psi3threshold = VR_CFG_AMP(1),
76 .psi3enable = 1,
77 .psi4enable = 1,
78 .imon_slope = 0x0,
79 .imon_offset = 0x0,
80 .icc_max = VR_CFG_AMP(7),
81 .voltage_limit = 1520,
82 }"
83
84 register "domain_vr_config[VR_IA_CORE]" = "{
85 .vr_config_enable = 1,
86 .psi1threshold = VR_CFG_AMP(20),
87 .psi2threshold = VR_CFG_AMP(5),
88 .psi3threshold = VR_CFG_AMP(1),
89 .psi3enable = 1,
90 .psi4enable = 1,
91 .imon_slope = 0x0,
92 .imon_offset = 0x0,
93 .icc_max = VR_CFG_AMP(34),
94 .voltage_limit = 1520,
95 }"
96
97 register "domain_vr_config[VR_RING]" = "{
98 .vr_config_enable = 1,
99 .psi1threshold = VR_CFG_AMP(20),
100 .psi2threshold = VR_CFG_AMP(5),
101 .psi3threshold = VR_CFG_AMP(1),
102 .psi3enable = 1,
103 .psi4enable = 1,
104 .imon_slope = 0x0,
105 .imon_offset = 0x0,
106 .icc_max = VR_CFG_AMP(34),
107 .voltage_limit = 1520,
108 }"
109
110 register "domain_vr_config[VR_GT_UNSLICED]" = "{
111 .vr_config_enable = 1,
112 .psi1threshold = VR_CFG_AMP(20),
113 .psi2threshold = VR_CFG_AMP(5),
114 .psi3threshold = VR_CFG_AMP(1),
115 .psi3enable = 1,
116 .psi4enable = 1,
117 .imon_slope = 0x0,
118 .imon_offset = 0x0,
119 .icc_max = VR_CFG_AMP(35),
120 .voltage_limit = 1520,
121 }"
122
123 register "domain_vr_config[VR_GT_SLICED]" = "{
124 .vr_config_enable = 1,
125 .psi1threshold = VR_CFG_AMP(20),
126 .psi2threshold = VR_CFG_AMP(5),
127 .psi3threshold = VR_CFG_AMP(1),
128 .psi3enable = 1,
129 .psi4enable = 1,
130 .imon_slope = 0x0,
131 .imon_offset = 0x0,
132 .icc_max = VR_CFG_AMP(35),
133 .voltage_limit = 1520,
134 }"
135
136 # Enable Root port 1
137 register "PcieRpEnable[0]" = "1"
138 # Enable CLKREQ#
139 register "PcieRpClkReqSupport[0]" = "1"
140 # RP 1 uses SRCCLKREQ1#
141 register "PcieRpClkReqNumber[0]" = "1"
142
143 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC0)" # Type-C Port 1
144 register "usb2_ports[1]" = "USB2_PORT_MID(OC2)" # Card Reader
145 register "usb2_ports[2]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth
146 register "usb2_ports[4]" = "USB2_PORT_MID(OC2)" # Type-A Port (board)
147 register "usb2_ports[6]" = "USB2_PORT_FLEX(OC_SKIP)" # Camera
148 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # PIC MCU
149 register "usb2_ports[8]" = "USB2_PORT_LONG(OC3)" # Type-A Port (board)
150
151 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC0)" # Type-C Port 1
152 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Card Reader
153 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Port (board)
154 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port (board)
155
156 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8" # I2C4 is 1.8V
157
158 # Must leave UART0 enabled or SD/eMMC will not work as PCI
159 register "SerialIoDevMode" = "{
160 [PchSerialIoIndexI2C0] = PchSerialIoPci,
161 [PchSerialIoIndexI2C1] = PchSerialIoPci,
162 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
163 [PchSerialIoIndexI2C3] = PchSerialIoDisabled,
164 [PchSerialIoIndexI2C4] = PchSerialIoPci,
165 [PchSerialIoIndexI2C5] = PchSerialIoDisabled,
166 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
167 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
168 [PchSerialIoIndexUart0] = PchSerialIoPci,
169 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
170 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
171 }"
172
173 # PL2 override 25W
174 register "tdp_pl2_override" = "25"
175
176 # Send an extra VR mailbox command for the PS4 exit issue
177 register "SendVrMbxCmd" = "2"
178
179 # Lock Down
180 register "common_soc_config" = "{
181 .chipset_lockdown = CHIPSET_LOCKDOWN_COREBOOT,
182 }"
183
184 device cpu_cluster 0 on
185 device lapic 0 on end
186 end
187 device domain 0 on
188 device pci 00.0 on end # Host Bridge
189 device pci 02.0 on end # Integrated Graphics Device
190 device pci 14.0 on end # USB xHCI
191 device pci 14.1 off end # USB xDCI (OTG)
192 device pci 14.2 on end # Thermal Subsystem
193 device pci 15.0 on
194 chip drivers/i2c/generic
195 register "hid" = ""ELAN0001""
196 register "desc" = ""ELAN Touchscreen""
197 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E7_IRQ)"
198 device i2c 10 on end
199 end
200 end # I2C #0
201 device pci 15.1 on
202 chip drivers/i2c/generic
203 register "hid" = ""ELAN0000""
204 register "desc" = ""ELAN Touchpad""
205 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_B3_IRQ)"
206 register "wake" = "GPE0_DW0_05"
207 device i2c 15 on end
208 end
209 end # I2C #1
210 device pci 15.2 off end # I2C #2
211 device pci 15.3 off end # I2C #3
212 device pci 16.0 on end # Management Engine Interface 1
213 device pci 16.1 off end # Management Engine Interface 2
214 device pci 16.2 off end # Management Engine IDE-R
215 device pci 16.3 off end # Management Engine KT Redirection
216 device pci 16.4 off end # Management Engine Interface 3
217 device pci 17.0 off end # SATA
218 device pci 19.0 on end # UART #2
219 device pci 19.1 off end # I2C #5
220 device pci 19.2 on
221 chip drivers/i2c/nau8825
222 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F10_IRQ)"
223 register "jkdet_enable" = "1"
224 register "jkdet_pull_enable" = "0" # R389
225 register "jkdet_polarity" = "1" # ActiveLow
226 register "vref_impedance" = "2" # 125kOhm
227 register "micbias_voltage" = "6" # 2.754
228 register "sar_threshold_num" = "4"
229 register "sar_threshold[0]" = "0x08"
230 register "sar_threshold[1]" = "0x12"
231 register "sar_threshold[2]" = "0x26"
232 register "sar_threshold[3]" = "0x73"
233 register "sar_hysteresis" = "0"
234 register "sar_voltage" = "6"
235 register "sar_compare_time" = "1" # 1us
236 register "sar_sampling_time" = "1" # 4us
237 register "short_key_debounce" = "3" # 30ms
238 register "jack_insert_debounce" = "7" # 512ms
239 register "jack_eject_debounce" = "0"
240 device i2c 1a on end
241 end
242 end # I2C #4
243 device pci 1c.0 on
244 chip drivers/intel/wifi
245 register "wake" = "GPE0_DW0_16"
246 device pci 00.0 on end
247 end
248 end # PCI Express Port 1
249 device pci 1c.1 off end # PCI Express Port 2
250 device pci 1c.2 off end # PCI Express Port 3
251 device pci 1c.3 off end # PCI Express Port 4
252 device pci 1c.4 off end # PCI Express Port 5
253 device pci 1c.5 off end # PCI Express Port 6
254 device pci 1c.6 off end # PCI Express Port 7
255 device pci 1c.7 off end # PCI Express Port 8
256 device pci 1d.0 off end # PCI Express Port 9
257 device pci 1d.1 off end # PCI Express Port 10
258 device pci 1d.2 off end # PCI Express Port 11
259 device pci 1d.3 off end # PCI Express Port 12
260 device pci 1e.0 on end # UART #0
261 device pci 1e.1 off end # UART #1
262 device pci 1e.2 off end # GSPI #0
263 device pci 1e.3 off end # GSPI #1
264 device pci 1e.4 on end # eMMC
265 device pci 1e.5 off end # SDIO
266 device pci 1e.6 off end # SDCard
267 device pci 1f.0 on
268 chip drivers/pc80/tpm
269 device pnp 0c31.0 on end
270 end
271 chip ec/google/chromeec
272 device pnp 0c09.0 on end
273 end
274 end # LPC Interface
275 device pci 1f.1 on end # P2SB
276 device pci 1f.2 on end # Power Management Controller
277 device pci 1f.3 on
278 chip drivers/generic/max98357a
279 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E3)"
280 register "sdmode_delay" = "5"
281 device generic 0 on end
282 end
283 end # Intel HDA
284 device pci 1f.4 on end # SMBus
285 device pci 1f.5 on end # PCH SPI
286 device pci 1f.6 off end # GbE
287 end
288end