blob: 534b6c53402a6fa2183002c03b8cd7a9f6f0c2e2 [file] [log] [blame]
Joey Pengfe2d0ec2021-09-02 14:19:37 +08001fw_config
2 field DB_USB 0 1
3 option DB_USB_ABSENT 0
4 option DB_USB3_NO_A 1
Joey Pengefe0fe22022-01-27 10:59:38 +08005 option DB_USB3_1C_1A 2
Joey Pengfe2d0ec2021-09-02 14:19:37 +08006 end
7 field DB_SD 2 3
8 option DB_SD_ABSENT 0
9 option DB_SD_OZ711LV2LN 1
10 end
11 field KB_BL 4
12 option KB_BL_ABSENT 0
13 option KB_BL_PRESENT 1
14 end
15 field AUDIO 5 7
16 option AUDIO_UNKNOWN 0
17 option AUDIO_MAX98357_ALC5682I_I2S 1
Joey Penge8743752021-10-13 15:46:02 +080018 option AUDIO_MAX98357_ALC5682I_VS_I2S 2
Joey Pengfe2d0ec2021-09-02 14:19:37 +080019 end
20 field KB_LAYOUT 8 9
21 option KB_LAYOUT_DEFAULT 0
22 end
23 field WIFI_SAR_ID 10 11
24 option WIFI_SAR_ID_0 0
25 option WIFI_SAR_ID_1 1
26 option WIFI_SAR_ID_2 2
27 option WIFI_SAR_ID_3 3
28 end
29 field BOOT_NVME_MASK 12
30 option BOOT_NVME_DISABLED 0
31 option BOOT_NVME_ENABLED 1
32 end
33 field BOOT_EMMC_MASK 13
34 option BOOT_EMMC_DISABLED 0
35 option BOOT_EMMC_ENABLED 1
36 end
Joey Peng51a43f92022-03-21 16:58:23 +080037 field THERMAL 16
38 option THERMAL_FAN_TABLE_0 0
39 option THERMAL_FAN_TABLE_1 1
40 end
Dan Callaghanb00bfd02021-10-28 21:26:12 +110041 field HPS 17
42 option HPS_ABSENT 0
43 option HPS_PRESENT 1
44 end
Joey Pengfe2d0ec2021-09-02 14:19:37 +080045end
Kevin Chang819afd82021-07-16 19:37:06 +080046chip soc/intel/alderlake
Joey Peng5627ba12023-03-02 15:25:01 +080047 register "domain_vr_config[VR_DOMAIN_IA]" = "{
48 .enable_fast_vmode = 1,
49 }"
50
Joey Pengad6b27e2022-08-10 09:04:26 +080051 # As per Intel Advisory doc#723158, the change is required to prevent possible
52 # display flickering issue.
53 register "usb2_phy_sus_pg_disable" = "1"
54
Kevin Changccd09052022-01-20 14:39:54 +080055 # Acoustic settings
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053056 register "acoustic_noise_mitigation" = "1"
57 register "slow_slew_rate[VR_DOMAIN_IA]" = "SLEW_FAST_8"
58 register "slow_slew_rate[VR_DOMAIN_GT]" = "SLEW_FAST_8"
59 register "fast_pkg_c_ramp_disable[VR_DOMAIN_IA]" = "1"
60 register "fast_pkg_c_ramp_disable[VR_DOMAIN_GT]" = "1"
leo.chou616c07c2022-05-18 09:11:31 +080061 register "PreWake" = "100"
Kevin Chang70701eb2021-11-04 19:35:31 +080062 register "ext_fivr_settings" = "{
63 .configure_ext_fivr = 1,
64 .v1p05_enable_bitmap = FIVR_ENABLE_ALL_SX,
65 .vnn_enable_bitmap = FIVR_ENABLE_ALL_SX,
66 .v1p05_supported_voltage_bitmap = FIVR_VOLTAGE_NORMAL |
67 FIVR_VOLTAGE_MIN_ACTIVE |
68 FIVR_VOLTAGE_MIN_RETENTION,
69 .vnn_supported_voltage_bitmap = FIVR_VOLTAGE_NORMAL |
70 FIVR_VOLTAGE_MIN_ACTIVE |
71 FIVR_VOLTAGE_MIN_RETENTION,
72 .v1p05_icc_max_ma = 500,
73 .vnn_sx_voltage_mv = 1250,
74 }"
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053075 register "tcss_aux_ori" = "1"
Joey Peng46f769d2021-09-14 22:06:34 +080076 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +053077 register "sagv" = "SaGv_Enabled"
Joey Peng46f769d2021-09-14 22:06:34 +080078
Joey Penge0260352021-08-04 17:44:18 +080079 register "usb2_ports[1]" = "USB2_PORT_EMPTY" # Disable Port 1
80 register "usb2_ports[2]" = "USB2_PORT_TYPE_C(OC2)" # DB USB2_C1
81 register "usb2_ports[3]" = "USB2_PORT_EMPTY" # Disable M.2 WWAN
Joey Pengefe0fe22022-01-27 10:59:38 +080082 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # DB Type-A Port A1
83
84 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC3)" # USB3/2 Type A port A1
Joey Penge0260352021-08-04 17:44:18 +080085 register "usb3_ports[3]" = "USB3_PORT_EMPTY" # Disable M.2 WWAN
Kevin Chang819afd82021-07-16 19:37:06 +080086
Joey Penge0260352021-08-04 17:44:18 +080087 # Intel Common SoC Config
88 #+-------------------+---------------------------+
89 #| Field | Value |
90 #+-------------------+---------------------------+
Joey Penge0260352021-08-04 17:44:18 +080091 #| GSPI1 | Fingerprint MCU |
92 #| I2C0 | Audio |
Kevin Chang8550fbc2021-12-24 10:28:59 +080093 #| I2C1 | cr50 TPM. Early init is |
Joey Penge0260352021-08-04 17:44:18 +080094 #| | required to set up a BAR |
95 #| | for TPM communication |
Kevin Chang8550fbc2021-12-24 10:28:59 +080096 #| I2C2 | HPS |
97 #| I2C3 | Touchscreen |
Joey Penge0260352021-08-04 17:44:18 +080098 #| I2C5 | Trackpad |
99 #+-------------------+---------------------------+
Joey Penge0260352021-08-04 17:44:18 +0800100 register "common_soc_config" = "{
101 .i2c[0] = {
102 .speed = I2C_SPEED_FAST,
103 },
104 .i2c[1] = {
Kevin Chang8550fbc2021-12-24 10:28:59 +0800105 .early_init = 1,
Joey Penge0260352021-08-04 17:44:18 +0800106 .speed = I2C_SPEED_FAST,
Kevin Chang8550fbc2021-12-24 10:28:59 +0800107 .rise_time_ns = 600,
108 .fall_time_ns = 400,
109 .data_hold_time_ns = 50,
Joey Penge0260352021-08-04 17:44:18 +0800110 },
111 .i2c[2] = {
112 .speed = I2C_SPEED_FAST,
113 },
114 .i2c[3] = {
115 .early_init = 1,
116 .speed = I2C_SPEED_FAST,
117 },
118 .i2c[5] = {
Joey Peng43373492022-01-20 18:50:43 +0800119 .rise_time_ns = 650,
120 .fall_time_ns = 400,
121 .data_hold_time_ns = 500,
122 .speed_config[0] = {
123 .speed = I2C_SPEED_FAST,
124 .scl_lcnt = 160,
125 .scl_hcnt = 70,
126 .sda_hold = 40,
127 }
Joey Penge0260352021-08-04 17:44:18 +0800128 },
129 }"
130 # I2C Port Config
MAULIK V VAGHELA215a97e2022-03-07 18:39:17 +0530131 register "serial_io_i2c_mode" = "{
Joey Penge0260352021-08-04 17:44:18 +0800132 [PchSerialIoIndexI2C0] = PchSerialIoPci,
133 [PchSerialIoIndexI2C1] = PchSerialIoPci,
134 [PchSerialIoIndexI2C2] = PchSerialIoPci,
135 [PchSerialIoIndexI2C3] = PchSerialIoPci,
136 [PchSerialIoIndexI2C4] = PchSerialIoDisabled,
137 [PchSerialIoIndexI2C5] = PchSerialIoPci,
138 }"
139 device domain 0 on
Won Chung020d43e2023-08-01 00:56:01 +0000140 device ref igpu on
141 chip drivers/gfx/generic
142 register "device_count" = "3"
143 # DDIA for eDP
Matt DeVillier4e685bf2024-01-19 20:37:58 -0600144 register "device[0].name" = ""LCD0""
Matt DeVilliercf29efa2024-01-16 18:46:20 -0600145 # Internal panel on the first port of the graphics chip
Matt DeVillier1810a182024-01-26 16:09:42 -0600146 register "device[0].type" = "panel"
Won Chung020d43e2023-08-01 00:56:01 +0000147 # DDIB is unused and HDMI is not enumerated in the kernel, so no GFX device is added for DDIB
148 # TCP0 (DP-1) for port C0
149 register "device[1].name" = ""DD01""
150 register "device[1].use_pld" = "true"
151 register "device[1].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
152 # TCP1 is unused and not enumerated in the kernel, so no GFX device is added for TCP1
153 # TCP2 (DP-2) for port C1
154 register "device[2].name" = ""DD02""
155 register "device[2].use_pld" = "true"
156 register "device[2].pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
157 # TCP3 is unused and not enumerated in the kernel, so no GFX device is added for TCP3
158 device generic 0 on end
159 end
160 end # Integrated Graphics Device
Kevin Change3bb49e2021-10-15 13:51:49 +0800161 device ref dtt on
162 chip drivers/intel/dptf
163 ## sensor information
164 register "options.tsr[0].desc" = ""DRAM_SOC""
165 register "options.tsr[1].desc" = ""Ambient""
166 register "options.tsr[2].desc" = ""Charger""
167 register "options.tsr[3].desc" = ""WWAN""
168
169 # TODO: below values are initial reference values only
170 ## Active Policy
171 register "policies.active" = "{
172 [0] = {
173 .target = DPTF_CPU,
174 .thresholds = {
175 TEMP_PCT(85, 90),
176 TEMP_PCT(80, 74),
177 TEMP_PCT(75, 74),
178 TEMP_PCT(70, 74),
179 TEMP_PCT(65, 74),
180 }
181 },
182 [1] = {
183 .target = DPTF_TEMP_SENSOR_1,
184 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800185 TEMP_PCT(50, 70),
186 TEMP_PCT(47, 58),
187 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800188 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800189 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800190 }
191 },
192 [2] = {
193 .target = DPTF_TEMP_SENSOR_2,
194 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800195 TEMP_PCT(50, 70),
196 TEMP_PCT(47, 58),
197 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800198 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800199 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800200 }
201 },
202 [3] = {
203 .target = DPTF_TEMP_SENSOR_3,
204 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800205 TEMP_PCT(50, 70),
206 TEMP_PCT(47, 58),
207 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800208 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800209 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800210 }
211 }
212 }"
213
214 ## Passive Policy
215 register "policies.passive" = "{
216 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
217 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 90, 6000),
218 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 90, 6000),
219 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 90, 6000),
220 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 90, 6000),
221 }"
222
223 ## Critical Policy
224 register "policies.critical" = "{
225 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
226 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 100, SHUTDOWN),
227 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 100, SHUTDOWN),
228 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 100, SHUTDOWN),
229 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 100, SHUTDOWN),
230 }"
231
232 register "controls.power_limits" = "{
233 .pl1 = {
234 .min_power = 3000,
Kevin Chang219bda72021-12-27 20:05:40 +0800235 .max_power = 15000,
Kevin Change3bb49e2021-10-15 13:51:49 +0800236 .time_window_min = 28 * MSECS_PER_SEC,
237 .time_window_max = 32 * MSECS_PER_SEC,
238 .granularity = 200,
239 },
240 .pl2 = {
241 .min_power = 55000,
242 .max_power = 55000,
243 .time_window_min = 28 * MSECS_PER_SEC,
244 .time_window_max = 32 * MSECS_PER_SEC,
245 .granularity = 1000,
246 }
247 }"
248
249 ## Charger Performance Control (Control, mA)
250 register "controls.charger_perf" = "{
251 [0] = { 255, 1700 },
252 [1] = { 24, 1500 },
253 [2] = { 16, 1000 },
254 [3] = { 8, 500 }
255 }"
256
257 ## Fan Performance Control (Percent, Speed, Noise, Power)
258 register "controls.fan_perf" = "{
259 [0] = { 100, 6000, 220, 2200, },
260 [1] = { 92, 5500, 180, 1800, },
261 [2] = { 85, 5000, 145, 1450, },
Kevin Chang219bda72021-12-27 20:05:40 +0800262 [3] = { 70, 4400, 115, 1150, },
263 [4] = { 56, 3900, 90, 900, },
264 [5] = { 45, 3300, 55, 550, },
265 [6] = { 38, 3000, 30, 300, },
266 [7] = { 33, 2900, 15, 150, },
Kevin Change3bb49e2021-10-15 13:51:49 +0800267 [8] = { 10, 800, 10, 100, },
268 [9] = { 0, 0, 0, 50, }
269 }"
270
271 ## Fan options
272 register "options.fan.fine_grained_control" = "1"
273 register "options.fan.step_size" = "2"
274
Joey Peng51a43f92022-03-21 16:58:23 +0800275 device generic 0 on
276 probe THERMAL THERMAL_FAN_TABLE_0
277 end
278 end
279 chip drivers/intel/dptf
280 ## sensor information
281 register "options.tsr[0].desc" = ""DRAM_SOC""
282 register "options.tsr[1].desc" = ""Ambient""
283 register "options.tsr[2].desc" = ""Charger""
284 register "options.tsr[3].desc" = ""WWAN""
285
286 ## Active Policy
287 register "policies.active" = "{
288 [0] = {
289 .target = DPTF_CPU,
290 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800291 TEMP_PCT(60, 68),
292 TEMP_PCT(56, 50),
293 TEMP_PCT(52, 50),
294 TEMP_PCT(46, 40),
295 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800296 }
297 },
298 [1] = {
299 .target = DPTF_TEMP_SENSOR_1,
300 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800301 TEMP_PCT(60, 68),
302 TEMP_PCT(56, 50),
303 TEMP_PCT(52, 50),
304 TEMP_PCT(46, 40),
305 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800306 }
307 },
308 [2] = {
309 .target = DPTF_TEMP_SENSOR_2,
310 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800311 TEMP_PCT(60, 68),
312 TEMP_PCT(56, 50),
313 TEMP_PCT(52, 50),
314 TEMP_PCT(46, 40),
315 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800316 }
317 },
318 [3] = {
319 .target = DPTF_TEMP_SENSOR_3,
320 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800321 TEMP_PCT(60, 68),
322 TEMP_PCT(56, 50),
323 TEMP_PCT(52, 50),
324 TEMP_PCT(46, 40),
325 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800326 }
327 }
328 }"
329
330 ## Passive Policy
331 register "policies.passive" = "{
332 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
333 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 90, 6000),
334 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 90, 6000),
335 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 90, 6000),
336 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 90, 6000),
337 }"
338
339 ## Critical Policy
340 register "policies.critical" = "{
341 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
342 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 100, SHUTDOWN),
343 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 100, SHUTDOWN),
344 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 100, SHUTDOWN),
345 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 100, SHUTDOWN),
346 }"
347
348 register "controls.power_limits" = "{
349 .pl1 = {
350 .min_power = 3000,
351 .max_power = 15000,
352 .time_window_min = 28 * MSECS_PER_SEC,
353 .time_window_max = 32 * MSECS_PER_SEC,
354 .granularity = 200,
355 },
356 .pl2 = {
357 .min_power = 55000,
358 .max_power = 55000,
359 .time_window_min = 28 * MSECS_PER_SEC,
360 .time_window_max = 32 * MSECS_PER_SEC,
361 .granularity = 1000,
362 }
363 }"
364
365 ## Charger Performance Control (Control, mA)
366 register "controls.charger_perf" = "{
367 [0] = { 255, 1700 },
368 [1] = { 24, 1500 },
369 [2] = { 16, 1000 },
370 [3] = { 8, 500 }
371 }"
372
373 ## Fan Performance Control (Percent, Speed, Noise, Power)
374 register "controls.fan_perf" = "{
375 [0] = { 100, 6000, 220, 2200, },
376 [1] = { 92, 5500, 180, 1800, },
Joey Penge399aa82022-06-21 14:48:01 +0800377 [2] = { 78, 4500, 145, 1450, },
378 [3] = { 68, 3900, 115, 1150, },
379 [4] = { 60, 3600, 90, 900, },
380 [5] = { 50, 3200, 55, 550, },
381 [6] = { 40, 2800, 30, 300, },
382 [7] = { 33, 2500, 15, 150, },
383 [8] = { 12, 800, 10, 100, },
Joey Peng51a43f92022-03-21 16:58:23 +0800384 [9] = { 0, 0, 0, 50, }
385 }"
386
387 ## Fan options
388 register "options.fan.fine_grained_control" = "1"
389 register "options.fan.step_size" = "2"
390
391 device generic 1 on
392 probe THERMAL THERMAL_FAN_TABLE_1
393 end
Kevin Change3bb49e2021-10-15 13:51:49 +0800394 end
395 end
Joey Peng7bca1e42021-11-08 15:21:32 +0800396 device ref pcie4_0 on
397 # Enable CPU PCIE RP 1 using CLK 0
398 register "cpu_pcie_rp[CPU_RP(1)]" = "{
399 .clk_req = 0,
400 .clk_src = 0,
Tracy Wuec877d62022-01-13 21:53:02 +0800401 .flags = PCIE_RP_LTR | PCIE_RP_AER,
Joey Peng7bca1e42021-11-08 15:21:32 +0800402 }"
Kevin Changf1edd4f2021-12-24 20:45:00 +0800403 probe BOOT_NVME_MASK BOOT_NVME_ENABLED
Joey Peng7bca1e42021-11-08 15:21:32 +0800404 end
Joey Penge0260352021-08-04 17:44:18 +0800405 device ref tbt_pcie_rp0 off end
406 device ref tbt_pcie_rp1 off end
407 device ref tbt_pcie_rp2 off end
408 device ref i2c0 on
409 chip drivers/i2c/generic
410 register "hid" = ""10EC5682""
411 register "name" = ""RT58""
412 register "desc" = ""Headset Codec""
413 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
414 # Set the jd_src to RT5668_JD1 for jack detection
415 register "property_count" = "1"
416 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
417 register "property_list[0].name" = ""realtek,jd-src""
418 register "property_list[0].integer" = "1"
419 device i2c 1a on
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800420 probe AUDIO AUDIO_MAX98357_ALC5682I_I2S
Joey Penge0260352021-08-04 17:44:18 +0800421 end
422 end
Joey Penge8743752021-10-13 15:46:02 +0800423 chip drivers/i2c/generic
424 register "hid" = ""RTL5682""
425 register "name" = ""RT58""
426 register "desc" = ""Headset Codec""
427 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
428 # Set the jd_src to RT5668_JD1 for jack detection
429 register "property_count" = "1"
430 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
431 register "property_list[0].name" = ""realtek,jd-src""
432 register "property_list[0].integer" = "1"
433 device i2c 1a on
434 probe AUDIO AUDIO_MAX98357_ALC5682I_VS_I2S
435 end
436 end
Joey Penge0260352021-08-04 17:44:18 +0800437 end
438 device ref i2c1 on
Kevin Chang8550fbc2021-12-24 10:28:59 +0800439 chip drivers/i2c/tpm
440 register "hid" = ""GOOG0005""
441 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
442 device i2c 50 on end
443 end
444 end
445 device ref i2c2 on
446 chip drivers/i2c/generic
447 register "hid" = ""GOOG0020""
Jon Murphyc4e90452022-06-28 10:36:23 -0600448 register "desc" = ""ChromeOS HPS""
Kevin Chang8550fbc2021-12-24 10:28:59 +0800449 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E7)" # EN_HPS_PWR
450 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E3_IRQ)" # HPS_INT_ODL
451 # HPS uses I2C addresses 0x30 and 0x51.
452 # The address we provide here is not significant because
453 # neither coreboot nor Linux have a driver for HPS,
454 # it's only used from userspace.
455 device i2c 30 on
456 probe HPS HPS_PRESENT
457 end
458 end
459 end
460 device ref i2c3 on
Joey Penge0260352021-08-04 17:44:18 +0800461 chip drivers/i2c/hid
462 register "generic.hid" = ""GDIX0000""
463 register "generic.desc" = ""Goodix Touchscreen""
464 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500465 register "generic.detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800466 register "generic.reset_gpio" =
467 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
468 # Parameter T5 >= 180ms
469 register "generic.reset_delay_ms" = "180"
470 # Parameter T2 >= 1ms
471 register "generic.reset_off_delay_ms" = "3"
472 register "generic.enable_gpio" =
473 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
474 # Parameter T1 >= 20ms
475 register "generic.enable_delay_ms" = "20"
476 register "generic.stop_gpio" =
477 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E3)"
478 # Parameter T4 >= 1ms
479 register "generic.stop_off_delay_ms" = "1"
480 register "generic.has_power_resource" = "1"
481 register "hid_desc_reg_offset" = "0x01"
482 device i2c 5d on end
483 end
484 chip drivers/i2c/generic
485 register "hid" = ""ELAN0001""
486 register "desc" = ""ELAN Touchscreen""
487 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500488 register "detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800489 register "reset_gpio" =
490 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
491 register "reset_delay_ms" = "20"
492 register "enable_gpio" =
493 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
494 register "enable_delay_ms" = "1"
495 register "has_power_resource" = "1"
496 device i2c 10 on end
497 end
498 end
499 device ref i2c5 on
500 chip drivers/i2c/generic
501 register "hid" = ""ELAN0000""
502 register "desc" = ""ELAN Touchpad""
503 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
Joey Peng0087de82021-11-16 13:51:12 +0800504 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500505 register "detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800506 device i2c 15 on end
507 end
508 chip drivers/i2c/hid
Matt DeVilliere9f0ed52022-12-19 15:06:15 -0600509 register "generic.hid" = ""SYNA0000""
510 register "generic.cid" = ""ACPI0C50""
Joey Penge0260352021-08-04 17:44:18 +0800511 register "generic.desc" = ""Synaptics Touchpad""
512 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
Joey Peng0087de82021-11-16 13:51:12 +0800513 register "generic.wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500514 register "generic.detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800515 register "hid_desc_reg_offset" = "0x20"
516 device i2c 2c on end
517 end
518 end
519 device ref hda on
520 chip drivers/generic/max98357a
521 register "hid" = ""MX98357A""
522 register "sdmode_gpio" =
523 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
524 register "sdmode_delay" = "5"
Joey Penge0260352021-08-04 17:44:18 +0800525 device generic 0 on
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800526 probe AUDIO AUDIO_MAX98357_ALC5682I_I2S
Joey Pengb0c1e732021-10-27 15:38:08 +0800527 probe AUDIO AUDIO_MAX98357_ALC5682I_VS_I2S
Joey Penge0260352021-08-04 17:44:18 +0800528 end
529 end
Matt DeVillier3f3dc502023-01-17 13:44:23 -0600530 chip drivers/sof
531 register "spkr_tplg" = "max98357a"
532 register "jack_tplg" = "rt5682"
533 register "mic_tplg" = "_2ch_pdm0"
534 device generic 0 on end
535 end
Joey Penge0260352021-08-04 17:44:18 +0800536 end
537 device ref pcie_rp5 on
538 chip soc/intel/common/block/pcie/rtd3
539 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
540 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H20)"
541 register "srcclk_pin" = "2"
542 device generic 0 on end
543 end
544 register "pch_pcie_rp[PCH_RP(5)]" = "{
545 .clk_src = 2,
546 .clk_req = 2,
547 .flags = PCIE_RP_LTR | PCIE_RP_AER,
548 }"
549 end
550 device ref pcie_rp6 off end
551 device ref pcie_rp8 on
552 chip soc/intel/common/block/pcie/rtd3
553 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
554 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
555 register "srcclk_pin" = "3"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800556 device generic 0 on
557 probe DB_SD DB_SD_OZ711LV2LN
558 end
Joey Penge0260352021-08-04 17:44:18 +0800559 end
560 end
561 device ref pcie_rp9 on
Joey Peng496e4e92023-03-22 11:21:24 +0800562 # Enable PCIE 9 using clk 0 for eMMC
Kevin Changf1edd4f2021-12-24 20:45:00 +0800563 register "pch_pcie_rp[PCH_RP(9)]" = "{
564 .clk_src = 0,
565 .clk_req = 0,
566 .flags = PCIE_RP_LTR | PCIE_RP_AER,
Kevin Chang1f545992022-03-22 11:22:02 +0800567 .pcie_rp_aspm = ASPM_L1,
Kevin Changf1edd4f2021-12-24 20:45:00 +0800568 }"
Kevin Changf1edd4f2021-12-24 20:45:00 +0800569 probe BOOT_EMMC_MASK BOOT_EMMC_ENABLED
Joey Penge0260352021-08-04 17:44:18 +0800570 end
571 device ref gspi1 on
572 chip drivers/spi/acpi
573 register "name" = ""CRFP""
574 register "hid" = "ACPI_DT_NAMESPACE_HID"
575 register "uid" = "1"
576 register "compat_string" = ""google,cros-ec-spi""
577 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
578 register "wake" = "GPE0_DW2_15"
Tarun Tuli2b523ce2022-08-29 13:39:58 -0400579 register "has_power_resource" = "1"
580 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
581 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
582 register "enable_delay_ms" = "3"
Matt DeVillieraf46b472023-10-28 11:16:14 -0500583 device spi 0 hidden end
Joey Penge0260352021-08-04 17:44:18 +0800584 end # FPMCU
585 end
586 device ref pch_espi on
587 chip ec/google/chromeec
588 use conn0 as mux_conn[0]
589 use conn1 as mux_conn[1]
590 device pnp 0c09.0 on end
591 end
592 end
593 device ref pmc hidden
594 chip drivers/intel/pmc_mux
595 device generic 0 on
596 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100597 use usb2_port1 as usb2_port
598 use tcss_usb3_port1 as usb3_port
Joey Penge0260352021-08-04 17:44:18 +0800599 device generic 0 alias conn0 on end
600 end
601 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100602 use usb2_port3 as usb2_port
603 use tcss_usb3_port3 as usb3_port
Joey Penge0260352021-08-04 17:44:18 +0800604 device generic 2 alias conn1 on end
605 end
606 end
607 end
608 end
609 device ref tcss_xhci on
610 chip drivers/usb/acpi
611 device ref tcss_root_hub on
612 chip drivers/usb/acpi
613 register "desc" = ""USB3 Type-C Port C0 (MLB)""
614 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000615 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530616 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800617 device ref tcss_usb3_port1 on end
618 end
619 chip drivers/usb/acpi
620 register "desc" = ""USB3 Type-C Port C1 (DB)""
621 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000622 register "use_custom_pld" = "true"
Won Chung912edb42023-06-01 00:27:50 +0000623 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Ron Lee558952a2022-12-13 19:48:59 +0800624 register "usb_lpm_incapable" = "true"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800625 device ref tcss_usb3_port3 on
626 probe DB_USB DB_USB3_NO_A
Joey Pengefe0fe22022-01-27 10:59:38 +0800627 probe DB_USB DB_USB3_1C_1A
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800628 end
Joey Penge0260352021-08-04 17:44:18 +0800629 end
630 end
631 end
632 end
633 device ref xhci on
634 chip drivers/usb/acpi
635 device ref xhci_root_hub on
636 chip drivers/usb/acpi
637 register "desc" = ""USB2 Type-C Port C0 (MLB)""
638 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000639 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530640 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800641 device ref usb2_port1 on end
642 end
643 chip drivers/usb/acpi
644 register "desc" = ""USB2 Type-C Port C1 (DB)""
645 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000646 register "use_custom_pld" = "true"
Won Chung912edb42023-06-01 00:27:50 +0000647 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800648 device ref usb2_port3 on
649 probe DB_USB DB_USB3_NO_A
Joey Pengefe0fe22022-01-27 10:59:38 +0800650 probe DB_USB DB_USB3_1C_1A
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800651 end
Joey Penge0260352021-08-04 17:44:18 +0800652 end
653 chip drivers/usb/acpi
654 register "desc" = ""USB2 Camera""
655 register "type" = "UPC_TYPE_INTERNAL"
656 device ref usb2_port6 on
657 end
658 end
659 chip drivers/usb/acpi
Joey Pengefe0fe22022-01-27 10:59:38 +0800660 register "desc" = ""USB2 Type-A Port (DB)""
661 register "type" = "UPC_TYPE_A"
Subrata Banikf04faa12022-02-16 19:17:29 +0530662 register "use_custom_pld" = "true"
Won Chung0d303392022-05-23 22:57:55 +0000663 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(3, 1))"
Joey Pengefe0fe22022-01-27 10:59:38 +0800664 register "group" = "ACPI_PLD_GROUP(3, 1)"
665 device ref usb2_port7 on
666 probe DB_USB DB_USB3_1C_1A
667 end
668 end
669 chip drivers/usb/acpi
Joey Penge0260352021-08-04 17:44:18 +0800670 register "desc" = ""USB2 Type-A Port (MLB)""
671 register "type" = "UPC_TYPE_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000672 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530673 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(4, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800674 device ref usb2_port9 on end
675 end
676 chip drivers/usb/acpi
677 register "desc" = ""USB2 Bluetooth""
678 register "type" = "UPC_TYPE_INTERNAL"
679 register "reset_gpio" =
680 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
681 device ref usb2_port10 on end
682 end
683 chip drivers/usb/acpi
684 register "desc" = ""USB3 Type-A Port (MLB)""
685 register "type" = "UPC_TYPE_USB3_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000686 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530687 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(4, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800688 device ref usb3_port1 on end
689 end
Joey Pengefe0fe22022-01-27 10:59:38 +0800690 chip drivers/usb/acpi
691 register "desc" = ""USB3 Type-A Port (DB)""
692 register "type" = "UPC_TYPE_USB3_A"
Subrata Banikf04faa12022-02-16 19:17:29 +0530693 register "use_custom_pld" = "true"
Won Chung0d303392022-05-23 22:57:55 +0000694 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(3, 1))"
Joey Pengefe0fe22022-01-27 10:59:38 +0800695 device ref usb3_port3 on
696 probe DB_USB DB_USB3_1C_1A
697 end
698 end
Joey Penge0260352021-08-04 17:44:18 +0800699 end
700 end
701 end
702 end
Kevin Chang819afd82021-07-16 19:37:06 +0800703end