blob: 793a46d7c511b62efc6879dac3af0d01f0705663 [file] [log] [blame]
Tyler Wang3c4346f2023-08-15 11:11:00 +08001fw_config
2 field AUDIO 0 3
3 option AUDIO_UNKNOWN 0
4 option MAX98360_ALC5682I_I2S 1
5 option MAX98363_CS42L42_SNDW 2
6 end
7 field CELLULAR 4 5
8 option CELLULAR_ABSENT 0
9 option CELLULAR_USB 1
10 option CELLULAR_PCIE 2
11 end
12 field UFC 6 7
13 option UFC_USB 0
14 option UFC_MIPI 1
15 end
16 field WFC 8 9
17 option WFC_USB 0
18 option WFC_MIPI 1
19 end
20 field DB_SD 10 11
21 option SD_ABSENT 0
22 option SD_GL9755S 1
23 end
24 field DB_USB 12 14
25 option USB_UNKNOWN 0
26 option USB3_PS8815 1
27 option USB4_KB8010 2
28 option USB4_ANX7452 3
29 option USB4_HAYDEN_BRIDGE 4
30 option USB4_ANX7452_V2 5
31 end
32 field FP 15
33 option FP_PRESENT 0
34 option FP_ABSENT 1
35 end
36 field UWB 16 17
37 option UWB_ABSENT 0
38 option UWB_BITBANG 1
39 option UWB_GSPI1 2
40 end
41 field WIFI 18
42 option WIFI_CNVI 0
43 option WIFI_PCIE 1
44 end
45 field TOUCHSCREEN 19
46 option TOUCHSCREEN_I2C 0
47 option TOUCHSCREEN_I2C_SPI 1
48 end
49 field VPU 20
50 option VPU_DIS 0
51 option VPU_EN 1
52 end
53 field ISH 21
54 option ISH_DISABLE 0
55 option ISH_ENABLE 1
56 end
57end
58
Tyler Wang4ce6ef92023-05-31 17:08:05 +080059chip soc/intel/meteorlake
60
Tyler Wang3c4346f2023-08-15 11:11:00 +080061 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1
62 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC0)" # USB2_C0
63 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WWAN
64 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Camera
65 register "usb2_ports[8]" = "USB2_PORT_MID(OC3)" # Type-A Port A0
66 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Bluetooth
Tyler Wang4ce6ef92023-05-31 17:08:05 +080067
Tyler Wang3c4346f2023-08-15 11:11:00 +080068 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC3)" # USB3/2 Type A port A0
69 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3 port for WWAN
70
71 register "tcss_ports[0]" = "TCSS_PORT_DEFAULT(OC0)"
72 register "tcss_ports[2]" = "TCSS_PORT_DEFAULT(OC_SKIP)"
73
74 # Enable eDP in Port A
75 register "ddi_port_A_config" = "1"
76 # Enable HDMI in Port B
77 register "ddi_port_B_config" = "0"
78
79 # Enable Display Port Configuration
80 register "ddi_ports_config" = "{
81 [DDI_PORT_A] = DDI_ENABLE_HPD,
82 [DDI_PORT_B] = DDI_ENABLE_HPD | DDI_ENABLE_DDC,
83 [DDI_PORT_1] = DDI_ENABLE_HPD,
84 [DDI_PORT_2] = DDI_ENABLE_HPD,
85 [DDI_PORT_3] = DDI_ENABLE_HPD,
86 [DDI_PORT_4] = DDI_ENABLE_HPD,
87 }"
88
89 register "serial_io_gspi_mode" = "{
90 [PchSerialIoIndexGSPI0] = PchSerialIoPci,
91 [PchSerialIoIndexGSPI1] = PchSerialIoPci,
92 [PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
93 }"
94
95 register "serial_io_i2c_mode" = "{
96 [PchSerialIoIndexI2C0] = PchSerialIoPci,
97 [PchSerialIoIndexI2C1] = PchSerialIoPci,
98 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
99 [PchSerialIoIndexI2C3] = PchSerialIoPci,
100 [PchSerialIoIndexI2C4] = PchSerialIoPci,
101 [PchSerialIoIndexI2C5] = PchSerialIoPci,
102 }"
103
104 # Intel Common SoC Config
105 #+-------------------+---------------------------+
106 #| Field | Value |
107 #+-------------------+---------------------------+
108 #| I2C0 | Audio and WFC |
109 #| I2C1 | Touchscreen |
110 #| I2C3 | Touchpad |
111 #| I2C4 | cr50 TPM. Early init is |
112 #| | required to set up a BAR |
113 #| | for TPM communication |
114 #| I2C5 | UFC, SAR1, SAR2, HPS |
115 #+-------------------+---------------------------+
116 register "common_soc_config" = "{
117 .i2c[0] = {
118 .speed = I2C_SPEED_FAST,
119 .rise_time_ns = 400,
120 .fall_time_ns = 350,
121 .data_hold_time_ns = 50,
122 },
123 .i2c[1] = {
124 .speed = I2C_SPEED_FAST,
125 .rise_time_ns = 600,
126 .fall_time_ns = 400,
127 .data_hold_time_ns = 50,
128 },
129 .i2c[3] = {
130 .speed = I2C_SPEED_FAST,
131 .rise_time_ns = 600,
132 .fall_time_ns = 400,
133 .data_hold_time_ns = 50,
134 },
135 .i2c[4] = {
136 .early_init = 1,
137 .speed = I2C_SPEED_FAST,
138 .rise_time_ns = 550,
139 .fall_time_ns = 400,
140 .data_hold_time_ns = 50,
141 },
142 .i2c[5] = {
143 .speed = I2C_SPEED_FAST,
144 .rise_time_ns = 900,
145 .fall_time_ns = 400,
146 .data_hold_time_ns = 50,
147 },
148 }"
149
150 device domain 0 on
151 device ref igpu on
152 chip drivers/gfx/generic
153 register "device_count" = "6"
154 # DDIA for eDP
155 register "device[0].name" = ""LCD""
156 # DDIB for HDMI
157 register "device[1].name" = ""DD01""
158 # TCP0 (DP-1) for port C0
159 register "device[2].name" = ""DD02""
160 register "device[2].use_pld" = "true"
161 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
162 # TCP1 (DP-2) unused
163 register "device[3].name" = ""DD03""
164 # TCP2 (DP-3) for port C1
165 register "device[4].name" = ""DD04""
166 register "device[4].use_pld" = "true"
167 register "device[4].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
168 # TCP3 (DP-4) unused
169 register "device[5].name" = ""DD05""
170 device generic 0 on end
171 end
172 end # Integrated Graphics Device
173 device ref dtt on
174 chip drivers/intel/dptf
175 ## sensor information
176 register "options.tsr[0].desc" = ""DDR_SOC""
177 register "options.tsr[1].desc" = ""Ambient""
178 register "options.tsr[2].desc" = ""Charger""
179 register "options.tsr[3].desc" = ""wwan""
180
181 ## Active Policy
182 # FIXME: below values are initial reference values only
183 register "policies.active" = "{
184 [0] = {
185 .target = DPTF_TEMP_SENSOR_0,
186 .thresholds = {
187 TEMP_PCT(75, 90),
188 TEMP_PCT(70, 80),
189 TEMP_PCT(65, 70),
190 TEMP_PCT(60, 60),
191 TEMP_PCT(55, 50),
192 TEMP_PCT(50, 40),
193 TEMP_PCT(45, 30),
194 }
195 },
196 [1] = {
197 .target = DPTF_TEMP_SENSOR_1,
198 .thresholds = {
199 TEMP_PCT(75, 90),
200 TEMP_PCT(70, 80),
201 TEMP_PCT(65, 70),
202 TEMP_PCT(60, 60),
203 TEMP_PCT(55, 50),
204 TEMP_PCT(50, 40),
205 TEMP_PCT(45, 30),
206 }
207 },
208 [2] = {
209 .target = DPTF_TEMP_SENSOR_2,
210 .thresholds = {
211 TEMP_PCT(75, 90),
212 TEMP_PCT(70, 80),
213 TEMP_PCT(65, 70),
214 TEMP_PCT(60, 50),
215 }
216 },
217 [3] = {
218 .target = DPTF_TEMP_SENSOR_3,
219 .thresholds = {
220 TEMP_PCT(75, 90),
221 TEMP_PCT(70, 80),
222 TEMP_PCT(65, 70),
223 TEMP_PCT(60, 60),
224 TEMP_PCT(55, 50),
225 TEMP_PCT(50, 40),
226 TEMP_PCT(45, 30),
227 }
228 }
229 }"
230
231 ## Passive Policy
232 # TODO: below values are initial reference values only
233 register "policies.passive" = "{
234 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
235 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 5000),
236 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 80, 5000),
237 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
238 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 80, 5000),
239 }"
240
241 ## Critical Policy
242 # TODO: below values are initial reference values only
243 register "policies.critical" = "{
244 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
245 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
246 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
247 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
248 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 85, SHUTDOWN),
249 }"
250
251 ## Power Limits Control
252 register "controls.power_limits" = "{
253 .pl1 = {
254 .min_power = 15000,
255 .max_power = 15000,
256 .time_window_min = 28 * MSECS_PER_SEC,
257 .time_window_max = 32 * MSECS_PER_SEC,
258 .granularity = 200,
259 },
260 .pl2 = {
261 .min_power = 57000,
262 .max_power = 57000,
263 .time_window_min = 28 * MSECS_PER_SEC,
264 .time_window_max = 32 * MSECS_PER_SEC,
265 .granularity = 1000,
266 }
267 }"
268
269 ## Charger Performance Control (Control, mA)
270 register "controls.charger_perf" = "{
271 [0] = { 255, 3000 },
272 [1] = { 24, 1500 },
273 [2] = { 16, 1000 },
274 [3] = { 8, 500 }
275 }"
276
277 ## Fan Performance Control (Percent, Speed, Noise, Power)
278 register "controls.fan_perf" = "{
279 [0] = { 90, 6700, 220, 2200, },
280 [1] = { 80, 5800, 180, 1800, },
281 [2] = { 70, 5000, 145, 1450, },
282 [3] = { 60, 4900, 115, 1150, },
283 [4] = { 50, 3838, 90, 900, },
284 [5] = { 40, 2904, 55, 550, },
285 [6] = { 30, 2337, 30, 300, },
286 [7] = { 20, 1608, 15, 150, },
287 [8] = { 10, 800, 10, 100, },
288 [9] = { 0, 0, 0, 50, }
289 }"
290
291 ## Fan options
292 register "options.fan.fine_grained_control" = "1"
293 register "options.fan.step_size" = "2"
294
295 device generic 0 alias dptf_policy on end
296 end
297 end
298 device ref pcie_rp9 on
299 # Enable SSD Card PCIE 9 using clk 4
300 register "pcie_rp[PCH_RP(9)]" = "{
301 .clk_src = 4,
302 .clk_req = 4,
303 .flags = PCIE_RP_LTR | PCIE_RP_AER,
304 }"
305 end #PCIE9 SSD card
306 device ref ish on
307 probe ISH ISH_ENABLE
308 chip drivers/intel/ish
309 register "firmware_name" = ""rex_ish.bin""
310 device generic 0 on end
311 end
312 end
313 device ref tbt_pcie_rp0 on end
314 device ref tbt_pcie_rp2 on end
315 device ref vpu on
316 probe VPU VPU_EN
317 end
318 device ref tcss_xhci on
319 chip drivers/usb/acpi
320 device ref tcss_root_hub on
321 chip drivers/usb/acpi
322 register "desc" = ""USB3 Type-C Port C0 (MLB)""
323 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
324 register "use_custom_pld" = "true"
325 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
326 device ref tcss_usb3_port0 on end
327 end
328 chip drivers/usb/acpi
329 register "desc" = ""USB3 Type-C Port C1 (DB)""
330 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
331 register "use_custom_pld" = "true"
332 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
333 device ref tcss_usb3_port2 on end
334 end
335 end
336 end
337 end
338 device ref tcss_dma0 on
339 chip drivers/intel/usb4/retimer
340 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
341 use tcss_usb3_port0 as dfp[0].typec_port
342 device generic 0 on end
343 end
344 end
345 device ref tcss_dma1 on
346 chip drivers/intel/usb4/retimer
347 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
348 use tcss_usb3_port2 as dfp[0].typec_port
349 device generic 0 on end
350 end
351 end
352 device ref xhci on
353 chip drivers/usb/acpi
354 device ref xhci_root_hub on
355 chip drivers/usb/acpi
356 register "desc" = ""USB2 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, LEFT, ACPI_PLD_GROUP(2, 1))"
360 device ref usb2_port1 on end
361 end
362 chip drivers/usb/acpi
363 register "desc" = ""USB2 Type-C Port C0 (MLB)""
364 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
365 register "use_custom_pld" = "true"
366 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
367 device ref usb2_port2 on end
368 end
369 chip drivers/usb/acpi
370 register "desc" = ""USB2 WWAN""
371 register "type" = "UPC_TYPE_INTERNAL"
372 device ref usb2_port5 on
373 probe CELLULAR CELLULAR_USB
374 end
375 end
376 chip drivers/usb/acpi
377 register "desc" = ""USB2 Camera""
378 register "type" = "UPC_TYPE_INTERNAL"
379 register "has_power_resource" = "1"
380 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B09)"
381 device ref usb2_port6 on
382 probe UFC UFC_USB
383 end
384 end
385 chip drivers/usb/acpi
386 register "desc" = ""USB2 Type-A Port A0 (DB)""
387 register "type" = "UPC_TYPE_A"
388 register "use_custom_pld" = "true"
389 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
390 device ref usb2_port9 on end
391 end
392 chip drivers/usb/acpi
393 register "desc" = ""USB2 Bluetooth""
394 register "type" = "UPC_TYPE_INTERNAL"
395 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B01)"
396 device ref usb2_port10 on end
397 end
398 chip drivers/usb/acpi
399 register "desc" = ""USB3 Type-A Port A0 (DB)""
400 register "type" = "UPC_TYPE_USB3_A"
401 register "use_custom_pld" = "true"
402 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
403 device ref usb3_port1 on end
404 end
405 chip drivers/usb/acpi
406 register "desc" = ""USB3 WWAN""
407 register "type" = "UPC_TYPE_INTERNAL"
408 device ref usb3_port2 on
409 probe CELLULAR CELLULAR_USB
410 end
411 end
412 end
413 end
414 end
415 device ref cnvi_wifi on
416 chip drivers/wifi/generic
417 register "wake" = "GPE0_PME_B0"
418 register "add_acpi_dma_property" = "true"
419 register "enable_cnvi_ddr_rfim" = "true"
420 device generic 0 on
421 probe WIFI WIFI_CNVI
422 end
423 end
424 end
425 device ref ipu on
426 chip drivers/intel/mipi_camera
427 register "acpi_uid" = "0x50000"
428 register "acpi_name" = ""IPU0""
429 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
430
431 register "cio2_num_ports" = "2"
432 register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
433 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
434 register "cio2_lane_endpoint[1]" = ""^I2C5.CAM1""
435 register "cio2_prt[0]" = "4"
436 register "cio2_prt[1]" = "0"
437
438 device generic 0 on
439 probe UFC UFC_MIPI
440 probe WFC WFC_MIPI
441 end
442 end
443 end
444 device ref i2c0 on
445 chip drivers/i2c/generic
446 register "hid" = ""RTL5682""
447 register "name" = ""RT58""
448 register "desc" = ""Headset Codec""
449 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
450 # Set the jd_src to RT5668_JD1 for jack detection
451 register "property_count" = "1"
452 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
453 register "property_list[0].name" = ""realtek,jd-src""
454 register "property_list[0].integer" = "1"
455 device i2c 1a on
456 probe AUDIO MAX98360_ALC5682I_I2S
457 end
458 end
459 chip drivers/intel/mipi_camera
460 register "acpi_hid" = ""OVTIDB10""
461 register "acpi_uid" = "0"
462 register "acpi_name" = ""CAM0""
463 register "chip_name" = ""Ov 13b10 Camera""
464 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
465
466 register "ssdb.lanes_used" = "4"
467 register "ssdb.link_used" = "0"
468 register "ssdb.vcm_type" = "0x0C"
469 register "vcm_name" = ""VCM0""
470 register "num_freq_entries" = "1"
471 register "link_freq[0]" = "560 * MHz" # 560 MHz
472 register "remote_name" = ""IPU0""
473 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
474
475 register "has_power_resource" = "1"
476 #Controls
477 register "clk_panel.clks[0].clknum" = "1" # IMGCLKOUT_1
478 register "clk_panel.clks[0].freq" = "1" # FREQ_19_2_MHZ
479
480 register "gpio_panel.gpio[0].gpio_num" = "GPP_C03" #EN_WCAM_SENR_PWR
481 register "gpio_panel.gpio[1].gpio_num" = "GPP_C04" #EN_WCAM_PWR
482 register "gpio_panel.gpio[2].gpio_num" = "GPP_V22" #WCAM_RST_L
483
484 #_ON
485 register "on_seq.ops_cnt" = "5"
486 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
487 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
488 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 0)"
489 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
490 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 10)"
491
492 #_OFF
493 register "off_seq.ops_cnt" = "4"
494 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
495 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
496 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
497 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
498
499 device i2c 36 on
500 probe WFC WFC_MIPI
501 end
502 end
503 chip drivers/intel/mipi_camera
504 register "acpi_uid" = "2"
505 register "acpi_name" = ""VCM0""
506 register "chip_name" = ""DW9714 VCM""
507 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
508
509 register "vcm_compat" = ""dongwoon,dw9714""
510
511 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
512
513 register "has_power_resource" = "1"
514
515 #Controls
516 register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
517
518 #_ON
519 register "on_seq.ops_cnt" = "1"
520 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
521
522 #_OFF
523 register "off_seq.ops_cnt" = "1"
524 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
525
526 device i2c 0C on
527 probe WFC WFC_MIPI
528 end
529 end
530 chip drivers/intel/mipi_camera
531 register "acpi_uid" = "1"
532 register "acpi_name" = ""NVM0""
533 register "chip_name" = ""ST M24C64X""
534 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
535
536 register "nvm_compat" = ""atmel,24c64""
537
538 register "nvm_size" = "0x2000"
539 register "nvm_pagesize" = "0x01"
540 register "nvm_readonly" = "0x01"
541 register "nvm_width" = "0x10"
542
543 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
544
545 register "has_power_resource" = "1"
546
547 #Controls
548 register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
549
550 #_ON
551 register "on_seq.ops_cnt" = "1"
552 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
553
554 #_OFF
555 register "off_seq.ops_cnt" = "1"
556 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
557
558 device i2c 50 on
559 probe WFC WFC_MIPI
560 end
561 end
562 end #I2C0
563 device ref i2c1 on
564 chip drivers/i2c/hid
565 register "generic.hid" = ""ELAN6918""
566 register "generic.desc" = ""ELAN Touchscreen""
567 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C07_IRQ)"
568 register "generic.probed" = "1"
569 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C01)"
570 register "generic.reset_delay_ms" = "20"
571 register "generic.reset_off_delay_ms" = "2"
572 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C00)"
573 register "generic.enable_delay_ms" = "1"
574 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C06)"
575 register "generic.stop_off_delay_ms" = "2"
576 register "generic.has_power_resource" = "1"
577 register "hid_desc_reg_offset" = "0x01"
578 device i2c 10 on
579 probe TOUCHSCREEN TOUCHSCREEN_I2C
580 end
581 end
582 chip drivers/generic/gpio_keys
583 register "name" = ""PENH""
584 # GPP_E04 is the IRQ source
585 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_E04)"
586 register "key.dev_name" = ""EJCT""
587 register "key.linux_code" = "SW_PEN_INSERTED"
588 register "key.linux_input_type" = "EV_SW"
589 register "key.label" = ""pen_eject""
590 device generic 0 on end
591 end
592 end
593 device ref i2c2 on end
594 device ref i2c3 on
595 chip drivers/i2c/generic
596 register "hid" = ""ELAN0000""
597 register "desc" = ""ELAN Touchpad""
598 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
599 register "wake" = "GPE0_DW0_00"
600 register "detect" = "1"
601 device i2c 15 on end
602 end
603 end
604 device ref i2c4 on
605 chip drivers/i2c/tpm
606 register "hid" = ""GOOG0005""
607 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E03_IRQ)"
608 device i2c 50 on end
609 end
610 end
611 device ref i2c5 on
612 chip drivers/intel/mipi_camera
613 register "acpi_hid" = ""INT3537""
614 register "acpi_uid" = "0"
615 register "acpi_name" = ""CAM1""
616 register "chip_name" = ""Hi-556 Camera""
617 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
618 register "has_power_resource" = "1"
619
620 register "ssdb.lanes_used" = "2"
621 register "ssdb.link_used" = "1"
622 register "num_freq_entries" = "1"
623 register "link_freq[0]" = "437 * MHz"
624 register "remote_name" = ""IPU0""
625 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
626
627 #Controls
628 register "gpio_panel.gpio[0].gpio_num" = "GPP_A11" #EN_UCAM_SENR_PWR
629 register "gpio_panel.gpio[1].gpio_num" = "GPP_B09" #EN_FCAM_PWR
630 register "gpio_panel.gpio[2].gpio_num" = "GPP_V23" #UCAM_RST_L
631 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
632 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
633
634 #_ON
635 register "on_seq.ops_cnt" = "5"
636 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
637 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
638 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
639 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
640 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
641
642 #_OFF
643 register "off_seq.ops_cnt" = "4"
644 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
645 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
646 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
647 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
648 device i2c 20 on
649 probe UFC UFC_MIPI
650 end
651 end
652 chip drivers/intel/mipi_camera
653 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
654 register "acpi_uid" = "1"
655 register "acpi_name" = ""NVM1""
656 register "chip_name" = ""ST M24C64X""
657 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
658
659 register "nvm_size" = "0x2000"
660 register "nvm_pagesize" = "1"
661 register "nvm_readonly" = "1"
662 register "nvm_width" = "0x10"
663 register "nvm_compat" = ""atmel,24c64""
664
665 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
666
667 register "has_power_resource" = "1"
668
669 #Controls
670 register "gpio_panel.gpio[0].gpio_num" = "GPP_B09" #EN_FCAM_PWR
671
672 #_ON
673 register "on_seq.ops_cnt" = "1"
674 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
675
676 #_OFF
677 register "off_seq.ops_cnt" = "1"
678 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
679
680 device i2c 50 on
681 probe UFC UFC_MIPI
682 end
683 end
684 end #I2C5
685 device ref pcie_rp5 on
686 probe WIFI WIFI_PCIE
687 # Enable WLAN Card PCIE 5 using clk 5
688 register "pcie_rp[PCH_RP(5)]" = "{
689 .clk_src = 5,
690 .clk_req = 5,
691 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
692 }"
693 chip drivers/wifi/generic
694 register "wake" = "GPE0_DW2_09"
695 register "add_acpi_dma_property" = "true"
696 device pci 00.0 on
697 probe WIFI WIFI_PCIE
698 end
699 end
700 chip soc/intel/common/block/pcie/rtd3
701 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E22)"
702 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F08)"
703 register "srcclk_pin" = "5"
704 device generic 0 on
705 probe WIFI WIFI_PCIE
706 end
707 end
708 end #PCIE5 WLAN card
709 device ref pcie_rp6 on
710 probe CELLULAR CELLULAR_PCIE
711 # Enable WWAN Card PCIE 6 using clk 3
712 register "pcie_rp[PCH_RP(6)]" = "{
713 .clk_src = 3,
714 .clk_req = 3,
715 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
716 }"
717 chip soc/intel/common/block/pcie/rtd3
718 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
719 register "reset_off_delay_ms" = "20"
720 register "srcclk_pin" = "3"
721 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
722 register "skip_on_off_support" = "true"
723 device generic 0 alias rp6_rtd3 on
724 probe CELLULAR CELLULAR_PCIE
725 end
726 end
727 chip drivers/wwan/fm
728 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E07)"
729 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A15)"
730 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
731 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F10)"
732 register "add_acpi_dma_property" = "true"
733 use rp6_rtd3 as rtd3dev
734 device generic 0 alias rp6_wwan on
735 probe CELLULAR CELLULAR_PCIE
736 end
737 end
738 end #PCIE6 WWAN card
739 device ref pcie_rp7 on
740 # Enable SD Card PCIE 7 using clk 2
741 register "pcie_rp[PCH_RP(7)]" = "{
742 .clk_src = 2,
743 .clk_req = 2,
744 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
745 }"
746 chip soc/intel/common/block/pcie/rtd3
747 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D03)"
748 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D02)"
749 register "srcclk_pin" = "2"
750 device generic 0 on end
751 end
752 probe DB_SD SD_GL9755S
753 end
754 device ref gspi0 on
755 probe TOUCHSCREEN TOUCHSCREEN_I2C_SPI
756 end
757 device ref gspi1 on
758 chip drivers/spi/acpi
759 register "name" = ""CRFP""
760 register "hid" = "ACPI_DT_NAMESPACE_HID"
761 register "uid" = "1"
762 register "compat_string" = ""google,cros-ec-spi""
763 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E10_IRQ)"
764 register "wake" = "GPE0_DW1_10"
765 register "has_power_resource" = "1"
766 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C23)"
767 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
768 register "enable_delay_ms" = "3"
769 device spi 0 on end
770 end # FPMCU
771 end
772 device ref soc_espi on
773 chip ec/google/chromeec
774 use conn0 as mux_conn[0]
775 use conn1 as mux_conn[1]
776 device pnp 0c09.0 on end
777 end
778 end
779 device ref pmc hidden
780 chip drivers/intel/pmc_mux
781 device generic 0 on
782 chip drivers/intel/pmc_mux/conn
783 use usb2_port2 as usb2_port
784 use tcss_usb3_port0 as usb3_port
785 device generic 0 alias conn0 on end
786 end
787 chip drivers/intel/pmc_mux/conn
788 use usb2_port1 as usb2_port
789 use tcss_usb3_port2 as usb3_port
790 device generic 1 alias conn1 on end
791 end
792 end
793 end
794 end
795 device ref hda on
796 chip drivers/generic/max98357a
797 register "hid" = ""MX98360A""
798 register "sdmode_gpio" =
799 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D04)"
800 register "sdmode_delay" = "5"
801 device generic 0 on
802 probe AUDIO MAX98360_ALC5682I_I2S
803 end
804 end
805 chip drivers/intel/soundwire
806 device generic 0 on
807 probe AUDIO MAX98363_CS42L42_SNDW
808 chip drivers/soundwire/cs42l42
809 # SoundWire Link 0 ID 0
810 register "desc" = ""Headset Codec""
811 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B07)"
812 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
813 register "ts_inv" = "true"
814 register "ts_dbnc_rise" = "RISE_DEB_1000_MS"
815 register "ts_dbnc_fall" = "FALL_DEB_0_MS"
816 register "btn_det_init_dbnce" = "100"
817 register "btn_det_event_dbnce" = "10"
818 register "bias_lvls[0]" = "15"
819 register "bias_lvls[1]" = "8"
820 register "bias_lvls[2]" = "4"
821 register "bias_lvls[3]" = "1"
822 register "hs_bias_ramp_rate" = "HSBIAS_RAMP_SLOW"
823 register "hs_bias_sense_disable" = "true"
824 device generic 0.0 on end
825 end
826 chip drivers/soundwire/max98363
827 # SoundWire Link 2 ID 0
828 register "desc" = ""Left Speaker Amp""
829 device generic 2.0 on end
830 end
831 chip drivers/soundwire/max98363
832 # SoundWire Link 2 ID 1
833 register "desc" = ""Right Speaker Amp""
834 device generic 2.1 on end
835 end
836 end
837 end
838 end
839 end
Tyler Wang4ce6ef92023-05-31 17:08:05 +0800840end