blob: de188e13a56041257a6ff54b8120b9f2a1ffd9c4 [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
Kevin Change3bb49e2021-10-15 13:51:49 +0800140 device ref dtt on
141 chip drivers/intel/dptf
142 ## sensor information
143 register "options.tsr[0].desc" = ""DRAM_SOC""
144 register "options.tsr[1].desc" = ""Ambient""
145 register "options.tsr[2].desc" = ""Charger""
146 register "options.tsr[3].desc" = ""WWAN""
147
148 # TODO: below values are initial reference values only
149 ## Active Policy
150 register "policies.active" = "{
151 [0] = {
152 .target = DPTF_CPU,
153 .thresholds = {
154 TEMP_PCT(85, 90),
155 TEMP_PCT(80, 74),
156 TEMP_PCT(75, 74),
157 TEMP_PCT(70, 74),
158 TEMP_PCT(65, 74),
159 }
160 },
161 [1] = {
162 .target = DPTF_TEMP_SENSOR_1,
163 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800164 TEMP_PCT(50, 70),
165 TEMP_PCT(47, 58),
166 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800167 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800168 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800169 }
170 },
171 [2] = {
172 .target = DPTF_TEMP_SENSOR_2,
173 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800174 TEMP_PCT(50, 70),
175 TEMP_PCT(47, 58),
176 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800177 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800178 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800179 }
180 },
181 [3] = {
182 .target = DPTF_TEMP_SENSOR_3,
183 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800184 TEMP_PCT(50, 70),
185 TEMP_PCT(47, 58),
186 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800187 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800188 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800189 }
190 }
191 }"
192
193 ## Passive Policy
194 register "policies.passive" = "{
195 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
196 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 90, 6000),
197 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 90, 6000),
198 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 90, 6000),
199 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 90, 6000),
200 }"
201
202 ## Critical Policy
203 register "policies.critical" = "{
204 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
205 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 100, SHUTDOWN),
206 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 100, SHUTDOWN),
207 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 100, SHUTDOWN),
208 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 100, SHUTDOWN),
209 }"
210
211 register "controls.power_limits" = "{
212 .pl1 = {
213 .min_power = 3000,
Kevin Chang219bda72021-12-27 20:05:40 +0800214 .max_power = 15000,
Kevin Change3bb49e2021-10-15 13:51:49 +0800215 .time_window_min = 28 * MSECS_PER_SEC,
216 .time_window_max = 32 * MSECS_PER_SEC,
217 .granularity = 200,
218 },
219 .pl2 = {
220 .min_power = 55000,
221 .max_power = 55000,
222 .time_window_min = 28 * MSECS_PER_SEC,
223 .time_window_max = 32 * MSECS_PER_SEC,
224 .granularity = 1000,
225 }
226 }"
227
228 ## Charger Performance Control (Control, mA)
229 register "controls.charger_perf" = "{
230 [0] = { 255, 1700 },
231 [1] = { 24, 1500 },
232 [2] = { 16, 1000 },
233 [3] = { 8, 500 }
234 }"
235
236 ## Fan Performance Control (Percent, Speed, Noise, Power)
237 register "controls.fan_perf" = "{
238 [0] = { 100, 6000, 220, 2200, },
239 [1] = { 92, 5500, 180, 1800, },
240 [2] = { 85, 5000, 145, 1450, },
Kevin Chang219bda72021-12-27 20:05:40 +0800241 [3] = { 70, 4400, 115, 1150, },
242 [4] = { 56, 3900, 90, 900, },
243 [5] = { 45, 3300, 55, 550, },
244 [6] = { 38, 3000, 30, 300, },
245 [7] = { 33, 2900, 15, 150, },
Kevin Change3bb49e2021-10-15 13:51:49 +0800246 [8] = { 10, 800, 10, 100, },
247 [9] = { 0, 0, 0, 50, }
248 }"
249
250 ## Fan options
251 register "options.fan.fine_grained_control" = "1"
252 register "options.fan.step_size" = "2"
253
Joey Peng51a43f92022-03-21 16:58:23 +0800254 device generic 0 on
255 probe THERMAL THERMAL_FAN_TABLE_0
256 end
257 end
258 chip drivers/intel/dptf
259 ## sensor information
260 register "options.tsr[0].desc" = ""DRAM_SOC""
261 register "options.tsr[1].desc" = ""Ambient""
262 register "options.tsr[2].desc" = ""Charger""
263 register "options.tsr[3].desc" = ""WWAN""
264
265 ## Active Policy
266 register "policies.active" = "{
267 [0] = {
268 .target = DPTF_CPU,
269 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800270 TEMP_PCT(60, 68),
271 TEMP_PCT(56, 50),
272 TEMP_PCT(52, 50),
273 TEMP_PCT(46, 40),
274 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800275 }
276 },
277 [1] = {
278 .target = DPTF_TEMP_SENSOR_1,
279 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800280 TEMP_PCT(60, 68),
281 TEMP_PCT(56, 50),
282 TEMP_PCT(52, 50),
283 TEMP_PCT(46, 40),
284 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800285 }
286 },
287 [2] = {
288 .target = DPTF_TEMP_SENSOR_2,
289 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800290 TEMP_PCT(60, 68),
291 TEMP_PCT(56, 50),
292 TEMP_PCT(52, 50),
293 TEMP_PCT(46, 40),
294 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800295 }
296 },
297 [3] = {
298 .target = DPTF_TEMP_SENSOR_3,
299 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800300 TEMP_PCT(60, 68),
301 TEMP_PCT(56, 50),
302 TEMP_PCT(52, 50),
303 TEMP_PCT(46, 40),
304 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800305 }
306 }
307 }"
308
309 ## Passive Policy
310 register "policies.passive" = "{
311 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
312 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 90, 6000),
313 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 90, 6000),
314 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 90, 6000),
315 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 90, 6000),
316 }"
317
318 ## Critical Policy
319 register "policies.critical" = "{
320 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
321 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 100, SHUTDOWN),
322 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 100, SHUTDOWN),
323 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 100, SHUTDOWN),
324 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 100, SHUTDOWN),
325 }"
326
327 register "controls.power_limits" = "{
328 .pl1 = {
329 .min_power = 3000,
330 .max_power = 15000,
331 .time_window_min = 28 * MSECS_PER_SEC,
332 .time_window_max = 32 * MSECS_PER_SEC,
333 .granularity = 200,
334 },
335 .pl2 = {
336 .min_power = 55000,
337 .max_power = 55000,
338 .time_window_min = 28 * MSECS_PER_SEC,
339 .time_window_max = 32 * MSECS_PER_SEC,
340 .granularity = 1000,
341 }
342 }"
343
344 ## Charger Performance Control (Control, mA)
345 register "controls.charger_perf" = "{
346 [0] = { 255, 1700 },
347 [1] = { 24, 1500 },
348 [2] = { 16, 1000 },
349 [3] = { 8, 500 }
350 }"
351
352 ## Fan Performance Control (Percent, Speed, Noise, Power)
353 register "controls.fan_perf" = "{
354 [0] = { 100, 6000, 220, 2200, },
355 [1] = { 92, 5500, 180, 1800, },
Joey Penge399aa82022-06-21 14:48:01 +0800356 [2] = { 78, 4500, 145, 1450, },
357 [3] = { 68, 3900, 115, 1150, },
358 [4] = { 60, 3600, 90, 900, },
359 [5] = { 50, 3200, 55, 550, },
360 [6] = { 40, 2800, 30, 300, },
361 [7] = { 33, 2500, 15, 150, },
362 [8] = { 12, 800, 10, 100, },
Joey Peng51a43f92022-03-21 16:58:23 +0800363 [9] = { 0, 0, 0, 50, }
364 }"
365
366 ## Fan options
367 register "options.fan.fine_grained_control" = "1"
368 register "options.fan.step_size" = "2"
369
370 device generic 1 on
371 probe THERMAL THERMAL_FAN_TABLE_1
372 end
Kevin Change3bb49e2021-10-15 13:51:49 +0800373 end
374 end
Joey Peng7bca1e42021-11-08 15:21:32 +0800375 device ref pcie4_0 on
376 # Enable CPU PCIE RP 1 using CLK 0
377 register "cpu_pcie_rp[CPU_RP(1)]" = "{
378 .clk_req = 0,
379 .clk_src = 0,
Tracy Wuec877d62022-01-13 21:53:02 +0800380 .flags = PCIE_RP_LTR | PCIE_RP_AER,
Joey Peng7bca1e42021-11-08 15:21:32 +0800381 }"
Kevin Changf1edd4f2021-12-24 20:45:00 +0800382 probe BOOT_NVME_MASK BOOT_NVME_ENABLED
Joey Peng7bca1e42021-11-08 15:21:32 +0800383 end
Joey Penge0260352021-08-04 17:44:18 +0800384 device ref tbt_pcie_rp0 off end
385 device ref tbt_pcie_rp1 off end
386 device ref tbt_pcie_rp2 off end
387 device ref i2c0 on
388 chip drivers/i2c/generic
389 register "hid" = ""10EC5682""
390 register "name" = ""RT58""
391 register "desc" = ""Headset Codec""
392 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
393 # Set the jd_src to RT5668_JD1 for jack detection
394 register "property_count" = "1"
395 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
396 register "property_list[0].name" = ""realtek,jd-src""
397 register "property_list[0].integer" = "1"
398 device i2c 1a on
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800399 probe AUDIO AUDIO_MAX98357_ALC5682I_I2S
Joey Penge0260352021-08-04 17:44:18 +0800400 end
401 end
Joey Penge8743752021-10-13 15:46:02 +0800402 chip drivers/i2c/generic
403 register "hid" = ""RTL5682""
404 register "name" = ""RT58""
405 register "desc" = ""Headset Codec""
406 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
407 # Set the jd_src to RT5668_JD1 for jack detection
408 register "property_count" = "1"
409 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
410 register "property_list[0].name" = ""realtek,jd-src""
411 register "property_list[0].integer" = "1"
412 device i2c 1a on
413 probe AUDIO AUDIO_MAX98357_ALC5682I_VS_I2S
414 end
415 end
Joey Penge0260352021-08-04 17:44:18 +0800416 end
417 device ref i2c1 on
Kevin Chang8550fbc2021-12-24 10:28:59 +0800418 chip drivers/i2c/tpm
419 register "hid" = ""GOOG0005""
420 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
421 device i2c 50 on end
422 end
423 end
424 device ref i2c2 on
425 chip drivers/i2c/generic
426 register "hid" = ""GOOG0020""
Jon Murphyc4e90452022-06-28 10:36:23 -0600427 register "desc" = ""ChromeOS HPS""
Kevin Chang8550fbc2021-12-24 10:28:59 +0800428 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E7)" # EN_HPS_PWR
429 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E3_IRQ)" # HPS_INT_ODL
430 # HPS uses I2C addresses 0x30 and 0x51.
431 # The address we provide here is not significant because
432 # neither coreboot nor Linux have a driver for HPS,
433 # it's only used from userspace.
434 device i2c 30 on
435 probe HPS HPS_PRESENT
436 end
437 end
438 end
439 device ref i2c3 on
Joey Penge0260352021-08-04 17:44:18 +0800440 chip drivers/i2c/hid
441 register "generic.hid" = ""GDIX0000""
442 register "generic.desc" = ""Goodix Touchscreen""
443 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
444 register "generic.probed" = "1"
445 register "generic.reset_gpio" =
446 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
447 # Parameter T5 >= 180ms
448 register "generic.reset_delay_ms" = "180"
449 # Parameter T2 >= 1ms
450 register "generic.reset_off_delay_ms" = "3"
451 register "generic.enable_gpio" =
452 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
453 # Parameter T1 >= 20ms
454 register "generic.enable_delay_ms" = "20"
455 register "generic.stop_gpio" =
456 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E3)"
457 # Parameter T4 >= 1ms
458 register "generic.stop_off_delay_ms" = "1"
459 register "generic.has_power_resource" = "1"
460 register "hid_desc_reg_offset" = "0x01"
461 device i2c 5d on end
462 end
463 chip drivers/i2c/generic
464 register "hid" = ""ELAN0001""
465 register "desc" = ""ELAN Touchscreen""
466 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
467 register "probed" = "1"
468 register "reset_gpio" =
469 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
470 register "reset_delay_ms" = "20"
471 register "enable_gpio" =
472 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
473 register "enable_delay_ms" = "1"
474 register "has_power_resource" = "1"
475 device i2c 10 on end
476 end
477 end
478 device ref i2c5 on
479 chip drivers/i2c/generic
480 register "hid" = ""ELAN0000""
481 register "desc" = ""ELAN Touchpad""
482 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
Joey Peng0087de82021-11-16 13:51:12 +0800483 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500484 register "detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800485 device i2c 15 on end
486 end
487 chip drivers/i2c/hid
Matt DeVilliere9f0ed52022-12-19 15:06:15 -0600488 register "generic.hid" = ""SYNA0000""
489 register "generic.cid" = ""ACPI0C50""
Joey Penge0260352021-08-04 17:44:18 +0800490 register "generic.desc" = ""Synaptics Touchpad""
491 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
Joey Peng0087de82021-11-16 13:51:12 +0800492 register "generic.wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500493 register "generic.detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800494 register "hid_desc_reg_offset" = "0x20"
495 device i2c 2c on end
496 end
497 end
498 device ref hda on
499 chip drivers/generic/max98357a
500 register "hid" = ""MX98357A""
501 register "sdmode_gpio" =
502 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
503 register "sdmode_delay" = "5"
Joey Penge0260352021-08-04 17:44:18 +0800504 device generic 0 on
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800505 probe AUDIO AUDIO_MAX98357_ALC5682I_I2S
Joey Pengb0c1e732021-10-27 15:38:08 +0800506 probe AUDIO AUDIO_MAX98357_ALC5682I_VS_I2S
Joey Penge0260352021-08-04 17:44:18 +0800507 end
508 end
Matt DeVillier3f3dc502023-01-17 13:44:23 -0600509 chip drivers/sof
510 register "spkr_tplg" = "max98357a"
511 register "jack_tplg" = "rt5682"
512 register "mic_tplg" = "_2ch_pdm0"
513 device generic 0 on end
514 end
Joey Penge0260352021-08-04 17:44:18 +0800515 end
516 device ref pcie_rp5 on
517 chip soc/intel/common/block/pcie/rtd3
518 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
519 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H20)"
520 register "srcclk_pin" = "2"
521 device generic 0 on end
522 end
523 register "pch_pcie_rp[PCH_RP(5)]" = "{
524 .clk_src = 2,
525 .clk_req = 2,
526 .flags = PCIE_RP_LTR | PCIE_RP_AER,
527 }"
528 end
529 device ref pcie_rp6 off end
530 device ref pcie_rp8 on
531 chip soc/intel/common/block/pcie/rtd3
532 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
533 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
534 register "srcclk_pin" = "3"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800535 device generic 0 on
536 probe DB_SD DB_SD_OZ711LV2LN
537 end
Joey Penge0260352021-08-04 17:44:18 +0800538 end
539 end
540 device ref pcie_rp9 on
Joey Peng496e4e92023-03-22 11:21:24 +0800541 # Enable PCIE 9 using clk 0 for eMMC
Kevin Changf1edd4f2021-12-24 20:45:00 +0800542 register "pch_pcie_rp[PCH_RP(9)]" = "{
543 .clk_src = 0,
544 .clk_req = 0,
545 .flags = PCIE_RP_LTR | PCIE_RP_AER,
Kevin Chang1f545992022-03-22 11:22:02 +0800546 .pcie_rp_aspm = ASPM_L1,
Kevin Changf1edd4f2021-12-24 20:45:00 +0800547 }"
Kevin Changf1edd4f2021-12-24 20:45:00 +0800548 probe BOOT_EMMC_MASK BOOT_EMMC_ENABLED
Joey Penge0260352021-08-04 17:44:18 +0800549 end
550 device ref gspi1 on
551 chip drivers/spi/acpi
552 register "name" = ""CRFP""
553 register "hid" = "ACPI_DT_NAMESPACE_HID"
554 register "uid" = "1"
555 register "compat_string" = ""google,cros-ec-spi""
556 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
557 register "wake" = "GPE0_DW2_15"
Tarun Tuli2b523ce2022-08-29 13:39:58 -0400558 register "has_power_resource" = "1"
559 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
560 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
561 register "enable_delay_ms" = "3"
Joey Penge0260352021-08-04 17:44:18 +0800562 device spi 0 on end
563 end # FPMCU
564 end
565 device ref pch_espi on
566 chip ec/google/chromeec
567 use conn0 as mux_conn[0]
568 use conn1 as mux_conn[1]
569 device pnp 0c09.0 on end
570 end
571 end
572 device ref pmc hidden
573 chip drivers/intel/pmc_mux
574 device generic 0 on
575 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100576 use usb2_port1 as usb2_port
577 use tcss_usb3_port1 as usb3_port
Joey Penge0260352021-08-04 17:44:18 +0800578 device generic 0 alias conn0 on end
579 end
580 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100581 use usb2_port3 as usb2_port
582 use tcss_usb3_port3 as usb3_port
Joey Penge0260352021-08-04 17:44:18 +0800583 device generic 2 alias conn1 on end
584 end
585 end
586 end
587 end
588 device ref tcss_xhci on
589 chip drivers/usb/acpi
590 device ref tcss_root_hub on
591 chip drivers/usb/acpi
592 register "desc" = ""USB3 Type-C Port C0 (MLB)""
593 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000594 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530595 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800596 device ref tcss_usb3_port1 on end
597 end
598 chip drivers/usb/acpi
599 register "desc" = ""USB3 Type-C Port C1 (DB)""
600 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000601 register "use_custom_pld" = "true"
Won Chung912edb42023-06-01 00:27:50 +0000602 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Ron Lee558952a2022-12-13 19:48:59 +0800603 register "usb_lpm_incapable" = "true"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800604 device ref tcss_usb3_port3 on
605 probe DB_USB DB_USB3_NO_A
Joey Pengefe0fe22022-01-27 10:59:38 +0800606 probe DB_USB DB_USB3_1C_1A
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800607 end
Joey Penge0260352021-08-04 17:44:18 +0800608 end
609 end
610 end
611 end
612 device ref xhci on
613 chip drivers/usb/acpi
614 device ref xhci_root_hub on
615 chip drivers/usb/acpi
616 register "desc" = ""USB2 Type-C Port C0 (MLB)""
617 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000618 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530619 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800620 device ref usb2_port1 on end
621 end
622 chip drivers/usb/acpi
623 register "desc" = ""USB2 Type-C Port C1 (DB)""
624 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000625 register "use_custom_pld" = "true"
Won Chung912edb42023-06-01 00:27:50 +0000626 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800627 device ref usb2_port3 on
628 probe DB_USB DB_USB3_NO_A
Joey Pengefe0fe22022-01-27 10:59:38 +0800629 probe DB_USB DB_USB3_1C_1A
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800630 end
Joey Penge0260352021-08-04 17:44:18 +0800631 end
632 chip drivers/usb/acpi
633 register "desc" = ""USB2 Camera""
634 register "type" = "UPC_TYPE_INTERNAL"
635 device ref usb2_port6 on
636 end
637 end
638 chip drivers/usb/acpi
Joey Pengefe0fe22022-01-27 10:59:38 +0800639 register "desc" = ""USB2 Type-A Port (DB)""
640 register "type" = "UPC_TYPE_A"
Subrata Banikf04faa12022-02-16 19:17:29 +0530641 register "use_custom_pld" = "true"
Won Chung0d303392022-05-23 22:57:55 +0000642 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(3, 1))"
Joey Pengefe0fe22022-01-27 10:59:38 +0800643 register "group" = "ACPI_PLD_GROUP(3, 1)"
644 device ref usb2_port7 on
645 probe DB_USB DB_USB3_1C_1A
646 end
647 end
648 chip drivers/usb/acpi
Joey Penge0260352021-08-04 17:44:18 +0800649 register "desc" = ""USB2 Type-A Port (MLB)""
650 register "type" = "UPC_TYPE_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000651 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530652 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(4, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800653 device ref usb2_port9 on end
654 end
655 chip drivers/usb/acpi
656 register "desc" = ""USB2 Bluetooth""
657 register "type" = "UPC_TYPE_INTERNAL"
658 register "reset_gpio" =
659 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
660 device ref usb2_port10 on end
661 end
662 chip drivers/usb/acpi
663 register "desc" = ""USB3 Type-A Port (MLB)""
664 register "type" = "UPC_TYPE_USB3_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000665 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530666 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(4, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800667 device ref usb3_port1 on end
668 end
Joey Pengefe0fe22022-01-27 10:59:38 +0800669 chip drivers/usb/acpi
670 register "desc" = ""USB3 Type-A Port (DB)""
671 register "type" = "UPC_TYPE_USB3_A"
Subrata Banikf04faa12022-02-16 19:17:29 +0530672 register "use_custom_pld" = "true"
Won Chung0d303392022-05-23 22:57:55 +0000673 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(3, 1))"
Joey Pengefe0fe22022-01-27 10:59:38 +0800674 device ref usb3_port3 on
675 probe DB_USB DB_USB3_1C_1A
676 end
677 end
Joey Penge0260352021-08-04 17:44:18 +0800678 end
679 end
680 end
681 end
Kevin Chang819afd82021-07-16 19:37:06 +0800682end