blob: 744a8707bf4caff7beb72be6e6494df45ff487c7 [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
144 register "device[0].name" = ""LCD""
145 # DDIB is unused and HDMI is not enumerated in the kernel, so no GFX device is added for DDIB
146 # TCP0 (DP-1) for port C0
147 register "device[1].name" = ""DD01""
148 register "device[1].use_pld" = "true"
149 register "device[1].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
150 # TCP1 is unused and not enumerated in the kernel, so no GFX device is added for TCP1
151 # TCP2 (DP-2) for port C1
152 register "device[2].name" = ""DD02""
153 register "device[2].use_pld" = "true"
154 register "device[2].pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
155 # TCP3 is unused and not enumerated in the kernel, so no GFX device is added for TCP3
156 device generic 0 on end
157 end
158 end # Integrated Graphics Device
Kevin Change3bb49e2021-10-15 13:51:49 +0800159 device ref dtt on
160 chip drivers/intel/dptf
161 ## sensor information
162 register "options.tsr[0].desc" = ""DRAM_SOC""
163 register "options.tsr[1].desc" = ""Ambient""
164 register "options.tsr[2].desc" = ""Charger""
165 register "options.tsr[3].desc" = ""WWAN""
166
167 # TODO: below values are initial reference values only
168 ## Active Policy
169 register "policies.active" = "{
170 [0] = {
171 .target = DPTF_CPU,
172 .thresholds = {
173 TEMP_PCT(85, 90),
174 TEMP_PCT(80, 74),
175 TEMP_PCT(75, 74),
176 TEMP_PCT(70, 74),
177 TEMP_PCT(65, 74),
178 }
179 },
180 [1] = {
181 .target = DPTF_TEMP_SENSOR_1,
182 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800183 TEMP_PCT(50, 70),
184 TEMP_PCT(47, 58),
185 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800186 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800187 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800188 }
189 },
190 [2] = {
191 .target = DPTF_TEMP_SENSOR_2,
192 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800193 TEMP_PCT(50, 70),
194 TEMP_PCT(47, 58),
195 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800196 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800197 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800198 }
199 },
200 [3] = {
201 .target = DPTF_TEMP_SENSOR_3,
202 .thresholds = {
Kevin Chang219bda72021-12-27 20:05:40 +0800203 TEMP_PCT(50, 70),
204 TEMP_PCT(47, 58),
205 TEMP_PCT(45, 47),
Kevin Change3bb49e2021-10-15 13:51:49 +0800206 TEMP_PCT(42, 45),
Kevin Chang219bda72021-12-27 20:05:40 +0800207 TEMP_PCT(39, 39),
Kevin Change3bb49e2021-10-15 13:51:49 +0800208 }
209 }
210 }"
211
212 ## Passive Policy
213 register "policies.passive" = "{
214 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
215 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 90, 6000),
216 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 90, 6000),
217 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 90, 6000),
218 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 90, 6000),
219 }"
220
221 ## Critical Policy
222 register "policies.critical" = "{
223 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
224 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 100, SHUTDOWN),
225 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 100, SHUTDOWN),
226 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 100, SHUTDOWN),
227 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 100, SHUTDOWN),
228 }"
229
230 register "controls.power_limits" = "{
231 .pl1 = {
232 .min_power = 3000,
Kevin Chang219bda72021-12-27 20:05:40 +0800233 .max_power = 15000,
Kevin Change3bb49e2021-10-15 13:51:49 +0800234 .time_window_min = 28 * MSECS_PER_SEC,
235 .time_window_max = 32 * MSECS_PER_SEC,
236 .granularity = 200,
237 },
238 .pl2 = {
239 .min_power = 55000,
240 .max_power = 55000,
241 .time_window_min = 28 * MSECS_PER_SEC,
242 .time_window_max = 32 * MSECS_PER_SEC,
243 .granularity = 1000,
244 }
245 }"
246
247 ## Charger Performance Control (Control, mA)
248 register "controls.charger_perf" = "{
249 [0] = { 255, 1700 },
250 [1] = { 24, 1500 },
251 [2] = { 16, 1000 },
252 [3] = { 8, 500 }
253 }"
254
255 ## Fan Performance Control (Percent, Speed, Noise, Power)
256 register "controls.fan_perf" = "{
257 [0] = { 100, 6000, 220, 2200, },
258 [1] = { 92, 5500, 180, 1800, },
259 [2] = { 85, 5000, 145, 1450, },
Kevin Chang219bda72021-12-27 20:05:40 +0800260 [3] = { 70, 4400, 115, 1150, },
261 [4] = { 56, 3900, 90, 900, },
262 [5] = { 45, 3300, 55, 550, },
263 [6] = { 38, 3000, 30, 300, },
264 [7] = { 33, 2900, 15, 150, },
Kevin Change3bb49e2021-10-15 13:51:49 +0800265 [8] = { 10, 800, 10, 100, },
266 [9] = { 0, 0, 0, 50, }
267 }"
268
269 ## Fan options
270 register "options.fan.fine_grained_control" = "1"
271 register "options.fan.step_size" = "2"
272
Joey Peng51a43f92022-03-21 16:58:23 +0800273 device generic 0 on
274 probe THERMAL THERMAL_FAN_TABLE_0
275 end
276 end
277 chip drivers/intel/dptf
278 ## sensor information
279 register "options.tsr[0].desc" = ""DRAM_SOC""
280 register "options.tsr[1].desc" = ""Ambient""
281 register "options.tsr[2].desc" = ""Charger""
282 register "options.tsr[3].desc" = ""WWAN""
283
284 ## Active Policy
285 register "policies.active" = "{
286 [0] = {
287 .target = DPTF_CPU,
288 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800289 TEMP_PCT(60, 68),
290 TEMP_PCT(56, 50),
291 TEMP_PCT(52, 50),
292 TEMP_PCT(46, 40),
293 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800294 }
295 },
296 [1] = {
297 .target = DPTF_TEMP_SENSOR_1,
298 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800299 TEMP_PCT(60, 68),
300 TEMP_PCT(56, 50),
301 TEMP_PCT(52, 50),
302 TEMP_PCT(46, 40),
303 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800304 }
305 },
306 [2] = {
307 .target = DPTF_TEMP_SENSOR_2,
308 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800309 TEMP_PCT(60, 68),
310 TEMP_PCT(56, 50),
311 TEMP_PCT(52, 50),
312 TEMP_PCT(46, 40),
313 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800314 }
315 },
316 [3] = {
317 .target = DPTF_TEMP_SENSOR_3,
318 .thresholds = {
Joey Penge399aa82022-06-21 14:48:01 +0800319 TEMP_PCT(60, 68),
320 TEMP_PCT(56, 50),
321 TEMP_PCT(52, 50),
322 TEMP_PCT(46, 40),
323 TEMP_PCT(42, 40),
Joey Peng51a43f92022-03-21 16:58:23 +0800324 }
325 }
326 }"
327
328 ## Passive Policy
329 register "policies.passive" = "{
330 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
331 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 90, 6000),
332 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 90, 6000),
333 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 90, 6000),
334 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 90, 6000),
335 }"
336
337 ## Critical Policy
338 register "policies.critical" = "{
339 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
340 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 100, SHUTDOWN),
341 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 100, SHUTDOWN),
342 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 100, SHUTDOWN),
343 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 100, SHUTDOWN),
344 }"
345
346 register "controls.power_limits" = "{
347 .pl1 = {
348 .min_power = 3000,
349 .max_power = 15000,
350 .time_window_min = 28 * MSECS_PER_SEC,
351 .time_window_max = 32 * MSECS_PER_SEC,
352 .granularity = 200,
353 },
354 .pl2 = {
355 .min_power = 55000,
356 .max_power = 55000,
357 .time_window_min = 28 * MSECS_PER_SEC,
358 .time_window_max = 32 * MSECS_PER_SEC,
359 .granularity = 1000,
360 }
361 }"
362
363 ## Charger Performance Control (Control, mA)
364 register "controls.charger_perf" = "{
365 [0] = { 255, 1700 },
366 [1] = { 24, 1500 },
367 [2] = { 16, 1000 },
368 [3] = { 8, 500 }
369 }"
370
371 ## Fan Performance Control (Percent, Speed, Noise, Power)
372 register "controls.fan_perf" = "{
373 [0] = { 100, 6000, 220, 2200, },
374 [1] = { 92, 5500, 180, 1800, },
Joey Penge399aa82022-06-21 14:48:01 +0800375 [2] = { 78, 4500, 145, 1450, },
376 [3] = { 68, 3900, 115, 1150, },
377 [4] = { 60, 3600, 90, 900, },
378 [5] = { 50, 3200, 55, 550, },
379 [6] = { 40, 2800, 30, 300, },
380 [7] = { 33, 2500, 15, 150, },
381 [8] = { 12, 800, 10, 100, },
Joey Peng51a43f92022-03-21 16:58:23 +0800382 [9] = { 0, 0, 0, 50, }
383 }"
384
385 ## Fan options
386 register "options.fan.fine_grained_control" = "1"
387 register "options.fan.step_size" = "2"
388
389 device generic 1 on
390 probe THERMAL THERMAL_FAN_TABLE_1
391 end
Kevin Change3bb49e2021-10-15 13:51:49 +0800392 end
393 end
Joey Peng7bca1e42021-11-08 15:21:32 +0800394 device ref pcie4_0 on
395 # Enable CPU PCIE RP 1 using CLK 0
396 register "cpu_pcie_rp[CPU_RP(1)]" = "{
397 .clk_req = 0,
398 .clk_src = 0,
Tracy Wuec877d62022-01-13 21:53:02 +0800399 .flags = PCIE_RP_LTR | PCIE_RP_AER,
Joey Peng7bca1e42021-11-08 15:21:32 +0800400 }"
Kevin Changf1edd4f2021-12-24 20:45:00 +0800401 probe BOOT_NVME_MASK BOOT_NVME_ENABLED
Joey Peng7bca1e42021-11-08 15:21:32 +0800402 end
Joey Penge0260352021-08-04 17:44:18 +0800403 device ref tbt_pcie_rp0 off end
404 device ref tbt_pcie_rp1 off end
405 device ref tbt_pcie_rp2 off end
406 device ref i2c0 on
407 chip drivers/i2c/generic
408 register "hid" = ""10EC5682""
409 register "name" = ""RT58""
410 register "desc" = ""Headset Codec""
411 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
412 # Set the jd_src to RT5668_JD1 for jack detection
413 register "property_count" = "1"
414 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
415 register "property_list[0].name" = ""realtek,jd-src""
416 register "property_list[0].integer" = "1"
417 device i2c 1a on
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800418 probe AUDIO AUDIO_MAX98357_ALC5682I_I2S
Joey Penge0260352021-08-04 17:44:18 +0800419 end
420 end
Joey Penge8743752021-10-13 15:46:02 +0800421 chip drivers/i2c/generic
422 register "hid" = ""RTL5682""
423 register "name" = ""RT58""
424 register "desc" = ""Headset Codec""
425 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
426 # Set the jd_src to RT5668_JD1 for jack detection
427 register "property_count" = "1"
428 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
429 register "property_list[0].name" = ""realtek,jd-src""
430 register "property_list[0].integer" = "1"
431 device i2c 1a on
432 probe AUDIO AUDIO_MAX98357_ALC5682I_VS_I2S
433 end
434 end
Joey Penge0260352021-08-04 17:44:18 +0800435 end
436 device ref i2c1 on
Kevin Chang8550fbc2021-12-24 10:28:59 +0800437 chip drivers/i2c/tpm
438 register "hid" = ""GOOG0005""
439 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
440 device i2c 50 on end
441 end
442 end
443 device ref i2c2 on
444 chip drivers/i2c/generic
445 register "hid" = ""GOOG0020""
Jon Murphyc4e90452022-06-28 10:36:23 -0600446 register "desc" = ""ChromeOS HPS""
Kevin Chang8550fbc2021-12-24 10:28:59 +0800447 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E7)" # EN_HPS_PWR
448 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E3_IRQ)" # HPS_INT_ODL
449 # HPS uses I2C addresses 0x30 and 0x51.
450 # The address we provide here is not significant because
451 # neither coreboot nor Linux have a driver for HPS,
452 # it's only used from userspace.
453 device i2c 30 on
454 probe HPS HPS_PRESENT
455 end
456 end
457 end
458 device ref i2c3 on
Joey Penge0260352021-08-04 17:44:18 +0800459 chip drivers/i2c/hid
460 register "generic.hid" = ""GDIX0000""
461 register "generic.desc" = ""Goodix Touchscreen""
462 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500463 register "generic.detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800464 register "generic.reset_gpio" =
465 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
466 # Parameter T5 >= 180ms
467 register "generic.reset_delay_ms" = "180"
468 # Parameter T2 >= 1ms
469 register "generic.reset_off_delay_ms" = "3"
470 register "generic.enable_gpio" =
471 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
472 # Parameter T1 >= 20ms
473 register "generic.enable_delay_ms" = "20"
474 register "generic.stop_gpio" =
475 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E3)"
476 # Parameter T4 >= 1ms
477 register "generic.stop_off_delay_ms" = "1"
478 register "generic.has_power_resource" = "1"
479 register "hid_desc_reg_offset" = "0x01"
480 device i2c 5d on end
481 end
482 chip drivers/i2c/generic
483 register "hid" = ""ELAN0001""
484 register "desc" = ""ELAN Touchscreen""
485 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500486 register "detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800487 register "reset_gpio" =
488 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
489 register "reset_delay_ms" = "20"
490 register "enable_gpio" =
491 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
492 register "enable_delay_ms" = "1"
493 register "has_power_resource" = "1"
494 device i2c 10 on end
495 end
496 end
497 device ref i2c5 on
498 chip drivers/i2c/generic
499 register "hid" = ""ELAN0000""
500 register "desc" = ""ELAN Touchpad""
501 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
Joey Peng0087de82021-11-16 13:51:12 +0800502 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500503 register "detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800504 device i2c 15 on end
505 end
506 chip drivers/i2c/hid
Matt DeVilliere9f0ed52022-12-19 15:06:15 -0600507 register "generic.hid" = ""SYNA0000""
508 register "generic.cid" = ""ACPI0C50""
Joey Penge0260352021-08-04 17:44:18 +0800509 register "generic.desc" = ""Synaptics Touchpad""
510 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
Joey Peng0087de82021-11-16 13:51:12 +0800511 register "generic.wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500512 register "generic.detect" = "1"
Joey Penge0260352021-08-04 17:44:18 +0800513 register "hid_desc_reg_offset" = "0x20"
514 device i2c 2c on end
515 end
516 end
517 device ref hda on
518 chip drivers/generic/max98357a
519 register "hid" = ""MX98357A""
520 register "sdmode_gpio" =
521 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
522 register "sdmode_delay" = "5"
Joey Penge0260352021-08-04 17:44:18 +0800523 device generic 0 on
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800524 probe AUDIO AUDIO_MAX98357_ALC5682I_I2S
Joey Pengb0c1e732021-10-27 15:38:08 +0800525 probe AUDIO AUDIO_MAX98357_ALC5682I_VS_I2S
Joey Penge0260352021-08-04 17:44:18 +0800526 end
527 end
Matt DeVillier3f3dc502023-01-17 13:44:23 -0600528 chip drivers/sof
529 register "spkr_tplg" = "max98357a"
530 register "jack_tplg" = "rt5682"
531 register "mic_tplg" = "_2ch_pdm0"
532 device generic 0 on end
533 end
Joey Penge0260352021-08-04 17:44:18 +0800534 end
535 device ref pcie_rp5 on
536 chip soc/intel/common/block/pcie/rtd3
537 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
538 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H20)"
539 register "srcclk_pin" = "2"
540 device generic 0 on end
541 end
542 register "pch_pcie_rp[PCH_RP(5)]" = "{
543 .clk_src = 2,
544 .clk_req = 2,
545 .flags = PCIE_RP_LTR | PCIE_RP_AER,
546 }"
547 end
548 device ref pcie_rp6 off end
549 device ref pcie_rp8 on
550 chip soc/intel/common/block/pcie/rtd3
551 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
552 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
553 register "srcclk_pin" = "3"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800554 device generic 0 on
555 probe DB_SD DB_SD_OZ711LV2LN
556 end
Joey Penge0260352021-08-04 17:44:18 +0800557 end
558 end
559 device ref pcie_rp9 on
Joey Peng496e4e92023-03-22 11:21:24 +0800560 # Enable PCIE 9 using clk 0 for eMMC
Kevin Changf1edd4f2021-12-24 20:45:00 +0800561 register "pch_pcie_rp[PCH_RP(9)]" = "{
562 .clk_src = 0,
563 .clk_req = 0,
564 .flags = PCIE_RP_LTR | PCIE_RP_AER,
Kevin Chang1f545992022-03-22 11:22:02 +0800565 .pcie_rp_aspm = ASPM_L1,
Kevin Changf1edd4f2021-12-24 20:45:00 +0800566 }"
Kevin Changf1edd4f2021-12-24 20:45:00 +0800567 probe BOOT_EMMC_MASK BOOT_EMMC_ENABLED
Joey Penge0260352021-08-04 17:44:18 +0800568 end
569 device ref gspi1 on
570 chip drivers/spi/acpi
571 register "name" = ""CRFP""
572 register "hid" = "ACPI_DT_NAMESPACE_HID"
573 register "uid" = "1"
574 register "compat_string" = ""google,cros-ec-spi""
575 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
576 register "wake" = "GPE0_DW2_15"
Tarun Tuli2b523ce2022-08-29 13:39:58 -0400577 register "has_power_resource" = "1"
578 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
579 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
580 register "enable_delay_ms" = "3"
Matt DeVillieraf46b472023-10-28 11:16:14 -0500581 device spi 0 hidden end
Joey Penge0260352021-08-04 17:44:18 +0800582 end # FPMCU
583 end
584 device ref pch_espi on
585 chip ec/google/chromeec
586 use conn0 as mux_conn[0]
587 use conn1 as mux_conn[1]
588 device pnp 0c09.0 on end
589 end
590 end
591 device ref pmc hidden
592 chip drivers/intel/pmc_mux
593 device generic 0 on
594 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100595 use usb2_port1 as usb2_port
596 use tcss_usb3_port1 as usb3_port
Joey Penge0260352021-08-04 17:44:18 +0800597 device generic 0 alias conn0 on end
598 end
599 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100600 use usb2_port3 as usb2_port
601 use tcss_usb3_port3 as usb3_port
Joey Penge0260352021-08-04 17:44:18 +0800602 device generic 2 alias conn1 on end
603 end
604 end
605 end
606 end
607 device ref tcss_xhci on
608 chip drivers/usb/acpi
609 device ref tcss_root_hub on
610 chip drivers/usb/acpi
611 register "desc" = ""USB3 Type-C Port C0 (MLB)""
612 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000613 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530614 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800615 device ref tcss_usb3_port1 on end
616 end
617 chip drivers/usb/acpi
618 register "desc" = ""USB3 Type-C Port C1 (DB)""
619 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000620 register "use_custom_pld" = "true"
Won Chung912edb42023-06-01 00:27:50 +0000621 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Ron Lee558952a2022-12-13 19:48:59 +0800622 register "usb_lpm_incapable" = "true"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800623 device ref tcss_usb3_port3 on
624 probe DB_USB DB_USB3_NO_A
Joey Pengefe0fe22022-01-27 10:59:38 +0800625 probe DB_USB DB_USB3_1C_1A
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800626 end
Joey Penge0260352021-08-04 17:44:18 +0800627 end
628 end
629 end
630 end
631 device ref xhci on
632 chip drivers/usb/acpi
633 device ref xhci_root_hub on
634 chip drivers/usb/acpi
635 register "desc" = ""USB2 Type-C Port C0 (MLB)""
636 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000637 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530638 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800639 device ref usb2_port1 on end
640 end
641 chip drivers/usb/acpi
642 register "desc" = ""USB2 Type-C Port C1 (DB)""
643 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
Won Chung9c5a1072022-02-02 22:30:53 +0000644 register "use_custom_pld" = "true"
Won Chung912edb42023-06-01 00:27:50 +0000645 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800646 device ref usb2_port3 on
647 probe DB_USB DB_USB3_NO_A
Joey Pengefe0fe22022-01-27 10:59:38 +0800648 probe DB_USB DB_USB3_1C_1A
Joey Pengfe2d0ec2021-09-02 14:19:37 +0800649 end
Joey Penge0260352021-08-04 17:44:18 +0800650 end
651 chip drivers/usb/acpi
652 register "desc" = ""USB2 Camera""
653 register "type" = "UPC_TYPE_INTERNAL"
654 device ref usb2_port6 on
655 end
656 end
657 chip drivers/usb/acpi
Joey Pengefe0fe22022-01-27 10:59:38 +0800658 register "desc" = ""USB2 Type-A Port (DB)""
659 register "type" = "UPC_TYPE_A"
Subrata Banikf04faa12022-02-16 19:17:29 +0530660 register "use_custom_pld" = "true"
Won Chung0d303392022-05-23 22:57:55 +0000661 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(3, 1))"
Joey Pengefe0fe22022-01-27 10:59:38 +0800662 register "group" = "ACPI_PLD_GROUP(3, 1)"
663 device ref usb2_port7 on
664 probe DB_USB DB_USB3_1C_1A
665 end
666 end
667 chip drivers/usb/acpi
Joey Penge0260352021-08-04 17:44:18 +0800668 register "desc" = ""USB2 Type-A Port (MLB)""
669 register "type" = "UPC_TYPE_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000670 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530671 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(4, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800672 device ref usb2_port9 on end
673 end
674 chip drivers/usb/acpi
675 register "desc" = ""USB2 Bluetooth""
676 register "type" = "UPC_TYPE_INTERNAL"
677 register "reset_gpio" =
678 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
679 device ref usb2_port10 on end
680 end
681 chip drivers/usb/acpi
682 register "desc" = ""USB3 Type-A Port (MLB)""
683 register "type" = "UPC_TYPE_USB3_A"
Won Chung9c5a1072022-02-02 22:30:53 +0000684 register "use_custom_pld" = "true"
Subrata Banikf04faa12022-02-16 19:17:29 +0530685 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(4, 1))"
Joey Penge0260352021-08-04 17:44:18 +0800686 device ref usb3_port1 on end
687 end
Joey Pengefe0fe22022-01-27 10:59:38 +0800688 chip drivers/usb/acpi
689 register "desc" = ""USB3 Type-A Port (DB)""
690 register "type" = "UPC_TYPE_USB3_A"
Subrata Banikf04faa12022-02-16 19:17:29 +0530691 register "use_custom_pld" = "true"
Won Chung0d303392022-05-23 22:57:55 +0000692 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(3, 1))"
Joey Pengefe0fe22022-01-27 10:59:38 +0800693 device ref usb3_port3 on
694 probe DB_USB DB_USB3_1C_1A
695 end
696 end
Joey Penge0260352021-08-04 17:44:18 +0800697 end
698 end
699 end
700 end
Kevin Chang819afd82021-07-16 19:37:06 +0800701end