blob: aebec9ff6efad5016d793a16b7238718a8f736fb [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 "ScsEmmcHs400Enabled" = "1"
Chris Wang5547c372017-10-05 21:57:16 +080048 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020049 register "SaGv" = "SaGv_Enabled"
Chris Wang5547c372017-10-05 21:57:16 +080050 register "PmConfigSlpS3MinAssert" = "2" # 50ms
51 register "PmConfigSlpS4MinAssert" = "1" # 1s
52 register "PmConfigSlpSusMinAssert" = "1" # 500ms
53 register "PmConfigSlpAMinAssert" = "3" # 2s
Chris Wang5547c372017-10-05 21:57:16 +080054
Chris Wang51de1802017-11-24 13:43:50 +080055 # VR Slew rate setting for improving audible noise
56 register "AcousticNoiseMitigation" = "1"
57 register "FastPkgCRampDisableIa" = "1"
58 register "FastPkgCRampDisableGt" = "1"
59 register "FastPkgCRampDisableSa" = "1"
60 register "SlowSlewRateForIa" = "3" # Fast/16
61 register "SlowSlewRateForGt" = "3" # Fast/16
Seunghwan Kim3dd88f12018-02-27 14:27:26 +090062 register "SlowSlewRateForSa" = "2" # Fast/8
63
Chris Wang5547c372017-10-05 21:57:16 +080064 # VR Settings Configuration for 4 Domains
65 #+----------------+-------+-------+-------+-------+
66 #| Domain/Setting | SA | IA | GTUS | GTS |
67 #+----------------+-------+-------+-------+-------+
68 #| Psi1Threshold | 20A | 20A | 20A | 20A |
69 #| Psi2Threshold | 2A | 2A | 2A | 2A |
70 #| Psi3Threshold | 1A | 1A | 1A | 1A |
71 #| Psi3Enable | 1 | 1 | 1 | 1 |
72 #| Psi4Enable | 1 | 1 | 1 | 1 |
73 #| ImonSlope | 0 | 0 | 0 | 0 |
74 #| ImonOffset | 0 | 0 | 0 | 0 |
75 #| IccMax | 5A | 24A | 24A | 24A |
76 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
77 #| AcLoadline | 15 | 5.7 | 5.5 | 5.5 |
78 #| DcLoadline | 14.3 | 4.83 | 4.2 | 4.2 |
79 #+----------------+-------+-------+-------+-------+
80 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
81 .vr_config_enable = 1,
82 .psi1threshold = VR_CFG_AMP(20),
83 .psi2threshold = VR_CFG_AMP(2),
84 .psi3threshold = VR_CFG_AMP(1),
85 .psi3enable = 1,
86 .psi4enable = 1,
87 .imon_slope = 0x0,
88 .imon_offset = 0x0,
89 .icc_max = VR_CFG_AMP(5),
90 .voltage_limit = 1520,
91 .ac_loadline = 1500,
92 .dc_loadline = 1430,
93 }"
94
95 register "domain_vr_config[VR_IA_CORE]" = "{
96 .vr_config_enable = 1,
97 .psi1threshold = VR_CFG_AMP(20),
98 .psi2threshold = VR_CFG_AMP(2),
99 .psi3threshold = VR_CFG_AMP(1),
100 .psi3enable = 1,
101 .psi4enable = 1,
102 .imon_slope = 0x0,
103 .imon_offset = 0x0,
104 .icc_max = VR_CFG_AMP(24),
105 .voltage_limit = 1520,
106 .ac_loadline = 570,
107 .dc_loadline = 483,
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(2),
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(24),
120 .voltage_limit = 1520,
121 .ac_loadline = 550,
122 .dc_loadline = 420,
123 }"
124
125 register "domain_vr_config[VR_GT_SLICED]" = "{
126 .vr_config_enable = 1,
127 .psi1threshold = VR_CFG_AMP(20),
128 .psi2threshold = VR_CFG_AMP(2),
129 .psi3threshold = VR_CFG_AMP(1),
130 .psi3enable = 1,
131 .psi4enable = 1,
132 .imon_slope = 0x0,
133 .imon_offset = 0x0,
134 .icc_max = VR_CFG_AMP(24),
135 .voltage_limit = 1520,
136 .ac_loadline = 550,
137 .dc_loadline = 420,
138 }"
139
140 # Enable Root port 1.
141 register "PcieRpEnable[0]" = "1"
142 # Enable CLKREQ#
143 register "PcieRpClkReqSupport[0]" = "1"
144 # RP 1 uses SRCCLKREQ1#
145 register "PcieRpClkReqNumber[0]" = "1"
Alexander Goncharov893c3ae82023-02-04 15:20:37 +0400146 # RP 1 uses CLK SRC 1
Angel Ponse16692e2020-08-03 12:54:48 +0200147 register "PcieRpClkSrcNumber[0]" = "1"
Furquan Shaikh9c12e902017-12-17 20:31:18 -0800148 # RP 1, Enable Advanced Error Reporting
149 register "PcieRpAdvancedErrorReporting[0]" = "1"
150 # RP 1, Enable Latency Tolerance Reporting Mechanism
151 register "PcieRpLtrEnable[0]" = "1"
Chris Wang5547c372017-10-05 21:57:16 +0800152
Seunghwan Kim635e5122018-06-14 12:39:56 +0900153 register "usb2_ports[0]" = "USB2_PORT_LONG(OC1)" # Type-C Port 1
154 register "usb2_ports[1]" = "USB2_PORT_SHORT(OC2)" # Type-A Port
sh.kim35325e12017-12-01 16:09:50 +0900155 register "usb2_ports[2]" = "USB2_PORT_SHORT(OC_SKIP)" # Bluetooth
Seunghwan Kim635e5122018-06-14 12:39:56 +0900156 register "usb2_ports[4]" = "USB2_PORT_LONG(OC0)" # Type-C Port 2
sh.kim35325e12017-12-01 16:09:50 +0900157 register "usb2_ports[6]" = "USB2_PORT_SHORT(OC_SKIP)" # H1
158 register "usb2_ports[8]" = "USB2_PORT_SHORT(OC_SKIP)" # Camera
Chris Wang5547c372017-10-05 21:57:16 +0800159
Seunghwan Kim635e5122018-06-14 12:39:56 +0900160 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC1)" # Type-C Port 1
161 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC0)" # Type-C Port 2
162 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Port
Seunghwan Kime5a9e602018-06-15 10:20:25 +0900163 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # LTE module
Chris Wang5547c372017-10-05 21:57:16 +0800164
Subrata Banikc4986eb2018-05-09 14:55:09 +0530165 # Intel Common SoC Config
166 #+-------------------+---------------------------+
167 #| Field | Value |
168 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530169 #| I2C0 | Touchscreen |
170 #| I2C1 | cr50 TPM. Early init is |
171 #| | required to set up a BAR |
172 #| | for TPM communication |
173 #| | before memory is up |
174 #| I2C2 | Trackpad |
175 #| I2C3 | Pen |
176 #| I2C4 | Camera |
177 #| I2C5 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530178 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530179 #+-------------------+---------------------------+
180 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530181 .i2c[0] = {
Chris Wang5220e5f2017-11-24 14:00:48 +0800182 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530183 .speed_config[0] = {
184 .speed = I2C_SPEED_FAST,
185 .scl_lcnt = 180,
186 .scl_hcnt = 90,
187 .sda_hold = 36,
188 },
189 },
190 .i2c[1] = {
191 .early_init = 1,
192 .speed = I2C_SPEED_FAST,
193 .speed_config[0] = {
194 .speed = I2C_SPEED_FAST,
195 .scl_lcnt = 185,
196 .scl_hcnt = 90,
197 .sda_hold = 36,
198 },
199 },
200 .i2c[2] = {
201 .speed = I2C_SPEED_FAST,
202 .speed_config[0] = {
203 .speed = I2C_SPEED_FAST,
204 .scl_lcnt = 190,
205 .scl_hcnt = 100,
206 .sda_hold = 36,
207 },
208 },
209 .i2c[3] = {
210 .speed = I2C_SPEED_FAST,
211 .speed_config[0] = {
212 .speed = I2C_SPEED_FAST,
213 .scl_lcnt = 185,
214 .scl_hcnt = 90,
215 .sda_hold = 36,
216 },
217 },
218 .i2c[4] = {
219 .speed = I2C_SPEED_FAST,
220 .speed_config[0] = {
221 .speed = I2C_SPEED_FAST,
222 .scl_lcnt = 190,
223 .scl_hcnt = 100,
224 .sda_hold = 36,
225 },
226 },
227 .i2c[5] = {
228 .speed = I2C_SPEED_FAST,
229 .speed_config[0] = {
230 .speed = I2C_SPEED_FAST,
231 .scl_lcnt = 190,
232 .scl_hcnt = 100,
233 .sda_hold = 36,
234 },
Chris Wang5220e5f2017-11-24 14:00:48 +0800235 },
Subrata Banikc077b222019-08-01 10:50:35 +0530236 .pch_thermal_trip = 75,
Chris Wang5220e5f2017-11-24 14:00:48 +0800237 }"
Chris Wang5547c372017-10-05 21:57:16 +0800238
Subrata Banikc4986eb2018-05-09 14:55:09 +0530239 # Touch Screen
240 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
241
Chris Wang5547c372017-10-05 21:57:16 +0800242 # H1
243 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"
Chris Wang5547c372017-10-05 21:57:16 +0800244
245 # Trackpad
246 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
247
248 # Pen
249 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
250
251 # Camera
252 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
253
254 # Audio
255 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"
Chris Wang5547c372017-10-05 21:57:16 +0800256
257 # Must leave UART0 enabled or SD/eMMC will not work as PCI
258 register "SerialIoDevMode" = "{
259 [PchSerialIoIndexI2C0] = PchSerialIoPci,
260 [PchSerialIoIndexI2C1] = PchSerialIoPci,
261 [PchSerialIoIndexI2C2] = PchSerialIoPci,
262 [PchSerialIoIndexI2C3] = PchSerialIoPci,
263 [PchSerialIoIndexI2C4] = PchSerialIoPci,
264 [PchSerialIoIndexI2C5] = PchSerialIoPci,
265 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
266 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Furquan Shaikh8a1f0952018-01-24 13:14:33 -0800267 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
Chris Wang5547c372017-10-05 21:57:16 +0800268 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
269 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
270 }"
271
Chris Wang5547c372017-10-05 21:57:16 +0800272 # PL2 override 15W for KBL-Y
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +0530273 register "power_limits_config" = "{
274 .tdp_pl2_override = 15,
275 .psys_pmax = 45,
276 }"
Chris Wang5547c372017-10-05 21:57:16 +0800277 register "tcc_offset" = "10" # TCC of 90C
278
279 # Use default SD card detect GPIO configuration
Angel Pons6bd99f92021-02-20 00:16:47 +0100280 register "sdcard_cd_gpio" = "GPP_E15"
Chris Wang5547c372017-10-05 21:57:16 +0800281
Chris Wang5547c372017-10-05 21:57:16 +0800282 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100283 device ref system_agent on end
284 device ref igpu on end
285 device ref sa_thermal on end
286 device ref imgu on end
287 device ref south_xhci on end
288 device ref south_xdci on end
289 device ref thermal on end
290 device ref cio on end
291 device ref i2c0 on
Chris Wang94dc50e2017-11-28 16:33:27 +0800292 chip drivers/i2c/hid
293 register "generic.hid" = ""SYTS7813""
294 register "generic.desc" = ""Synaptics Touchscreen""
Karthikeyan Ramasubramanianc37e1e62020-11-10 14:54:40 -0700295 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500296 register "generic.detect" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800297 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
298 register "generic.enable_delay_ms" = "45"
299 register "generic.has_power_resource" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800300 register "hid_desc_reg_offset" = "0x20"
301 device i2c 20 on end
302 end
Marvin Evers059476d2023-12-04 02:28:25 +0100303 end
304 device ref i2c1 on
Chris Wang5547c372017-10-05 21:57:16 +0800305 chip drivers/i2c/tpm
306 register "hid" = ""GOOG0005""
307 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
308 device i2c 50 on end
309 end
Marvin Evers059476d2023-12-04 02:28:25 +0100310 end
311 device ref i2c2 on
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900312 chip drivers/i2c/generic
Gwendal Grignou145ef872018-07-03 14:31:31 -0700313 register "hid" = ""STH9321""
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900314 register "name" = ""SEMTECH SX9321""
315 register "desc" = ""SAR Proximity Sensor""
316 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A18_IRQ)"
317 register "device_present_gpio" = "GPP_B20"
318 device i2c 28 on end
319 end
Marvin Evers059476d2023-12-04 02:28:25 +0100320 end
321 device ref i2c3 on
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900322 chip drivers/i2c/hid
323 register "generic.hid" = ""ACPI0C50""
324 register "generic.cid" = ""PNP0C50""
325 register "generic.desc" = ""Digitizer device""
326 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A22_IRQ)"
327 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C9)"
328 register "generic.has_power_resource" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900329 register "generic.wake" = "GPE0_DW0_21"
Matt DeVillier86425c82022-03-28 23:45:14 -0500330 register "generic.detect" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900331 register "hid_desc_reg_offset" = "0x1"
332 device i2c 0x9 on end
333 end
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800334 chip drivers/generic/gpio_keys
335 register "name" = ""PENH""
336 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_B19)"
337 register "key.dev_name" = ""EJCT""
338 register "key.linux_code" = "SW_PEN_INSERTED"
339 register "key.linux_input_type" = "EV_SW"
340 register "key.label" = ""pen_eject""
Furquan Shaikhfa8b75f2020-06-26 01:19:46 -0700341 register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED"
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800342 device generic 0 on end
343 end
Marvin Evers059476d2023-12-04 02:28:25 +0100344 end
345 device ref heci1 on end
346 device ref heci2 off end
347 device ref csme_ider off end
348 device ref csme_ktr off end
349 device ref heci3 off end
350 device ref sata off end
351 device ref uart2 on end
352 device ref i2c5 on
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900353 chip drivers/generic/max98357a
Aamir Bohraa1c82c52020-03-16 18:57:48 +0530354 register "hid" = ""MX98357A""
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900355 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
356 register "sdmode_delay" = "5"
357 device generic 0 on end
358 end
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530359 chip drivers/i2c/da7219
360 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D9_IRQ)"
361 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800362 register "mic_det_thr" = "200"
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530363 register "jack_ins_deb" = "20"
364 register "jack_det_rate" = ""32ms_64ms""
365 register "jack_rem_deb" = "1"
366 register "a_d_btn_thr" = "0xa"
367 register "d_b_btn_thr" = "0x16"
368 register "b_c_btn_thr" = "0x21"
369 register "c_mic_btn_thr" = "0x3e"
370 register "btn_avg" = "4"
371 register "adc_1bit_rpt" = "1"
372 register "micbias_lvl" = "2600"
373 register "mic_amp_in_sel" = ""diff""
374 device i2c 1A on end
375 end
Marvin Evers059476d2023-12-04 02:28:25 +0100376 end
377 device ref i2c4 on
Chris Wang36e40e42017-10-26 19:04:57 +0800378 chip drivers/i2c/generic
379 register "hid" = ""ELAN0000""
380 register "desc" = ""ELAN Touchpad""
Matt DeVillier1c2f5ce2019-11-28 01:45:11 -0600381 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
Chris Wang36e40e42017-10-26 19:04:57 +0800382 register "wake" = "GPE0_DW0_05"
383 device i2c 15 on end
384 end
Marvin Evers059476d2023-12-04 02:28:25 +0100385 end
386 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700387 chip drivers/wifi/generic
Seunghwan Kimdf2ae962018-02-01 14:33:04 +0900388 register "wake" = "GPE0_DW0_00"
Chris Wang5547c372017-10-05 21:57:16 +0800389 device pci 00.0 on end
390 end
Marvin Evers059476d2023-12-04 02:28:25 +0100391 end
392 device ref pcie_rp2 off end
393 device ref pcie_rp3 off end
394 device ref pcie_rp4 off end
395 device ref pcie_rp5 off end
396 device ref pcie_rp6 off end
397 device ref pcie_rp7 off end
398 device ref pcie_rp8 off end
399 device ref pcie_rp9 off end
400 device ref pcie_rp10 off end
401 device ref pcie_rp11 off end
402 device ref pcie_rp12 off end
403 device ref uart0 on end
404 device ref uart1 off end
405 device ref gspi0 off end
406 device ref gspi1 off end
407 device ref emmc on end
408 device ref sdio off end
409 device ref sdxc on end
410 device ref lpc_espi on
Chris Wang5547c372017-10-05 21:57:16 +0800411 chip ec/google/chromeec
412 device pnp 0c09.0 on end
413 end
Marvin Evers059476d2023-12-04 02:28:25 +0100414 end
415 device ref p2sb on end
416 device ref pmc on end
417 device ref hda on end
418 device ref smbus on end
419 device ref fast_spi on end
420 device ref gbe off end
Chris Wang5547c372017-10-05 21:57:16 +0800421 end
422end