blob: eb7d660ad58efd47984f55ae6517484d523a1a4a [file] [log] [blame]
Duncan Laurieba49c092018-03-27 13:34:40 -07001chip soc/intel/skylake
2
Matt DeVillier8f424722019-11-27 22:55:43 -06003 # IGD Displays
4 register "gfx" = "GMA_STATIC_DISPLAYS(0)"
5
Michael Niewöhner97e21d32020-12-28 00:49:33 +01006 register "panel_cfg" = "{
7 .up_delay_ms = 200,
8 .down_delay_ms = 50,
9 .cycle_delay_ms = 600,
10 .backlight_on_delay_ms = 1,
11 .backlight_off_delay_ms = 200,
12 .backlight_pwm_hz = 200,
13 }"
Matt DeVillier76ea54e2019-12-29 12:09:31 -060014
Duncan Laurieba49c092018-03-27 13:34:40 -070015 # Deep Sx states
16 register "deep_s3_enable_ac" = "0"
17 register "deep_s3_enable_dc" = "0"
18 register "deep_s5_enable_ac" = "1"
19 register "deep_s5_enable_dc" = "1"
20 register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN | DSX_EN_WAKE_PIN | DSX_DIS_AC_PRESENT_PD"
21
22 # GPE configuration
23 # Note that GPE events called out in ASL code rely on this
24 # route. i.e. If this route changes then the affected GPE
25 # offset bits also need to be changed.
Caveh Jalali2261e912018-04-25 20:08:52 -070026 register "gpe0_dw0" = "GPP_A"
Caveh Jalaliab770082019-02-01 20:21:26 -080027 register "gpe0_dw1" = "GPP_B"
Duncan Laurieba49c092018-03-27 13:34:40 -070028 register "gpe0_dw2" = "GPP_E"
29
30 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
31 register "gen1_dec" = "0x00fc0801"
32 register "gen2_dec" = "0x000c0201"
33 # EC memory map range is 0x900-0x9ff
34 register "gen3_dec" = "0x00fc0901"
35
36 # Enable DPTF
37 register "dptf_enable" = "1"
38
39 # Enable S0ix
Felix Singer743242b2023-06-16 01:33:25 +020040 register "s0ix_enable" = true
Duncan Laurieba49c092018-03-27 13:34:40 -070041
Caveh Jalali6f7db072018-09-07 17:39:01 -070042 # Disable Command TriState
43 register "CmdTriStateDis" = "1"
44
Duncan Laurieba49c092018-03-27 13:34:40 -070045 # FSP Configuration
Duncan Laurieba49c092018-03-27 13:34:40 -070046 register "SataSalpSupport" = "0"
Duncan Laurieba49c092018-03-27 13:34:40 -070047 register "SataPortsEnable[0]" = "0"
Duncan Laurieba49c092018-03-27 13:34:40 -070048 register "DspEnable" = "1"
49 register "IoBufferOwnership" = "3"
Duncan Laurieba49c092018-03-27 13:34:40 -070050 register "SsicPortEnable" = "0"
Duncan Laurieba49c092018-03-27 13:34:40 -070051 register "ScsEmmcHs400Enabled" = "1"
Duncan Laurieba49c092018-03-27 13:34:40 -070052 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020053 register "SaGv" = "SaGv_Enabled"
Duncan Laurieba49c092018-03-27 13:34:40 -070054 register "PmConfigSlpS3MinAssert" = "2" # 50ms
55 register "PmConfigSlpS4MinAssert" = "1" # 1s
56 register "PmConfigSlpSusMinAssert" = "1" # 500ms
57 register "PmConfigSlpAMinAssert" = "3" # 2s
Duncan Laurieba49c092018-03-27 13:34:40 -070058
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +053059 register "power_limits_config" = "{
60 .tdp_pl1_override = 7,
61 .tdp_pl2_override = 15,
62 .psys_pmax = 45,
63 }"
Duncan Laurieba49c092018-03-27 13:34:40 -070064 register "tcc_offset" = "10"
Duncan Laurieba49c092018-03-27 13:34:40 -070065
Duncan Laurieba49c092018-03-27 13:34:40 -070066 # VR Settings Configuration for 4 Domains
67 #+----------------+-------+-------+-------+-------+
68 #| Domain/Setting | SA | IA | GTUS | GTS |
69 #+----------------+-------+-------+-------+-------+
70 #| Psi1Threshold | 20A | 20A | 20A | 20A |
71 #| Psi2Threshold | 2A | 2A | 2A | 2A |
72 #| Psi3Threshold | 1A | 1A | 1A | 1A |
73 #| Psi3Enable | 1 | 1 | 1 | 1 |
74 #| Psi4Enable | 1 | 1 | 1 | 1 |
75 #| ImonSlope | 0 | 0 | 0 | 0 |
76 #| ImonOffset | 0 | 0 | 0 | 0 |
Caveh Jalaliea45ecf2018-08-01 18:53:29 -070077 #| IccMax | set by SoC code per CPU SKU |
Duncan Laurieba49c092018-03-27 13:34:40 -070078 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
Gaggery Tsai56d66ae2019-04-18 08:54:38 -070079 #| AcLoadline | 16.20 | 5.24 | 4.62 | 4.62 |
80 #| DcLoadline | 14.2 | 4.94 | 4.25 | 4.25 |
Duncan Laurieba49c092018-03-27 13:34:40 -070081 #+----------------+-------+-------+-------+-------+
82 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
83 .vr_config_enable = 1,
84 .psi1threshold = VR_CFG_AMP(20),
85 .psi2threshold = VR_CFG_AMP(2),
86 .psi3threshold = VR_CFG_AMP(1),
87 .psi3enable = 1,
88 .psi4enable = 1,
89 .imon_slope = 0x0,
90 .imon_offset = 0x0,
Duncan Laurieba49c092018-03-27 13:34:40 -070091 .voltage_limit = 1520,
Gaggery Tsai56d66ae2019-04-18 08:54:38 -070092 .ac_loadline = 1620,
Duncan Laurieba49c092018-03-27 13:34:40 -070093 .dc_loadline = 1420,
94 }"
95
96 register "domain_vr_config[VR_IA_CORE]" = "{
97 .vr_config_enable = 1,
98 .psi1threshold = VR_CFG_AMP(20),
99 .psi2threshold = VR_CFG_AMP(2),
100 .psi3threshold = VR_CFG_AMP(1),
101 .psi3enable = 1,
102 .psi4enable = 1,
103 .imon_slope = 0x0,
104 .imon_offset = 0x0,
Duncan Laurieba49c092018-03-27 13:34:40 -0700105 .voltage_limit = 1520,
Gaggery Tsai56d66ae2019-04-18 08:54:38 -0700106 .ac_loadline = 524,
107 .dc_loadline = 494,
Duncan Laurieba49c092018-03-27 13:34:40 -0700108 }"
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(2),
114 .psi3threshold = VR_CFG_AMP(1),
115 .psi3enable = 1,
116 .psi4enable = 1,
117 .imon_slope = 0x0,
118 .imon_offset = 0x0,
Duncan Laurieba49c092018-03-27 13:34:40 -0700119 .voltage_limit = 1520,
Gaggery Tsai56d66ae2019-04-18 08:54:38 -0700120 .ac_loadline = 462,
121 .dc_loadline = 425,
Duncan Laurieba49c092018-03-27 13:34:40 -0700122 }"
123
124 register "domain_vr_config[VR_GT_SLICED]" = "{
125 .vr_config_enable = 1,
126 .psi1threshold = VR_CFG_AMP(20),
127 .psi2threshold = VR_CFG_AMP(2),
128 .psi3threshold = VR_CFG_AMP(1),
129 .psi3enable = 1,
130 .psi4enable = 1,
131 .imon_slope = 0x0,
132 .imon_offset = 0x0,
Duncan Laurieba49c092018-03-27 13:34:40 -0700133 .voltage_limit = 1520,
Gaggery Tsai56d66ae2019-04-18 08:54:38 -0700134 .ac_loadline = 462,
135 .dc_loadline = 425,
Duncan Laurieba49c092018-03-27 13:34:40 -0700136 }"
137
Caveh Jalali41979d82018-09-06 19:55:21 -0700138 # PCIe Root port 1 with SRCCLKREQ1# (WLAN)
Duncan Laurieba49c092018-03-27 13:34:40 -0700139 register "PcieRpEnable[0]" = "1"
140 register "PcieRpClkReqSupport[0]" = "1"
141 register "PcieRpClkReqNumber[0]" = "1"
142 register "PcieRpClkSrcNumber[0]" = "1"
143 register "PcieRpAdvancedErrorReporting[0]" = "1"
144 register "PcieRpLtrEnable[0]" = "1"
145
146 # USB 2.0
147 register "usb2_ports[0]" = "USB2_PORT_LONG(OC0)" # Type-C Port 1
Duncan Laurieba49c092018-03-27 13:34:40 -0700148 register "usb2_ports[2]" = "USB2_PORT_SHORT(OC_SKIP)" # Bluetooth
149 register "usb2_ports[4]" = "USB2_PORT_LONG(OC1)" # Type-C Port 2
Duncan Laurieba49c092018-03-27 13:34:40 -0700150
151 # USB 3.0
152 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC0)" # Type-C Port 1
153 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC1)" # Type-C Port 2
Duncan Laurieba49c092018-03-27 13:34:40 -0700154
Subrata Banikc4986eb2018-05-09 14:55:09 +0530155 # Intel Common SoC Config
156 #+-------------------+---------------------------+
157 #| Field | Value |
158 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530159 #| GSPI0 | cr50 TPM. Early init is |
160 #| | required to set up a BAR |
161 #| | for TPM communication |
162 #| | before memory is up |
163 #| I2C0 | Touchscreen |
164 #| I2C2 | Trackpad |
165 #| I2C3 | Camera |
166 #| I2C4 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530167 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530168 #+-------------------+---------------------------+
169 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530170 .i2c[0] = {
171 .speed = I2C_SPEED_FAST,
172 .rise_time_ns = 98,
173 .fall_time_ns = 38,
174 },
175 .i2c[2] = {
Caveh Jalali8b400b82019-02-01 21:15:37 -0800176 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530177 .speed_config[0] = {
Caveh Jalali8b400b82019-02-01 21:15:37 -0800178 .speed = I2C_SPEED_FAST,
179 .scl_lcnt = 186,
180 .scl_hcnt = 93,
181 .sda_hold = 36,
182 },
Subrata Banikc4986eb2018-05-09 14:55:09 +0530183 },
184 .i2c[3] = {
185 .speed = I2C_SPEED_FAST,
186 .rise_time_ns = 98,
187 .fall_time_ns = 38,
188 },
189 .i2c[4] = {
190 .speed = I2C_SPEED_FAST,
191 .speed_config[0] = {
192 .speed = I2C_SPEED_FAST,
193 .scl_lcnt = 176,
194 .scl_hcnt = 95,
195 .sda_hold = 36,
196 }
197 },
198 .gspi[0] = {
199 .speed_mhz = 1,
200 .early_init = 1,
201 },
Subrata Banikc077b222019-08-01 10:50:35 +0530202 .pch_thermal_trip = 75,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530203 }"
Duncan Laurieba49c092018-03-27 13:34:40 -0700204 # Touchscreen
205 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
Duncan Laurieba49c092018-03-27 13:34:40 -0700206
207 # Trackpad
208 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
Duncan Laurieba49c092018-03-27 13:34:40 -0700209
210 # Camera
211 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
Duncan Laurieba49c092018-03-27 13:34:40 -0700212
213 # Audio
214 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
Duncan Laurieba49c092018-03-27 13:34:40 -0700215
216 register "SerialIoDevMode" = "{
217 [PchSerialIoIndexI2C0] = PchSerialIoPci,
218 [PchSerialIoIndexI2C1] = PchSerialIoDisabled,
219 [PchSerialIoIndexI2C2] = PchSerialIoPci,
220 [PchSerialIoIndexI2C3] = PchSerialIoPci,
221 [PchSerialIoIndexI2C4] = PchSerialIoPci,
222 [PchSerialIoIndexI2C5] = PchSerialIoDisabled,
223 [PchSerialIoIndexSpi0] = PchSerialIoPci,
224 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
225 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
226 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
227 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
228 }"
229
Arthur Heymans69cd7292022-11-07 13:52:11 +0100230 device cpu_cluster 0 on end
Duncan Laurieba49c092018-03-27 13:34:40 -0700231 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100232 device ref system_agent on end
233 device ref igpu on end
234 device ref sa_thermal on end
235 device ref imgu on end
236 device ref ish off end
237 device ref south_xhci on
Gaggery Tsaiaa0929d2019-01-08 15:13:25 -0800238 chip drivers/usb/acpi
239 register "desc" = ""Root Hub""
240 register "type" = "UPC_TYPE_HUB"
241 device usb 0.0 on
242 chip drivers/usb/acpi
243 register "desc" = ""USB Type C Port 1""
244 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
245 device usb 2.0 on end
246 end
247 chip drivers/usb/acpi
248 register "desc" = ""Bluetooth""
249 register "type" = "UPC_TYPE_INTERNAL"
250 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E2)"
251 device usb 2.2 on end
252 end
253 chip drivers/usb/acpi
254 register "desc" = ""USB Type C Port 2""
255 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
256 device usb 2.4 on end
257 end
258 end
259 end
Marvin Evers059476d2023-12-04 02:28:25 +0100260 end
261 device ref south_xdci on end
262 device ref thermal on end
263 device ref cio on end
264 device ref i2c0 on
Caveh Jalali126ce5c2018-06-15 20:33:32 -0700265 chip drivers/i2c/hid
266 register "generic.hid" = ""ACPI0C50""
267 register "generic.desc" = ""STM Touchscreen""
268 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
269 register "generic.speed" = "I2C_SPEED_FAST"
Caveh Jalali19c0ae52018-10-01 19:37:42 -0700270 register "generic.has_power_resource" = "1"
Caveh Jalali19c0ae52018-10-01 19:37:42 -0700271 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
272 # 2ms for load switch slew + 5 ms for touchscreen
273 register "generic.enable_delay_ms" = "7"
274 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E11)"
275 register "generic.reset_delay_ms" = "20"
276 register "generic.reset_off_delay_ms" = "1"
Caveh Jalali126ce5c2018-06-15 20:33:32 -0700277 register "hid_desc_reg_offset" = "0xab"
278 device i2c 0x49 on end
279 end
Marvin Evers059476d2023-12-04 02:28:25 +0100280 end
281 device ref i2c1 off end
282 device ref i2c2 on
Caveh Jalalie7501982018-06-15 20:45:29 -0700283 chip drivers/i2c/hid
284 register "generic.hid" = ""ACPI0C50""
285 register "generic.desc" = ""ELAN Touchpad""
Karthikeyan Ramasubramanianc37e1e62020-11-10 14:54:40 -0700286 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A19_IRQ)"
Caveh Jalalie7501982018-06-15 20:45:29 -0700287 register "generic.wake" = "GPE0_DW0_23" # GPP_A23
288 register "hid_desc_reg_offset" = "0x01"
Caveh Jalali2a466cc2018-04-20 18:41:50 -0700289 device i2c 0x15 on end
290 end
Marvin Evers059476d2023-12-04 02:28:25 +0100291 end
292 device ref i2c3 on end # Camera
293 device ref heci1 on end
294 device ref heci2 off end
295 device ref csme_ider off end
296 device ref csme_ktr off end
297 device ref heci3 off end
298 device ref sata off end
299 device ref uart2 on end
300 device ref i2c5 off end
301 device ref i2c4 on
Duncan Laurieba49c092018-03-27 13:34:40 -0700302 chip drivers/i2c/max98373
303 register "vmon_slot_no" = "4"
304 register "imon_slot_no" = "5"
305 register "uid" = "0"
306 register "desc" = ""RIGHT SPEAKER AMP""
307 register "name" = ""MAXR""
308 device i2c 31 on end
309 end
310 chip drivers/i2c/max98373
311 register "vmon_slot_no" = "6"
312 register "imon_slot_no" = "7"
313 register "uid" = "1"
314 register "desc" = ""LEFT SPEAKER AMP""
315 register "name" = ""MAXL""
316 device i2c 32 on end
317 end
318 chip drivers/i2c/da7219
319 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F10_IRQ)"
320 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800321 register "mic_det_thr" = "200"
Duncan Laurieba49c092018-03-27 13:34:40 -0700322 register "jack_ins_deb" = "20"
323 register "jack_det_rate" = ""32ms_64ms""
324 register "jack_rem_deb" = "1"
325 register "a_d_btn_thr" = "0xa"
326 register "d_b_btn_thr" = "0x16"
327 register "b_c_btn_thr" = "0x21"
328 register "c_mic_btn_thr" = "0x3e"
329 register "btn_avg" = "4"
330 register "adc_1bit_rpt" = "1"
331 register "micbias_lvl" = "2600"
332 register "mic_amp_in_sel" = ""diff""
333 device i2c 1a on end
334 end
Marvin Evers059476d2023-12-04 02:28:25 +0100335 end
336 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700337 chip drivers/wifi/generic
Caveh Jalaliab770082019-02-01 20:21:26 -0800338 register "wake" = "GPE0_DW1_07" # GPP_B7
Duncan Laurieba49c092018-03-27 13:34:40 -0700339 device pci 00.0 on end
340 end
Marvin Evers059476d2023-12-04 02:28:25 +0100341 end
342 device ref pcie_rp2 off end
343 device ref pcie_rp3 off end
344 device ref pcie_rp4 off end
345 device ref pcie_rp5 off end
346 device ref pcie_rp6 off end
347 device ref pcie_rp7 off end
348 device ref pcie_rp8 off end
349 device ref pcie_rp9 off end
350 device ref pcie_rp10 off end
351 device ref pcie_rp11 off end
352 device ref pcie_rp12 off end
353 device ref uart0 on end
354 device ref uart1 off end
355 device ref gspi0 on
Duncan Laurieba49c092018-03-27 13:34:40 -0700356 chip drivers/spi/acpi
357 register "hid" = "ACPI_DT_NAMESPACE_HID"
358 register "compat_string" = ""google,cr50""
359 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
360 device spi 0 on end
361 end
Marvin Evers059476d2023-12-04 02:28:25 +0100362 end
363 device ref gspi1 off end
364 device ref emmc on end
365 device ref sdio off end
366 device ref sdxc off end
367 device ref lpc_espi on
Duncan Laurieba49c092018-03-27 13:34:40 -0700368 chip ec/google/chromeec
369 device pnp 0c09.0 on end
370 end
Marvin Evers059476d2023-12-04 02:28:25 +0100371 end
372 device ref p2sb on end
373 device ref pmc on end
374 device ref hda on end
375 device ref smbus on end
376 device ref fast_spi on end
377 device ref gbe off end
Duncan Laurieba49c092018-03-27 13:34:40 -0700378 end
379end