blob: 135041d0a75811598de7dc73bdc2a1fd32537755 [file] [log] [blame]
Mark Hsieh19fc0042023-06-28 16:36:28 +08001fw_config
Mark Hsieh2cd22632023-08-24 20:07:57 +08002 field DB_USB 0 1
3 option DB_ABSENT 0
4 option DB_1C 1
5 end
Mark Hsieh73339012023-08-01 19:16:36 +08006 field THERMAL 2 2
7 option THERMAL_FANLESS 0
8 option THERMAL_FAN 1
9 end
Mark Hsieh19fc0042023-06-28 16:36:28 +080010 field WIFI_SAR_ID 6 6
11 option WIFI_GFP2_SAR_ID_0 0
12 option WIFI_GFP2_SAR_ID_1 1
13 end
14end
15
Mark Hsieh24f75542022-06-15 17:50:22 +080016chip soc/intel/alderlake
Mark Hsieh69bf58d2022-07-05 20:53:56 +080017 register "sagv" = "SaGv_Enabled"
Mark Hsieh24f75542022-06-15 17:50:22 +080018
Mark Hsieh90f81512023-10-05 21:36:38 +080019 # Acoustic settings
20 register "acoustic_noise_mitigation" = "1"
21 register "slow_slew_rate[VR_DOMAIN_IA]" = "SLEW_FAST_8"
22 register "slow_slew_rate[VR_DOMAIN_GT]" = "SLEW_FAST_8"
23 register "fast_pkg_c_ramp_disable[VR_DOMAIN_IA]" = "1"
24 register "fast_pkg_c_ramp_disable[VR_DOMAIN_GT]" = "1"
25
Chia-Ling Hou6f5ead12023-08-07 15:52:48 +080026 # EMMC Tx CMD Delay
27 # Refer to EDS-Vol2-42.3.7.
28 # [14:8] steps of delay for DDR mode, each 125ps, range: 0 - 39.
29 # [6:0] steps of delay for SDR mode, each 125ps, range: 0 - 39.
30 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
31
32 # EMMC TX DATA Delay 1
33 # Refer to EDS-Vol2-42.3.8.
34 # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78.
35 # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79.
36 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x909"
37
38 # EMMC TX DATA Delay 2
39 # Refer to EDS-Vol2-42.3.9.
40 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 79.
41 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
42 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79.
43 # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79.
44 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C272828"
45
46 # EMMC RX CMD/DATA Delay 1
47 # Refer to EDS-Vol2-42.3.10.
48 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 119.
49 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
50 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 - 119.
51 # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119.
52 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C171733"
53
54 # EMMC RX CMD/DATA Delay 2
55 # Refer to EDS-Vol2-42.3.12.
56 # [17:16] stands for Rx Clock before Output Buffer,
57 # 00: Rx clock after output buffer,
58 # 01: Rx clock before output buffer,
59 # 10: Automatic selection based on working mode.
60 # 11: Reserved
61 # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39.
62 # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79.
63 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x10028"
64
65 # EMMC Rx Strobe Delay
66 # Refer to EDS-Vol2-42.3.11.
67 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps, range: 0 - 39.
68 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps, range: 0 - 39.
69 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x1414"
70
Mark Hsieh69bf58d2022-07-05 20:53:56 +080071 # Bit 0 - C0 has no redriver, so enable SBU muxing in the SoC.
72 # Bit 2 - C1 has a redriver which does SBU muxing.
73 # Bit 1,3 - AUX lines are not swapped on the motherboard for either C0 or C1.
74 register "tcss_aux_ori" = "1"
Mark Hsieh24f75542022-06-15 17:50:22 +080075
Mark Hsieh69bf58d2022-07-05 20:53:56 +080076 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
77
78 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # UFC
79 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for PCIe WLAN
80 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
81
Mark Hsieh623e3a32023-06-06 20:13:17 +080082 # Configure external V1P05/Vnn/VnnSx Rails
83 register "ext_fivr_settings" = "{
84 .configure_ext_fivr = 1,
Mark Hsieh623e3a32023-06-06 20:13:17 +080085 }"
86
Mark Hsieh69bf58d2022-07-05 20:53:56 +080087 # Intel Common SoC Config
88 #+-------------------+---------------------------+
89 #| Field | Value |
90 #+-------------------+---------------------------+
91 #| I2C0 | TPM. Early init is |
92 #| | required to set up a BAR |
93 #| | for TPM communication |
94 #| I2C1 | Touchscreen |
95 #| I2C2 | Sub-board(PSensor)/WCAM |
96 #| I2C3 | Audio |
97 #| I2C5 | Trackpad |
98 #+-------------------+---------------------------+
99 register "common_soc_config" = "{
100 .i2c[0] = {
101 .early_init = 1,
Mark Hsieh0177c952023-10-04 18:20:35 +0800102 .speed = I2C_SPEED_FAST_PLUS,
103 .speed_config[0] = {
104 .speed = I2C_SPEED_FAST_PLUS,
105 .scl_lcnt = 56,
106 .scl_hcnt = 30,
107 .sda_hold = 7,
108 }
109 },
110 .i2c[1] = {
111 .speed = I2C_SPEED_FAST,
112 .speed_config[0] = {
113 .speed = I2C_SPEED_FAST,
114 .scl_lcnt = 158,
115 .scl_hcnt = 79,
116 .sda_hold = 30,
117 }
118 },
119 .i2c[3] = {
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800120 .speed = I2C_SPEED_FAST,
121 .speed_config[0] = {
122 .speed = I2C_SPEED_FAST,
123 .scl_lcnt = 158,
124 .scl_hcnt = 79,
125 .sda_hold = 7,
126 }
127 },
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800128 .i2c[5] = {
129 .speed = I2C_SPEED_FAST,
130 .speed_config[0] = {
131 .speed = I2C_SPEED_FAST,
Mark Hsieh0177c952023-10-04 18:20:35 +0800132 .scl_lcnt = 158,
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800133 .scl_hcnt = 79,
Mark Hsieh0177c952023-10-04 18:20:35 +0800134 .sda_hold = 40,
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800135 }
136 },
137 }"
138
139 device domain 0 on
140 device ref dtt on
141 chip drivers/intel/dptf
142 ## sensor information
143 register "options.tsr[0].desc" = ""Memory""
144 register "options.tsr[1].desc" = ""Charger""
145 register "options.tsr[2].desc" = ""Ambient""
146
147 # TODO: below values are initial reference values only
148 ## Passive Policy
149 register "policies.passive" = "{
150 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
Mark Hsieh73339012023-08-01 19:16:36 +0800151 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 65, 5000),
152 [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_1, 65, 5000),
153 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 65, 5000),
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800154 }"
155
156 ## Critical Policy
157 register "policies.critical" = "{
158 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
Mark Hsieh73339012023-08-01 19:16:36 +0800159 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 75, SHUTDOWN),
160 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 75, SHUTDOWN),
161 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 75, SHUTDOWN),
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800162 }"
163
164 register "controls.power_limits" = "{
165 .pl1 = {
Mark Hsieh73339012023-08-01 19:16:36 +0800166 .min_power = 6000,
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800167 .max_power = 6000,
168 .time_window_min = 28 * MSECS_PER_SEC,
169 .time_window_max = 32 * MSECS_PER_SEC,
170 .granularity = 200
171 },
172 .pl2 = {
173 .min_power = 25000,
174 .max_power = 25000,
175 .time_window_min = 28 * MSECS_PER_SEC,
176 .time_window_max = 32 * MSECS_PER_SEC,
177 .granularity = 1000
178 }
179 }"
180
181 ## Charger Performance Control (Control, mA)
182 register "controls.charger_perf" = "{
183 [0] = { 255, 1700 },
184 [1] = { 24, 1500 },
185 [2] = { 16, 1000 },
186 [3] = { 8, 500 }
187 }"
188
Mark Hsieh73339012023-08-01 19:16:36 +0800189 register "oem_data.oem_variables" = "{
190 [1] = 0x1
191 }"
192
193 device generic 0 alias dptf_policy on end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800194 end
195 end
196 device ref i2c1 on
Mark Hsiehaec6f062023-06-16 19:16:02 +0800197 chip drivers/i2c/generic
198 register "hid" = ""ELAN0001""
199 register "desc" = ""ELAN Touchscreen""
200 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
201 register "detect" = "1"
202 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
203 register "reset_delay_ms" = "20"
204 register "reset_off_delay_ms" = "2"
205 register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
206 register "stop_delay_ms" = "280"
207 register "stop_off_delay_ms" = "2"
208 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
209 register "enable_delay_ms" = "1"
210 register "has_power_resource" = "1"
211 device i2c 10 on end
212 end
213 chip drivers/i2c/hid
214 register "generic.hid" = ""ELAN2513""
215 register "generic.desc" = ""ELAN Touchscreen""
216 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
217 register "generic.detect" = "1"
218 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
219 register "generic.reset_delay_ms" = "20"
220 register "generic.reset_off_delay_ms" = "2"
221 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
222 register "generic.stop_delay_ms" = "280"
223 register "generic.stop_off_delay_ms" = "2"
224 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
225 register "generic.enable_delay_ms" = "1"
226 register "generic.has_power_resource" = "1"
227 register "hid_desc_reg_offset" = "0x01"
228 device i2c 15 on end
229 end
230 chip drivers/i2c/hid
231 register "generic.hid" = ""GTCH7503""
232 register "generic.desc" = ""G2TOUCH Touchscreen""
233 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
234 register "generic.detect" = "1"
235 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
236 register "generic.reset_delay_ms" = "50"
237 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
238 register "generic.stop_delay_ms" = "30"
239 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
240 register "generic.enable_delay_ms" = "1"
241 register "generic.has_power_resource" = "1"
242 register "hid_desc_reg_offset" = "0x01"
243 device i2c 40 on end
244 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800245 chip drivers/i2c/hid
246 register "generic.hid" = ""GDIX0000""
247 register "generic.desc" = ""Goodix Touchscreen""
248 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Mark Hsiehaec6f062023-06-16 19:16:02 +0800249 register "generic.detect" = "1"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800250 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
251 register "generic.enable_delay_ms" = "20"
252 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
253 register "generic.reset_delay_ms" = "180"
254 register "generic.reset_off_delay_ms" = "3"
255 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
256 register "generic.stop_off_delay_ms" = "1"
257 register "generic.has_power_resource" = "1"
258 register "hid_desc_reg_offset" = "0x01"
Mark Hsiehf84f3e72022-07-27 21:20:30 +0800259 device i2c 0x14 on end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800260 end
261 end
262 device ref i2c3 on
263 chip drivers/i2c/generic
264 register "hid" = ""RTL5682""
265 register "name" = ""RT58""
266 register "desc" = ""Headset Codec""
267 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
268 # Set the jd_src to RT5668_JD1 for jack detection
269 register "property_count" = "1"
270 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
271 register "property_list[0].name" = ""realtek,jd-src""
272 register "property_list[0].integer" = "1"
273 device i2c 1a on end
274 end
275 end
276 device ref i2c5 on
277 chip drivers/i2c/generic
278 register "hid" = ""ELAN0000""
279 register "desc" = ""ELAN Touchpad""
280 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
281 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500282 register "detect" = "1"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800283 device i2c 15 on end
284 end
285 end
286 device ref hda on
287 chip drivers/generic/max98357a
288 register "hid" = ""MX98360A""
289 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
290 register "sdmode_delay" = "5"
291 device generic 0 on end
292 end
Matt DeVillier189da312023-09-08 20:57:55 -0500293 chip drivers/sof
294 register "spkr_tplg" = "max98360a"
295 register "jack_tplg" = "rt5682"
296 register "mic_tplg" = "_2ch_pdm0"
297 device generic 0 on end
298 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800299 end
300 device ref pcie_rp4 on
301 # PCIe 4 WLAN
302 register "pch_pcie_rp[PCH_RP(4)]" = "{
303 .clk_src = 2,
304 .clk_req = 2,
305 .flags = PCIE_RP_LTR | PCIE_RP_AER,
306 }"
307 chip drivers/wifi/generic
308 register "wake" = "GPE0_DW1_03"
Kapil Porwalda1a58a2022-11-23 19:17:35 +0530309 register "add_acpi_dma_property" = "true"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800310 device pci 00.0 on end
311 end
312 end
Mark Hsieh4b189842023-06-06 15:00:06 +0800313 device ref pcie_rp7 off end # PCIE7 no SD card
Mark Hsieh07046ca2023-06-12 16:26:54 +0800314 device ref emmc on end
Mark Hsieh7fb661f2023-06-12 17:47:07 +0800315 device ref ish on
316 chip drivers/intel/ish
317 register "add_acpi_dma_property" = "true"
318 device generic 0 on end
319 end
320 end
Mark Hsieh07046ca2023-06-12 16:26:54 +0800321 device ref ufs on end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800322 device ref pch_espi on
323 chip ec/google/chromeec
324 use conn0 as mux_conn[0]
325 use conn1 as mux_conn[1]
326 device pnp 0c09.0 on end
327 end
328 end
329 device ref pmc hidden
330 chip drivers/intel/pmc_mux
331 device generic 0 on
332 chip drivers/intel/pmc_mux/conn
333 use usb2_port1 as usb2_port
334 use tcss_usb3_port1 as usb3_port
335 device generic 0 alias conn0 on end
336 end
337 chip drivers/intel/pmc_mux/conn
338 use usb2_port2 as usb2_port
339 use tcss_usb3_port2 as usb3_port
340 device generic 1 alias conn1 on end
341 end
342 end
343 end
344 end
345 device ref tcss_xhci on
346 chip drivers/usb/acpi
347 device ref tcss_root_hub on
348 chip drivers/usb/acpi
349 register "desc" = ""USB3 Type-C Port C0 (MLB)""
350 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
351 register "use_custom_pld" = "true"
352 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
353 device ref tcss_usb3_port1 on end
354 end
355 chip drivers/usb/acpi
356 register "desc" = ""USB3 Type-C Port C1 (DB)""
357 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
358 register "use_custom_pld" = "true"
359 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Mark Hsieh2cd22632023-08-24 20:07:57 +0800360 device ref tcss_usb3_port2 on
361 probe DB_USB DB_1C
362 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800363 end
364 end
365 end
366 end
367 device ref xhci on
368 chip drivers/usb/acpi
369 device ref xhci_root_hub on
370 chip drivers/usb/acpi
371 register "desc" = ""USB2 Type-C Port C0 (MLB)""
372 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
373 register "use_custom_pld" = "true"
374 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
375 device ref usb2_port1 on end
376 end
377 chip drivers/usb/acpi
378 register "desc" = ""USB2 Type-C Port C1 (DB)""
379 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
380 register "use_custom_pld" = "true"
381 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Mark Hsieh2cd22632023-08-24 20:07:57 +0800382 device ref usb2_port2 on
383 probe DB_USB DB_1C
384 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800385 end
386 chip drivers/usb/acpi
387 register "desc" = ""USB2 Type-A Port A0 (MLB)""
388 register "type" = "UPC_TYPE_A"
389 register "use_custom_pld" = "true"
390 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
391 device ref usb2_port3 on end
392 end
393 chip drivers/usb/acpi
394 register "desc" = ""USB2 UFC""
395 register "type" = "UPC_TYPE_INTERNAL"
396 device ref usb2_port7 on end
397 end
398 chip drivers/usb/acpi
399 register "desc" = ""USB2 Bluetooth""
400 register "type" = "UPC_TYPE_INTERNAL"
401 register "reset_gpio" =
402 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
403 device ref usb2_port8 on end
404 end
405 chip drivers/usb/acpi
406 register "desc" = ""CNVi Bluetooth""
407 register "type" = "UPC_TYPE_INTERNAL"
408 register "reset_gpio" =
409 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
410 device ref usb2_port10 on end
411 end
412 chip drivers/usb/acpi
413 register "desc" = ""USB3 Type-A Port A0 (MLB)""
414 register "type" = "UPC_TYPE_USB3_A"
415 register "use_custom_pld" = "true"
416 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
417 device ref usb3_port1 on end
418 end
419 end
420 end
421 end
422 end
Mark Hsieh24f75542022-06-15 17:50:22 +0800423end