blob: ad22c7707521126d5c003d33ae9dba56007c6f21 [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 "SataSalpSupport" = "0"
Chris Wang5547c372017-10-05 21:57:16 +080044 register "SataPortsEnable[0]" = "0"
Chris Wang5547c372017-10-05 21:57:16 +080045 register "DspEnable" = "1"
46 register "IoBufferOwnership" = "3"
Chris Wang5547c372017-10-05 21:57:16 +080047 register "SsicPortEnable" = "0"
Chris Wang5547c372017-10-05 21:57:16 +080048 register "ScsEmmcHs400Enabled" = "1"
Chris Wang5547c372017-10-05 21:57:16 +080049 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020050 register "SaGv" = "SaGv_Enabled"
Chris Wang5547c372017-10-05 21:57:16 +080051 register "PmConfigSlpS3MinAssert" = "2" # 50ms
52 register "PmConfigSlpS4MinAssert" = "1" # 1s
53 register "PmConfigSlpSusMinAssert" = "1" # 500ms
54 register "PmConfigSlpAMinAssert" = "3" # 2s
Chris Wang5547c372017-10-05 21:57:16 +080055
Chris Wang51de1802017-11-24 13:43:50 +080056 # VR Slew rate setting for improving audible noise
57 register "AcousticNoiseMitigation" = "1"
58 register "FastPkgCRampDisableIa" = "1"
59 register "FastPkgCRampDisableGt" = "1"
60 register "FastPkgCRampDisableSa" = "1"
61 register "SlowSlewRateForIa" = "3" # Fast/16
62 register "SlowSlewRateForGt" = "3" # Fast/16
Seunghwan Kim3dd88f12018-02-27 14:27:26 +090063 register "SlowSlewRateForSa" = "2" # Fast/8
64
Chris Wang5547c372017-10-05 21:57:16 +080065 # VR Settings Configuration for 4 Domains
66 #+----------------+-------+-------+-------+-------+
67 #| Domain/Setting | SA | IA | GTUS | GTS |
68 #+----------------+-------+-------+-------+-------+
69 #| Psi1Threshold | 20A | 20A | 20A | 20A |
70 #| Psi2Threshold | 2A | 2A | 2A | 2A |
71 #| Psi3Threshold | 1A | 1A | 1A | 1A |
72 #| Psi3Enable | 1 | 1 | 1 | 1 |
73 #| Psi4Enable | 1 | 1 | 1 | 1 |
74 #| ImonSlope | 0 | 0 | 0 | 0 |
75 #| ImonOffset | 0 | 0 | 0 | 0 |
76 #| IccMax | 5A | 24A | 24A | 24A |
77 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
78 #| AcLoadline | 15 | 5.7 | 5.5 | 5.5 |
79 #| DcLoadline | 14.3 | 4.83 | 4.2 | 4.2 |
80 #+----------------+-------+-------+-------+-------+
81 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
82 .vr_config_enable = 1,
83 .psi1threshold = VR_CFG_AMP(20),
84 .psi2threshold = VR_CFG_AMP(2),
85 .psi3threshold = VR_CFG_AMP(1),
86 .psi3enable = 1,
87 .psi4enable = 1,
88 .imon_slope = 0x0,
89 .imon_offset = 0x0,
90 .icc_max = VR_CFG_AMP(5),
91 .voltage_limit = 1520,
92 .ac_loadline = 1500,
93 .dc_loadline = 1430,
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,
105 .icc_max = VR_CFG_AMP(24),
106 .voltage_limit = 1520,
107 .ac_loadline = 570,
108 .dc_loadline = 483,
109 }"
110
111 register "domain_vr_config[VR_GT_UNSLICED]" = "{
112 .vr_config_enable = 1,
113 .psi1threshold = VR_CFG_AMP(20),
114 .psi2threshold = VR_CFG_AMP(2),
115 .psi3threshold = VR_CFG_AMP(1),
116 .psi3enable = 1,
117 .psi4enable = 1,
118 .imon_slope = 0x0,
119 .imon_offset = 0x0,
120 .icc_max = VR_CFG_AMP(24),
121 .voltage_limit = 1520,
122 .ac_loadline = 550,
123 .dc_loadline = 420,
124 }"
125
126 register "domain_vr_config[VR_GT_SLICED]" = "{
127 .vr_config_enable = 1,
128 .psi1threshold = VR_CFG_AMP(20),
129 .psi2threshold = VR_CFG_AMP(2),
130 .psi3threshold = VR_CFG_AMP(1),
131 .psi3enable = 1,
132 .psi4enable = 1,
133 .imon_slope = 0x0,
134 .imon_offset = 0x0,
135 .icc_max = VR_CFG_AMP(24),
136 .voltage_limit = 1520,
137 .ac_loadline = 550,
138 .dc_loadline = 420,
139 }"
140
141 # Enable Root port 1.
142 register "PcieRpEnable[0]" = "1"
143 # Enable CLKREQ#
144 register "PcieRpClkReqSupport[0]" = "1"
145 # RP 1 uses SRCCLKREQ1#
146 register "PcieRpClkReqNumber[0]" = "1"
Alexander Goncharov893c3ae82023-02-04 15:20:37 +0400147 # RP 1 uses CLK SRC 1
Angel Ponse16692e2020-08-03 12:54:48 +0200148 register "PcieRpClkSrcNumber[0]" = "1"
Furquan Shaikh9c12e902017-12-17 20:31:18 -0800149 # RP 1, Enable Advanced Error Reporting
150 register "PcieRpAdvancedErrorReporting[0]" = "1"
151 # RP 1, Enable Latency Tolerance Reporting Mechanism
152 register "PcieRpLtrEnable[0]" = "1"
Chris Wang5547c372017-10-05 21:57:16 +0800153
Seunghwan Kim635e5122018-06-14 12:39:56 +0900154 register "usb2_ports[0]" = "USB2_PORT_LONG(OC1)" # Type-C Port 1
155 register "usb2_ports[1]" = "USB2_PORT_SHORT(OC2)" # Type-A Port
sh.kim35325e12017-12-01 16:09:50 +0900156 register "usb2_ports[2]" = "USB2_PORT_SHORT(OC_SKIP)" # Bluetooth
Seunghwan Kim635e5122018-06-14 12:39:56 +0900157 register "usb2_ports[4]" = "USB2_PORT_LONG(OC0)" # Type-C Port 2
sh.kim35325e12017-12-01 16:09:50 +0900158 register "usb2_ports[6]" = "USB2_PORT_SHORT(OC_SKIP)" # H1
159 register "usb2_ports[8]" = "USB2_PORT_SHORT(OC_SKIP)" # Camera
Chris Wang5547c372017-10-05 21:57:16 +0800160
Seunghwan Kim635e5122018-06-14 12:39:56 +0900161 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC1)" # Type-C Port 1
162 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC0)" # Type-C Port 2
163 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Port
Seunghwan Kime5a9e602018-06-15 10:20:25 +0900164 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # LTE module
Chris Wang5547c372017-10-05 21:57:16 +0800165
Subrata Banikc4986eb2018-05-09 14:55:09 +0530166 # Intel Common SoC Config
167 #+-------------------+---------------------------+
168 #| Field | Value |
169 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530170 #| I2C0 | Touchscreen |
171 #| I2C1 | cr50 TPM. Early init is |
172 #| | required to set up a BAR |
173 #| | for TPM communication |
174 #| | before memory is up |
175 #| I2C2 | Trackpad |
176 #| I2C3 | Pen |
177 #| I2C4 | Camera |
178 #| I2C5 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530179 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530180 #+-------------------+---------------------------+
181 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530182 .i2c[0] = {
Chris Wang5220e5f2017-11-24 14:00:48 +0800183 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530184 .speed_config[0] = {
185 .speed = I2C_SPEED_FAST,
186 .scl_lcnt = 180,
187 .scl_hcnt = 90,
188 .sda_hold = 36,
189 },
190 },
191 .i2c[1] = {
192 .early_init = 1,
193 .speed = I2C_SPEED_FAST,
194 .speed_config[0] = {
195 .speed = I2C_SPEED_FAST,
196 .scl_lcnt = 185,
197 .scl_hcnt = 90,
198 .sda_hold = 36,
199 },
200 },
201 .i2c[2] = {
202 .speed = I2C_SPEED_FAST,
203 .speed_config[0] = {
204 .speed = I2C_SPEED_FAST,
205 .scl_lcnt = 190,
206 .scl_hcnt = 100,
207 .sda_hold = 36,
208 },
209 },
210 .i2c[3] = {
211 .speed = I2C_SPEED_FAST,
212 .speed_config[0] = {
213 .speed = I2C_SPEED_FAST,
214 .scl_lcnt = 185,
215 .scl_hcnt = 90,
216 .sda_hold = 36,
217 },
218 },
219 .i2c[4] = {
220 .speed = I2C_SPEED_FAST,
221 .speed_config[0] = {
222 .speed = I2C_SPEED_FAST,
223 .scl_lcnt = 190,
224 .scl_hcnt = 100,
225 .sda_hold = 36,
226 },
227 },
228 .i2c[5] = {
229 .speed = I2C_SPEED_FAST,
230 .speed_config[0] = {
231 .speed = I2C_SPEED_FAST,
232 .scl_lcnt = 190,
233 .scl_hcnt = 100,
234 .sda_hold = 36,
235 },
Chris Wang5220e5f2017-11-24 14:00:48 +0800236 },
Subrata Banikc077b222019-08-01 10:50:35 +0530237 .pch_thermal_trip = 75,
Chris Wang5220e5f2017-11-24 14:00:48 +0800238 }"
Chris Wang5547c372017-10-05 21:57:16 +0800239
Subrata Banikc4986eb2018-05-09 14:55:09 +0530240 # Touch Screen
241 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
242
Chris Wang5547c372017-10-05 21:57:16 +0800243 # H1
244 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"
Chris Wang5547c372017-10-05 21:57:16 +0800245
246 # Trackpad
247 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
248
249 # Pen
250 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
251
252 # Camera
253 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
254
255 # Audio
256 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"
Chris Wang5547c372017-10-05 21:57:16 +0800257
258 # Must leave UART0 enabled or SD/eMMC will not work as PCI
259 register "SerialIoDevMode" = "{
260 [PchSerialIoIndexI2C0] = PchSerialIoPci,
261 [PchSerialIoIndexI2C1] = PchSerialIoPci,
262 [PchSerialIoIndexI2C2] = PchSerialIoPci,
263 [PchSerialIoIndexI2C3] = PchSerialIoPci,
264 [PchSerialIoIndexI2C4] = PchSerialIoPci,
265 [PchSerialIoIndexI2C5] = PchSerialIoPci,
266 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
267 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Furquan Shaikh8a1f0952018-01-24 13:14:33 -0800268 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
Chris Wang5547c372017-10-05 21:57:16 +0800269 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
270 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
271 }"
272
Chris Wang5547c372017-10-05 21:57:16 +0800273 # PL2 override 15W for KBL-Y
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +0530274 register "power_limits_config" = "{
275 .tdp_pl2_override = 15,
276 .psys_pmax = 45,
277 }"
Chris Wang5547c372017-10-05 21:57:16 +0800278 register "tcc_offset" = "10" # TCC of 90C
279
280 # Use default SD card detect GPIO configuration
Angel Pons6bd99f92021-02-20 00:16:47 +0100281 register "sdcard_cd_gpio" = "GPP_E15"
Chris Wang5547c372017-10-05 21:57:16 +0800282
Chris Wang5547c372017-10-05 21:57:16 +0800283 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100284 device ref system_agent on end
285 device ref igpu on end
286 device ref sa_thermal on end
287 device ref imgu on end
288 device ref south_xhci on end
289 device ref south_xdci on end
290 device ref thermal on end
291 device ref cio on end
292 device ref i2c0 on
Chris Wang94dc50e2017-11-28 16:33:27 +0800293 chip drivers/i2c/hid
294 register "generic.hid" = ""SYTS7813""
295 register "generic.desc" = ""Synaptics Touchscreen""
Karthikeyan Ramasubramanianc37e1e62020-11-10 14:54:40 -0700296 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500297 register "generic.detect" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800298 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
299 register "generic.enable_delay_ms" = "45"
300 register "generic.has_power_resource" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800301 register "hid_desc_reg_offset" = "0x20"
302 device i2c 20 on end
303 end
Marvin Evers059476d2023-12-04 02:28:25 +0100304 end
305 device ref i2c1 on
Chris Wang5547c372017-10-05 21:57:16 +0800306 chip drivers/i2c/tpm
307 register "hid" = ""GOOG0005""
308 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
309 device i2c 50 on end
310 end
Marvin Evers059476d2023-12-04 02:28:25 +0100311 end
312 device ref i2c2 on
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900313 chip drivers/i2c/generic
Gwendal Grignou145ef872018-07-03 14:31:31 -0700314 register "hid" = ""STH9321""
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900315 register "name" = ""SEMTECH SX9321""
316 register "desc" = ""SAR Proximity Sensor""
317 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A18_IRQ)"
318 register "device_present_gpio" = "GPP_B20"
319 device i2c 28 on end
320 end
Marvin Evers059476d2023-12-04 02:28:25 +0100321 end
322 device ref i2c3 on
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900323 chip drivers/i2c/hid
324 register "generic.hid" = ""ACPI0C50""
325 register "generic.cid" = ""PNP0C50""
326 register "generic.desc" = ""Digitizer device""
327 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A22_IRQ)"
328 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C9)"
329 register "generic.has_power_resource" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900330 register "generic.wake" = "GPE0_DW0_21"
Matt DeVillier86425c82022-03-28 23:45:14 -0500331 register "generic.detect" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900332 register "hid_desc_reg_offset" = "0x1"
333 device i2c 0x9 on end
334 end
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800335 chip drivers/generic/gpio_keys
336 register "name" = ""PENH""
337 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_B19)"
338 register "key.dev_name" = ""EJCT""
339 register "key.linux_code" = "SW_PEN_INSERTED"
340 register "key.linux_input_type" = "EV_SW"
341 register "key.label" = ""pen_eject""
Furquan Shaikhfa8b75f2020-06-26 01:19:46 -0700342 register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED"
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800343 device generic 0 on end
344 end
Marvin Evers059476d2023-12-04 02:28:25 +0100345 end
346 device ref heci1 on end
347 device ref heci2 off end
348 device ref csme_ider off end
349 device ref csme_ktr off end
350 device ref heci3 off end
351 device ref sata off end
352 device ref uart2 on end
353 device ref i2c5 on
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900354 chip drivers/generic/max98357a
Aamir Bohraa1c82c52020-03-16 18:57:48 +0530355 register "hid" = ""MX98357A""
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900356 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
357 register "sdmode_delay" = "5"
358 device generic 0 on end
359 end
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530360 chip drivers/i2c/da7219
361 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D9_IRQ)"
362 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800363 register "mic_det_thr" = "200"
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530364 register "jack_ins_deb" = "20"
365 register "jack_det_rate" = ""32ms_64ms""
366 register "jack_rem_deb" = "1"
367 register "a_d_btn_thr" = "0xa"
368 register "d_b_btn_thr" = "0x16"
369 register "b_c_btn_thr" = "0x21"
370 register "c_mic_btn_thr" = "0x3e"
371 register "btn_avg" = "4"
372 register "adc_1bit_rpt" = "1"
373 register "micbias_lvl" = "2600"
374 register "mic_amp_in_sel" = ""diff""
375 device i2c 1A on end
376 end
Marvin Evers059476d2023-12-04 02:28:25 +0100377 end
378 device ref i2c4 on
Chris Wang36e40e42017-10-26 19:04:57 +0800379 chip drivers/i2c/generic
380 register "hid" = ""ELAN0000""
381 register "desc" = ""ELAN Touchpad""
Matt DeVillier1c2f5ce2019-11-28 01:45:11 -0600382 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
Chris Wang36e40e42017-10-26 19:04:57 +0800383 register "wake" = "GPE0_DW0_05"
384 device i2c 15 on end
385 end
Marvin Evers059476d2023-12-04 02:28:25 +0100386 end
387 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700388 chip drivers/wifi/generic
Seunghwan Kimdf2ae962018-02-01 14:33:04 +0900389 register "wake" = "GPE0_DW0_00"
Chris Wang5547c372017-10-05 21:57:16 +0800390 device pci 00.0 on end
391 end
Marvin Evers059476d2023-12-04 02:28:25 +0100392 end
393 device ref pcie_rp2 off end
394 device ref pcie_rp3 off end
395 device ref pcie_rp4 off end
396 device ref pcie_rp5 off end
397 device ref pcie_rp6 off end
398 device ref pcie_rp7 off end
399 device ref pcie_rp8 off end
400 device ref pcie_rp9 off end
401 device ref pcie_rp10 off end
402 device ref pcie_rp11 off end
403 device ref pcie_rp12 off end
404 device ref uart0 on end
405 device ref uart1 off end
406 device ref gspi0 off end
407 device ref gspi1 off end
408 device ref emmc on end
409 device ref sdio off end
410 device ref sdxc on end
411 device ref lpc_espi on
Chris Wang5547c372017-10-05 21:57:16 +0800412 chip ec/google/chromeec
413 device pnp 0c09.0 on end
414 end
Marvin Evers059476d2023-12-04 02:28:25 +0100415 end
416 device ref p2sb on end
417 device ref pmc on end
418 device ref hda on end
419 device ref smbus on end
420 device ref fast_spi on end
421 device ref gbe off end
Chris Wang5547c372017-10-05 21:57:16 +0800422 end
423end