blob: d8d2efb3e471e72dbbc30cbc18647aa292f9748c [file] [log] [blame]
Van Chenbbb6d5d2023-11-20 12:05:20 +08001fw_config
2 field THERMAL_SOLUTION 0 0
3 option THERMAL_SOLUTION_6W 0
4 option THERMAL_SOLUTION_15W 1
5 end
6end
7
Rex Chou50d3a642023-07-11 13:26:08 +08008chip soc/intel/alderlake
Rex Chouf232b192023-07-21 15:40:34 +08009 register "sagv" = "SaGv_Enabled"
Rex Chou50d3a642023-07-11 13:26:08 +080010
Rex Chouf232b192023-07-21 15:40:34 +080011 # Bit 0 - C0 has no redriver, so enable SBU muxing in the SoC.
12 # Bit 2 - C1 has a redriver which does SBU muxing.
13 # Bit 1,3 - AUX lines are not swapped on the motherboard for either C0 or C1.
14 register "tcss_aux_ori" = "1"
15
16 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
17
Rex Chou684eca72023-08-04 15:29:59 +080018 # Configure external V1P05/Vnn/VnnSx Rails
19 register "ext_fivr_settings" = "{
20 .configure_ext_fivr = 1,
21 .v1p05_enable_bitmap = FIVR_ENABLE_ALL_SX & ~FIVR_ENABLE_S0,
22 .vnn_enable_bitmap = FIVR_ENABLE_ALL_SX,
23 .vnn_sx_enable_bitmap = FIVR_ENABLE_ALL_SX,
24 .v1p05_supported_voltage_bitmap = FIVR_VOLTAGE_NORMAL,
25 .vnn_supported_voltage_bitmap = FIVR_VOLTAGE_MIN_ACTIVE,
26 .v1p05_voltage_mv = 1050,
27 .vnn_voltage_mv = 780,
28 .vnn_sx_voltage_mv = 1050,
29 .v1p05_icc_max_ma = 500,
30 .vnn_icc_max_ma = 500,
31 }"
32
Rex Chou24502f42023-10-06 13:25:02 +080033 register "serial_io_i2c_mode" = "{
34 [PchSerialIoIndexI2C0] = PchSerialIoPci,
35 [PchSerialIoIndexI2C1] = PchSerialIoPci,
36 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
37 [PchSerialIoIndexI2C3] = PchSerialIoPci,
38 [PchSerialIoIndexI2C4] = PchSerialIoDisabled,
39 [PchSerialIoIndexI2C5] = PchSerialIoPci,
40 }"
41
Rex Chouf232b192023-07-21 15:40:34 +080042 # Intel Common SoC Config
43 #+-------------------+---------------------------+
44 #| Field | Value |
45 #+-------------------+---------------------------+
46 #| I2C0 | TPM. Early init is |
47 #| | required to set up a BAR |
48 #| | for TPM communication |
49 #| I2C1 | Touchscreen |
Rex Chouf232b192023-07-21 15:40:34 +080050 #| I2C3 | Audio |
51 #| I2C5 | Trackpad |
52 #+-------------------+---------------------------+
53 register "common_soc_config" = "{
54 .i2c[0] = {
55 .early_init = 1,
56 .speed = I2C_SPEED_FAST_PLUS,
57 .speed_config[0] = {
58 .speed = I2C_SPEED_FAST_PLUS,
59 .scl_lcnt = 55,
60 .scl_hcnt = 30,
61 .sda_hold = 7,
62 }
63 },
64 .i2c[1] = {
65 .speed = I2C_SPEED_FAST,
66 .speed_config[0] = {
67 .speed = I2C_SPEED_FAST,
68 .scl_lcnt = 158,
69 .scl_hcnt = 79,
70 .sda_hold = 7,
71 }
72 },
Rex Chouf232b192023-07-21 15:40:34 +080073 .i2c[3] = {
74 .speed = I2C_SPEED_FAST,
75 .speed_config[0] = {
76 .speed = I2C_SPEED_FAST,
77 .scl_lcnt = 158,
78 .scl_hcnt = 79,
79 .sda_hold = 7,
80 }
81 },
82 .i2c[5] = {
83 .speed = I2C_SPEED_FAST,
84 .speed_config[0] = {
85 .speed = I2C_SPEED_FAST,
86 .scl_lcnt = 158,
87 .scl_hcnt = 79,
88 .sda_hold = 7,
89 }
90 },
91 }"
92
93 register "usb2_ports[1]" = "USB2_PORT_EMPTY" # Disable USB2 Port 2
94 register "usb2_ports[4]" = "USB2_PORT_EMPTY" # Disable USB2 Port 5
95 register "usb2_ports[6]" = "USB2_PORT_EMPTY" # Disable USB2 Port 7
96 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
97 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
98
Van Chen8c77e582023-07-24 15:14:16 +080099 register "tcc_offset" = "8"
100
Rex Chouf232b192023-07-21 15:40:34 +0800101 device domain 0 on
Van Chen8c77e582023-07-24 15:14:16 +0800102 device ref dtt on
103 chip drivers/intel/dptf
104 ## sensor information
105 register "options.tsr[0].desc" = ""DDR""
106 register "options.tsr[1].desc" = ""charger""
107 register "options.tsr[2].desc" = ""ambient""
108
Van Chenbbb6d5d2023-11-20 12:05:20 +0800109 ## Active Policy
110 register "policies.active" = "{
111 [0] = {
112 .target = DPTF_CPU,
113 .thresholds = {
114 TEMP_PCT(0, 0),
115 TEMP_PCT(35, 27),
116 TEMP_PCT(38, 31),
117 TEMP_PCT(39, 35),
118 TEMP_PCT(42, 41),
119 TEMP_PCT(60, 47),
120 TEMP_PCT(70, 100),
121 }
122 }
123 }"
124
Van Chen8c77e582023-07-24 15:14:16 +0800125 ## Passive Policy
126 register "policies.passive" = "{
127 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
128 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 70, 5000),
129 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 70, 5000),
130 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 70, 5000),
131 }"
132
133 ## Critical Policy
134 register "policies.critical" = "{
135 [0] = DPTF_CRITICAL(CPU, 100, SHUTDOWN),
136 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 95, SHUTDOWN),
137 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 95, SHUTDOWN),
138 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 95, SHUTDOWN),
139 }"
140
141 register "controls.power_limits" = "{
142 .pl1 = {
Van Chenbbb6d5d2023-11-20 12:05:20 +0800143 .min_power = 6000,
144 .max_power = 20000,
Van Chen8c77e582023-07-24 15:14:16 +0800145 .time_window_min = 28 * MSECS_PER_SEC,
146 .time_window_max = 28 * MSECS_PER_SEC,
147 .granularity = 500
148 },
149 .pl2 = {
150 .min_power = 25000,
151 .max_power = 25000,
152 .time_window_min = 32 * MSECS_PER_SEC,
153 .time_window_max = 32 * MSECS_PER_SEC,
154 .granularity = 500
155 }
156 }"
157
158 ## Charger Performance Control (Control, mA)
159 register "controls.charger_perf" = "{
160 [0] = { 255, 1700 },
161 [1] = { 24, 1500 },
162 [2] = { 16, 1000 },
163 [3] = { 8, 500 }
164 }"
Van Chenbbb6d5d2023-11-20 12:05:20 +0800165 device generic 0 on
166 probe THERMAL_SOLUTION THERMAL_SOLUTION_6W
167 end
168 end
169 chip drivers/intel/dptf
170 ## sensor information
171 register "options.tsr[0].desc" = ""DDR""
172 register "options.tsr[1].desc" = ""charger""
173 register "options.tsr[2].desc" = ""ambient""
174
175 ## Active Policy
176 register "policies.active" = "{
177 [0] = {
178 .target = DPTF_CPU,
179 .thresholds = {
180 TEMP_PCT(0, 0),
181 TEMP_PCT(35, 27),
182 TEMP_PCT(38, 31),
183 TEMP_PCT(39, 35),
184 TEMP_PCT(42, 41),
185 TEMP_PCT(60, 47),
186 TEMP_PCT(70, 100),
187 }
188 }
189 }"
190
191 ## Passive Policy
192 register "policies.passive" = "{
193 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
194 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 70, 5000),
195 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 70, 5000),
196 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 70, 5000),
197 }"
198
199 ## Critical Policy
200 register "policies.critical" = "{
201 [0] = DPTF_CRITICAL(CPU, 100, SHUTDOWN),
202 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 95, SHUTDOWN),
203 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 95, SHUTDOWN),
204 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 95, SHUTDOWN),
205 }"
206
207 register "controls.power_limits" = "{
208 .pl1 = {
209 .min_power = 15000,
210 .max_power = 20000,
211 .time_window_min = 28 * MSECS_PER_SEC,
212 .time_window_max = 28 * MSECS_PER_SEC,
213 .granularity = 500
214 },
215 .pl2 = {
216 .min_power = 35000,
217 .max_power = 35000,
218 .time_window_min = 32 * MSECS_PER_SEC,
219 .time_window_max = 32 * MSECS_PER_SEC,
220 .granularity = 500
221 }
222 }"
223
224 ## Charger Performance Control (Control, mA)
225 register "controls.charger_perf" = "{
226 [0] = { 255, 1700 },
227 [1] = { 24, 1500 },
228 [2] = { 16, 1000 },
229 [3] = { 8, 500 }
230 }"
231 device generic 1 on
232 probe THERMAL_SOLUTION THERMAL_SOLUTION_15W
233 end
Van Chen8c77e582023-07-24 15:14:16 +0800234 end
235 end
Rex Chouf232b192023-07-21 15:40:34 +0800236 device ref i2c1 on
237 chip drivers/i2c/hid
238 register "generic.hid" = ""ELAN9004""
239 register "generic.desc" = ""ELAN Touchscreen""
240 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Rex Chou69892ee2023-10-13 15:15:55 +0800241 register "generic.detect" = "1"
Rex Chouf232b192023-07-21 15:40:34 +0800242 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
243 register "generic.reset_delay_ms" = "20"
244 register "generic.reset_off_delay_ms" = "2"
245 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
Rex Choud5ed8882024-01-15 14:49:20 +0800246 register "generic.enable_delay_ms" = "6"
Rex Chouf232b192023-07-21 15:40:34 +0800247 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
248 register "generic.stop_delay_ms" = "150"
249 register "generic.stop_off_delay_ms" = "2"
250 register "generic.has_power_resource" = "1"
251 register "hid_desc_reg_offset" = "0x01"
252 device i2c 10 on end
253 end
254 end #I2C1
255 device ref i2c3 on
256 chip drivers/i2c/generic
257 register "hid" = ""10EC5650""
258 register "name" = ""RT58""
259 register "desc" = ""Realtek RT5650""
260 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
261 register "property_count" = "1"
262 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
263 register "property_list[0].name" = ""realtek,jd-mode""
264 register "property_list[0].integer" = "2"
265 device i2c 1a on end
266 end
267 end #I2C3
268 device ref i2c5 on
269 chip drivers/i2c/generic
270 register "hid" = ""ELAN0000""
271 register "desc" = ""ELAN Touchpad""
272 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
273 register "wake" = "GPE0_DW2_14"
274 register "detect" = "1"
275 device i2c 15 on end
276 end
277 chip drivers/i2c/hid
278 register "generic.hid" = ""SYNA0000""
279 register "generic.cid" = ""ACPI0C50""
280 register "generic.desc" = ""Synaptics Touchpad""
281 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
282 register "generic.wake" = "GPE0_DW2_14"
283 register "generic.detect" = "1"
284 register "hid_desc_reg_offset" = "0x20"
285 device i2c 2c on end
286 end
Ian Feng2fb19282024-01-10 11:26:33 +0800287 chip drivers/i2c/hid
288 register "generic.hid" = ""PIXA2303""
289 register "generic.desc" = ""PIXA Touchpad""
290 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
291 register "generic.wake" = "GPE0_DW2_14"
292 register "generic.detect" = "1"
293 register "hid_desc_reg_offset" = "0x20"
294 device i2c 0x68 on end
295 end
Rex Chouf232b192023-07-21 15:40:34 +0800296 end
297 device ref pcie_rp7 off end
Rex Chou3c839952023-10-31 15:01:28 +0800298 device ref emmc on end
299 device ref ish on
300 chip drivers/intel/ish
301 register "add_acpi_dma_property" = "true"
302 device generic 0 on end
303 end
304 end
305 device ref ufs on end
Rex Chouf232b192023-07-21 15:40:34 +0800306 device ref cnvi_wifi on
307 chip drivers/wifi/generic
308 register "wake" = "GPE0_PME_B0"
309 register "enable_cnvi_ddr_rfim" = "true"
310 register "add_acpi_dma_property" = "true"
311 device generic 0 on end
312 end
313 end
314 device ref pch_espi on
315 chip ec/google/chromeec
316 use conn0 as mux_conn[0]
317 device pnp 0c09.0 on end
318 end
319 end
320 device ref pmc hidden
321 chip drivers/intel/pmc_mux
322 device generic 0 on
323 chip drivers/intel/pmc_mux/conn
324 use usb2_port1 as usb2_port
325 use tcss_usb3_port1 as usb3_port
326 device generic 0 alias conn0 on end
327 end
328 end
329 end
330 end
331 device ref tcss_xhci on
332 chip drivers/usb/acpi
333 device ref tcss_root_hub on
334 chip drivers/usb/acpi
335 register "desc" = ""USB3 Type-C Port C0 (MLB)""
336 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
337 register "use_custom_pld" = "true"
338 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
339 device ref tcss_usb3_port1 on end
340 end
341 end
342 end
343 end
344 device ref xhci on
345 chip drivers/usb/acpi
346 device ref xhci_root_hub on
347 chip drivers/usb/acpi
348 register "desc" = ""USB2 Type-C Port C0 (MLB)""
349 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
350 register "use_custom_pld" = "true"
351 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
352 device ref usb2_port1 on end
353 end
354 chip drivers/usb/acpi
355 register "desc" = ""USB2 Type-A Port A0 (DB)""
356 register "type" = "UPC_TYPE_A"
357 register "use_custom_pld" = "true"
358 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
359 device ref usb2_port3 on end
360 end
361 chip drivers/usb/acpi
362 register "desc" = ""USB2 Type-A Port A1 (DB)""
363 register "type" = "UPC_TYPE_A"
364 register "use_custom_pld" = "true"
365 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
366 device ref usb2_port4 on end
367 end
368 chip drivers/usb/acpi
369 register "desc" = ""USB2 Camera""
370 register "type" = "UPC_TYPE_INTERNAL"
371 device ref usb2_port6 on end
372 end
373 chip drivers/usb/acpi
374 register "desc" = ""USB2 Bluetooth""
375 register "type" = "UPC_TYPE_INTERNAL"
376 register "reset_gpio" =
377 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
378 device ref usb2_port8 on end
379 end
380 chip drivers/usb/acpi
381 register "desc" = ""USB2 Bluetooth""
382 register "type" = "UPC_TYPE_INTERNAL"
383 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
384 device ref usb2_port10 on end
385 end
386 chip drivers/usb/acpi
387 register "desc" = ""USB3 Type-A Port A0 (MLB)""
388 register "type" = "UPC_TYPE_USB3_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 usb3_port1 on end
392 end
393 chip drivers/usb/acpi
394 register "desc" = ""USB3 Type-A Port A1 (DB)""
395 register "type" = "UPC_TYPE_USB3_A"
396 register "use_custom_pld" = "true"
397 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
398 device ref usb3_port2 on end
399 end
400 end
401 end
402 end
Matt DeVillier189da312023-09-08 20:57:55 -0500403 device ref hda on
404 chip drivers/sof
405 register "spkr_tplg" = "rt5650_sp"
406 register "jack_tplg" = "rt5650_hp"
407 register "mic_tplg" = "_2ch_pdm0"
408 device generic 0 on end
409 end
410 end
411 end
Rex Chou50d3a642023-07-11 13:26:08 +0800412
413end