blob: e3879bc93fa0b09059bd9460cb01ca6ff3cd016c [file] [log] [blame]
Nick Vaccaro6afd7272022-08-17 12:55:24 -07001fw_config
2 field DB_USB 0 3
3 option USB_ABSENT 0
4 option USB3_PS8815 1
5 end
6 field DB_SD 4 5
7 option SD_ABSENT 0
8 option SD_GL9755S 1
9 end
10 field KB_BL 7 7
11 option KB_BL_ABSENT 0
12 option KB_BL_PRESENT 1
13 end
14 field AUDIO 8 10
15 option AUDIO_UNKNOWN 0
16 option MAX98357_ALC5682I_I2S 1
17 option MAX98373_ALC5682_SNDW 2
18 option MAX98373_NAU88L25B_I2S 3
19 option ALC1019_NAU88L25B_I2S 4
20 option MAX98360_ALC5682I_I2S 5
Mac Chiangeefdfb52023-06-20 04:30:40 -040021 option NAU8318_NAU88L25B_I2S 6
Nick Vaccaro6afd7272022-08-17 12:55:24 -070022 end
23 field DB_LTE 11 12
24 option LTE_ABSENT 0
25 option LTE_USB 1
26 option LTE_PCIE 2
27 end
28 field UFC 13 14
29 option UFC_USB 0
30 option UFC_MIPI_IMX208 1
31 end
32 field WFC 15 16
33 option WFC_ABSENT 0
Nick Vaccaro01ab9b12022-09-30 16:17:28 -070034 option WFC_MIPI_OVTI8856 1
35 option WFC_MIPI_KBAE350 2
Nick Vaccaro6afd7272022-08-17 12:55:24 -070036 end
37 field HPS 17 17
38 option HPS_ABSENT 0
39 option HPS_PRESENT 1
40 end
Nick Vaccaro0c84a992022-09-30 17:20:09 -070041 field THERMAL 18 18
42 option THERMAL_28W 0
43 option THERMAL_15W 1
44 end
Nick Vaccaro6afd7272022-08-17 12:55:24 -070045end
46
47chip soc/intel/alderlake
Jeremy Compostella54a6b1f2022-11-14 10:28:27 -080048 register "domain_vr_config[VR_DOMAIN_IA]" = "{
49 .enable_fast_vmode = 1,
50 }"
51
Nick Vaccaro6afd7272022-08-17 12:55:24 -070052 register "sagv" = "SaGv_Enabled"
53
Selma Bensaida10a86d2022-10-20 18:24:39 -070054 # As per Intel Advisory doc#723158, the change is required to prevent possible
55 # display flickering issue.
56 register "disable_dynamic_tccold_handshake" = "true"
57
Nick Vaccaro6afd7272022-08-17 12:55:24 -070058 register "platform_pmax" = "145"
59
60 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Type-A MLB Port
61
62 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3/2 Type A MLB port
63
64 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
65
66 # FIVR configurations for brya are disabled since the board doesn't have V1p05 and Vnn
67 # bypass rails implemented.
68 register "ext_fivr_settings" = "{
69 .configure_ext_fivr = 1,
70 }"
71
72 # Intel Common SoC Config
73 #+-------------------+---------------------------+
74 #| Field | Value |
75 #+-------------------+---------------------------+
76 #| GSPI1 | Fingerprint MCU |
77 #| I2C0 | Audio |
78 #| I2C1 | cr50 TPM. Early init is |
79 #| | required to set up a BAR |
80 #| | for TPM communication |
81 #| I2C2 | SAR |
82 #| I2C3 | TouchScreen |
83 #| I2C5 | Trackpad |
84 #+-------------------+---------------------------+
85 register "common_soc_config" = "{
86 .i2c[0] = {
87 .speed = I2C_SPEED_FAST,
88 .rise_time_ns = 650,
89 .fall_time_ns = 400,
90 .data_hold_time_ns = 50,
91 },
92 .i2c[1] = {
93 .early_init = 1,
94 .speed = I2C_SPEED_FAST,
95 .rise_time_ns = 600,
96 .fall_time_ns = 400,
97 .data_hold_time_ns = 50,
98 },
99 .i2c[2] = {
100 .speed = I2C_SPEED_FAST,
101 .rise_time_ns = 900,
102 .fall_time_ns = 400,
103 .data_hold_time_ns = 50,
104 },
105 .i2c[3] = {
106 .speed = I2C_SPEED_FAST,
AlanKY Leebf2f6e22022-10-27 16:43:24 +0800107 .rise_time_ns = 600,
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700108 .fall_time_ns = 400,
109 .data_hold_time_ns = 50,
110 },
111 .i2c[5] = {
112 .speed = I2C_SPEED_FAST,
113 .rise_time_ns = 650,
114 .fall_time_ns = 400,
115 .data_hold_time_ns = 50,
116 },
117 }"
118
119 device domain 0 on
Won Chung902575f2023-04-12 18:33:12 +0000120 device ref igpu on
121 chip drivers/gfx/generic
122 register "device_count" = "6"
123 # DDIA for eDP
Matt DeVillier4e685bf2024-01-19 20:37:58 -0600124 register "device[0].name" = ""LCD0""
Matt DeVilliercf29efa2024-01-16 18:46:20 -0600125 # Internal panel on the first port of the graphics chip
126 register "device[0].addr" = "0x80010400"
Won Chung902575f2023-04-12 18:33:12 +0000127 # DDIB for HDMI
Won Chungbc1533e2023-07-27 20:10:25 +0000128 # If HDMI is not enumerated in the kernel, then no GFX device should be added for DDIB
Won Chung902575f2023-04-12 18:33:12 +0000129 register "device[1].name" = ""DD01""
130 # TCP0 (DP-1) for port C0
131 register "device[2].name" = ""DD02""
132 register "device[2].use_pld" = "true"
133 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
134 # TCP1 (DP-2) for port C1
135 register "device[3].name" = ""DD03""
136 register "device[3].use_pld" = "true"
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800137 register "device[3].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Won Chung902575f2023-04-12 18:33:12 +0000138 # TCP2 (DP-3) for port C2
139 register "device[4].name" = ""DD04""
140 register "device[4].use_pld" = "true"
141 register "device[4].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
Won Chungbc1533e2023-07-27 20:10:25 +0000142 # TCP3 (DP-4) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP3
Won Chung902575f2023-04-12 18:33:12 +0000143 register "device[5].name" = ""DD05""
144 device generic 0 on end
145 end
146 end # Integrated Graphics Device
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700147 device ref dtt on
148 chip drivers/intel/dptf
149 ## sensor information
150 register "options.tsr[0].desc" = ""DRAM_SOC""
151 register "options.tsr[1].desc" = ""Ambient""
152 register "options.tsr[2].desc" = ""Charger""
153 register "options.tsr[3].desc" = ""WWAN""
154
155 # TODO: below values are initial reference values only
156 ## Active Policy
157 register "policies.active" = "{
158 [0] = {
Sumeet Pawnikar58c00a02023-01-25 11:44:38 +0530159 .target = DPTF_TEMP_SENSOR_0,
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700160 .thresholds = {
Sumeet Pawnikare10ff6d2023-02-01 12:32:18 +0530161 TEMP_PCT(75, 95),
162 TEMP_PCT(70, 90),
163 TEMP_PCT(65, 80),
164 TEMP_PCT(60, 70),
165 TEMP_PCT(55, 60),
166 TEMP_PCT(50, 50),
167 TEMP_PCT(45, 40),
168 TEMP_PCT(40, 30),
169 }
170 },
171 [1] = {
172 .target = DPTF_TEMP_SENSOR_1,
173 .thresholds = {
174 TEMP_PCT(75, 95),
175 TEMP_PCT(70, 90),
176 TEMP_PCT(65, 80),
177 TEMP_PCT(60, 70),
178 TEMP_PCT(55, 60),
179 TEMP_PCT(50, 50),
180 TEMP_PCT(45, 40),
181 TEMP_PCT(40, 30),
182 }
183 },
184 [2] = {
185 .target = DPTF_TEMP_SENSOR_2,
186 .thresholds = {
187 TEMP_PCT(82, 97),
188 TEMP_PCT(78, 93),
189 TEMP_PCT(72, 86),
190 TEMP_PCT(66, 60),
191 TEMP_PCT(60, 40),
192 }
193 },
194 [3] = {
195 .target = DPTF_TEMP_SENSOR_3,
196 .thresholds = {
197 TEMP_PCT(75, 95),
198 TEMP_PCT(70, 90),
199 TEMP_PCT(65, 80),
200 TEMP_PCT(60, 70),
201 TEMP_PCT(55, 60),
202 TEMP_PCT(50, 50),
203 TEMP_PCT(45, 40),
204 TEMP_PCT(40, 30),
205 }
206 }
207 }"
208
209 ## Passive Policy
210 register "policies.passive" = "{
211 [0] = DPTF_PASSIVE(CPU, CPU, 97, 5000),
212 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 85, 5000),
213 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 85, 5000),
214 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 80, 5000),
215 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 85, 5000),
216 }"
217
218 ## Critical Policy
219 register "policies.critical" = "{
220 [0] = DPTF_CRITICAL(CPU, 115, SHUTDOWN),
221 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 90, SHUTDOWN),
222 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 90, SHUTDOWN),
223 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 90, SHUTDOWN),
224 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 90, SHUTDOWN),
225 }"
226
227 register "controls.power_limits" = "{
228 .pl1 = {
229 .min_power = 28000,
230 .max_power = 28000,
231 .time_window_min = 28 * MSECS_PER_SEC,
232 .time_window_max = 32 * MSECS_PER_SEC,
233 .granularity = 200,
234 },
235 .pl2 = {
236 .min_power = 64000,
237 .max_power = 64000,
238 .time_window_min = 28 * MSECS_PER_SEC,
239 .time_window_max = 32 * MSECS_PER_SEC,
240 .granularity = 1000,
241 }
242 }"
243
244 ## Charger Performance Control (Control, mA)
245 register "controls.charger_perf" = "{
246 [0] = { 255, 1700 },
247 [1] = { 24, 1500 },
248 [2] = { 16, 1000 },
249 [3] = { 8, 500 }
250 }"
251
252 ## Fan Performance Control (Percent, Speed, Noise, Power)
253 register "controls.fan_perf" = "{
254 [0] = { 90, 6700, 220, 2200, },
255 [1] = { 80, 5800, 180, 1800, },
256 [2] = { 70, 5000, 145, 1450, },
257 [3] = { 60, 4900, 115, 1150, },
258 [4] = { 50, 3838, 90, 900, },
259 [5] = { 40, 2904, 55, 550, },
260 [6] = { 30, 2337, 30, 300, },
261 [7] = { 20, 1608, 15, 150, },
262 [8] = { 10, 800, 10, 100, },
263 [9] = { 0, 0, 0, 50, }
264 }"
265
266 ## Fan options
267 register "options.fan.fine_grained_control" = "1"
268 register "options.fan.step_size" = "2"
269
270 device generic 0 on
271 probe THERMAL THERMAL_28W
272 end
273 end
274 chip drivers/intel/dptf
275 ## sensor information
276 register "options.tsr[0].desc" = ""DRAM_SOC""
277 register "options.tsr[1].desc" = ""Ambient""
278 register "options.tsr[2].desc" = ""Charger""
279 register "options.tsr[3].desc" = ""WWAN""
280
281 # TODO: below values are initial reference values only
282 ## Active Policy
283 register "policies.active" = "{
284 [0] = {
285 .target = DPTF_TEMP_SENSOR_0,
286 .thresholds = {
Sumeet Pawnikar58c00a02023-01-25 11:44:38 +0530287 TEMP_PCT(75, 97),
288 TEMP_PCT(70, 93),
289 TEMP_PCT(60, 86),
290 TEMP_PCT(52, 80),
291 TEMP_PCT(47, 64),
292 TEMP_PCT(43, 52),
293 TEMP_PCT(40, 40),
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700294 }
295 },
296 [1] = {
297 .target = DPTF_TEMP_SENSOR_1,
298 .thresholds = {
Sumeet Pawnikar58c00a02023-01-25 11:44:38 +0530299 TEMP_PCT(75, 97),
300 TEMP_PCT(70, 93),
301 TEMP_PCT(60, 86),
302 TEMP_PCT(52, 80),
303 TEMP_PCT(47, 64),
304 TEMP_PCT(43, 52),
305 TEMP_PCT(40, 40),
306 }
307 },
308 [2] = {
309 .target = DPTF_TEMP_SENSOR_2,
310 .thresholds = {
311 TEMP_PCT(82, 97),
312 TEMP_PCT(78, 93),
313 TEMP_PCT(72, 86),
314 TEMP_PCT(60, 80),
315 }
316 },
317 [3] = {
318 .target = DPTF_TEMP_SENSOR_3,
319 .thresholds = {
320 TEMP_PCT(75, 97),
321 TEMP_PCT(70, 93),
322 TEMP_PCT(60, 86),
323 TEMP_PCT(52, 80),
324 TEMP_PCT(47, 64),
325 TEMP_PCT(43, 52),
326 TEMP_PCT(40, 40),
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700327 }
328 }
329 }"
330
331 ## Passive Policy
332 register "policies.passive" = "{
333 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
Sumeet Pawnikar58c00a02023-01-25 11:44:38 +0530334 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 5000),
335 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 80, 5000),
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700336 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
Sumeet Pawnikar58c00a02023-01-25 11:44:38 +0530337 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 80, 5000),
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700338 }"
339
340 ## Critical Policy
341 register "policies.critical" = "{
342 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
343 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
344 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
345 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
346 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 85, SHUTDOWN),
347 }"
348
349 register "controls.power_limits" = "{
350 .pl1 = {
Sumeet Pawnikar94f90c52023-02-02 08:45:01 +0530351 .min_power = 15000,
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700352 .max_power = 15000,
353 .time_window_min = 28 * MSECS_PER_SEC,
354 .time_window_max = 32 * MSECS_PER_SEC,
355 .granularity = 200,
356 },
357 .pl2 = {
358 .min_power = 55000,
359 .max_power = 55000,
360 .time_window_min = 28 * MSECS_PER_SEC,
361 .time_window_max = 32 * MSECS_PER_SEC,
362 .granularity = 1000,
363 }
364 }"
365
366 ## Charger Performance Control (Control, mA)
367 register "controls.charger_perf" = "{
368 [0] = { 255, 1700 },
369 [1] = { 24, 1500 },
370 [2] = { 16, 1000 },
371 [3] = { 8, 500 }
372 }"
373
374 ## Fan Performance Control (Percent, Speed, Noise, Power)
375 register "controls.fan_perf" = "{
376 [0] = { 90, 6700, 220, 2200, },
377 [1] = { 80, 5800, 180, 1800, },
378 [2] = { 70, 5000, 145, 1450, },
379 [3] = { 60, 4900, 115, 1150, },
380 [4] = { 50, 3838, 90, 900, },
381 [5] = { 40, 2904, 55, 550, },
382 [6] = { 30, 2337, 30, 300, },
383 [7] = { 20, 1608, 15, 150, },
384 [8] = { 10, 800, 10, 100, },
385 [9] = { 0, 0, 0, 50, }
386 }"
387
388 ## Fan options
389 register "options.fan.fine_grained_control" = "1"
390 register "options.fan.step_size" = "2"
391
Sumeet Pawnikare10ff6d2023-02-01 12:32:18 +0530392 device generic 1 on
393 probe THERMAL THERMAL_15W
394 end
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700395 end
396 end
397 device ref ipu on
398 chip drivers/intel/mipi_camera
399 register "acpi_uid" = "0x50000"
400 register "acpi_name" = ""IPU0""
401 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
402
403 register "cio2_num_ports" = "1"
404 register "cio2_lanes_used" = "{4}" # 4 CSI Camera lanes are used
405 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
406 register "cio2_prt[0]" = "2"
407 device generic 0 on
408 # MIPI lanes are split between UFC and WFC depending on
409 # whether the UFC is USB or MIPI hence probing UFC_USB
410 probe UFC UFC_USB
411 end
412 end
413 chip drivers/intel/mipi_camera
414 register "acpi_uid" = "0x50000"
415 register "acpi_name" = ""IPU0""
416 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
417
418 register "cio2_num_ports" = "2"
419 register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
420 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
421 register "cio2_lane_endpoint[1]" = ""^I2C2.CAM1""
422 register "cio2_prt[0]" = "2"
423 register "cio2_prt[1]" = "1"
424 device generic 1 on
425 probe UFC UFC_MIPI_IMX208
426 end
427 end
428 end
429 device ref cnvi_wifi on
430 chip drivers/wifi/generic
431 register "wake" = "GPE0_PME_B0"
432 register "enable_cnvi_ddr_rfim" = "true"
433 device generic 0 on end
434 end
435 end
436 device ref pcie_rp6 on
437 # Enable WWAN PCIE 6 using clk 5
438 register "pch_pcie_rp[PCH_RP(6)]" = "{
439 .clk_src = 5,
440 .clk_req = 5,
441 .flags = PCIE_RP_LTR | PCIE_RP_AER,
442 }"
443 chip soc/intel/common/block/pcie/rtd3
444 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
445 register "reset_off_delay_ms" = "20"
446 # register "reset_delay_ms" = "1000"
447 register "srcclk_pin" = "5"
448 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
449 register "skip_on_off_support" = "true"
Cliff Huangdaeb7812023-03-02 10:17:50 -0800450 register "use_rp_mutex" = "true"
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700451 device generic 0 alias rp6_rtd3 on
452 probe DB_LTE LTE_PCIE
453 end
454 end
455 chip drivers/wwan/fm
456 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F21)"
457 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E16)"
458 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
459 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A7)"
460 register "add_acpi_dma_property" = "true"
461 use rp6_rtd3 as rtd3dev
462 device generic 0 on
463 probe DB_LTE LTE_PCIE
464 end
465 end
466 probe DB_LTE LTE_PCIE
467 end
468 device ref tcss_dma0 on
469 chip drivers/intel/usb4/retimer
470 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
471 use tcss_usb3_port1 as dfp[0].typec_port
472 device generic 0 on end
473 end
474 end
475 device ref tcss_dma1 on
476 chip drivers/intel/usb4/retimer
477 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
478 use tcss_usb3_port3 as dfp[0].typec_port
479 device generic 0 on end
480 end
481 end
482 device ref pcie_rp8 on
483 chip soc/intel/common/block/pcie/rtd3
484 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
485 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
486 register "srcclk_pin" = "3"
487 device generic 0 on end
488 end
489 end #PCIE8 SD card
490 device ref i2c0 on
491 chip drivers/i2c/generic
492 register "hid" = ""10EC5682""
493 register "name" = ""RT58""
494 register "desc" = ""Headset Codec""
495 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
496 # Set the jd_src to RT5668_JD1 for jack detection
497 register "property_count" = "1"
498 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
499 register "property_list[0].name" = ""realtek,jd-src""
500 register "property_list[0].integer" = "1"
501 device i2c 1a on
502 probe AUDIO MAX98357_ALC5682I_I2S
503 probe AUDIO MAX98360_ALC5682I_I2S
504 end
505 end
506 chip drivers/i2c/nau8825
507 register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_A23)"
508 register "jkdet_enable" = "1"
509 register "jkdet_pull_enable" = "0"
510 register "jkdet_polarity" = "1" # ActiveLow
511 register "vref_impedance" = "2" # 125kOhm
512 register "micbias_voltage" = "6" # 2.754
513 register "sar_threshold_num" = "4"
514 register "sar_threshold[0]" = "0x0c"
515 register "sar_threshold[1]" = "0x1c"
516 register "sar_threshold[2]" = "0x38"
517 register "sar_threshold[3]" = "0x60"
518 register "sar_hysteresis" = "1"
519 register "sar_voltage" = "0" # VDDA
520 register "sar_compare_time" = "0" # 500ns
521 register "sar_sampling_time" = "0" # 2us
522 register "short_key_debounce" = "2" # 100ms
523 register "jack_insert_debounce" = "7" # 512ms
524 register "jack_eject_debounce" = "7" # 512ms
525 device i2c 1a on
526 probe AUDIO ALC1019_NAU88L25B_I2S
Mac Chiangeefdfb52023-06-20 04:30:40 -0400527 probe AUDIO NAU8318_NAU88L25B_I2S
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700528 end
529 end
530 chip drivers/generic/alc1015
531 register "hid" = ""RTL1019""
532 register "sdb" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
533 device generic 1 on
534 probe AUDIO ALC1019_NAU88L25B_I2S
535 end
536 end
537 chip drivers/intel/mipi_camera
538 register "acpi_hid" = ""OVTI8856""
539 register "acpi_uid" = "0"
540 register "acpi_name" = ""CAM0""
541 register "chip_name" = ""Ov 8856 Camera""
542 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
543
544 register "ssdb.lanes_used" = "4"
545 register "ssdb.link_used" = "0"
546 register "ssdb.vcm_type" = "0x0C"
547 register "vcm_name" = ""VCM0""
548 register "num_freq_entries" = "2"
549 register "link_freq[0]" = "360 * MHz" # 360 MHz
550 register "link_freq[1]" = "180 * MHz" # 180 MHz
551 register "remote_name" = ""IPU0""
552
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800553 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700554 register "has_power_resource" = "1"
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800555
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700556 #Controls
557 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
558 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
559
560 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" #power_enable_2p8
561 register "gpio_panel.gpio[1].gpio_num" = "GPP_D16" #power_enable_1p2
562 register "gpio_panel.gpio[2].gpio_num" = "GPP_D3" #reset
563
564 #_ON
565 register "on_seq.ops_cnt" = "5"
566 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
567 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
568 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
569 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
570 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
571
572 #_OFF
573 register "off_seq.ops_cnt" = "4"
574 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
575 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
576 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
577 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
578
Nick Vaccaro01ab9b12022-09-30 16:17:28 -0700579 device i2c 10 on
580 probe WFC WFC_MIPI_OVTI8856
581 end
582 end
583 chip drivers/intel/mipi_camera
584 register "acpi_uid" = "2"
585 register "acpi_name" = ""VCM0""
586 register "chip_name" = ""DW9768 VCM""
587 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
588
Nick Vaccaro01ab9b12022-09-30 16:17:28 -0700589 register "vcm_compat" = ""dongwoon,dw9768""
590
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800591 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
592
593 register "has_power_resource" = "1"
594
595 #Controls
596 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
597
598 #_ON
599 register "on_seq.ops_cnt" = "1"
600 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
601
602 #_OFF
603 register "off_seq.ops_cnt" = "1"
604 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
605
Nick Vaccaro01ab9b12022-09-30 16:17:28 -0700606 device i2c 0C on
607 probe WFC WFC_MIPI_OVTI8856
608 end
609 end
610 chip drivers/intel/mipi_camera
611 register "acpi_uid" = "1"
612 register "acpi_name" = ""NVM0""
613 register "chip_name" = ""AT24 EEPROM""
614 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
615
Nick Vaccaro01ab9b12022-09-30 16:17:28 -0700616 register "nvm_compat" = ""atmel,24c1024""
617
618 register "nvm_size" = "0x2800"
619 register "nvm_pagesize" = "0x01"
620 register "nvm_readonly" = "0x01"
621 register "nvm_width" = "0x10"
622
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800623 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
624
625 register "has_power_resource" = "1"
626
627 #Controls
628 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
629
630 #_ON
631 register "on_seq.ops_cnt" = "1"
632 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
633
634 #_OFF
635 register "off_seq.ops_cnt" = "1"
636 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
637
Nick Vaccaro01ab9b12022-09-30 16:17:28 -0700638 device i2c 58 on
639 probe WFC WFC_MIPI_OVTI8856
640 end
641 end
642 chip drivers/intel/mipi_camera
643 register "acpi_hid" = ""OVTI8856""
644 register "acpi_uid" = "0"
645 register "acpi_name" = ""CAM0""
646 register "chip_name" = ""Ov 8856 Camera""
647 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
648
649 register "ssdb.lanes_used" = "4"
650 register "ssdb.link_used" = "0"
651 register "ssdb.vcm_type" = "0x0C"
652 register "vcm_name" = ""VCM0""
653 register "num_freq_entries" = "2"
654 register "link_freq[0]" = "360 * MHz" # 360 MHz
655 register "link_freq[1]" = "180 * MHz" # 180 MHz
656 register "remote_name" = ""IPU0""
657
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800658 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
659
Nick Vaccaro01ab9b12022-09-30 16:17:28 -0700660 register "has_power_resource" = "1"
661 #Controls
662 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
663 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
664
665 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" #power_enable_2p8
666 register "gpio_panel.gpio[1].gpio_num" = "GPP_D16" #power_enable_1p2
667 register "gpio_panel.gpio[2].gpio_num" = "GPP_D3" #reset
668
669 #_ON
670 register "on_seq.ops_cnt" = "5"
671 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
672 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
673 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
674 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
675 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
676
677 #_OFF
678 register "off_seq.ops_cnt" = "4"
679 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
680 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
681 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
682 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
683
684 device i2c 36 on
685 probe WFC WFC_MIPI_KBAE350
686 end
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700687 end
688 chip drivers/intel/mipi_camera
689 register "acpi_uid" = "2"
690 register "acpi_name" = ""VCM0""
AlanKY Lee23b68fe2022-09-13 15:51:56 +0800691 register "chip_name" = ""DW AF DAC""
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700692 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
693
AlanKY Lee23b68fe2022-09-13 15:51:56 +0800694 register "vcm_compat" = ""dongwoon,dw9714""
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700695
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800696 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
697
698 register "has_power_resource" = "1"
699
700 #Controls
701 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
702
703 #_ON
704 register "on_seq.ops_cnt" = "1"
705 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
706
707 #_OFF
708 register "off_seq.ops_cnt" = "1"
709 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
710
Nick Vaccaro01ab9b12022-09-30 16:17:28 -0700711 device i2c 0C on
712 probe WFC WFC_MIPI_KBAE350
713 end
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700714 end
715 chip drivers/intel/mipi_camera
716 register "acpi_uid" = "1"
717 register "acpi_name" = ""NVM0""
AlanKY Lee23b68fe2022-09-13 15:51:56 +0800718 register "chip_name" = ""GT24C08""
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700719 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
720
AlanKY Lee23b68fe2022-09-13 15:51:56 +0800721 register "nvm_compat" = ""atmel,24c08""
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700722
AlanKY Lee23b68fe2022-09-13 15:51:56 +0800723 register "nvm_size" = "0x2000"
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700724 register "nvm_pagesize" = "0x01"
725 register "nvm_readonly" = "0x01"
726 register "nvm_width" = "0x10"
727
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800728 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
729
730 register "has_power_resource" = "1"
731
732 #Controls
733 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
734
735 #_ON
736 register "on_seq.ops_cnt" = "1"
737 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
738
739 #_OFF
740 register "off_seq.ops_cnt" = "1"
741 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
742
Nick Vaccaro01ab9b12022-09-30 16:17:28 -0700743 device i2c 50 on
744 probe WFC WFC_MIPI_KBAE350
745 end
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700746 end
747 end #I2C0
748 device ref i2c1 on
749 chip drivers/i2c/tpm
750 register "hid" = ""GOOG0005""
751 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
752 device i2c 50 on end
753 end
754 end #I2C1
755 device ref i2c2 on
756 chip drivers/i2c/sx9324
757 register "desc" = ""SAR1 Proximity Sensor""
758 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
759 register "speed" = "I2C_SPEED_FAST"
760 register "uid" = "1"
761 register "reg_gnrl_ctrl0" = "0x16"
762 register "reg_gnrl_ctrl1" = "0x21"
763 register "reg_afe_ctrl0" = "0x00"
764 register "reg_afe_ctrl1" = "0x10"
765 register "reg_afe_ctrl2" = "0x00"
766 register "reg_afe_ctrl3" = "0x00"
767 register "reg_afe_ctrl4" = "0x07"
768 register "reg_afe_ctrl5" = "0x00"
769 register "reg_afe_ctrl6" = "0x00"
770 register "reg_afe_ctrl7" = "0x07"
771 register "reg_afe_ctrl8" = "0x12"
772 register "reg_afe_ctrl9" = "0x0f"
773 register "reg_prox_ctrl0" = "0x12"
774 register "reg_prox_ctrl1" = "0x12"
775 register "reg_prox_ctrl2" = "0x90"
776 register "reg_prox_ctrl3" = "0x60"
777 register "reg_prox_ctrl4" = "0x0c"
778 register "reg_prox_ctrl5" = "0x12"
779 register "reg_prox_ctrl6" = "0x3c"
780 register "reg_prox_ctrl7" = "0x58"
781 register "reg_adv_ctrl0" = "0x00"
782 register "reg_adv_ctrl1" = "0x00"
783 register "reg_adv_ctrl2" = "0x00"
784 register "reg_adv_ctrl3" = "0x00"
785 register "reg_adv_ctrl4" = "0x00"
786 register "reg_adv_ctrl5" = "0x05"
787 register "reg_adv_ctrl6" = "0x00"
788 register "reg_adv_ctrl7" = "0x00"
789 register "reg_adv_ctrl8" = "0x00"
790 register "reg_adv_ctrl9" = "0x00"
791 register "reg_adv_ctrl10" = "0x5c"
792 register "reg_adv_ctrl11" = "0x52"
793 register "reg_adv_ctrl12" = "0xb5"
794 register "reg_adv_ctrl13" = "0x00"
795 register "reg_adv_ctrl14" = "0x80"
796 register "reg_adv_ctrl15" = "0x0c"
797 register "reg_adv_ctrl16" = "0x38"
798 register "reg_adv_ctrl17" = "0x56"
799 register "reg_adv_ctrl18" = "0x33"
800 register "reg_adv_ctrl19" = "0xf0"
801 register "reg_adv_ctrl20" = "0xf0"
802 device i2c 28 on end
803 end
804 chip drivers/i2c/sx9324
805 register "desc" = ""SAR2 Proximity Sensor""
806 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_H19_IRQ)"
807 register "speed" = "I2C_SPEED_FAST"
808 register "uid" = "2"
809 register "reg_gnrl_ctrl0" = "0x16"
810 register "reg_gnrl_ctrl1" = "0x21"
811 register "reg_afe_ctrl0" = "0x00"
812 register "reg_afe_ctrl1" = "0x10"
813 register "reg_afe_ctrl2" = "0x00"
814 register "reg_afe_ctrl3" = "0x00"
815 register "reg_afe_ctrl4" = "0x07"
816 register "reg_afe_ctrl5" = "0x00"
817 register "reg_afe_ctrl6" = "0x00"
818 register "reg_afe_ctrl7" = "0x07"
819 register "reg_afe_ctrl8" = "0x12"
820 register "reg_afe_ctrl9" = "0x0f"
821 register "reg_prox_ctrl0" = "0x12"
822 register "reg_prox_ctrl1" = "0x12"
823 register "reg_prox_ctrl2" = "0x90"
824 register "reg_prox_ctrl3" = "0x60"
825 register "reg_prox_ctrl4" = "0x0c"
826 register "reg_prox_ctrl5" = "0x12"
827 register "reg_prox_ctrl6" = "0x3c"
828 register "reg_prox_ctrl7" = "0x58"
829 register "reg_adv_ctrl0" = "0x00"
830 register "reg_adv_ctrl1" = "0x00"
831 register "reg_adv_ctrl2" = "0x00"
832 register "reg_adv_ctrl3" = "0x00"
833 register "reg_adv_ctrl4" = "0x00"
834 register "reg_adv_ctrl5" = "0x05"
835 register "reg_adv_ctrl6" = "0x00"
836 register "reg_adv_ctrl7" = "0x00"
837 register "reg_adv_ctrl8" = "0x00"
838 register "reg_adv_ctrl9" = "0x00"
839 register "reg_adv_ctrl10" = "0x5c"
840 register "reg_adv_ctrl11" = "0x52"
841 register "reg_adv_ctrl12" = "0xb5"
842 register "reg_adv_ctrl13" = "0x00"
843 register "reg_adv_ctrl14" = "0x80"
844 register "reg_adv_ctrl15" = "0x0c"
845 register "reg_adv_ctrl16" = "0x38"
846 register "reg_adv_ctrl17" = "0x56"
847 register "reg_adv_ctrl18" = "0x33"
848 register "reg_adv_ctrl19" = "0xf0"
849 register "reg_adv_ctrl20" = "0xf0"
850 device i2c 2C on end
851 end
852 chip drivers/intel/mipi_camera
853 register "acpi_hid" = ""INT3478""
854 register "acpi_uid" = "0"
855 register "acpi_name" = ""CAM1""
856 register "chip_name" = ""imx 208 Camera""
857 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
858
859 register "ssdb.lanes_used" = "2"
860 register "ssdb.link_used" = "1"
861 register "num_freq_entries" = "2"
862 register "link_freq[0]" = "384 * MHz" # 384 MHz
863 register "link_freq[1]" = "96 * MHz" # 96 MHz
864 register "remote_name" = ""IPU0""
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800865 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700866
867 register "has_power_resource" = "1"
868 #Controls
869 register "gpio_panel.gpio[0].gpio_num" = "GPP_C3" #PP3300_FCAM_X
870 register "gpio_panel.gpio[1].gpio_num" = "GPP_A17" #EN_UCAM_PWR
871 register "gpio_panel.gpio[2].gpio_num" = "GPP_F20" #reset
872 register "gpio_panel.gpio[3].gpio_num" = "GPP_H21" #CLK_EN
873
874 #_ON
875 register "on_seq.ops_cnt" = "5"
876 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(3, 0)"
877 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
878 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
879 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
880 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
881
882 #_OFF
883 register "off_seq.ops_cnt" = "4"
884 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(3, 0)"
885 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
886 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
887 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
888
889 device i2c 10 on
890 probe UFC UFC_MIPI_IMX208
891 end
892 end
893 chip drivers/intel/mipi_camera
894 register "acpi_hid" = ""ACPI_DT_NAMESPACE_HID""
895 register "acpi_uid" = "1"
896 register "acpi_name" = ""NVM1""
897 register "chip_name" = ""GT24C16S""
898 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
899
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700900 register "nvm_compat" = ""atmel,24c1024""
901
902 register "nvm_size" = "0x800"
903 register "nvm_pagesize" = "0x01"
904 register "nvm_readonly" = "0x01"
905 register "nvm_width" = "0x08"
906
Nick Vaccarof6113ec2023-11-17 10:33:07 -0800907 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
908
909 register "has_power_resource" = "1"
910
911 #Controls
912 register "gpio_panel.gpio[0].gpio_num" = "GPP_C3" #PP3300_FCAM_X
913
914 #_ON
915 register "on_seq.ops_cnt" = "1"
916 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
917
918 #_OFF
919 register "off_seq.ops_cnt" = "1"
920 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
921
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700922 device i2c 50 on
923 probe UFC UFC_MIPI_IMX208
924 end
925 end
926 chip drivers/i2c/generic
927 register "hid" = ""GOOG0020""
928 register "desc" = ""ChromeOS HPS""
929 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E7)" # EN_HPS_PWR
930 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E3_IRQ)" # HPS_INT_ODL
931 # HPS uses I2C addresses 0x30 and 0x51.
932 # The address we provide here is not significant because
933 # neither coreboot nor Linux have a driver for HPS,
934 # it's only used from userspace.
935 device i2c 30 on
936 probe HPS HPS_PRESENT
937 end
938 end
939 end #I2C2
940 device ref i2c3 on
941 chip drivers/i2c/hid
942 register "generic.hid" = ""ELAN9050""
943 register "generic.desc" = ""ELAN Touchscreen""
944 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500945 register "generic.detect" = "1"
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700946 register "generic.reset_gpio" =
947 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
948 register "generic.reset_delay_ms" = "300"
949 register "generic.reset_off_delay_ms" = "1"
950 register "generic.enable_gpio" =
951 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
952 register "generic.enable_delay_ms" = "6"
953 register "generic.stop_gpio" =
954 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
955 register "generic.stop_off_delay_ms" = "1"
956 register "generic.has_power_resource" = "1"
957 register "hid_desc_reg_offset" = "0x01"
958 device i2c 0x10 on end
959 end
960 chip drivers/i2c/hid
961 register "generic.hid" = ""GDIX0000""
962 register "generic.desc" = ""Goodix Touchscreen""
963 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500964 register "generic.detect" = "1"
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700965 register "generic.reset_gpio" =
966 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
967 register "generic.reset_delay_ms" = "120"
968 register "generic.reset_off_delay_ms" = "3"
969 register "generic.enable_gpio" =
970 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
971 register "generic.enable_delay_ms" = "12"
972 register "generic.stop_gpio" =
973 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
974 register "generic.stop_off_delay_ms" = "1"
975 register "generic.has_power_resource" = "1"
976 register "hid_desc_reg_offset" = "0x01"
977 device i2c 0x5d on end
978 end
979 chip drivers/i2c/hid
980 register "generic.hid" = ""SIS9815""
981 register "generic.desc" = ""SIS Touchscreen""
982 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500983 register "generic.detect" = "1"
Nick Vaccaro6afd7272022-08-17 12:55:24 -0700984 register "generic.reset_gpio" =
985 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
986 register "generic.stop_gpio" =
987 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
988 register "generic.stop_delay_ms" = "100"
989 register "generic.enable_gpio" =
990 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
991 register "generic.enable_delay_ms" = "7"
992 register "generic.has_power_resource" = "1"
993 register "hid_desc_reg_offset" = "0x00"
994 device i2c 5c on end
995 end
996 end #I2C3
997 device ref i2c5 on
998 chip drivers/i2c/generic
999 register "hid" = ""ELAN0000""
1000 register "desc" = ""ELAN Touchpad""
1001 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
1002 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -05001003 register "detect" = "1"
Nick Vaccaro6afd7272022-08-17 12:55:24 -07001004 device i2c 15 on end
1005 end
1006 end #I2C5
1007 device ref hda on
1008 chip drivers/generic/max98357a
1009 register "hid" = ""MX98357A""
1010 register "sdmode_gpio" =
1011 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
1012 register "sdmode_delay" = "5"
1013 device generic 0 on
1014 probe AUDIO MAX98357_ALC5682I_I2S
1015 end
1016 end
1017
1018 chip drivers/generic/max98357a
1019 register "hid" = ""MX98360A""
1020 register "sdmode_gpio" =
1021 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
1022 register "sdmode_delay" = "5"
1023 device generic 0 on
1024 probe AUDIO MAX98360_ALC5682I_I2S
1025 end
1026 end
1027
1028 chip drivers/intel/soundwire
1029 device generic 0 on
1030 probe AUDIO MAX98373_ALC5682_SNDW
1031 chip drivers/soundwire/alc5682
1032 # SoundWire Link 0 ID 1
1033 register "desc" = ""Headset Codec""
1034 device generic 0.1 on end
1035 end
1036 chip drivers/soundwire/max98373
1037 # SoundWire Link 2 ID 3
1038 register "desc" = ""Left Speaker Amp""
1039 device generic 2.3 on end
1040 end
1041 chip drivers/soundwire/max98373
1042 # SoundWire Link 2 ID 7
1043 register "desc" = ""Right Speaker Amp""
1044 device generic 2.7 on end
1045 end
1046 end
1047 end
Mac Chiangeefdfb52023-06-20 04:30:40 -04001048
1049 chip drivers/generic/nau8315
1050 register "hid" = "NAU8318"
1051 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
1052 device generic 0 on
1053 probe AUDIO NAU8318_NAU88L25B_I2S
1054 end
1055 end
Nick Vaccaro6afd7272022-08-17 12:55:24 -07001056 end
1057 device ref gspi1 on
1058 chip drivers/spi/acpi
1059 register "name" = ""CRFP""
1060 register "hid" = "ACPI_DT_NAMESPACE_HID"
1061 register "uid" = "1"
1062 register "compat_string" = ""google,cros-ec-spi""
1063 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
1064 register "wake" = "GPE0_DW2_15"
Tarun Tuli2b523ce2022-08-29 13:39:58 -04001065 register "has_power_resource" = "1"
1066 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
1067 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
1068 register "enable_delay_ms" = "3"
Matt DeVillieraf46b472023-10-28 11:16:14 -05001069 device spi 0 hidden end
Nick Vaccaro6afd7272022-08-17 12:55:24 -07001070 end # FPMCU
1071 end
1072 device ref pch_espi on
1073 chip ec/google/chromeec
1074 use conn0 as mux_conn[0]
1075 use conn1 as mux_conn[1]
1076 use conn2 as mux_conn[2]
1077 device pnp 0c09.0 on end
1078 end
1079 end
1080 device ref pmc hidden
1081 chip drivers/intel/pmc_mux
1082 device generic 0 on
1083 chip drivers/intel/pmc_mux/conn
1084 use usb2_port1 as usb2_port
1085 use tcss_usb3_port1 as usb3_port
1086 device generic 0 alias conn0 on end
1087 end
1088 chip drivers/intel/pmc_mux/conn
1089 use usb2_port2 as usb2_port
1090 use tcss_usb3_port2 as usb3_port
1091 device generic 1 alias conn1 on end
1092 end
1093 chip drivers/intel/pmc_mux/conn
1094 use usb2_port3 as usb2_port
1095 use tcss_usb3_port3 as usb3_port
1096 device generic 2 alias conn2 on end
1097 end
1098 end
1099 end
1100 end
1101 device ref tcss_xhci on
1102 chip drivers/usb/acpi
1103 device ref tcss_root_hub on
1104 chip drivers/usb/acpi
1105 register "desc" = ""USB3 Type-C Port C0 (MLB)""
1106 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
1107 register "use_custom_pld" = "true"
1108 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
1109 device ref tcss_usb3_port1 on end
1110 end
1111 chip drivers/usb/acpi
1112 register "desc" = ""USB3 Type-C Port C1 (DB)""
1113 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
1114 register "use_custom_pld" = "true"
1115 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Ron Lee558952a2022-12-13 19:48:59 +08001116 register "usb_lpm_incapable" = "true"
Nick Vaccaro6afd7272022-08-17 12:55:24 -07001117 device ref tcss_usb3_port2 on end
1118 end
1119 chip drivers/usb/acpi
1120 register "desc" = ""USB3 Type-C Port C2 (MLB)""
1121 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
1122 register "use_custom_pld" = "true"
1123 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
1124 device ref tcss_usb3_port3 on end
1125 end
1126 end
1127 end
1128 end
1129 device ref xhci on
1130 chip drivers/usb/acpi
1131 device ref xhci_root_hub on
1132 chip drivers/usb/acpi
1133 register "desc" = ""USB2 Type-C Port C0 (MLB)""
1134 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
1135 register "use_custom_pld" = "true"
1136 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
1137 device ref usb2_port1 on end
1138 end
1139 chip drivers/usb/acpi
1140 register "desc" = ""USB2 Type-C Port C1 (DB)""
1141 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
1142 register "use_custom_pld" = "true"
1143 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
1144 device ref usb2_port2 on end
1145 end
1146 chip drivers/usb/acpi
1147 register "desc" = ""USB2 Type-C Port C2 (MLB)""
1148 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
1149 register "use_custom_pld" = "true"
1150 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
1151 device ref usb2_port3 on end
1152 end
1153 chip drivers/usb/acpi
1154 register "desc" = ""USB2 WWAN""
1155 register "type" = "UPC_TYPE_INTERNAL"
1156 device ref usb2_port4 on end
1157 end
1158 chip drivers/usb/acpi
1159 register "desc" = ""USB2 Camera""
1160 register "type" = "UPC_TYPE_INTERNAL"
1161 device ref usb2_port6 on
1162 probe UFC UFC_USB
1163 end
1164 end
1165 chip drivers/usb/acpi
1166 register "desc" = ""USB2 Type-A Port A0 (DB)""
1167 register "type" = "UPC_TYPE_A"
1168 register "use_custom_pld" = "true"
1169 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
1170 device ref usb2_port9 on end
1171 end
1172 chip drivers/usb/acpi
1173 register "desc" = ""USB2 Bluetooth""
1174 register "type" = "UPC_TYPE_INTERNAL"
1175 register "reset_gpio" =
1176 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
1177 device ref usb2_port10 on end
1178 end
1179 chip drivers/usb/acpi
1180 register "desc" = ""USB3 Type-A Port A0 (DB)""
1181 register "type" = "UPC_TYPE_USB3_A"
1182 register "use_custom_pld" = "true"
1183 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
1184 device ref usb3_port1 on end
1185 end
1186 chip drivers/usb/acpi
1187 register "desc" = ""USB3 WWAN""
1188 register "type" = "UPC_TYPE_INTERNAL"
1189 device ref usb3_port4 on end
1190 end
1191 end
1192 end
1193 end
1194 end
1195end