blob: 12175c5eaeb23bc353836950afa9d48829d721b3 [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
Chia-Ling Hou6f5ead12023-08-07 15:52:48 +080019 # EMMC Tx CMD Delay
20 # Refer to EDS-Vol2-42.3.7.
21 # [14:8] steps of delay for DDR mode, each 125ps, range: 0 - 39.
22 # [6:0] steps of delay for SDR mode, each 125ps, range: 0 - 39.
23 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
24
25 # EMMC TX DATA Delay 1
26 # Refer to EDS-Vol2-42.3.8.
27 # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78.
28 # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79.
29 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x909"
30
31 # EMMC TX DATA Delay 2
32 # Refer to EDS-Vol2-42.3.9.
33 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 79.
34 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
35 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79.
36 # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79.
37 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C272828"
38
39 # EMMC RX CMD/DATA Delay 1
40 # Refer to EDS-Vol2-42.3.10.
41 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 119.
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 - 119.
44 # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119.
45 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C171733"
46
47 # EMMC RX CMD/DATA Delay 2
48 # Refer to EDS-Vol2-42.3.12.
49 # [17:16] stands for Rx Clock before Output Buffer,
50 # 00: Rx clock after output buffer,
51 # 01: Rx clock before output buffer,
52 # 10: Automatic selection based on working mode.
53 # 11: Reserved
54 # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39.
55 # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79.
56 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x10028"
57
58 # EMMC Rx Strobe Delay
59 # Refer to EDS-Vol2-42.3.11.
60 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps, range: 0 - 39.
61 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps, range: 0 - 39.
62 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x1414"
63
Mark Hsieh69bf58d2022-07-05 20:53:56 +080064 # Bit 0 - C0 has no redriver, so enable SBU muxing in the SoC.
65 # Bit 2 - C1 has a redriver which does SBU muxing.
66 # Bit 1,3 - AUX lines are not swapped on the motherboard for either C0 or C1.
67 register "tcss_aux_ori" = "1"
Mark Hsieh24f75542022-06-15 17:50:22 +080068
Mark Hsieh69bf58d2022-07-05 20:53:56 +080069 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
70
71 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # UFC
72 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for PCIe WLAN
73 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
74
Mark Hsieh623e3a32023-06-06 20:13:17 +080075 # Configure external V1P05/Vnn/VnnSx Rails
76 register "ext_fivr_settings" = "{
77 .configure_ext_fivr = 1,
Mark Hsieh623e3a32023-06-06 20:13:17 +080078 }"
79
Mark Hsieh69bf58d2022-07-05 20:53:56 +080080 # Intel Common SoC Config
81 #+-------------------+---------------------------+
82 #| Field | Value |
83 #+-------------------+---------------------------+
84 #| I2C0 | TPM. Early init is |
85 #| | required to set up a BAR |
86 #| | for TPM communication |
87 #| I2C1 | Touchscreen |
88 #| I2C2 | Sub-board(PSensor)/WCAM |
89 #| I2C3 | Audio |
90 #| I2C5 | Trackpad |
91 #+-------------------+---------------------------+
92 register "common_soc_config" = "{
93 .i2c[0] = {
94 .early_init = 1,
Mark Hsieh0177c952023-10-04 18:20:35 +080095 .speed = I2C_SPEED_FAST_PLUS,
96 .speed_config[0] = {
97 .speed = I2C_SPEED_FAST_PLUS,
98 .scl_lcnt = 56,
99 .scl_hcnt = 30,
100 .sda_hold = 7,
101 }
102 },
103 .i2c[1] = {
104 .speed = I2C_SPEED_FAST,
105 .speed_config[0] = {
106 .speed = I2C_SPEED_FAST,
107 .scl_lcnt = 158,
108 .scl_hcnt = 79,
109 .sda_hold = 30,
110 }
111 },
112 .i2c[3] = {
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800113 .speed = I2C_SPEED_FAST,
114 .speed_config[0] = {
115 .speed = I2C_SPEED_FAST,
116 .scl_lcnt = 158,
117 .scl_hcnt = 79,
118 .sda_hold = 7,
119 }
120 },
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800121 .i2c[5] = {
122 .speed = I2C_SPEED_FAST,
123 .speed_config[0] = {
124 .speed = I2C_SPEED_FAST,
Mark Hsieh0177c952023-10-04 18:20:35 +0800125 .scl_lcnt = 158,
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800126 .scl_hcnt = 79,
Mark Hsieh0177c952023-10-04 18:20:35 +0800127 .sda_hold = 40,
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800128 }
129 },
130 }"
131
132 device domain 0 on
133 device ref dtt on
134 chip drivers/intel/dptf
135 ## sensor information
136 register "options.tsr[0].desc" = ""Memory""
137 register "options.tsr[1].desc" = ""Charger""
138 register "options.tsr[2].desc" = ""Ambient""
139
140 # TODO: below values are initial reference values only
141 ## Passive Policy
142 register "policies.passive" = "{
143 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
Mark Hsieh73339012023-08-01 19:16:36 +0800144 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 65, 5000),
145 [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_1, 65, 5000),
146 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 65, 5000),
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800147 }"
148
149 ## Critical Policy
150 register "policies.critical" = "{
151 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
Mark Hsieh73339012023-08-01 19:16:36 +0800152 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 75, SHUTDOWN),
153 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 75, SHUTDOWN),
154 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 75, SHUTDOWN),
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800155 }"
156
157 register "controls.power_limits" = "{
158 .pl1 = {
Mark Hsieh73339012023-08-01 19:16:36 +0800159 .min_power = 6000,
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800160 .max_power = 6000,
161 .time_window_min = 28 * MSECS_PER_SEC,
162 .time_window_max = 32 * MSECS_PER_SEC,
163 .granularity = 200
164 },
165 .pl2 = {
166 .min_power = 25000,
167 .max_power = 25000,
168 .time_window_min = 28 * MSECS_PER_SEC,
169 .time_window_max = 32 * MSECS_PER_SEC,
170 .granularity = 1000
171 }
172 }"
173
174 ## Charger Performance Control (Control, mA)
175 register "controls.charger_perf" = "{
176 [0] = { 255, 1700 },
177 [1] = { 24, 1500 },
178 [2] = { 16, 1000 },
179 [3] = { 8, 500 }
180 }"
181
Mark Hsieh73339012023-08-01 19:16:36 +0800182 register "oem_data.oem_variables" = "{
183 [1] = 0x1
184 }"
185
186 device generic 0 alias dptf_policy on end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800187 end
188 end
189 device ref i2c1 on
Mark Hsiehaec6f062023-06-16 19:16:02 +0800190 chip drivers/i2c/generic
191 register "hid" = ""ELAN0001""
192 register "desc" = ""ELAN Touchscreen""
193 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
194 register "detect" = "1"
195 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
196 register "reset_delay_ms" = "20"
197 register "reset_off_delay_ms" = "2"
198 register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
199 register "stop_delay_ms" = "280"
200 register "stop_off_delay_ms" = "2"
201 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
202 register "enable_delay_ms" = "1"
203 register "has_power_resource" = "1"
204 device i2c 10 on end
205 end
206 chip drivers/i2c/hid
207 register "generic.hid" = ""ELAN2513""
208 register "generic.desc" = ""ELAN Touchscreen""
209 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
210 register "generic.detect" = "1"
211 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
212 register "generic.reset_delay_ms" = "20"
213 register "generic.reset_off_delay_ms" = "2"
214 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
215 register "generic.stop_delay_ms" = "280"
216 register "generic.stop_off_delay_ms" = "2"
217 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
218 register "generic.enable_delay_ms" = "1"
219 register "generic.has_power_resource" = "1"
220 register "hid_desc_reg_offset" = "0x01"
221 device i2c 15 on end
222 end
223 chip drivers/i2c/hid
224 register "generic.hid" = ""GTCH7503""
225 register "generic.desc" = ""G2TOUCH Touchscreen""
226 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
227 register "generic.detect" = "1"
228 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
229 register "generic.reset_delay_ms" = "50"
230 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
231 register "generic.stop_delay_ms" = "30"
232 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
233 register "generic.enable_delay_ms" = "1"
234 register "generic.has_power_resource" = "1"
235 register "hid_desc_reg_offset" = "0x01"
236 device i2c 40 on end
237 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800238 chip drivers/i2c/hid
239 register "generic.hid" = ""GDIX0000""
240 register "generic.desc" = ""Goodix Touchscreen""
241 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Mark Hsiehaec6f062023-06-16 19:16:02 +0800242 register "generic.detect" = "1"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800243 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
244 register "generic.enable_delay_ms" = "20"
245 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
246 register "generic.reset_delay_ms" = "180"
247 register "generic.reset_off_delay_ms" = "3"
248 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
249 register "generic.stop_off_delay_ms" = "1"
250 register "generic.has_power_resource" = "1"
251 register "hid_desc_reg_offset" = "0x01"
Mark Hsiehf84f3e72022-07-27 21:20:30 +0800252 device i2c 0x14 on end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800253 end
254 end
255 device ref i2c3 on
256 chip drivers/i2c/generic
257 register "hid" = ""RTL5682""
258 register "name" = ""RT58""
259 register "desc" = ""Headset Codec""
260 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
261 # Set the jd_src to RT5668_JD1 for jack detection
262 register "property_count" = "1"
263 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
264 register "property_list[0].name" = ""realtek,jd-src""
265 register "property_list[0].integer" = "1"
266 device i2c 1a on end
267 end
268 end
269 device ref i2c5 on
270 chip drivers/i2c/generic
271 register "hid" = ""ELAN0000""
272 register "desc" = ""ELAN Touchpad""
273 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
274 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500275 register "detect" = "1"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800276 device i2c 15 on end
277 end
278 end
279 device ref hda on
280 chip drivers/generic/max98357a
281 register "hid" = ""MX98360A""
282 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
283 register "sdmode_delay" = "5"
284 device generic 0 on end
285 end
Matt DeVillier189da312023-09-08 20:57:55 -0500286 chip drivers/sof
287 register "spkr_tplg" = "max98360a"
288 register "jack_tplg" = "rt5682"
289 register "mic_tplg" = "_2ch_pdm0"
290 device generic 0 on end
291 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800292 end
293 device ref pcie_rp4 on
294 # PCIe 4 WLAN
295 register "pch_pcie_rp[PCH_RP(4)]" = "{
296 .clk_src = 2,
297 .clk_req = 2,
298 .flags = PCIE_RP_LTR | PCIE_RP_AER,
299 }"
300 chip drivers/wifi/generic
301 register "wake" = "GPE0_DW1_03"
Kapil Porwalda1a58a2022-11-23 19:17:35 +0530302 register "add_acpi_dma_property" = "true"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800303 device pci 00.0 on end
304 end
305 end
Mark Hsieh4b189842023-06-06 15:00:06 +0800306 device ref pcie_rp7 off end # PCIE7 no SD card
Mark Hsieh07046ca2023-06-12 16:26:54 +0800307 device ref emmc on end
Mark Hsieh7fb661f2023-06-12 17:47:07 +0800308 device ref ish on
309 chip drivers/intel/ish
310 register "add_acpi_dma_property" = "true"
311 device generic 0 on end
312 end
313 end
Mark Hsieh07046ca2023-06-12 16:26:54 +0800314 device ref ufs on end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800315 device ref pch_espi on
316 chip ec/google/chromeec
317 use conn0 as mux_conn[0]
318 use conn1 as mux_conn[1]
319 device pnp 0c09.0 on end
320 end
321 end
322 device ref pmc hidden
323 chip drivers/intel/pmc_mux
324 device generic 0 on
325 chip drivers/intel/pmc_mux/conn
326 use usb2_port1 as usb2_port
327 use tcss_usb3_port1 as usb3_port
328 device generic 0 alias conn0 on end
329 end
330 chip drivers/intel/pmc_mux/conn
331 use usb2_port2 as usb2_port
332 use tcss_usb3_port2 as usb3_port
333 device generic 1 alias conn1 on end
334 end
335 end
336 end
337 end
338 device ref tcss_xhci on
339 chip drivers/usb/acpi
340 device ref tcss_root_hub on
341 chip drivers/usb/acpi
342 register "desc" = ""USB3 Type-C Port C0 (MLB)""
343 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
344 register "use_custom_pld" = "true"
345 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
346 device ref tcss_usb3_port1 on end
347 end
348 chip drivers/usb/acpi
349 register "desc" = ""USB3 Type-C Port C1 (DB)""
350 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
351 register "use_custom_pld" = "true"
352 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Mark Hsieh2cd22632023-08-24 20:07:57 +0800353 device ref tcss_usb3_port2 on
354 probe DB_USB DB_1C
355 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800356 end
357 end
358 end
359 end
360 device ref xhci on
361 chip drivers/usb/acpi
362 device ref xhci_root_hub on
363 chip drivers/usb/acpi
364 register "desc" = ""USB2 Type-C Port C0 (MLB)""
365 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
366 register "use_custom_pld" = "true"
367 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
368 device ref usb2_port1 on end
369 end
370 chip drivers/usb/acpi
371 register "desc" = ""USB2 Type-C Port C1 (DB)""
372 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
373 register "use_custom_pld" = "true"
374 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Mark Hsieh2cd22632023-08-24 20:07:57 +0800375 device ref usb2_port2 on
376 probe DB_USB DB_1C
377 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800378 end
379 chip drivers/usb/acpi
380 register "desc" = ""USB2 Type-A Port A0 (MLB)""
381 register "type" = "UPC_TYPE_A"
382 register "use_custom_pld" = "true"
383 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
384 device ref usb2_port3 on end
385 end
386 chip drivers/usb/acpi
387 register "desc" = ""USB2 UFC""
388 register "type" = "UPC_TYPE_INTERNAL"
389 device ref usb2_port7 on end
390 end
391 chip drivers/usb/acpi
392 register "desc" = ""USB2 Bluetooth""
393 register "type" = "UPC_TYPE_INTERNAL"
394 register "reset_gpio" =
395 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
396 device ref usb2_port8 on end
397 end
398 chip drivers/usb/acpi
399 register "desc" = ""CNVi Bluetooth""
400 register "type" = "UPC_TYPE_INTERNAL"
401 register "reset_gpio" =
402 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
403 device ref usb2_port10 on end
404 end
405 chip drivers/usb/acpi
406 register "desc" = ""USB3 Type-A Port A0 (MLB)""
407 register "type" = "UPC_TYPE_USB3_A"
408 register "use_custom_pld" = "true"
409 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
410 device ref usb3_port1 on end
411 end
412 end
413 end
414 end
415 end
Mark Hsieh24f75542022-06-15 17:50:22 +0800416end