blob: 6df9b600f881b217bb56c88d07a5f491806a0b1a [file] [log] [blame]
John Suaf092ac2022-05-13 17:06:42 +08001fw_config
2 field DB_USB 0 2
3 option USB_ABSENT 0
4 option USB3_PS8815 1
5 end
6 field STYLUS 5
7 option STYLUS_ABSENT 0
8 option STYLUS_PRESENT 1
9 end
10 field AUDIO_AMP 7 9
11 option UNPROVISIONED 0
12 option MAX98360_ALC5682VS_I2S_2WAY 1
13 end
14end
15
John Su8ef91872022-04-21 15:53:10 +080016chip soc/intel/alderlake
John Suaf092ac2022-05-13 17:06:42 +080017 register "sagv" = "SaGv_Enabled"
John Su8ef91872022-04-21 15:53:10 +080018
John Suaf092ac2022-05-13 17:06:42 +080019 # FIVR configurations for brya are disabled since the board doesn't have V1p05 and Vnn
20 # bypass rails implemented.
21 register "ext_fivr_settings" = "{
22 .configure_ext_fivr = 1,
23 }"
John Su8ef91872022-04-21 15:53:10 +080024
John Suaf092ac2022-05-13 17:06:42 +080025 register "usb2_ports[0]" = "USB2_PORT_EMPTY"
26 register "usb2_ports[3]" = "USB2_PORT_EMPTY"
27 register "usb3_ports[3]" = "USB3_PORT_EMPTY"
28
29 register "tcss_ports[0]" = "TCSS_PORT_EMPTY"
30
31 register "serial_io_i2c_mode" = "{
32 [PchSerialIoIndexI2C0] = PchSerialIoPci,
33 [PchSerialIoIndexI2C1] = PchSerialIoPci,
34 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
35 [PchSerialIoIndexI2C3] = PchSerialIoPci,
36 [PchSerialIoIndexI2C4] = PchSerialIoDisabled,
37 [PchSerialIoIndexI2C5] = PchSerialIoPci,
38 }"
39
40 register "serial_io_gspi_mode" = "{
41 [PchSerialIoIndexGSPI0] = PchSerialIoDisabled,
42 [PchSerialIoIndexGSPI1] = PchSerialIoDisabled,
43 }"
44
45 # As per Intel Advisory doc#723158, the change is required to prevent possible
46 # display flickering issue.
47 register "usb2_phy_sus_pg_disable" = "1"
48
49 # Intel Common SoC Config
50 #+-------------------+---------------------------+
51 #| Field | Value |
52 #+-------------------+---------------------------+
53 #| I2C0 | Audio |
54 #| I2C1 | cr50 TPM. Early init is |
55 #| | required to set up a BAR |
56 #| | for TPM communication |
57 #| I2C3 | Touchscreen |
58 #| I2C5 | Trackpad |
59 #+-------------------+---------------------------+
60 register "common_soc_config" = "{
61 .i2c[0] = {
62 .speed = I2C_SPEED_FAST,
63 .rise_time_ns = 550,
64 .fall_time_ns = 400,
65 .data_hold_time_ns = 50,
66 },
67 .i2c[1] = {
68 .early_init = 1,
69 .speed = I2C_SPEED_FAST,
70 .rise_time_ns = 550,
71 .fall_time_ns = 400,
72 .data_hold_time_ns = 50,
73 },
74 .i2c[3] = {
75 .speed = I2C_SPEED_FAST,
76 .rise_time_ns = 550,
77 .fall_time_ns = 400,
78 .data_hold_time_ns = 50,
79 },
80 .i2c[5] = {
81 .speed = I2C_SPEED_FAST,
82 .rise_time_ns = 550,
83 .fall_time_ns = 400,
John Su153e5262022-09-28 10:25:30 +080084 .speed_config[0] = {
85 .speed = I2C_SPEED_FAST,
86 .scl_lcnt = 160,
87 .scl_hcnt = 70,
88 .sda_hold = 40,
89 }
John Suaf092ac2022-05-13 17:06:42 +080090 },
91 }"
92
93 device domain 0 on
Won Chung939d07e2023-07-31 22:39:35 +000094 device ref igpu on
95 chip drivers/gfx/generic
96 register "device_count" = "6"
97 # DDIA for eDP
98 register "device[0].name" = ""LCD""
Matt DeVilliercf29efa2024-01-16 18:46:20 -060099 # Internal panel on the first port of the graphics chip
100 register "device[0].addr" = "0x80010400"
Won Chung939d07e2023-07-31 22:39:35 +0000101 # DDIB for HDMI
102 register "device[1].name" = ""DD01""
103 # TCP0 (DP-1) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP0
104 register "device[2].name" = ""DD02""
105 # TCP1 (DP-2) for port C1
106 register "device[3].name" = ""DD03""
107 register "device[2].use_pld" = "true"
108 register "device[2].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(1, 1))"
109 # TCP2 (DP-3) for port C2
110 register "device[4].name" = ""DD04""
111 register "device[4].use_pld" = "true"
112 register "device[4].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(2, 1))"
113 # TCP3 (DP-4) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP3
114 register "device[5].name" = ""DD05""
115 device generic 0 on end
116 end
117 end # Integrated Graphics Device
John Suaf092ac2022-05-13 17:06:42 +0800118 device ref dtt on
119 chip drivers/intel/dptf
120 ## sensor information
121 register "options.tsr[0].desc" = ""DRAM_SOC""
122 register "options.tsr[1].desc" = ""Ambient""
123 register "options.tsr[2].desc" = ""Charger""
124
125 ## Active Policy
126 register "policies.active" = "{
127 [0] = {
128 .target = DPTF_TEMP_SENSOR_1,
129 .thresholds = {
130 TEMP_PCT(48, 76),
John Su1f52edb2022-06-01 17:17:09 +0800131 TEMP_PCT(40, 66),
132 TEMP_PCT(38, 53),
133 TEMP_PCT(36, 43),
134 TEMP_PCT(34, 39),
135 TEMP_PCT(32, 33),
John Suaf092ac2022-05-13 17:06:42 +0800136 }
137 }
138 }"
139
140 ## Passive Policy
141 register "policies.passive" = "{
142 [0] = DPTF_PASSIVE(CPU, CPU, 90, 5000),
143 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 70, 5000),
144 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 60, 5000),
145 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 70, 5000),
146 }"
147
148 ## Critical Policy
149 register "policies.critical" = "{
150 [0] = DPTF_CRITICAL(TEMP_SENSOR_0, 80, SHUTDOWN),
151 [1] = DPTF_CRITICAL(TEMP_SENSOR_1, 70, SHUTDOWN),
152 [2] = DPTF_CRITICAL(TEMP_SENSOR_2, 80, SHUTDOWN),
153 }"
154
155 register "controls.power_limits" = "{
156 .pl1 = {
157 .min_power = 13000,
158 .max_power = 15000,
159 .time_window_min = 28 * MSECS_PER_SEC,
160 .time_window_max = 28 * MSECS_PER_SEC,
161 .granularity = 200,
162 },
163 .pl2 = {
164 .min_power = 55000,
165 .max_power = 55000,
166 .time_window_min = 32 * MSECS_PER_SEC,
167 .time_window_max = 32 * MSECS_PER_SEC,
168 .granularity = 1000,
169 }
170 }"
171
172 ## Charger Performance Control (Control, mA)
173 register "controls.charger_perf" = "{
174 [0] = { 255, 1700 },
175 [1] = { 24, 1500 },
176 [2] = { 16, 1000 },
177 [3] = { 8, 500 }
178 }"
179
180 ## Fan Performance Control (Percent, Speed, Noise, Power)
181 register "controls.fan_perf" = "{
182 [0] = { 90, 6700, 220, 2200, },
183 [1] = { 80, 5800, 180, 1800, },
184 [2] = { 70, 5000, 145, 1450, },
185 [3] = { 60, 4900, 115, 1150, },
186 [4] = { 50, 3838, 90, 900, },
187 [5] = { 40, 2904, 55, 550, },
188 [6] = { 30, 2337, 30, 300, },
189 [7] = { 20, 1608, 15, 150, },
190 [8] = { 10, 800, 10, 100, },
191 [9] = { 0, 0, 0, 50, }
192 }"
193
194 ## Fan options
195 register "options.fan.fine_grained_control" = "1"
196 register "options.fan.step_size" = "2"
197
198 device generic 0 alias dptf_policy on end
199 end
200 end
201 device ref tbt_pcie_rp0 off end
202 device ref tbt_pcie_rp1 off end
203 device ref tbt_pcie_rp2 off end
204 device ref cnvi_wifi on
205 chip drivers/wifi/generic
206 register "wake" = "GPE0_PME_B0"
207 device generic 0 on end
208 end
209 end
210 device ref tcss_dma0 off end
211 device ref tcss_dma1 off end
212 device ref pcie_rp6 off end
213 device ref pcie_rp8 on
214 chip soc/intel/common/block/pcie/rtd3
215 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
216 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
217 register "srcclk_pin" = "3"
218 device generic 0 on end
219 end
220 end #PCIE8 SD card
221 device ref i2c0 on
222 chip drivers/i2c/generic
223 register "hid" = ""RTL5682""
224 register "name" = ""RT58""
225 register "desc" = ""Headset Codec""
226 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
227 # Set the jd_src to RT5668_JD1 for jack detection
228 register "property_count" = "1"
229 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
230 register "property_list[0].name" = ""realtek,jd-src""
231 register "property_list[0].integer" = "1"
232 device i2c 1a on
233 probe AUDIO_AMP MAX98360_ALC5682VS_I2S_2WAY
234 end
235 end
236 end #I2C0
237 device ref i2c1 on
238 chip drivers/i2c/tpm
239 register "hid" = ""GOOG0005""
240 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
241 device i2c 50 on end
242 end
243 end #I2C1
244 device ref i2c3 on
245 chip drivers/i2c/hid
246 register "generic.hid" = ""ELAN9008""
247 register "generic.desc" = ""ELAN Touchscreen""
248 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500249 register "generic.detect" = "1"
John Suaf092ac2022-05-13 17:06:42 +0800250 register "generic.reset_gpio" =
251 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
252 register "generic.reset_delay_ms" = "300"
253 register "generic.reset_off_delay_ms" = "1"
254 register "generic.enable_gpio" =
255 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
256 register "generic.enable_delay_ms" = "6"
257 register "generic.stop_gpio" =
258 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
259 register "generic.stop_off_delay_ms" = "1"
260 register "generic.has_power_resource" = "1"
John Suaf092ac2022-05-13 17:06:42 +0800261 register "hid_desc_reg_offset" = "0x01"
262 device i2c 10 on end
263 end
264 chip drivers/generic/gpio_keys
265 register "name" = ""PENH""
266 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_A7)"
267 register "key.wake_gpe" = "GPE0_DW0_08"
268 register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
269 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
270 register "key.dev_name" = ""EJCT""
271 register "key.linux_code" = "SW_PEN_INSERTED"
272 register "key.linux_input_type" = "EV_SW"
273 register "key.label" = ""pen_eject""
274 device generic 0 on
275 probe STYLUS STYLUS_PRESENT
276 end
277 end
278 end #I2C3
279 device ref i2c5 on
280 chip drivers/i2c/generic
281 register "hid" = ""ELAN0000""
282 register "desc" = ""ELAN Touchpad""
283 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
284 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500285 register "detect" = "1"
John Suaf092ac2022-05-13 17:06:42 +0800286 device i2c 15 on end
287 end
288 end #I2C5
289 device ref hda on
290 chip drivers/generic/max98357a
291 register "hid" = ""MX98360A""
292 register "sdmode_gpio" =
293 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
294 register "sdmode_delay" = "5"
295 device generic 0 on end
296 end
297 end
298 device ref pch_espi on
299 chip ec/google/chromeec
300 use conn1 as mux_conn[1]
301 use conn2 as mux_conn[0]
302 device pnp 0c09.0 on end
303 end
304 end
305 device ref pmc hidden
306 chip drivers/intel/pmc_mux
307 device generic 0 on
308 chip drivers/intel/pmc_mux/conn
John Suaf092ac2022-05-13 17:06:42 +0800309 use usb2_port3 as usb2_port
310 use tcss_usb3_port3 as usb3_port
311 device generic 2 alias conn2 on end
312 end
John Su8279f6e2022-05-27 17:09:45 +0800313 chip drivers/intel/pmc_mux/conn
314 use usb2_port2 as usb2_port
315 use tcss_usb3_port2 as usb3_port
316 device generic 1 alias conn1 on end
317 end
John Suaf092ac2022-05-13 17:06:42 +0800318 end
319 end
320 end
321 device ref tcss_xhci on
322 chip drivers/usb/acpi
323 device ref tcss_root_hub on
324 chip drivers/usb/acpi
325 register "desc" = ""USB3 Type-C Port C1 (DB)""
326 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
327 register "use_custom_pld" = "true"
328 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(1, 1))"
Ron Lee558952a2022-12-13 19:48:59 +0800329 register "usb_lpm_incapable" = "true"
John Suaf092ac2022-05-13 17:06:42 +0800330 device ref tcss_usb3_port2 on end
331 end
332 chip drivers/usb/acpi
333 register "desc" = ""USB3 Type-C Port C2 (MLB)""
334 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
335 register "use_custom_pld" = "true"
336 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(2, 1))"
337 device ref tcss_usb3_port3 on end
338 end
339 end
340 end
341 end
342 device ref xhci on
343 chip drivers/usb/acpi
344 device ref xhci_root_hub on
345 chip drivers/usb/acpi
346 register "desc" = ""USB2 Type-C Port C1 (DB)""
347 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
348 register "use_custom_pld" = "true"
349 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(1, 1))"
350 device ref usb2_port2 on end
351 end
352 chip drivers/usb/acpi
353 register "desc" = ""USB2 Type-C Port C2 (MLB)""
354 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
355 register "use_custom_pld" = "true"
356 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(2, 1))"
357 device ref usb2_port3 on end
358 end
359 chip drivers/usb/acpi
360 register "desc" = ""USB2 Camera""
361 register "type" = "UPC_TYPE_INTERNAL"
362 device ref usb2_port6 on end
363 end
364 chip drivers/usb/acpi
365 register "desc" = ""USB2 Type-A Port A0 (DB)""
366 register "type" = "UPC_TYPE_A"
367 register "use_custom_pld" = "true"
368 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
369 device ref usb2_port9 on end
370 end
371 chip drivers/usb/acpi
372 register "desc" = ""USB2 Bluetooth""
373 register "type" = "UPC_TYPE_INTERNAL"
374 register "reset_gpio" =
375 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
376 device ref usb2_port10 on end
377 end
378 chip drivers/usb/acpi
379 register "desc" = ""USB3 Type-A Port A0 (DB)""
380 register "type" = "UPC_TYPE_USB3_A"
381 register "use_custom_pld" = "true"
382 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
383 device ref usb3_port1 on end
384 end
385 end
386 end
387 end
388 end
John Su8ef91872022-04-21 15:53:10 +0800389end