blob: e51c1fbc485c36380ff0f006cf80f0fc92a723dc [file] [log] [blame]
Yunlong Jiae40cdd52023-06-21 09:56:25 +00001fw_config
2 field DB_USB 0 1
3 option DB_NONE 0
4 option DB_C_A 1
5 option DB_C_LTE 2
6 end
7 field THERMAL_SOLUTION 2
8 option THERMAL_SOLUTION_PASSIVE 0
9 option THERMAL_SOLUTION_ACTIVE 1
10 end
11 field WLAN 3 4
12 option WLAN_MT7921_AZUREWAVE 0
13 option WLAN_AX211_Intel 1
14 end
15 field AUDIO 5 6
16 option AUDIO_ALC1019_ALC5682IVS 0
17 end
18 field STYLUS 7
19 option STYLUS_ABSENT 0
20 option STYLUS_PRESENT 1
21 end
22end
23
Yunlong Jia8cc0faa2023-04-26 08:53:48 +000024chip soc/intel/alderlake
Yunlong Jiae40cdd52023-06-21 09:56:25 +000025 register "sagv" = "SaGv_Enabled"
Yunlong Jia8cc0faa2023-04-26 08:53:48 +000026
Simon Yangb9407282023-07-03 22:00:09 +080027 # EMMC Tx CMD Delay
28 # Refer to EDS-Vol2-42.3.7.
29 # [14:8] steps of delay for DDR mode, each 125ps, range: 0 - 39.
30 # [6:0] steps of delay for SDR mode, each 125ps, range: 0 - 39.
31 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
32
33 # EMMC TX DATA Delay 1
34 # Refer to EDS-Vol2-42.3.8.
35 # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78.
36 # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79.
37 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x909"
38
39 # EMMC TX DATA Delay 2
40 # Refer to EDS-Vol2-42.3.9.
41 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 79.
42 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
43 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79.
44 # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79.
45 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C2A2828"
46
47 # EMMC RX CMD/DATA Delay 1
48 # Refer to EDS-Vol2-42.3.10.
49 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 119.
50 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
51 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 - 119.
52 # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119.
53 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C1B1D1B"
54
55 # EMMC RX CMD/DATA Delay 2
56 # Refer to EDS-Vol2-42.3.12.
57 # [17:16] stands for Rx Clock before Output Buffer,
58 # 00: Rx clock after output buffer,
59 # 01: Rx clock before output buffer,
60 # 10: Automatic selection based on working mode.
61 # 11: Reserved
62 # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39.
63 # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79.
64 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x1004c"
65
66 # EMMC Rx Strobe Delay
67 # Refer to EDS-Vol2-42.3.11.
68 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps, range: 0 - 39.
69 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps, range: 0 - 39.
70 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x01515"
71
Yunlong Jiae40cdd52023-06-21 09:56:25 +000072 # Bit 0 - C0 has no redriver, so enable SBU muxing in the SoC.
73 # Bit 2 - C1 has a redriver which does SBU muxing.
74 # Bit 1,3 - AUX lines are not swapped on the motherboard for either C0 or C1.
75 register "tcss_aux_ori" = "5"
Yunlong Jia8cc0faa2023-04-26 08:53:48 +000076
Yunlong Jiae40cdd52023-06-21 09:56:25 +000077 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
78 register "typec_aux_bias_pads[1]" = "{.pad_auxp_dc = GPP_A21, .pad_auxn_dc = GPP_A22}"
79
80 # Configure external V1P05/Vnn/VnnSx Rails
81 register "ext_fivr_settings" = "{
82 .configure_ext_fivr = 1,
83 .v1p05_enable_bitmap = FIVR_ENABLE_ALL_SX & ~FIVR_ENABLE_S0,
84 .vnn_enable_bitmap = FIVR_ENABLE_ALL_SX,
85 .vnn_sx_enable_bitmap = FIVR_ENABLE_ALL_SX,
86 .v1p05_supported_voltage_bitmap = FIVR_VOLTAGE_NORMAL,
87 .vnn_supported_voltage_bitmap = FIVR_VOLTAGE_MIN_ACTIVE,
88 .v1p05_voltage_mv = 1050,
89 .vnn_voltage_mv = 780,
90 .vnn_sx_voltage_mv = 1050,
91 .v1p05_icc_max_ma = 500,
92 .vnn_icc_max_ma = 500,
93 }"
94
95 # Intel Common SoC Config
96 #+-------------------+---------------------------+
97 #| Field | Value |
98 #+-------------------+---------------------------+
99 #| I2C0 | TPM. Early init is |
100 #| | required to set up a BAR |
101 #| | for TPM communication |
102 #| I2C1 | Touchscreen |
103 #| I2C2 | Sub-board(PSensor)/WCAM |
104 #| I2C3 | Audio |
105 #| I2C5 | Trackpad |
106 #+-------------------+---------------------------+
107 register "common_soc_config" = "{
108 .i2c[0] = {
109 .early_init = 1,
110 .speed = I2C_SPEED_FAST_PLUS,
111 .speed_config[0] = {
112 .speed = I2C_SPEED_FAST_PLUS,
113 .scl_lcnt = 55,
114 .scl_hcnt = 30,
115 .sda_hold = 7,
116 }
117 },
118 .i2c[1] = {
119 .speed = I2C_SPEED_FAST,
120 .speed_config[0] = {
121 .speed = I2C_SPEED_FAST,
122 .scl_lcnt = 160,
123 .scl_hcnt = 79,
124 .sda_hold = 7,
125 }
126 },
127 .i2c[2] = {
128 .speed = I2C_SPEED_FAST,
129 .speed_config[0] = {
130 .speed = I2C_SPEED_FAST,
131 .scl_lcnt = 157,
132 .scl_hcnt = 79,
133 .sda_hold = 7,
134 }
135 },
136 .i2c[3] = {
137 .speed = I2C_SPEED_FAST,
138 .speed_config[0] = {
139 .speed = I2C_SPEED_FAST,
140 .scl_lcnt = 157,
141 .scl_hcnt = 79,
142 .sda_hold = 7,
143 }
144 },
145 .i2c[5] = {
146 .speed = I2C_SPEED_FAST,
147 .speed_config[0] = {
148 .speed = I2C_SPEED_FAST,
149 .scl_lcnt = 152,
150 .scl_hcnt = 79,
151 .sda_hold = 7,
152 }
153 },
154 }"
155
156 device domain 0 on
157 device ref dtt on
158 chip drivers/intel/dptf
159 ## sensor information
160 register "options.tsr[0].desc" = ""Memory""
161 register "options.tsr[1].desc" = ""Charger""
162 register "options.tsr[2].desc" = ""Ambient""
163
164 # TODO: below values are initial reference values only
165 ## Passive Policy
166 register "policies.passive" = "{
167 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
168 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 75, 5000),
169 [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_1, 75, 5000),
170 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 75, 5000),
171 }"
172
173 ## Critical Policy
174 register "policies.critical" = "{
175 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
176 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
177 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
178 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
179 }"
180
181 register "controls.power_limits" = "{
182 .pl1 = {
183 .min_power = 3000,
184 .max_power = 6000,
185 .time_window_min = 28 * MSECS_PER_SEC,
186 .time_window_max = 32 * MSECS_PER_SEC,
187 .granularity = 200
188 },
189 .pl2 = {
190 .min_power = 25000,
191 .max_power = 25000,
192 .time_window_min = 28 * MSECS_PER_SEC,
193 .time_window_max = 32 * MSECS_PER_SEC,
194 .granularity = 1000
195 }
196 }"
197
198 ## Charger Performance Control (Control, mA)
199 register "controls.charger_perf" = "{
200 [0] = { 255, 1700 },
201 [1] = { 24, 1500 },
202 [2] = { 16, 1000 },
203 [3] = { 8, 500 }
204 }"
205
206 device generic 0 on end
207 end
208 end
209 device ref i2c1 on
Yunlong Jia11ba8eb2023-07-21 03:32:20 +0000210 chip drivers/i2c/hid
211 register "generic.hid" = ""ELAN7B13""
212 register "generic.desc" = ""ELAN Touchscreen""
213 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
214 register "generic.detect" = "1"
215 register "generic.reset_gpio" =
216 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
217 register "generic.reset_delay_ms" = "300"
218 register "generic.reset_off_delay_ms" = "2"
219 register "generic.enable_gpio" =
220 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
221 register "generic.enable_delay_ms" = "6"
222 register "generic.has_power_resource" = "1"
223 register "hid_desc_reg_offset" = "0x01"
Yunlong Jiae40cdd52023-06-21 09:56:25 +0000224 device i2c 0x10 on end
225 end
226 end
227 device ref i2c2 on
228 chip drivers/i2c/sx9324
229 register "desc" = ""SAR2 Proximity Sensor""
230 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_H19_IRQ)"
231 register "speed" = "I2C_SPEED_FAST"
Yunlong Jiaaae52ef2023-07-24 03:06:50 +0000232 register "uid" = "1"
Yunlong Jiae40cdd52023-06-21 09:56:25 +0000233 register "reg_gnrl_ctrl0" = "0x16"
234 register "reg_gnrl_ctrl1" = "0x21"
Yunlong Jiaaae52ef2023-07-24 03:06:50 +0000235 register "reg_afe_ctrl0" = "0x20"
Yunlong Jiae40cdd52023-06-21 09:56:25 +0000236 register "reg_afe_ctrl1" = "0x10"
237 register "reg_afe_ctrl2" = "0x00"
Yunlong Jiaaae52ef2023-07-24 03:06:50 +0000238 register "reg_afe_ctrl3" = "0x01"
239 register "reg_afe_ctrl4" = "0x46"
Yunlong Jiae40cdd52023-06-21 09:56:25 +0000240 register "reg_afe_ctrl5" = "0x00"
241 register "reg_afe_ctrl6" = "0x00"
242 register "reg_afe_ctrl7" = "0x07"
243 register "reg_afe_ctrl8" = "0x12"
244 register "reg_afe_ctrl9" = "0x0f"
245 register "reg_prox_ctrl0" = "0x12"
246 register "reg_prox_ctrl1" = "0x12"
247 register "reg_prox_ctrl2" = "0x90"
248 register "reg_prox_ctrl3" = "0x60"
249 register "reg_prox_ctrl4" = "0x0c"
250 register "reg_prox_ctrl5" = "0x12"
251 register "reg_prox_ctrl6" = "0x3c"
252 register "reg_prox_ctrl7" = "0x58"
253 register "reg_adv_ctrl0" = "0x00"
254 register "reg_adv_ctrl1" = "0x00"
255 register "reg_adv_ctrl2" = "0x00"
256 register "reg_adv_ctrl3" = "0x00"
257 register "reg_adv_ctrl4" = "0x00"
258 register "reg_adv_ctrl5" = "0x05"
259 register "reg_adv_ctrl6" = "0x00"
260 register "reg_adv_ctrl7" = "0x00"
261 register "reg_adv_ctrl8" = "0x00"
262 register "reg_adv_ctrl9" = "0x00"
263 register "reg_adv_ctrl10" = "0x5c"
264 register "reg_adv_ctrl11" = "0x52"
265 register "reg_adv_ctrl12" = "0xb5"
266 register "reg_adv_ctrl13" = "0x00"
267 register "reg_adv_ctrl14" = "0x80"
268 register "reg_adv_ctrl15" = "0x0c"
269 register "reg_adv_ctrl16" = "0x38"
270 register "reg_adv_ctrl17" = "0x56"
271 register "reg_adv_ctrl18" = "0x33"
272 register "reg_adv_ctrl19" = "0xf0"
273 register "reg_adv_ctrl20" = "0xf0"
Yunlong Jia8ce19f52023-10-08 05:34:22 +0000274
275 register "ph0_pin" = "{1, 3, 3}"
276 register "ph1_pin" = "{3, 2, 1}"
277 register "ph2_pin" = "{3, 3, 1}"
278 register "ph3_pin" = "{1, 3, 3}"
279 register "ph01_resolution" = "512"
280 register "ph23_resolution" = "1024"
281 register "startup_sensor" = "1"
282 register "ph01_proxraw_strength" = "2"
283 register "ph23_proxraw_strength" = "2"
284 register "avg_pos_strength" = "256"
285 register "cs_idle_sleep" = ""gnd""
286 register "int_comp_resistor" = ""lowest""
287 register "input_precharge_resistor_ohms" = "4000"
288 register "input_analog_gain" = "3"
Yunlong Jiae40cdd52023-06-21 09:56:25 +0000289 device i2c 28 on end
290 end
291 end
292 device ref i2c3 on
293 chip drivers/i2c/generic
294 register "hid" = ""RTL5682""
295 register "name" = ""RT58""
296 register "desc" = ""Headset Codec""
297 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
298 # Set the jd_src to RT5668_JD1 for jack detection
299 register "property_count" = "1"
300 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
301 register "property_list[0].name" = ""realtek,jd-src""
302 register "property_list[0].integer" = "1"
303 device i2c 1a on end
304 end
305 chip drivers/generic/alc1015
306 register "hid" = ""RTL1019""
307 register "sdb" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
308 device generic 0 on end
309 end
310 end
311
312 device ref i2c5 on
313 chip drivers/i2c/hid
314 register "generic.hid" = ""PNP0C50""
315 register "generic.desc" = ""PIXART Touchpad""
316 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
317 register "generic.wake" = "GPE0_DW2_14"
318 register "generic.detect" = "1"
319 register "hid_desc_reg_offset" = "0x01"
320 device i2c 15 on end
321 end
322 end
323 device ref pcie_rp4 on
324 # PCIe 4 WLAN
325 register "pch_pcie_rp[PCH_RP(4)]" = "{
326 .clk_src = 2,
327 .clk_req = 2,
328 .flags = PCIE_RP_LTR | PCIE_RP_AER,
329 }"
330 chip drivers/wifi/generic
331 register "wake" = "GPE0_DW1_03"
332 register "add_acpi_dma_property" = "true"
Matt DeVillierf4938572023-11-01 18:50:25 -0500333 device generic 0 on end
Yunlong Jiae40cdd52023-06-21 09:56:25 +0000334 end
335 end
336 device ref pcie_rp7 on
337 # Enable SD Card PCIe 7 using clk 3
338 register "pch_pcie_rp[PCH_RP(7)]" = "{
339 .clk_src = 3,
340 .clk_req = 3,
341 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
342 }"
343 chip soc/intel/common/block/pcie/rtd3
344 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
345 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H12)"
346 register "srcclk_pin" = "3"
347 device generic 0 on end
348 end
349 end
350 device ref pch_espi on
351 chip ec/google/chromeec
352 use conn0 as mux_conn[0]
353 use conn1 as mux_conn[1]
354 device pnp 0c09.0 on end
355 end
356 end
357 device ref pmc hidden
358 chip drivers/intel/pmc_mux
359 device generic 0 on
360 chip drivers/intel/pmc_mux/conn
361 use usb2_port1 as usb2_port
362 use tcss_usb3_port1 as usb3_port
363 device generic 0 alias conn0 on end
364 end
365 chip drivers/intel/pmc_mux/conn
366 use usb2_port2 as usb2_port
367 use tcss_usb3_port2 as usb3_port
368 device generic 1 alias conn1 on end
369 end
370 end
371 end
372 end
373 device ref tcss_xhci on
374 chip drivers/usb/acpi
375 device ref tcss_root_hub on
376 chip drivers/usb/acpi
377 register "desc" = ""USB3 Type-C Port C0 (MLB)""
378 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
379 register "use_custom_pld" = "true"
380 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
381 device ref tcss_usb3_port1 on end
382 end
383 chip drivers/usb/acpi
384 register "desc" = ""USB3 Type-C Port C1 (DB)""
385 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
386 register "use_custom_pld" = "true"
387 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
388 device ref tcss_usb3_port2 on end
389 end
390 end
391 end
392 end
393 device ref xhci on
394 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # USB2_A1
395 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # WFC
396 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for PCIe WLAN
397 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
398 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3/3 Type A port A1
399
400 chip drivers/usb/acpi
401 device ref xhci_root_hub on
402 chip drivers/usb/acpi
403 register "desc" = ""USB2 Type-C Port C0 (MLB)""
404 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
405 register "use_custom_pld" = "true"
406 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
407 device ref usb2_port1 on end
408 end
409 chip drivers/usb/acpi
410 register "desc" = ""USB2 Type-C Port C1 (DB)""
411 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
412 register "use_custom_pld" = "true"
413 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
414 device ref usb2_port2 on end
415 end
416 chip drivers/usb/acpi
417 register "desc" = ""USB2 Type-A Port A0 (MLB)""
418 register "type" = "UPC_TYPE_A"
419 register "use_custom_pld" = "true"
420 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
421 device ref usb2_port3 on end
422 end
423 chip drivers/usb/acpi
424 register "desc" = ""USB2 Type-A Port A1 (DB)""
425 register "type" = "UPC_TYPE_A"
426 register "use_custom_pld" = "true"
427 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
428 device ref usb2_port4 on end
429 end
430 chip drivers/usb/acpi
431 register "desc" = ""USB2 WWAN""
432 register "type" = "UPC_TYPE_INTERNAL"
433 device ref usb2_port5 on end
434 end
435 chip drivers/usb/acpi
436 register "desc" = ""USB2 UFC""
437 register "type" = "UPC_TYPE_INTERNAL"
438 device ref usb2_port6 on end
439 end
440 chip drivers/usb/acpi
441 register "desc" = ""USB2 WFC""
442 register "type" = "UPC_TYPE_INTERNAL"
443 device ref usb2_port7 on end
444 end
445 chip drivers/usb/acpi
446 register "desc" = ""USB2 Bluetooth""
447 register "type" = "UPC_TYPE_INTERNAL"
448 register "reset_gpio" =
449 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
450 device ref usb2_port8 on end
451 end
452 chip drivers/usb/acpi
453 register "desc" = ""CNVi Bluetooth""
454 register "type" = "UPC_TYPE_INTERNAL"
455 register "reset_gpio" =
456 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
457 device ref usb2_port10 on end
458 end
459 chip drivers/usb/acpi
460 register "desc" = ""USB3 Type-A Port A0 (MLB)""
461 register "type" = "UPC_TYPE_USB3_A"
462 register "use_custom_pld" = "true"
463 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
464 device ref usb3_port1 on end
465 end
466 chip drivers/usb/acpi
467 register "desc" = ""USB3 Type-A Port A1 (DB)""
468 register "type" = "UPC_TYPE_USB3_A"
469 register "use_custom_pld" = "true"
470 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
471 device ref usb3_port2 on end
472 end
473 chip drivers/usb/acpi
474 register "desc" = ""USB3 WWAN""
475 register "type" = "UPC_TYPE_INTERNAL"
476 device ref usb3_port3 on end
477 end
478 end
479 end
480 end
Matt DeVillier189da312023-09-08 20:57:55 -0500481 device ref hda on
482 chip drivers/sof
483 register "spkr_tplg" = "rt1019"
484 register "jack_tplg" = "rt5682"
485 register "mic_tplg" = "_2ch_pdm0"
486 device generic 0 on end
487 end
488 end
Yunlong Jiae40cdd52023-06-21 09:56:25 +0000489 end
Yunlong Jia8cc0faa2023-04-26 08:53:48 +0000490end