blob: 5d312084dd3bc727c84c17fc373e515a3b70f2fc [file] [log] [blame]
Chris Wang5547c372017-10-05 21:57:16 +08001chip soc/intel/skylake
2
Matt DeVillier8f424722019-11-27 22:55:43 -06003 # IGD Displays
4 register "gfx" = "GMA_STATIC_DISPLAYS(0)"
5
Matt DeVillierf5d159672019-11-30 16:29:58 -06006 register "panel_cfg" = "{
7 .up_delay_ms = 100,
8 .down_delay_ms = 500,
9 .cycle_delay_ms = 500,
10 .backlight_on_delay_ms = 1,
11 .backlight_off_delay_ms = 200,
12 .backlight_pwm_hz = 1000,
13 }"
14
Chris Wang5547c372017-10-05 21:57:16 +080015 # Deep Sx states
16 register "deep_s3_enable_ac" = "0"
Furquan Shaikhd37107e2017-11-08 11:28:10 -080017 register "deep_s3_enable_dc" = "0"
Chris Wang5547c372017-10-05 21:57:16 +080018 register "deep_s5_enable_ac" = "1"
19 register "deep_s5_enable_dc" = "1"
Furquan Shaikh9d867af2017-12-03 21:45:47 -080020 register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN | DSX_EN_WAKE_PIN | DSX_DIS_AC_PRESENT_PD"
Chris Wang5547c372017-10-05 21:57:16 +080021
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.
26 register "gpe0_dw0" = "GPP_B"
27 register "gpe0_dw1" = "GPP_D"
28 register "gpe0_dw2" = "GPP_E"
29
Seunghwan Kim3f0c7242018-02-13 16:58:00 +090030 # Enable DPTF
31 register "dptf_enable" = "1"
32
Chris Wang5547c372017-10-05 21:57:16 +080033 # Enable S0ix
Felix Singer743242b2023-06-16 01:33:25 +020034 register "s0ix_enable" = true
Chris Wang5547c372017-10-05 21:57:16 +080035
36 # FSP Configuration
Chris Wang5547c372017-10-05 21:57:16 +080037 register "DspEnable" = "1"
38 register "IoBufferOwnership" = "3"
Chris Wang5547c372017-10-05 21:57:16 +080039 register "ScsEmmcHs400Enabled" = "1"
Chris Wang5547c372017-10-05 21:57:16 +080040 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020041 register "SaGv" = "SaGv_Enabled"
Chris Wang5547c372017-10-05 21:57:16 +080042 register "PmConfigSlpS3MinAssert" = "2" # 50ms
43 register "PmConfigSlpS4MinAssert" = "1" # 1s
44 register "PmConfigSlpSusMinAssert" = "1" # 500ms
45 register "PmConfigSlpAMinAssert" = "3" # 2s
Chris Wang5547c372017-10-05 21:57:16 +080046
Chris Wang51de1802017-11-24 13:43:50 +080047 # VR Slew rate setting for improving audible noise
48 register "AcousticNoiseMitigation" = "1"
49 register "FastPkgCRampDisableIa" = "1"
50 register "FastPkgCRampDisableGt" = "1"
51 register "FastPkgCRampDisableSa" = "1"
52 register "SlowSlewRateForIa" = "3" # Fast/16
53 register "SlowSlewRateForGt" = "3" # Fast/16
Seunghwan Kim3dd88f12018-02-27 14:27:26 +090054 register "SlowSlewRateForSa" = "2" # Fast/8
55
Chris Wang5547c372017-10-05 21:57:16 +080056 # VR Settings Configuration for 4 Domains
57 #+----------------+-------+-------+-------+-------+
58 #| Domain/Setting | SA | IA | GTUS | GTS |
59 #+----------------+-------+-------+-------+-------+
60 #| Psi1Threshold | 20A | 20A | 20A | 20A |
61 #| Psi2Threshold | 2A | 2A | 2A | 2A |
62 #| Psi3Threshold | 1A | 1A | 1A | 1A |
63 #| Psi3Enable | 1 | 1 | 1 | 1 |
64 #| Psi4Enable | 1 | 1 | 1 | 1 |
65 #| ImonSlope | 0 | 0 | 0 | 0 |
66 #| ImonOffset | 0 | 0 | 0 | 0 |
67 #| IccMax | 5A | 24A | 24A | 24A |
68 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
69 #| AcLoadline | 15 | 5.7 | 5.5 | 5.5 |
70 #| DcLoadline | 14.3 | 4.83 | 4.2 | 4.2 |
71 #+----------------+-------+-------+-------+-------+
72 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
73 .vr_config_enable = 1,
74 .psi1threshold = VR_CFG_AMP(20),
75 .psi2threshold = VR_CFG_AMP(2),
76 .psi3threshold = VR_CFG_AMP(1),
77 .psi3enable = 1,
78 .psi4enable = 1,
79 .imon_slope = 0x0,
80 .imon_offset = 0x0,
81 .icc_max = VR_CFG_AMP(5),
82 .voltage_limit = 1520,
83 .ac_loadline = 1500,
84 .dc_loadline = 1430,
85 }"
86
87 register "domain_vr_config[VR_IA_CORE]" = "{
88 .vr_config_enable = 1,
89 .psi1threshold = VR_CFG_AMP(20),
90 .psi2threshold = VR_CFG_AMP(2),
91 .psi3threshold = VR_CFG_AMP(1),
92 .psi3enable = 1,
93 .psi4enable = 1,
94 .imon_slope = 0x0,
95 .imon_offset = 0x0,
96 .icc_max = VR_CFG_AMP(24),
97 .voltage_limit = 1520,
98 .ac_loadline = 570,
99 .dc_loadline = 483,
100 }"
101
102 register "domain_vr_config[VR_GT_UNSLICED]" = "{
103 .vr_config_enable = 1,
104 .psi1threshold = VR_CFG_AMP(20),
105 .psi2threshold = VR_CFG_AMP(2),
106 .psi3threshold = VR_CFG_AMP(1),
107 .psi3enable = 1,
108 .psi4enable = 1,
109 .imon_slope = 0x0,
110 .imon_offset = 0x0,
111 .icc_max = VR_CFG_AMP(24),
112 .voltage_limit = 1520,
113 .ac_loadline = 550,
114 .dc_loadline = 420,
115 }"
116
117 register "domain_vr_config[VR_GT_SLICED]" = "{
118 .vr_config_enable = 1,
119 .psi1threshold = VR_CFG_AMP(20),
120 .psi2threshold = VR_CFG_AMP(2),
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(24),
127 .voltage_limit = 1520,
128 .ac_loadline = 550,
129 .dc_loadline = 420,
130 }"
131
132 # Enable Root port 1.
133 register "PcieRpEnable[0]" = "1"
134 # Enable CLKREQ#
135 register "PcieRpClkReqSupport[0]" = "1"
136 # RP 1 uses SRCCLKREQ1#
137 register "PcieRpClkReqNumber[0]" = "1"
Alexander Goncharov893c3ae82023-02-04 15:20:37 +0400138 # RP 1 uses CLK SRC 1
Angel Ponse16692e2020-08-03 12:54:48 +0200139 register "PcieRpClkSrcNumber[0]" = "1"
Furquan Shaikh9c12e902017-12-17 20:31:18 -0800140 # RP 1, Enable Advanced Error Reporting
141 register "PcieRpAdvancedErrorReporting[0]" = "1"
142 # RP 1, Enable Latency Tolerance Reporting Mechanism
143 register "PcieRpLtrEnable[0]" = "1"
Chris Wang5547c372017-10-05 21:57:16 +0800144
Subrata Banikc4986eb2018-05-09 14:55:09 +0530145 # Intel Common SoC Config
146 #+-------------------+---------------------------+
147 #| Field | Value |
148 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530149 #| I2C0 | Touchscreen |
150 #| I2C1 | cr50 TPM. Early init is |
151 #| | required to set up a BAR |
152 #| | for TPM communication |
153 #| | before memory is up |
154 #| I2C2 | Trackpad |
155 #| I2C3 | Pen |
156 #| I2C4 | Camera |
157 #| I2C5 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530158 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530159 #+-------------------+---------------------------+
160 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530161 .i2c[0] = {
Chris Wang5220e5f2017-11-24 14:00:48 +0800162 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530163 .speed_config[0] = {
164 .speed = I2C_SPEED_FAST,
165 .scl_lcnt = 180,
166 .scl_hcnt = 90,
167 .sda_hold = 36,
168 },
169 },
170 .i2c[1] = {
171 .early_init = 1,
172 .speed = I2C_SPEED_FAST,
173 .speed_config[0] = {
174 .speed = I2C_SPEED_FAST,
175 .scl_lcnt = 185,
176 .scl_hcnt = 90,
177 .sda_hold = 36,
178 },
179 },
180 .i2c[2] = {
181 .speed = I2C_SPEED_FAST,
182 .speed_config[0] = {
183 .speed = I2C_SPEED_FAST,
184 .scl_lcnt = 190,
185 .scl_hcnt = 100,
186 .sda_hold = 36,
187 },
188 },
189 .i2c[3] = {
190 .speed = I2C_SPEED_FAST,
191 .speed_config[0] = {
192 .speed = I2C_SPEED_FAST,
193 .scl_lcnt = 185,
194 .scl_hcnt = 90,
195 .sda_hold = 36,
196 },
197 },
198 .i2c[4] = {
199 .speed = I2C_SPEED_FAST,
200 .speed_config[0] = {
201 .speed = I2C_SPEED_FAST,
202 .scl_lcnt = 190,
203 .scl_hcnt = 100,
204 .sda_hold = 36,
205 },
206 },
207 .i2c[5] = {
208 .speed = I2C_SPEED_FAST,
209 .speed_config[0] = {
210 .speed = I2C_SPEED_FAST,
211 .scl_lcnt = 190,
212 .scl_hcnt = 100,
213 .sda_hold = 36,
214 },
Chris Wang5220e5f2017-11-24 14:00:48 +0800215 },
Subrata Banikc077b222019-08-01 10:50:35 +0530216 .pch_thermal_trip = 75,
Chris Wang5220e5f2017-11-24 14:00:48 +0800217 }"
Chris Wang5547c372017-10-05 21:57:16 +0800218
Subrata Banikc4986eb2018-05-09 14:55:09 +0530219 # Touch Screen
220 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
221
Chris Wang5547c372017-10-05 21:57:16 +0800222 # H1
223 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"
Chris Wang5547c372017-10-05 21:57:16 +0800224
225 # Trackpad
226 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
227
228 # Pen
229 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
230
231 # Camera
232 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
233
234 # Audio
235 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"
Chris Wang5547c372017-10-05 21:57:16 +0800236
237 # Must leave UART0 enabled or SD/eMMC will not work as PCI
238 register "SerialIoDevMode" = "{
239 [PchSerialIoIndexI2C0] = PchSerialIoPci,
240 [PchSerialIoIndexI2C1] = PchSerialIoPci,
241 [PchSerialIoIndexI2C2] = PchSerialIoPci,
242 [PchSerialIoIndexI2C3] = PchSerialIoPci,
243 [PchSerialIoIndexI2C4] = PchSerialIoPci,
244 [PchSerialIoIndexI2C5] = PchSerialIoPci,
245 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
246 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Furquan Shaikh8a1f0952018-01-24 13:14:33 -0800247 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
Chris Wang5547c372017-10-05 21:57:16 +0800248 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
249 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
250 }"
251
Chris Wang5547c372017-10-05 21:57:16 +0800252 # PL2 override 15W for KBL-Y
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +0530253 register "power_limits_config" = "{
254 .tdp_pl2_override = 15,
255 .psys_pmax = 45,
256 }"
Chris Wang5547c372017-10-05 21:57:16 +0800257 register "tcc_offset" = "10" # TCC of 90C
258
259 # Use default SD card detect GPIO configuration
Angel Pons6bd99f92021-02-20 00:16:47 +0100260 register "sdcard_cd_gpio" = "GPP_E15"
Chris Wang5547c372017-10-05 21:57:16 +0800261
Chris Wang5547c372017-10-05 21:57:16 +0800262 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100263 device ref system_agent on end
264 device ref igpu on end
265 device ref sa_thermal on end
266 device ref imgu on end
Felix Singer6c83a712024-06-23 00:25:18 +0200267 device ref south_xhci on
268 register "usb2_ports" = "{
269 [0] = USB2_PORT_LONG(OC1), // Type-C Port 1
270 [1] = USB2_PORT_SHORT(OC2), // Type-A Port
271 [2] = USB2_PORT_SHORT(OC_SKIP), // Bluetooth
272 [4] = USB2_PORT_LONG(OC0), // Type-C Port 2
273 [6] = USB2_PORT_SHORT(OC_SKIP), // H1
274 [8] = USB2_PORT_SHORT(OC_SKIP), // Camera
275 }"
276
277 register "usb3_ports" = "{
278 [0] = USB3_PORT_DEFAULT(OC1), // Type-C Port 1
279 [1] = USB3_PORT_DEFAULT(OC0), // Type-C Port 2
280 [2] = USB3_PORT_DEFAULT(OC2), // Type-A Port
281 [3] = USB3_PORT_DEFAULT(OC_SKIP), // LTE module
282 }"
283 end
Marvin Evers059476d2023-12-04 02:28:25 +0100284 device ref south_xdci on end
285 device ref thermal on end
286 device ref cio on end
287 device ref i2c0 on
Chris Wang94dc50e2017-11-28 16:33:27 +0800288 chip drivers/i2c/hid
289 register "generic.hid" = ""SYTS7813""
290 register "generic.desc" = ""Synaptics Touchscreen""
Karthikeyan Ramasubramanianc37e1e62020-11-10 14:54:40 -0700291 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500292 register "generic.detect" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800293 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
294 register "generic.enable_delay_ms" = "45"
295 register "generic.has_power_resource" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800296 register "hid_desc_reg_offset" = "0x20"
297 device i2c 20 on end
298 end
Marvin Evers059476d2023-12-04 02:28:25 +0100299 end
300 device ref i2c1 on
Chris Wang5547c372017-10-05 21:57:16 +0800301 chip drivers/i2c/tpm
302 register "hid" = ""GOOG0005""
303 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
304 device i2c 50 on end
305 end
Marvin Evers059476d2023-12-04 02:28:25 +0100306 end
307 device ref i2c2 on
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900308 chip drivers/i2c/generic
Gwendal Grignou145ef872018-07-03 14:31:31 -0700309 register "hid" = ""STH9321""
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900310 register "name" = ""SEMTECH SX9321""
311 register "desc" = ""SAR Proximity Sensor""
312 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A18_IRQ)"
313 register "device_present_gpio" = "GPP_B20"
314 device i2c 28 on end
315 end
Marvin Evers059476d2023-12-04 02:28:25 +0100316 end
317 device ref i2c3 on
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900318 chip drivers/i2c/hid
319 register "generic.hid" = ""ACPI0C50""
320 register "generic.cid" = ""PNP0C50""
321 register "generic.desc" = ""Digitizer device""
322 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A22_IRQ)"
323 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C9)"
324 register "generic.has_power_resource" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900325 register "generic.wake" = "GPE0_DW0_21"
Matt DeVillier86425c82022-03-28 23:45:14 -0500326 register "generic.detect" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900327 register "hid_desc_reg_offset" = "0x1"
328 device i2c 0x9 on end
329 end
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800330 chip drivers/generic/gpio_keys
331 register "name" = ""PENH""
332 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_B19)"
333 register "key.dev_name" = ""EJCT""
334 register "key.linux_code" = "SW_PEN_INSERTED"
335 register "key.linux_input_type" = "EV_SW"
336 register "key.label" = ""pen_eject""
Furquan Shaikhfa8b75f2020-06-26 01:19:46 -0700337 register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED"
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800338 device generic 0 on end
339 end
Marvin Evers059476d2023-12-04 02:28:25 +0100340 end
341 device ref heci1 on end
342 device ref heci2 off end
343 device ref csme_ider off end
344 device ref csme_ktr off end
345 device ref heci3 off end
346 device ref sata off end
347 device ref uart2 on end
348 device ref i2c5 on
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900349 chip drivers/generic/max98357a
Aamir Bohraa1c82c52020-03-16 18:57:48 +0530350 register "hid" = ""MX98357A""
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900351 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
352 register "sdmode_delay" = "5"
353 device generic 0 on end
354 end
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530355 chip drivers/i2c/da7219
356 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D9_IRQ)"
357 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800358 register "mic_det_thr" = "200"
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530359 register "jack_ins_deb" = "20"
360 register "jack_det_rate" = ""32ms_64ms""
361 register "jack_rem_deb" = "1"
362 register "a_d_btn_thr" = "0xa"
363 register "d_b_btn_thr" = "0x16"
364 register "b_c_btn_thr" = "0x21"
365 register "c_mic_btn_thr" = "0x3e"
366 register "btn_avg" = "4"
367 register "adc_1bit_rpt" = "1"
368 register "micbias_lvl" = "2600"
369 register "mic_amp_in_sel" = ""diff""
370 device i2c 1A on end
371 end
Marvin Evers059476d2023-12-04 02:28:25 +0100372 end
373 device ref i2c4 on
Chris Wang36e40e42017-10-26 19:04:57 +0800374 chip drivers/i2c/generic
375 register "hid" = ""ELAN0000""
376 register "desc" = ""ELAN Touchpad""
Matt DeVillier1c2f5ce2019-11-28 01:45:11 -0600377 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
Chris Wang36e40e42017-10-26 19:04:57 +0800378 register "wake" = "GPE0_DW0_05"
379 device i2c 15 on end
380 end
Marvin Evers059476d2023-12-04 02:28:25 +0100381 end
382 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700383 chip drivers/wifi/generic
Seunghwan Kimdf2ae962018-02-01 14:33:04 +0900384 register "wake" = "GPE0_DW0_00"
Chris Wang5547c372017-10-05 21:57:16 +0800385 device pci 00.0 on end
386 end
Marvin Evers059476d2023-12-04 02:28:25 +0100387 end
388 device ref pcie_rp2 off end
389 device ref pcie_rp3 off end
390 device ref pcie_rp4 off end
391 device ref pcie_rp5 off end
392 device ref pcie_rp6 off end
393 device ref pcie_rp7 off end
394 device ref pcie_rp8 off end
395 device ref pcie_rp9 off end
396 device ref pcie_rp10 off end
397 device ref pcie_rp11 off end
398 device ref pcie_rp12 off end
399 device ref uart0 on end
400 device ref uart1 off end
401 device ref gspi0 off end
402 device ref gspi1 off end
403 device ref emmc on end
404 device ref sdio off end
405 device ref sdxc on end
406 device ref lpc_espi on
Felix Singerdcddc53f2024-06-23 03:39:24 +0200407 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
408 register "gen1_dec" = "0x00fc0801"
409 register "gen2_dec" = "0x000c0201"
410 # EC memory map range is 0x900-0x9ff
411 register "gen3_dec" = "0x00fc0901"
412
Chris Wang5547c372017-10-05 21:57:16 +0800413 chip ec/google/chromeec
414 device pnp 0c09.0 on end
415 end
Marvin Evers059476d2023-12-04 02:28:25 +0100416 end
417 device ref p2sb on end
418 device ref pmc on end
419 device ref hda on end
420 device ref smbus on end
421 device ref fast_spi on end
422 device ref gbe off end
Chris Wang5547c372017-10-05 21:57:16 +0800423 end
424end