blob: 6601247ef645879559cbf0a9b6638125eab47012 [file] [log] [blame]
Stanley Wu38155a12022-08-15 16:51:11 +08001fw_config
2 field LTE 6
3 option LTE_ABSENT 0
4 option LTE_PRESENT 1
5 end
6 field SD_CARD 7
7 option SD_ABSENT 0
8 option SD_PRESENT 1
9 end
10 field STYLUS 8
11 option STYLUS_ABSENT 0
12 option STYLUS_PRESENT 1
13 end
14 field WFC 9
15 option WFC_ABSENT 0
16 option WFC_PRESENT 1
17 end
Leo Chouce0315c2022-08-17 18:19:32 +080018 field THERMAL 10 11
19 option THERMAL_FAN_TABLE_0 0
20 option THERMAL_FAN_TABLE_1 1
21 option THERMAL_FAN_TABLE_2 2
22 option THERMAL_FAN_TABLE_3 3
23 end
Stanley Wu38155a12022-08-15 16:51:11 +080024 field AUDIO 12 14
25 option ALC1019_ALC5682IVS 0
Leo Chou7c0a1fb2022-08-24 17:16:59 +080026 option MAX98357_ALC5682I 1
Leo Choufaa0d632022-11-29 18:28:29 +080027 option MAX98357_ALC5682IVS 2
Stanley Wu38155a12022-08-15 16:51:11 +080028 end
Leo Chou50b45d32022-08-18 18:17:57 +080029 field EXT_VR 15
30 option EXT_VR_PRESENT 0
31 option EXT_VR_ABSENT 1
32 end
Leo Chou5aabdf62022-12-08 15:30:32 +080033 field WIFI_SAR_ID 16 17
34 option WIFI_SAR_TABLE_0 0
35 option WIFI_SAR_TABLE_1 1
36 option WIFI_SAR_TABLE_2 2
37 end
Leo Chou75388532023-05-11 15:36:48 +080038 field WWAN_5G 19
39 option WWAN_5G_ABSENT 0
40 option WWAN_5G_PRESENT 1
41 end
Stanley Wu38155a12022-08-15 16:51:11 +080042
43end
44
Stanley Wu8e361042022-06-08 15:56:23 +080045chip soc/intel/alderlake
Leo Chou3893c842022-08-16 13:57:44 +080046 # Acoustic settings
47 register "acoustic_noise_mitigation" = "1"
48 register "slow_slew_rate[VR_DOMAIN_IA]" = "SLEW_FAST_8"
49 register "slow_slew_rate[VR_DOMAIN_GT]" = "SLEW_FAST_8"
50 register "fast_pkg_c_ramp_disable[VR_DOMAIN_IA]" = "1"
51 register "fast_pkg_c_ramp_disable[VR_DOMAIN_GT]" = "1"
52 register "PreWake" = "100"
53
Stanley Wu8b9bc482022-06-20 21:52:19 +080054 register "sagv" = "SaGv_Enabled"
Stanley Wu8e361042022-06-08 15:56:23 +080055
Leo Chou4531edf2022-10-04 13:32:57 +080056 # EMMC Tx CMD Delay
57 # Refer to EDS-Vol2-42.3.7.
58 # [14:8] steps of delay for DDR mode, each 125ps, range: 0 - 39.
59 # [6:0] steps of delay for SDR mode, each 125ps, range: 0 - 39.
60 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
61
62 # EMMC TX DATA Delay 1
63 # Refer to EDS-Vol2-42.3.8.
64 # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78.
65 # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79.
66 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x909"
67
68 # EMMC TX DATA Delay 2
69 # Refer to EDS-Vol2-42.3.9.
70 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 79.
71 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
72 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79.
73 # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79.
74 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C2A2828"
75
76 # EMMC RX CMD/DATA Delay 1
77 # Refer to EDS-Vol2-42.3.10.
78 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 119.
79 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
80 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 - 119.
81 # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119.
Leo Choua86af492022-12-20 15:28:31 +080082 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C1B4F1B"
Leo Chou4531edf2022-10-04 13:32:57 +080083
84 # EMMC RX CMD/DATA Delay 2
85 # Refer to EDS-Vol2-42.3.12.
86 # [17:16] stands for Rx Clock before Output Buffer,
87 # 00: Rx clock after output buffer,
88 # 01: Rx clock before output buffer,
89 # 10: Automatic selection based on working mode.
90 # 11: Reserved
91 # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39.
92 # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79.
Leo Choua86af492022-12-20 15:28:31 +080093 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x10023"
Leo Chou4531edf2022-10-04 13:32:57 +080094
95 # EMMC Rx Strobe Delay
96 # Refer to EDS-Vol2-42.3.11.
97 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps, range: 0 - 39.
98 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps, range: 0 - 39.
99 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x11515"
100
Stanley Wu8b9bc482022-06-20 21:52:19 +0800101 # SOC Aux orientation override:
102 # This is a bitfield that corresponds to up to 4 TCSS ports.
103 # Bits (0,1) allocated for TCSS Port1 configuration and Bits (2,3)for TCSS Port2.
104 # TcssAuxOri = 0101b
105 # Bit0,Bit2 set to "1" indicates no retimer on USBC Ports
106 # Bit1,Bit3 set to "0" indicates Aux lines are not swapped on the
107 # motherboard to USBC connector
108 register "tcss_aux_ori" = "5"
Stanley Wu8e361042022-06-08 15:56:23 +0800109
Stanley Wu8b9bc482022-06-20 21:52:19 +0800110 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
111
Stanley Wu56751732022-07-12 14:11:43 +0800112 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # WFC Camera
Leo Chouf92ea612022-07-22 15:55:59 +0800113 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for PCIe WLAN
Stanley Wu8b9bc482022-06-20 21:52:19 +0800114 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
115
Stanley Wuc8ffc822022-08-05 19:34:57 +0800116 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3 port for WWAN
117
Leo Chou50b45d32022-08-18 18:17:57 +0800118 # FIVR configurations for Pujjoteen are disabled since the board doesn't have V1p05 and Vnn
119 # bypass rails implemented.
Stanley Wu8b9bc482022-06-20 21:52:19 +0800120 register "ext_fivr_settings" = "{
121 .configure_ext_fivr = 1,
Stanley Wu8b9bc482022-06-20 21:52:19 +0800122 }"
123
124 # Intel Common SoC Config
125 #+-------------------+---------------------------+
126 #| Field | Value |
127 #+-------------------+---------------------------+
128 #| I2C0 | TPM. Early init is |
129 #| | required to set up a BAR |
130 #| | for TPM communication |
131 #| I2C1 | Touchscreen |
132 #| I2C2 | Sub-board(PSensor)/WCAM |
133 #| I2C3 | Audio |
134 #| I2C5 | Trackpad |
135 #+-------------------+---------------------------+
136 register "common_soc_config" = "{
137 .i2c[0] = {
138 .early_init = 1,
Leo Chouf7e52a72022-10-04 15:42:39 +0800139 .speed = I2C_SPEED_FAST_PLUS,
Stanley Wu8b9bc482022-06-20 21:52:19 +0800140 .speed_config[0] = {
Leo Chouf7e52a72022-10-04 15:42:39 +0800141 .speed = I2C_SPEED_FAST_PLUS,
142 .scl_lcnt = 55,
143 .scl_hcnt = 30,
Stanley Wu8b9bc482022-06-20 21:52:19 +0800144 .sda_hold = 7,
145 }
146 },
147 .i2c[1] = {
148 .speed = I2C_SPEED_FAST,
149 .speed_config[0] = {
150 .speed = I2C_SPEED_FAST,
151 .scl_lcnt = 157,
152 .scl_hcnt = 79,
153 .sda_hold = 7,
154 }
155 },
156 .i2c[2] = {
157 .speed = I2C_SPEED_FAST,
158 .speed_config[0] = {
159 .speed = I2C_SPEED_FAST,
160 .scl_lcnt = 157,
161 .scl_hcnt = 79,
162 .sda_hold = 7,
163 }
164 },
165 .i2c[3] = {
166 .speed = I2C_SPEED_FAST,
167 .speed_config[0] = {
168 .speed = I2C_SPEED_FAST,
169 .scl_lcnt = 158,
170 .scl_hcnt = 79,
171 .sda_hold = 7,
172 }
173 },
174 .i2c[5] = {
175 .speed = I2C_SPEED_FAST,
176 .speed_config[0] = {
177 .speed = I2C_SPEED_FAST,
178 .scl_lcnt = 158,
179 .scl_hcnt = 79,
180 .sda_hold = 7,
181 }
182 },
183 }"
184
185 device domain 0 on
Leo Chouce0315c2022-08-17 18:19:32 +0800186 device ref dtt on
187 chip drivers/intel/dptf
188 ## sensor information
189 register "options.tsr[0].desc" = ""CPU""
190 register "options.tsr[1].desc" = ""DDR""
191 register "options.tsr[2].desc" = ""5VCharger""
192
193
194 ## Passive Policy
195 register "policies.passive" = "{
196 [0] = DPTF_PASSIVE(CPU, CPU, 90, 10000),
197 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 60000),
198 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 80, 60000),
199 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 15000),
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 }"
209
210 register "controls.power_limits" = "{
211 .pl1 = {
212 .min_power = 3000,
213 .max_power = 6000,
214 .time_window_min = 1 * MSECS_PER_SEC,
215 .time_window_max = 1 * MSECS_PER_SEC,
216 .granularity = 200,
217 },
218 .pl2 = {
219 .min_power = 20000,
220 .max_power = 20000,
221 .time_window_min = 1 * MSECS_PER_SEC,
222 .time_window_max = 1 * MSECS_PER_SEC,
223 .granularity = 1000,
224 }
225 }"
226
227 ## Charger Performance Control (Control, mA)
228 register "controls.charger_perf" = "{
229 [0] = { 255, 3000 },
230 [1] = { 24, 2000 },
231 [2] = { 16, 1500 },
232 [3] = { 8, 1000 }
233 }"
234
235 device generic 0 on
236 probe THERMAL THERMAL_FAN_TABLE_0
237 end
238 end
239 chip drivers/intel/dptf
240 ## sensor information
241 register "options.tsr[0].desc" = ""CPU""
242 register "options.tsr[1].desc" = ""DDR""
243 register "options.tsr[2].desc" = ""5VCharger""
244
245 # TODO: below values are initial reference values only
246 ## Active Policy
247 register "policies.active" = "{
248 [0] = {
249 .target = DPTF_CPU,
250 .thresholds = {
251 TEMP_PCT(80, 100),
252 TEMP_PCT(75, 98),
253 TEMP_PCT(70, 86),
254 TEMP_PCT(65, 70),
255 TEMP_PCT(60, 70),
256 }
257 },
258 [1] = {
259 .target = DPTF_TEMP_SENSOR_1,
260 .thresholds = {
261 TEMP_PCT(50, 70),
262 TEMP_PCT(47, 58),
263 TEMP_PCT(45, 47),
264 TEMP_PCT(42, 45),
265 TEMP_PCT(39, 39),
266 }
267 },
268 [2] = {
269 .target = DPTF_TEMP_SENSOR_2,
270 .thresholds = {
271 TEMP_PCT(50, 70),
272 TEMP_PCT(47, 58),
273 TEMP_PCT(45, 47),
274 TEMP_PCT(42, 45),
275 TEMP_PCT(39, 39),
276 }
277 },
278 }"
279
280 ## Passive Policy
281 register "policies.passive" = "{
282 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
283 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 90, 6000),
284 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 90, 6000),
285 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 90, 6000),
286 }"
287
288 ## Critical Policy
289 register "policies.critical" = "{
290 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
291 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 100, SHUTDOWN),
292 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 100, SHUTDOWN),
293 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 100, SHUTDOWN),
294 }"
295
296 register "controls.power_limits" = "{
297 .pl1 = {
298 .min_power = 3000,
299 .max_power = 15000,
300 .time_window_min = 28 * MSECS_PER_SEC,
301 .time_window_max = 32 * MSECS_PER_SEC,
302 .granularity = 200,
303 },
304 .pl2 = {
305 .min_power = 35000,
306 .max_power = 35000,
307 .time_window_min = 28 * MSECS_PER_SEC,
308 .time_window_max = 32 * MSECS_PER_SEC,
309 .granularity = 1000,
310 }
311 }"
312
313 ## Charger Performance Control (Control, mA)
314 register "controls.charger_perf" = "{
315 [0] = { 255, 1700 },
316 [1] = { 24, 1500 },
317 [2] = { 16, 1000 },
318 [3] = { 8, 500 }
319 }"
320
321 ## Fan Performance Control (Percent, Speed, Noise, Power)
322 register "controls.fan_perf" = "{
323 [0] = { 100, 6000, 220, 2200, },
324 [1] = { 92, 5500, 180, 1800, },
325 [2] = { 85, 5000, 145, 1450, },
326 [3] = { 70, 4400, 115, 1150, },
327 [4] = { 56, 3900, 90, 900, },
328 [5] = { 45, 3300, 55, 550, },
329 [6] = { 39, 3000, 30, 300, },
330 [7] = { 33, 2900, 15, 150, },
331 [8] = { 10, 800, 10, 100, },
332 [9] = { 0, 0, 0, 50, }
333 }"
334
335 ## Fan options
336 register "options.fan.fine_grained_control" = "1"
337 register "options.fan.step_size" = "2"
338
339 device generic 1 on
340 probe THERMAL THERMAL_FAN_TABLE_1
341 end
342 end
343 end
344
Stanley Wu8b9bc482022-06-20 21:52:19 +0800345 device ref i2c1 on
346 chip drivers/i2c/hid
Leo Chou32882c92022-11-10 15:12:17 +0800347 register "generic.hid" = ""ELAN901C""
Stanley Wu8b9bc482022-06-20 21:52:19 +0800348 register "generic.desc" = ""ELAN Touchscreen""
349 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
350 register "generic.probed" = "1"
351 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
352 register "generic.reset_delay_ms" = "20"
353 register "generic.reset_off_delay_ms" = "2"
354 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
355 register "generic.stop_delay_ms" = "280"
356 register "generic.stop_off_delay_ms" = "2"
357 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
358 register "generic.enable_delay_ms" = "1"
359 register "generic.has_power_resource" = "1"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800360 register "hid_desc_reg_offset" = "0x01"
361 device i2c 10 on end
362 end
363 chip drivers/i2c/hid
364 register "generic.hid" = ""GTCH7503""
365 register "generic.desc" = ""G2TOUCH Touchscreen""
366 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
367 register "generic.probed" = "1"
368 register "generic.reset_gpio" =
369 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
370 register "generic.reset_delay_ms" = "50"
371 register "generic.enable_gpio" =
372 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
373 register "generic.enable_delay_ms" = "1"
374 register "generic.has_power_resource" = "1"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800375 register "hid_desc_reg_offset" = "0x01"
376 device i2c 40 on end
377 end
378 chip drivers/generic/gpio_keys
379 register "name" = ""PENH""
380 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_F13)"
381 register "key.wake_gpe" = "GPE0_DW2_15"
382 register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
383 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
384 register "key.dev_name" = ""EJCT""
385 register "key.linux_code" = "SW_PEN_INSERTED"
386 register "key.linux_input_type" = "EV_SW"
387 register "key.label" = ""pen_eject""
Stanley Wu38155a12022-08-15 16:51:11 +0800388 device generic 0 on
389 probe STYLUS STYLUS_PRESENT
390 end
Stanley Wu8b9bc482022-06-20 21:52:19 +0800391 end
392 end
393 device ref i2c2 on
394 chip drivers/i2c/sx9324
395 register "desc" = ""SAR Proximity Sensor""
396 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_H19_IRQ)"
397 register "speed" = "I2C_SPEED_FAST"
398 register "uid" = "1"
399 register "reg_gnrl_ctrl0" = "0x16"
400 register "reg_gnrl_ctrl1" = "0x21"
401 register "reg_afe_ctrl0" = "0x00"
402 register "reg_afe_ctrl1" = "0x10"
403 register "reg_afe_ctrl2" = "0x00"
404 register "reg_afe_ctrl3" = "0x00"
Victor Ding970e33a2022-11-08 06:53:17 +0000405 register "reg_afe_ctrl4" = "0x47"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800406 register "reg_afe_ctrl5" = "0x00"
407 register "reg_afe_ctrl6" = "0x00"
Victor Ding970e33a2022-11-08 06:53:17 +0000408 register "reg_afe_ctrl7" = "0x47"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800409 register "reg_afe_ctrl8" = "0x12"
Victor Ding970e33a2022-11-08 06:53:17 +0000410 register "reg_afe_ctrl9" = "0x08"
411 register "reg_afe_ph0" = "0x3d"
412 register "reg_afe_ph1" = "0x1b"
413 register "reg_afe_ph2" = "0x1f"
414 register "reg_afe_ph3" = "0x3d"
Stanley Wu3228b262022-12-15 17:41:13 +0800415 register "reg_prox_ctrl0" = "0x0b"
Victor Ding970e33a2022-11-08 06:53:17 +0000416 register "reg_prox_ctrl1" = "0x0a"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800417 register "reg_prox_ctrl2" = "0x90"
418 register "reg_prox_ctrl3" = "0x60"
419 register "reg_prox_ctrl4" = "0x0c"
Victor Ding970e33a2022-11-08 06:53:17 +0000420 register "reg_prox_ctrl5" = "0x00"
421 register "reg_prox_ctrl6" = "0x19"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800422 register "reg_prox_ctrl7" = "0x58"
423 register "reg_adv_ctrl0" = "0x00"
424 register "reg_adv_ctrl1" = "0x00"
425 register "reg_adv_ctrl2" = "0x00"
426 register "reg_adv_ctrl3" = "0x00"
427 register "reg_adv_ctrl4" = "0x00"
428 register "reg_adv_ctrl5" = "0x05"
429 register "reg_adv_ctrl6" = "0x00"
430 register "reg_adv_ctrl7" = "0x00"
431 register "reg_adv_ctrl8" = "0x00"
432 register "reg_adv_ctrl9" = "0x00"
Victor Ding970e33a2022-11-08 06:53:17 +0000433 register "reg_adv_ctrl10" = "0x00"
434 register "reg_adv_ctrl11" = "0x00"
435 register "reg_adv_ctrl12" = "0x00"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800436 register "reg_adv_ctrl13" = "0x00"
437 register "reg_adv_ctrl14" = "0x80"
438 register "reg_adv_ctrl15" = "0x0c"
Victor Ding970e33a2022-11-08 06:53:17 +0000439 register "reg_adv_ctrl16" = "0x08"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800440 register "reg_adv_ctrl17" = "0x56"
441 register "reg_adv_ctrl18" = "0x33"
Victor Ding970e33a2022-11-08 06:53:17 +0000442 register "reg_adv_ctrl19" = "0x00"
443 register "reg_adv_ctrl20" = "0x00"
444
445 register "ph0_pin" = "{1, 3, 3}"
446 register "ph1_pin" = "{3, 2, 1}"
447 register "ph2_pin" = "{3, 3, 1}"
448 register "ph3_pin" = "{1, 3, 3}"
449 register "ph01_resolution" = "1024"
450 register "ph23_resolution" = "1024"
451 register "startup_sensor" = "1"
Stanley Wu3228b262022-12-15 17:41:13 +0800452 register "ph01_proxraw_strength" = "3"
Victor Ding970e33a2022-11-08 06:53:17 +0000453 register "ph23_proxraw_strength" = "2"
454 register "avg_pos_strength" = "256"
455 register "cs_idle_sleep" = ""hi-z""
456 register "int_comp_resistor" = ""lowest""
457 register "input_precharge_resistor_ohms" = "4000"
458 register "input_analog_gain" = "1"
Stanley Wu38155a12022-08-15 16:51:11 +0800459 device i2c 28 on
460 probe LTE LTE_PRESENT
461 end
Stanley Wu8b9bc482022-06-20 21:52:19 +0800462 end
Leo Chou71815c82023-06-17 10:52:51 +0800463 chip drivers/i2c/sx9324
464 register "desc" = ""SAR Proximity Sensor""
465 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_H19_IRQ)"
466 register "speed" = "I2C_SPEED_FAST"
467 register "uid" = "1"
468 register "reg_gnrl_ctrl0" = "0x16"
469 register "reg_gnrl_ctrl1" = "0x25"
470 register "reg_afe_ctrl0" = "0x20"
471 register "reg_afe_ctrl1" = "0x10"
472 register "reg_afe_ctrl2" = "0x00"
473 register "reg_afe_ctrl3" = "0x00"
474 register "reg_afe_ctrl4" = "0x47"
475 register "reg_afe_ctrl5" = "0x00"
476 register "reg_afe_ctrl6" = "0x00"
477 register "reg_afe_ctrl7" = "0x47"
478 register "reg_afe_ctrl8" = "0x12"
479 register "reg_afe_ctrl9" = "0x08"
480 register "reg_afe_ph0" = "0x3d"
481 register "reg_afe_ph1" = "0x3f"
482 register "reg_afe_ph2" = "0x37"
483 register "reg_afe_ph3" = "0x3f"
484 register "reg_prox_ctrl0" = "0x0b"
485 register "reg_prox_ctrl1" = "0x0b"
486 register "reg_prox_ctrl2" = "0x20"
487 register "reg_prox_ctrl3" = "0x60"
488 register "reg_prox_ctrl4" = "0x0c"
489 register "reg_prox_ctrl5" = "0x00"
490 register "reg_prox_ctrl6" = "0x10"
491 register "reg_prox_ctrl7" = "0x0e"
492 register "reg_adv_ctrl0" = "0x00"
493 register "reg_adv_ctrl1" = "0x00"
494 register "reg_adv_ctrl2" = "0x00"
495 register "reg_adv_ctrl3" = "0x00"
496 register "reg_adv_ctrl4" = "0x00"
497 register "reg_adv_ctrl5" = "0x05"
498 register "reg_adv_ctrl6" = "0x00"
499 register "reg_adv_ctrl7" = "0x00"
500 register "reg_adv_ctrl8" = "0x00"
501 register "reg_adv_ctrl9" = "0x00"
502 register "reg_adv_ctrl10" = "0x00"
503 register "reg_adv_ctrl11" = "0x00"
504 register "reg_adv_ctrl12" = "0x00"
505 register "reg_adv_ctrl13" = "0x00"
506 register "reg_adv_ctrl14" = "0x80"
507 register "reg_adv_ctrl15" = "0x0c"
508 register "reg_adv_ctrl16" = "0x04"
509 register "reg_adv_ctrl17" = "0xff"
510 register "reg_adv_ctrl18" = "0x35"
511 register "reg_adv_ctrl19" = "0x00"
512 register "reg_adv_ctrl20" = "0x00"
513 register "reg_irq_msk" = "0x60"
514 register "reg_irq_cfg0" = "0x00"
515 register "reg_irq_cfg1" = "0x80"
516 register "reg_irq_cfg2" = "0x00"
517
518 register "ph0_pin" = "{1, 3, 3}"
519 register "ph1_pin" = "{3, 3, 3}"
520 register "ph2_pin" = "{3, 1, 3}"
521 register "ph3_pin" = "{3, 3, 3}"
522 register "ph01_resolution" = "1024"
523 register "ph23_resolution" = "1024"
524 register "startup_sensor" = "1"
525 register "ph01_proxraw_strength" = "3"
526 register "ph23_proxraw_strength" = "3"
527 register "avg_pos_strength" = "256"
528 register "cs_idle_sleep" = ""gnd""
529 register "int_comp_resistor" = ""lowest""
530 register "input_precharge_resistor_ohms" = "4000"
531 register "input_analog_gain" = "1"
532 device i2c 28 on
533 probe WWAN_5G WWAN_5G_PRESENT
534 end
535 end
536
Stanley Wu8b9bc482022-06-20 21:52:19 +0800537 end
538 device ref i2c3 on
539 chip drivers/i2c/generic
Leo Chou7c0a1fb2022-08-24 17:16:59 +0800540 register "hid" = ""10EC5682""
541 register "name" = ""RT58""
542 register "desc" = ""Headset Codec""
543 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
544 # Set the jd_src to RT5668_JD1 for jack detection
545 register "property_count" = "1"
546 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
547 register "property_list[0].name" = ""realtek,jd-src""
548 register "property_list[0].integer" = "1"
549 device i2c 1a on
550 probe AUDIO MAX98357_ALC5682I
551 end
552 end
553 chip drivers/i2c/generic
Stanley Wu8b9bc482022-06-20 21:52:19 +0800554 register "hid" = ""RTL5682""
555 register "name" = ""RT58""
556 register "desc" = ""Headset Codec""
557 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
558 # Set the jd_src to RT5668_JD1 for jack detection
559 register "property_count" = "1"
560 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
561 register "property_list[0].name" = ""realtek,jd-src""
562 register "property_list[0].integer" = "1"
Stanley Wu38155a12022-08-15 16:51:11 +0800563 device i2c 1a on
564 probe AUDIO ALC1019_ALC5682IVS
Leo Choufaa0d632022-11-29 18:28:29 +0800565 probe AUDIO MAX98357_ALC5682IVS
Stanley Wu38155a12022-08-15 16:51:11 +0800566 end
Stanley Wu8b9bc482022-06-20 21:52:19 +0800567 end
568 chip drivers/generic/alc1015
569 register "hid" = ""RTL1019""
570 register "sdb" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
Stanley Wu38155a12022-08-15 16:51:11 +0800571 device generic 0 on
572 probe AUDIO ALC1019_ALC5682IVS
573 end
Stanley Wu8b9bc482022-06-20 21:52:19 +0800574 end
575 end
576 device ref i2c5 on
577 chip drivers/i2c/generic
578 register "hid" = ""ELAN0000""
579 register "desc" = ""ELAN Touchpad""
580 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
581 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500582 register "detect" = "1"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800583 device i2c 15 on end
584 end
585 chip drivers/i2c/hid
Matt DeVilliere9f0ed52022-12-19 15:06:15 -0600586 register "generic.hid" = ""SYNA0000""
587 register "generic.cid" = ""ACPI0C50""
Stanley Wu8b9bc482022-06-20 21:52:19 +0800588 register "generic.desc" = ""Synaptics Touchpad""
589 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
590 register "generic.wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500591 register "generic.detect" = "1"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800592 register "hid_desc_reg_offset" = "0x20"
593 device i2c 0x2c on end
594 end
595 end
Leo Chou7c0a1fb2022-08-24 17:16:59 +0800596 device ref hda on
597 chip drivers/generic/max98357a
598 register "hid" = ""MX98360A""
599 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
600 register "sdmode_delay" = "5"
601 device generic 0 on
602 probe AUDIO MAX98357_ALC5682I
Leo Choufaa0d632022-11-29 18:28:29 +0800603 probe AUDIO MAX98357_ALC5682IVS
Leo Chou7c0a1fb2022-08-24 17:16:59 +0800604 end
605 end
606 end
Leo Chou75388532023-05-11 15:36:48 +0800607 device ref pcie_rp3 on
608 # WWAN PCIE 3 using clk 0
609 register "pch_pcie_rp[PCH_RP(3)]" = "{
610 .clk_src = 0,
611 .clk_req = 0,
612 .flags = PCIE_RP_LTR | PCIE_RP_AER,
613 }"
614 chip soc/intel/common/block/pcie/rtd3
615 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H21)"
616 register "reset_off_delay_ms" = "20"
617 register "srcclk_pin" = "0"
618 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
619 register "skip_on_off_support" = "true"
620 device generic 0 alias rp3_rtd3 on
621 probe WWAN_5G WWAN_5G_PRESENT
622 end
623 end
624 chip drivers/wwan/fm
625 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D6)"
626 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F12)"
627 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H21)"
628 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A12)"
629 register "add_acpi_dma_property" = "true"
630 use rp3_rtd3 as rtd3dev
631 device generic 0 on
632 probe WWAN_5G WWAN_5G_PRESENT
633 end
634 end
635 probe WWAN_5G WWAN_5G_PRESENT
636 end
Leo Chouf92ea612022-07-22 15:55:59 +0800637 device ref pcie_rp4 on
638 # PCIe 4 WLAN
639 register "pch_pcie_rp[PCH_RP(4)]" = "{
640 .clk_src = 2,
641 .clk_req = 2,
642 .flags = PCIE_RP_LTR | PCIE_RP_AER,
643 }"
644 chip drivers/wifi/generic
645 register "wake" = "GPE0_DW1_03"
Kapil Porwalda1a58a2022-11-23 19:17:35 +0530646 register "add_acpi_dma_property" = "true"
Leo Chouf92ea612022-07-22 15:55:59 +0800647 device pci 00.0 on end
648 end
649 end
Stanley Wu8b9bc482022-06-20 21:52:19 +0800650 device ref pcie_rp7 on
651 # Enable SD Card PCIe 7 using clk 3
652 register "pch_pcie_rp[PCH_RP(7)]" = "{
653 .clk_src = 3,
654 .clk_req = 3,
655 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
656 }"
657 chip soc/intel/common/block/pcie/rtd3
658 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
659 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H12)"
660 register "srcclk_pin" = "3"
Leo Chou3e8f8c12022-11-16 10:07:23 +0800661 register "enable_delay_ms" = "50"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800662 device generic 0 on end
663 end
Stanley Wu38155a12022-08-15 16:51:11 +0800664 probe SD_CARD SD_PRESENT
Stanley Wu8b9bc482022-06-20 21:52:19 +0800665 end
666 device ref pch_espi on
667 chip ec/google/chromeec
668 use conn0 as mux_conn[0]
669 device pnp 0c09.0 on end
670 end
671 end
672 device ref pmc hidden
673 chip drivers/intel/pmc_mux
674 device generic 0 on
675 chip drivers/intel/pmc_mux/conn
676 use usb2_port1 as usb2_port
677 use tcss_usb3_port1 as usb3_port
678 device generic 0 alias conn0 on end
679 end
680 end
681 end
682 end
683 device ref tcss_xhci on
684 chip drivers/usb/acpi
685 device ref tcss_root_hub on
686 chip drivers/usb/acpi
687 register "desc" = ""USB3 Type-C Port C0 (MLB)""
688 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
689 register "use_custom_pld" = "true"
690 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
691 device ref tcss_usb3_port1 on end
692 end
693 end
694 end
695 end
696 device ref xhci on
697 chip drivers/usb/acpi
698 device ref xhci_root_hub on
699 chip drivers/usb/acpi
700 register "desc" = ""USB2 Type-C Port C0 (MLB)""
701 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
702 register "use_custom_pld" = "true"
703 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
704 device ref usb2_port1 on end
705 end
706 chip drivers/usb/acpi
707 register "desc" = ""USB2 WWAN""
708 register "type" = "UPC_TYPE_INTERNAL"
Stanley Wu38155a12022-08-15 16:51:11 +0800709 device ref usb2_port2 on
710 probe LTE LTE_PRESENT
711 end
Stanley Wu8b9bc482022-06-20 21:52:19 +0800712 end
713 chip drivers/usb/acpi
714 register "desc" = ""USB2 Type-A Port A0 (MLB)""
715 register "type" = "UPC_TYPE_A"
716 register "use_custom_pld" = "true"
717 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
718 device ref usb2_port3 on end
719 end
720 chip drivers/usb/acpi
721 register "desc" = ""USB2 Type-A Port A1 (DB)""
722 register "type" = "UPC_TYPE_A"
723 register "use_custom_pld" = "true"
724 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
725 device ref usb2_port4 on end
726 end
727 chip drivers/usb/acpi
728 register "desc" = ""USB2 UFC""
729 register "type" = "UPC_TYPE_INTERNAL"
730 device ref usb2_port6 on end
731 end
732 chip drivers/usb/acpi
733 register "desc" = ""USB2 WFC""
734 register "type" = "UPC_TYPE_INTERNAL"
Stanley Wu38155a12022-08-15 16:51:11 +0800735 device ref usb2_port7 on
736 probe WFC WFC_PRESENT
737 end
Stanley Wu8b9bc482022-06-20 21:52:19 +0800738 end
739 chip drivers/usb/acpi
740 register "desc" = ""USB2 Bluetooth""
741 register "type" = "UPC_TYPE_INTERNAL"
742 register "reset_gpio" =
743 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
Leo Chouf92ea612022-07-22 15:55:59 +0800744 device ref usb2_port8 on end
745 end
746 chip drivers/usb/acpi
747 register "desc" = ""CNVi Bluetooth""
748 register "type" = "UPC_TYPE_INTERNAL"
749 register "reset_gpio" =
750 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
Stanley Wu8b9bc482022-06-20 21:52:19 +0800751 device ref usb2_port10 on end
752 end
753 chip drivers/usb/acpi
754 register "desc" = ""USB3 Type-A Port A0 (MLB)""
755 register "type" = "UPC_TYPE_USB3_A"
756 register "use_custom_pld" = "true"
757 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
758 device ref usb3_port1 on end
759 end
760 chip drivers/usb/acpi
761 register "desc" = ""USB3 Type-A Port A1 (DB)""
762 register "type" = "UPC_TYPE_USB3_A"
763 register "use_custom_pld" = "true"
764 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
765 device ref usb3_port2 on end
766 end
767 chip drivers/usb/acpi
768 register "desc" = ""USB3 WWAN""
769 register "type" = "UPC_TYPE_INTERNAL"
Stanley Wu38155a12022-08-15 16:51:11 +0800770 device ref usb3_port3 on
771 probe LTE LTE_PRESENT
772 end
Stanley Wu8b9bc482022-06-20 21:52:19 +0800773 end
774 end
775 end
776 end
777 end
Stanley Wu8e361042022-06-08 15:56:23 +0800778end