blob: 29233c9d2a590d2176efffef7ec1b25552eada02 [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
Seunghwan Kim635e5122018-06-14 12:39:56 +0900151 register "usb2_ports[0]" = "USB2_PORT_LONG(OC1)" # Type-C Port 1
152 register "usb2_ports[1]" = "USB2_PORT_SHORT(OC2)" # Type-A Port
sh.kim35325e12017-12-01 16:09:50 +0900153 register "usb2_ports[2]" = "USB2_PORT_SHORT(OC_SKIP)" # Bluetooth
Seunghwan Kim635e5122018-06-14 12:39:56 +0900154 register "usb2_ports[4]" = "USB2_PORT_LONG(OC0)" # Type-C Port 2
sh.kim35325e12017-12-01 16:09:50 +0900155 register "usb2_ports[6]" = "USB2_PORT_SHORT(OC_SKIP)" # H1
156 register "usb2_ports[8]" = "USB2_PORT_SHORT(OC_SKIP)" # Camera
Chris Wang5547c372017-10-05 21:57:16 +0800157
Seunghwan Kim635e5122018-06-14 12:39:56 +0900158 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC1)" # Type-C Port 1
159 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC0)" # Type-C Port 2
160 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Port
Seunghwan Kime5a9e602018-06-15 10:20:25 +0900161 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # LTE module
Chris Wang5547c372017-10-05 21:57:16 +0800162
Subrata Banikc4986eb2018-05-09 14:55:09 +0530163 # Intel Common SoC Config
164 #+-------------------+---------------------------+
165 #| Field | Value |
166 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530167 #| I2C0 | Touchscreen |
168 #| I2C1 | cr50 TPM. Early init is |
169 #| | required to set up a BAR |
170 #| | for TPM communication |
171 #| | before memory is up |
172 #| I2C2 | Trackpad |
173 #| I2C3 | Pen |
174 #| I2C4 | Camera |
175 #| I2C5 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530176 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530177 #+-------------------+---------------------------+
178 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530179 .i2c[0] = {
Chris Wang5220e5f2017-11-24 14:00:48 +0800180 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530181 .speed_config[0] = {
182 .speed = I2C_SPEED_FAST,
183 .scl_lcnt = 180,
184 .scl_hcnt = 90,
185 .sda_hold = 36,
186 },
187 },
188 .i2c[1] = {
189 .early_init = 1,
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[2] = {
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[3] = {
208 .speed = I2C_SPEED_FAST,
209 .speed_config[0] = {
210 .speed = I2C_SPEED_FAST,
211 .scl_lcnt = 185,
212 .scl_hcnt = 90,
213 .sda_hold = 36,
214 },
215 },
216 .i2c[4] = {
217 .speed = I2C_SPEED_FAST,
218 .speed_config[0] = {
219 .speed = I2C_SPEED_FAST,
220 .scl_lcnt = 190,
221 .scl_hcnt = 100,
222 .sda_hold = 36,
223 },
224 },
225 .i2c[5] = {
226 .speed = I2C_SPEED_FAST,
227 .speed_config[0] = {
228 .speed = I2C_SPEED_FAST,
229 .scl_lcnt = 190,
230 .scl_hcnt = 100,
231 .sda_hold = 36,
232 },
Chris Wang5220e5f2017-11-24 14:00:48 +0800233 },
Subrata Banikc077b222019-08-01 10:50:35 +0530234 .pch_thermal_trip = 75,
Chris Wang5220e5f2017-11-24 14:00:48 +0800235 }"
Chris Wang5547c372017-10-05 21:57:16 +0800236
Subrata Banikc4986eb2018-05-09 14:55:09 +0530237 # Touch Screen
238 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
239
Chris Wang5547c372017-10-05 21:57:16 +0800240 # H1
241 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"
Chris Wang5547c372017-10-05 21:57:16 +0800242
243 # Trackpad
244 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
245
246 # Pen
247 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
248
249 # Camera
250 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
251
252 # Audio
253 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"
Chris Wang5547c372017-10-05 21:57:16 +0800254
255 # Must leave UART0 enabled or SD/eMMC will not work as PCI
256 register "SerialIoDevMode" = "{
257 [PchSerialIoIndexI2C0] = PchSerialIoPci,
258 [PchSerialIoIndexI2C1] = PchSerialIoPci,
259 [PchSerialIoIndexI2C2] = PchSerialIoPci,
260 [PchSerialIoIndexI2C3] = PchSerialIoPci,
261 [PchSerialIoIndexI2C4] = PchSerialIoPci,
262 [PchSerialIoIndexI2C5] = PchSerialIoPci,
263 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
264 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Furquan Shaikh8a1f0952018-01-24 13:14:33 -0800265 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
Chris Wang5547c372017-10-05 21:57:16 +0800266 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
267 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
268 }"
269
Chris Wang5547c372017-10-05 21:57:16 +0800270 # PL2 override 15W for KBL-Y
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +0530271 register "power_limits_config" = "{
272 .tdp_pl2_override = 15,
273 .psys_pmax = 45,
274 }"
Chris Wang5547c372017-10-05 21:57:16 +0800275 register "tcc_offset" = "10" # TCC of 90C
276
277 # Use default SD card detect GPIO configuration
Angel Pons6bd99f92021-02-20 00:16:47 +0100278 register "sdcard_cd_gpio" = "GPP_E15"
Chris Wang5547c372017-10-05 21:57:16 +0800279
Chris Wang5547c372017-10-05 21:57:16 +0800280 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100281 device ref system_agent on end
282 device ref igpu on end
283 device ref sa_thermal on end
284 device ref imgu on end
285 device ref south_xhci on end
286 device ref south_xdci on end
287 device ref thermal on end
288 device ref cio on end
289 device ref i2c0 on
Chris Wang94dc50e2017-11-28 16:33:27 +0800290 chip drivers/i2c/hid
291 register "generic.hid" = ""SYTS7813""
292 register "generic.desc" = ""Synaptics Touchscreen""
Karthikeyan Ramasubramanianc37e1e62020-11-10 14:54:40 -0700293 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500294 register "generic.detect" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800295 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
296 register "generic.enable_delay_ms" = "45"
297 register "generic.has_power_resource" = "1"
Chris Wang94dc50e2017-11-28 16:33:27 +0800298 register "hid_desc_reg_offset" = "0x20"
299 device i2c 20 on end
300 end
Marvin Evers059476d2023-12-04 02:28:25 +0100301 end
302 device ref i2c1 on
Chris Wang5547c372017-10-05 21:57:16 +0800303 chip drivers/i2c/tpm
304 register "hid" = ""GOOG0005""
305 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
306 device i2c 50 on end
307 end
Marvin Evers059476d2023-12-04 02:28:25 +0100308 end
309 device ref i2c2 on
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900310 chip drivers/i2c/generic
Gwendal Grignou145ef872018-07-03 14:31:31 -0700311 register "hid" = ""STH9321""
Seunghwan Kim5bf63472018-06-15 15:26:47 +0900312 register "name" = ""SEMTECH SX9321""
313 register "desc" = ""SAR Proximity Sensor""
314 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A18_IRQ)"
315 register "device_present_gpio" = "GPP_B20"
316 device i2c 28 on end
317 end
Marvin Evers059476d2023-12-04 02:28:25 +0100318 end
319 device ref i2c3 on
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900320 chip drivers/i2c/hid
321 register "generic.hid" = ""ACPI0C50""
322 register "generic.cid" = ""PNP0C50""
323 register "generic.desc" = ""Digitizer device""
324 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A22_IRQ)"
325 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C9)"
326 register "generic.has_power_resource" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900327 register "generic.wake" = "GPE0_DW0_21"
Matt DeVillier86425c82022-03-28 23:45:14 -0500328 register "generic.detect" = "1"
Seunghwan Kim533ea7a2017-12-28 10:40:35 +0900329 register "hid_desc_reg_offset" = "0x1"
330 device i2c 0x9 on end
331 end
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800332 chip drivers/generic/gpio_keys
333 register "name" = ""PENH""
334 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_B19)"
335 register "key.dev_name" = ""EJCT""
336 register "key.linux_code" = "SW_PEN_INSERTED"
337 register "key.linux_input_type" = "EV_SW"
338 register "key.label" = ""pen_eject""
Furquan Shaikhfa8b75f2020-06-26 01:19:46 -0700339 register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED"
Furquan Shaikhbb1e5392018-01-11 20:29:38 -0800340 device generic 0 on end
341 end
Marvin Evers059476d2023-12-04 02:28:25 +0100342 end
343 device ref heci1 on end
344 device ref heci2 off end
345 device ref csme_ider off end
346 device ref csme_ktr off end
347 device ref heci3 off end
348 device ref sata off end
349 device ref uart2 on end
350 device ref i2c5 on
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900351 chip drivers/generic/max98357a
Aamir Bohraa1c82c52020-03-16 18:57:48 +0530352 register "hid" = ""MX98357A""
Naveen Manohar1533dfd2017-10-12 15:50:21 +0900353 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
354 register "sdmode_delay" = "5"
355 device generic 0 on end
356 end
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530357 chip drivers/i2c/da7219
358 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D9_IRQ)"
359 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800360 register "mic_det_thr" = "200"
Naveen Manohar5bcb23e2017-11-04 04:00:12 +0530361 register "jack_ins_deb" = "20"
362 register "jack_det_rate" = ""32ms_64ms""
363 register "jack_rem_deb" = "1"
364 register "a_d_btn_thr" = "0xa"
365 register "d_b_btn_thr" = "0x16"
366 register "b_c_btn_thr" = "0x21"
367 register "c_mic_btn_thr" = "0x3e"
368 register "btn_avg" = "4"
369 register "adc_1bit_rpt" = "1"
370 register "micbias_lvl" = "2600"
371 register "mic_amp_in_sel" = ""diff""
372 device i2c 1A on end
373 end
Marvin Evers059476d2023-12-04 02:28:25 +0100374 end
375 device ref i2c4 on
Chris Wang36e40e42017-10-26 19:04:57 +0800376 chip drivers/i2c/generic
377 register "hid" = ""ELAN0000""
378 register "desc" = ""ELAN Touchpad""
Matt DeVillier1c2f5ce2019-11-28 01:45:11 -0600379 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
Chris Wang36e40e42017-10-26 19:04:57 +0800380 register "wake" = "GPE0_DW0_05"
381 device i2c 15 on end
382 end
Marvin Evers059476d2023-12-04 02:28:25 +0100383 end
384 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700385 chip drivers/wifi/generic
Seunghwan Kimdf2ae962018-02-01 14:33:04 +0900386 register "wake" = "GPE0_DW0_00"
Chris Wang5547c372017-10-05 21:57:16 +0800387 device pci 00.0 on end
388 end
Marvin Evers059476d2023-12-04 02:28:25 +0100389 end
390 device ref pcie_rp2 off end
391 device ref pcie_rp3 off end
392 device ref pcie_rp4 off end
393 device ref pcie_rp5 off end
394 device ref pcie_rp6 off end
395 device ref pcie_rp7 off end
396 device ref pcie_rp8 off end
397 device ref pcie_rp9 off end
398 device ref pcie_rp10 off end
399 device ref pcie_rp11 off end
400 device ref pcie_rp12 off end
401 device ref uart0 on end
402 device ref uart1 off end
403 device ref gspi0 off end
404 device ref gspi1 off end
405 device ref emmc on end
406 device ref sdio off end
407 device ref sdxc on end
408 device ref lpc_espi on
Chris Wang5547c372017-10-05 21:57:16 +0800409 chip ec/google/chromeec
410 device pnp 0c09.0 on end
411 end
Marvin Evers059476d2023-12-04 02:28:25 +0100412 end
413 device ref p2sb on end
414 device ref pmc on end
415 device ref hda on end
416 device ref smbus on end
417 device ref fast_spi on end
418 device ref gbe off end
Chris Wang5547c372017-10-05 21:57:16 +0800419 end
420end