blob: 122fb153c37d8e03931a015a5b71fdb4a135c27b [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
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
Seunghwan Kim3f0c7242018-02-13 16:58:00 +090036 # Enable DPTF
37 register "dptf_enable" = "1"
38
Chris Wang5547c372017-10-05 21:57:16 +080039 # Enable S0ix
Felix Singer743242b2023-06-16 01:33:25 +020040 register "s0ix_enable" = true
Chris Wang5547c372017-10-05 21:57:16 +080041
42 # FSP Configuration
Chris Wang5547c372017-10-05 21:57:16 +080043 register "DspEnable" = "1"
44 register "IoBufferOwnership" = "3"
Chris Wang5547c372017-10-05 21:57:16 +080045 register "ScsEmmcHs400Enabled" = "1"
Chris Wang5547c372017-10-05 21:57:16 +080046 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020047 register "SaGv" = "SaGv_Enabled"
Chris Wang5547c372017-10-05 21:57:16 +080048 register "PmConfigSlpS3MinAssert" = "2" # 50ms
49 register "PmConfigSlpS4MinAssert" = "1" # 1s
50 register "PmConfigSlpSusMinAssert" = "1" # 500ms
51 register "PmConfigSlpAMinAssert" = "3" # 2s
Chris Wang5547c372017-10-05 21:57:16 +080052
Chris Wang51de1802017-11-24 13:43:50 +080053 # VR Slew rate setting for improving audible noise
54 register "AcousticNoiseMitigation" = "1"
55 register "FastPkgCRampDisableIa" = "1"
56 register "FastPkgCRampDisableGt" = "1"
57 register "FastPkgCRampDisableSa" = "1"
58 register "SlowSlewRateForIa" = "3" # Fast/16
59 register "SlowSlewRateForGt" = "3" # Fast/16
Seunghwan Kim3dd88f12018-02-27 14:27:26 +090060 register "SlowSlewRateForSa" = "2" # Fast/8
61
Chris Wang5547c372017-10-05 21:57:16 +080062 # VR Settings Configuration for 4 Domains
63 #+----------------+-------+-------+-------+-------+
64 #| Domain/Setting | SA | IA | GTUS | GTS |
65 #+----------------+-------+-------+-------+-------+
66 #| Psi1Threshold | 20A | 20A | 20A | 20A |
67 #| Psi2Threshold | 2A | 2A | 2A | 2A |
68 #| Psi3Threshold | 1A | 1A | 1A | 1A |
69 #| Psi3Enable | 1 | 1 | 1 | 1 |
70 #| Psi4Enable | 1 | 1 | 1 | 1 |
71 #| ImonSlope | 0 | 0 | 0 | 0 |
72 #| ImonOffset | 0 | 0 | 0 | 0 |
73 #| IccMax | 5A | 24A | 24A | 24A |
74 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
75 #| AcLoadline | 15 | 5.7 | 5.5 | 5.5 |
76 #| DcLoadline | 14.3 | 4.83 | 4.2 | 4.2 |
77 #+----------------+-------+-------+-------+-------+
78 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
79 .vr_config_enable = 1,
80 .psi1threshold = VR_CFG_AMP(20),
81 .psi2threshold = VR_CFG_AMP(2),
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(5),
88 .voltage_limit = 1520,
89 .ac_loadline = 1500,
90 .dc_loadline = 1430,
91 }"
92
93 register "domain_vr_config[VR_IA_CORE]" = "{
94 .vr_config_enable = 1,
95 .psi1threshold = VR_CFG_AMP(20),
96 .psi2threshold = VR_CFG_AMP(2),
97 .psi3threshold = VR_CFG_AMP(1),
98 .psi3enable = 1,
99 .psi4enable = 1,
100 .imon_slope = 0x0,
101 .imon_offset = 0x0,
102 .icc_max = VR_CFG_AMP(24),
103 .voltage_limit = 1520,
104 .ac_loadline = 570,
105 .dc_loadline = 483,
106 }"
107
108 register "domain_vr_config[VR_GT_UNSLICED]" = "{
109 .vr_config_enable = 1,
110 .psi1threshold = VR_CFG_AMP(20),
111 .psi2threshold = VR_CFG_AMP(2),
112 .psi3threshold = VR_CFG_AMP(1),
113 .psi3enable = 1,
114 .psi4enable = 1,
115 .imon_slope = 0x0,
116 .imon_offset = 0x0,
117 .icc_max = VR_CFG_AMP(24),
118 .voltage_limit = 1520,
119 .ac_loadline = 550,
120 .dc_loadline = 420,
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(2),
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(24),
133 .voltage_limit = 1520,
134 .ac_loadline = 550,
135 .dc_loadline = 420,
136 }"
137
138 # Enable Root port 1.
139 register "PcieRpEnable[0]" = "1"
140 # Enable CLKREQ#
141 register "PcieRpClkReqSupport[0]" = "1"
142 # RP 1 uses SRCCLKREQ1#
143 register "PcieRpClkReqNumber[0]" = "1"
Alexander Goncharov893c3ae82023-02-04 15:20:37 +0400144 # RP 1 uses CLK SRC 1
Angel Ponse16692e2020-08-03 12:54:48 +0200145 register "PcieRpClkSrcNumber[0]" = "1"
Furquan Shaikh9c12e902017-12-17 20:31:18 -0800146 # RP 1, Enable Advanced Error Reporting
147 register "PcieRpAdvancedErrorReporting[0]" = "1"
148 # RP 1, Enable Latency Tolerance Reporting Mechanism
149 register "PcieRpLtrEnable[0]" = "1"
Chris Wang5547c372017-10-05 21:57:16 +0800150
Subrata Banikc4986eb2018-05-09 14:55:09 +0530151 # Intel Common SoC Config
152 #+-------------------+---------------------------+
153 #| Field | Value |
154 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530155 #| I2C0 | Touchscreen |
156 #| I2C1 | cr50 TPM. Early init is |
157 #| | required to set up a BAR |
158 #| | for TPM communication |
159 #| | before memory is up |
160 #| I2C2 | Trackpad |
161 #| I2C3 | Pen |
162 #| I2C4 | Camera |
163 #| I2C5 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530164 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530165 #+-------------------+---------------------------+
166 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530167 .i2c[0] = {
Chris Wang5220e5f2017-11-24 14:00:48 +0800168 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530169 .speed_config[0] = {
170 .speed = I2C_SPEED_FAST,
171 .scl_lcnt = 180,
172 .scl_hcnt = 90,
173 .sda_hold = 36,
174 },
175 },
176 .i2c[1] = {
177 .early_init = 1,
178 .speed = I2C_SPEED_FAST,
179 .speed_config[0] = {
180 .speed = I2C_SPEED_FAST,
181 .scl_lcnt = 185,
182 .scl_hcnt = 90,
183 .sda_hold = 36,
184 },
185 },
186 .i2c[2] = {
187 .speed = I2C_SPEED_FAST,
188 .speed_config[0] = {
189 .speed = I2C_SPEED_FAST,
190 .scl_lcnt = 190,
191 .scl_hcnt = 100,
192 .sda_hold = 36,
193 },
194 },
195 .i2c[3] = {
196 .speed = I2C_SPEED_FAST,
197 .speed_config[0] = {
198 .speed = I2C_SPEED_FAST,
199 .scl_lcnt = 185,
200 .scl_hcnt = 90,
201 .sda_hold = 36,
202 },
203 },
204 .i2c[4] = {
205 .speed = I2C_SPEED_FAST,
206 .speed_config[0] = {
207 .speed = I2C_SPEED_FAST,
208 .scl_lcnt = 190,
209 .scl_hcnt = 100,
210 .sda_hold = 36,
211 },
212 },
213 .i2c[5] = {
214 .speed = I2C_SPEED_FAST,
215 .speed_config[0] = {
216 .speed = I2C_SPEED_FAST,
217 .scl_lcnt = 190,
218 .scl_hcnt = 100,
219 .sda_hold = 36,
220 },
Chris Wang5220e5f2017-11-24 14:00:48 +0800221 },
Subrata Banikc077b222019-08-01 10:50:35 +0530222 .pch_thermal_trip = 75,
Chris Wang5220e5f2017-11-24 14:00:48 +0800223 }"
Chris Wang5547c372017-10-05 21:57:16 +0800224
Subrata Banikc4986eb2018-05-09 14:55:09 +0530225 # Touch Screen
226 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
227
Chris Wang5547c372017-10-05 21:57:16 +0800228 # H1
229 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"
Chris Wang5547c372017-10-05 21:57:16 +0800230
231 # Trackpad
232 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
233
234 # Pen
235 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
236
237 # Camera
238 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
239
240 # Audio
241 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"
Chris Wang5547c372017-10-05 21:57:16 +0800242
243 # Must leave UART0 enabled or SD/eMMC will not work as PCI
244 register "SerialIoDevMode" = "{
245 [PchSerialIoIndexI2C0] = PchSerialIoPci,
246 [PchSerialIoIndexI2C1] = PchSerialIoPci,
247 [PchSerialIoIndexI2C2] = PchSerialIoPci,
248 [PchSerialIoIndexI2C3] = PchSerialIoPci,
249 [PchSerialIoIndexI2C4] = PchSerialIoPci,
250 [PchSerialIoIndexI2C5] = PchSerialIoPci,
251 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
252 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Furquan Shaikh8a1f0952018-01-24 13:14:33 -0800253 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
Chris Wang5547c372017-10-05 21:57:16 +0800254 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
255 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
256 }"
257
Chris Wang5547c372017-10-05 21:57:16 +0800258 # PL2 override 15W for KBL-Y
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +0530259 register "power_limits_config" = "{
260 .tdp_pl2_override = 15,
261 .psys_pmax = 45,
262 }"
Chris Wang5547c372017-10-05 21:57:16 +0800263 register "tcc_offset" = "10" # TCC of 90C
264
265 # Use default SD card detect GPIO configuration
Angel Pons6bd99f92021-02-20 00:16:47 +0100266 register "sdcard_cd_gpio" = "GPP_E15"
Chris Wang5547c372017-10-05 21:57:16 +0800267
Chris Wang5547c372017-10-05 21:57:16 +0800268 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100269 device ref system_agent on end
270 device ref igpu on end
271 device ref sa_thermal on end
272 device ref imgu on end
Felix Singer6c83a712024-06-23 00:25:18 +0200273 device ref south_xhci on
274 register "usb2_ports" = "{
275 [0] = USB2_PORT_LONG(OC1), // Type-C Port 1
276 [1] = USB2_PORT_SHORT(OC2), // Type-A Port
277 [2] = USB2_PORT_SHORT(OC_SKIP), // Bluetooth
278 [4] = USB2_PORT_LONG(OC0), // Type-C Port 2
279 [6] = USB2_PORT_SHORT(OC_SKIP), // H1
280 [8] = USB2_PORT_SHORT(OC_SKIP), // Camera
281 }"
282
283 register "usb3_ports" = "{
284 [0] = USB3_PORT_DEFAULT(OC1), // Type-C Port 1
285 [1] = USB3_PORT_DEFAULT(OC0), // Type-C Port 2
286 [2] = USB3_PORT_DEFAULT(OC2), // Type-A Port
287 [3] = USB3_PORT_DEFAULT(OC_SKIP), // LTE module
288 }"
289 end
Marvin Evers059476d2023-12-04 02:28:25 +0100290 device ref south_xdci on end
291 device ref thermal on end
292 device ref cio on end
293 device ref i2c0 on
Chris Wang94dc50e2017-11-28 16:33:27 +0800294 chip drivers/i2c/hid
295 register "generic.hid" = ""SYTS7813""
296 register "generic.desc" = ""Synaptics Touchscreen""
Karthikeyan Ramasubramanianc37e1e62020-11-10 14:54:40 -0700297 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500298 register "generic.detect" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800299 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
300 register "generic.enable_delay_ms" = "45"
301 register "generic.has_power_resource" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800302 register "hid_desc_reg_offset" = "0x20"
303 device i2c 20 on end
304 end
Marvin Evers059476d2023-12-04 02:28:25 +0100305 end
306 device ref i2c1 on
Chris Wang5547c372017-10-05 21:57:16 +0800307 chip drivers/i2c/tpm
308 register "hid" = ""GOOG0005""
309 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
310 device i2c 50 on end
311 end
Marvin Evers059476d2023-12-04 02:28:25 +0100312 end
313 device ref i2c2 on
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900314 chip drivers/i2c/generic
Gwendal Grignou145ef872018-07-03 14:31:31 -0700315 register "hid" = ""STH9321""
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900316 register "name" = ""SEMTECH SX9321""
317 register "desc" = ""SAR Proximity Sensor""
318 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A18_IRQ)"
319 register "device_present_gpio" = "GPP_B20"
320 device i2c 28 on end
321 end
Marvin Evers059476d2023-12-04 02:28:25 +0100322 end
323 device ref i2c3 on
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900324 chip drivers/i2c/hid
325 register "generic.hid" = ""ACPI0C50""
326 register "generic.cid" = ""PNP0C50""
327 register "generic.desc" = ""Digitizer device""
328 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A22_IRQ)"
329 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C9)"
330 register "generic.has_power_resource" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900331 register "generic.wake" = "GPE0_DW0_21"
Matt DeVillier86425c82022-03-28 23:45:14 -0500332 register "generic.detect" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900333 register "hid_desc_reg_offset" = "0x1"
334 device i2c 0x9 on end
335 end
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800336 chip drivers/generic/gpio_keys
337 register "name" = ""PENH""
338 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_B19)"
339 register "key.dev_name" = ""EJCT""
340 register "key.linux_code" = "SW_PEN_INSERTED"
341 register "key.linux_input_type" = "EV_SW"
342 register "key.label" = ""pen_eject""
Furquan Shaikhfa8b75f2020-06-26 01:19:46 -0700343 register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED"
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800344 device generic 0 on end
345 end
Marvin Evers059476d2023-12-04 02:28:25 +0100346 end
347 device ref heci1 on end
348 device ref heci2 off end
349 device ref csme_ider off end
350 device ref csme_ktr off end
351 device ref heci3 off end
352 device ref sata off end
353 device ref uart2 on end
354 device ref i2c5 on
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900355 chip drivers/generic/max98357a
Aamir Bohraa1c82c52020-03-16 18:57:48 +0530356 register "hid" = ""MX98357A""
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900357 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
358 register "sdmode_delay" = "5"
359 device generic 0 on end
360 end
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530361 chip drivers/i2c/da7219
362 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D9_IRQ)"
363 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800364 register "mic_det_thr" = "200"
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530365 register "jack_ins_deb" = "20"
366 register "jack_det_rate" = ""32ms_64ms""
367 register "jack_rem_deb" = "1"
368 register "a_d_btn_thr" = "0xa"
369 register "d_b_btn_thr" = "0x16"
370 register "b_c_btn_thr" = "0x21"
371 register "c_mic_btn_thr" = "0x3e"
372 register "btn_avg" = "4"
373 register "adc_1bit_rpt" = "1"
374 register "micbias_lvl" = "2600"
375 register "mic_amp_in_sel" = ""diff""
376 device i2c 1A on end
377 end
Marvin Evers059476d2023-12-04 02:28:25 +0100378 end
379 device ref i2c4 on
Chris Wang36e40e42017-10-26 19:04:57 +0800380 chip drivers/i2c/generic
381 register "hid" = ""ELAN0000""
382 register "desc" = ""ELAN Touchpad""
Matt DeVillier1c2f5ce2019-11-28 01:45:11 -0600383 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
Chris Wang36e40e42017-10-26 19:04:57 +0800384 register "wake" = "GPE0_DW0_05"
385 device i2c 15 on end
386 end
Marvin Evers059476d2023-12-04 02:28:25 +0100387 end
388 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700389 chip drivers/wifi/generic
Seunghwan Kimdf2ae962018-02-01 14:33:04 +0900390 register "wake" = "GPE0_DW0_00"
Chris Wang5547c372017-10-05 21:57:16 +0800391 device pci 00.0 on end
392 end
Marvin Evers059476d2023-12-04 02:28:25 +0100393 end
394 device ref pcie_rp2 off end
395 device ref pcie_rp3 off end
396 device ref pcie_rp4 off end
397 device ref pcie_rp5 off end
398 device ref pcie_rp6 off end
399 device ref pcie_rp7 off end
400 device ref pcie_rp8 off end
401 device ref pcie_rp9 off end
402 device ref pcie_rp10 off end
403 device ref pcie_rp11 off end
404 device ref pcie_rp12 off end
405 device ref uart0 on end
406 device ref uart1 off end
407 device ref gspi0 off end
408 device ref gspi1 off end
409 device ref emmc on end
410 device ref sdio off end
411 device ref sdxc on end
412 device ref lpc_espi on
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