blob: 0c0aa82f4391b043cf5b8ffec072b961fe33e033 [file] [log] [blame]
Nick Vaccaro4c8f7782022-04-27 11:35:18 -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
21 end
22 field DB_LTE 11 12
23 option LTE_ABSENT 0
24 option LTE_USB 1
25 option LTE_PCIE 2
26 end
27 field UFC 13 14
28 option UFC_USB 0
29 option UFC_MIPI_IMX208 1
30 end
Nick Vaccaro7710c682022-07-19 14:50:37 -070031 field WFC 15 16
32 option WFC_ABSENT 0
33 option WFC_MIPI_OVTI5675 1
34 option WFC_MIPI_OVTI8856 2
35 end
Nick Vaccaro4c8f7782022-04-27 11:35:18 -070036 field HPS 17 17
37 option HPS_ABSENT 0
38 option HPS_PRESENT 1
39 end
40end
41
42chip soc/intel/alderlake
Jeremy Compostella54a6b1f2022-11-14 10:28:27 -080043 register "domain_vr_config[VR_DOMAIN_IA]" = "{
44 .enable_fast_vmode = 1,
45 }"
46
Nick Vaccaro4c8f7782022-04-27 11:35:18 -070047 register "sagv" = "SaGv_Enabled"
48
Selma Bensaida10a86d2022-10-20 18:24:39 -070049 # As per Intel Advisory doc#723158, the change is required to prevent possible
50 # display flickering issue.
51 register "disable_dynamic_tccold_handshake" = "true"
52
Nick Vaccaro4c8f7782022-04-27 11:35:18 -070053 register "platform_pmax" = "145"
54
55 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Type-A MLB Port
56
57 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3/2 Type A MLB port
58
59 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
60
61 # FIVR configurations for brya are disabled since the board doesn't have V1p05 and Vnn
62 # bypass rails implemented.
63 register "ext_fivr_settings" = "{
64 .configure_ext_fivr = 1,
65 }"
66
67 # Intel Common SoC Config
68 #+-------------------+---------------------------+
69 #| Field | Value |
70 #+-------------------+---------------------------+
71 #| GSPI1 | Fingerprint MCU |
72 #| I2C0 | Audio |
73 #| I2C1 | cr50 TPM. Early init is |
74 #| | required to set up a BAR |
75 #| | for TPM communication |
76 #| I2C2 | SAR |
77 #| I2C3 | TouchScreen |
78 #| I2C5 | Trackpad |
79 #+-------------------+---------------------------+
80 register "common_soc_config" = "{
81 .i2c[0] = {
82 .speed = I2C_SPEED_FAST,
83 .rise_time_ns = 650,
84 .fall_time_ns = 400,
85 .data_hold_time_ns = 50,
86 },
87 .i2c[1] = {
88 .early_init = 1,
89 .speed = I2C_SPEED_FAST,
90 .rise_time_ns = 600,
91 .fall_time_ns = 400,
92 .data_hold_time_ns = 50,
93 },
94 .i2c[2] = {
95 .speed = I2C_SPEED_FAST,
96 .rise_time_ns = 900,
97 .fall_time_ns = 400,
98 .data_hold_time_ns = 50,
99 },
100 .i2c[3] = {
101 .speed = I2C_SPEED_FAST,
102 .rise_time_ns = 650,
103 .fall_time_ns = 400,
104 .data_hold_time_ns = 50,
105 },
106 .i2c[5] = {
107 .speed = I2C_SPEED_FAST,
108 .rise_time_ns = 650,
109 .fall_time_ns = 400,
110 .data_hold_time_ns = 50,
111 },
112 }"
113
114 device domain 0 on
Won Chung902575f2023-04-12 18:33:12 +0000115 device ref igpu on
116 chip drivers/gfx/generic
117 register "device_count" = "6"
118 # DDIA for eDP
119 register "device[0].name" = ""LCD""
120 # DDIB for HDMI
121 register "device[1].name" = ""DD01""
122 # TCP0 (DP-1) for port C0
123 register "device[2].name" = ""DD02""
124 register "device[2].use_pld" = "true"
125 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
126 # TCP1 (DP-2) for port C1
127 register "device[3].name" = ""DD03""
128 register "device[3].use_pld" = "true"
129 register "device[3].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
130 # TCP2 (DP-3) for port C2
131 register "device[4].name" = ""DD04""
132 register "device[4].use_pld" = "true"
133 register "device[4].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
134 # TCP3 (DP-4) unused
135 register "device[5].name" = ""DD05""
136 device generic 0 on end
137 end
138 end # Integrated Graphics Device
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700139 device ref dtt on
140 chip drivers/intel/dptf
141 ## sensor information
142 register "options.tsr[0].desc" = ""DRAM_SOC""
143 register "options.tsr[1].desc" = ""Ambient""
144 register "options.tsr[2].desc" = ""Charger""
145 register "options.tsr[3].desc" = ""WWAN""
146
147 # TODO: below values are initial reference values only
148 ## Active Policy
149 register "policies.active" = "{
150 [0] = {
151 .target = DPTF_CPU,
152 .thresholds = {
153 TEMP_PCT(85, 90),
154 TEMP_PCT(80, 80),
155 TEMP_PCT(75, 70),
156 TEMP_PCT(70, 50),
157 TEMP_PCT(65, 30),
158 }
159 },
160 [1] = {
161 .target = DPTF_TEMP_SENSOR_1,
162 .thresholds = {
163 TEMP_PCT(50, 90),
164 TEMP_PCT(48, 70),
165 TEMP_PCT(46, 60),
166 TEMP_PCT(43, 40),
167 TEMP_PCT(40, 30),
168 }
169 }
170 }"
171
172 ## Passive Policy
173 register "policies.passive" = "{
174 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
175 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 75, 5000),
176 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 75, 5000),
177 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
178 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 75, 5000),
179 }"
180
181 ## Critical Policy
182 register "policies.critical" = "{
183 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
184 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
185 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
186 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
187 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 85, SHUTDOWN),
188 }"
189
190 register "controls.power_limits" = "{
191 .pl1 = {
192 .min_power = 3000,
193 .max_power = 15000,
194 .time_window_min = 28 * MSECS_PER_SEC,
195 .time_window_max = 32 * MSECS_PER_SEC,
196 .granularity = 200,
197 },
198 .pl2 = {
199 .min_power = 55000,
200 .max_power = 55000,
201 .time_window_min = 28 * MSECS_PER_SEC,
202 .time_window_max = 32 * MSECS_PER_SEC,
203 .granularity = 1000,
204 }
205 }"
206
207 ## Charger Performance Control (Control, mA)
208 register "controls.charger_perf" = "{
209 [0] = { 255, 1700 },
210 [1] = { 24, 1500 },
211 [2] = { 16, 1000 },
212 [3] = { 8, 500 }
213 }"
214
215 ## Fan Performance Control (Percent, Speed, Noise, Power)
216 register "controls.fan_perf" = "{
217 [0] = { 90, 6700, 220, 2200, },
218 [1] = { 80, 5800, 180, 1800, },
219 [2] = { 70, 5000, 145, 1450, },
220 [3] = { 60, 4900, 115, 1150, },
221 [4] = { 50, 3838, 90, 900, },
222 [5] = { 40, 2904, 55, 550, },
223 [6] = { 30, 2337, 30, 300, },
224 [7] = { 20, 1608, 15, 150, },
225 [8] = { 10, 800, 10, 100, },
226 [9] = { 0, 0, 0, 50, }
227 }"
228
229 ## Fan options
230 register "options.fan.fine_grained_control" = "1"
231 register "options.fan.step_size" = "2"
232
233 device generic 0 alias dptf_policy on end
234 end
235 end
236 device ref ipu on
237 chip drivers/intel/mipi_camera
238 register "acpi_uid" = "0x50000"
239 register "acpi_name" = ""IPU0""
240 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
241
242 register "cio2_num_ports" = "1"
243 register "cio2_lanes_used" = "{4}" # 4 CSI Camera lanes are used
244 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
245 register "cio2_prt[0]" = "2"
246 device generic 0 on
247 # MIPI lanes are split between UFC and WFC depending on
248 # whether the UFC is USB or MIPI hence probing UFC_USB
249 probe UFC UFC_USB
250 end
251 end
252 chip drivers/intel/mipi_camera
253 register "acpi_uid" = "0x50000"
254 register "acpi_name" = ""IPU0""
255 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
256
257 register "cio2_num_ports" = "2"
258 register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
259 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
260 register "cio2_lane_endpoint[1]" = ""^I2C2.CAM1""
261 register "cio2_prt[0]" = "2"
262 register "cio2_prt[1]" = "1"
263 device generic 1 on
264 probe UFC UFC_MIPI_IMX208
265 end
266 end
267 end
268 device ref cnvi_wifi on
269 chip drivers/wifi/generic
270 register "wake" = "GPE0_PME_B0"
271 register "enable_cnvi_ddr_rfim" = "true"
272 device generic 0 on end
273 end
274 end
275 device ref pcie_rp6 on
276 # Enable WWAN PCIE 6 using clk 5
277 register "pch_pcie_rp[PCH_RP(6)]" = "{
278 .clk_src = 5,
279 .clk_req = 5,
280 .flags = PCIE_RP_LTR | PCIE_RP_AER,
281 }"
282 chip soc/intel/common/block/pcie/rtd3
283 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
284 register "reset_off_delay_ms" = "20"
285 # register "reset_delay_ms" = "1000"
286 register "srcclk_pin" = "5"
287 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
288 register "skip_on_off_support" = "true"
Cliff Huangdaeb7812023-03-02 10:17:50 -0800289 register "use_rp_mutex" = "true"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700290 device generic 0 alias rp6_rtd3 on
291 probe DB_LTE LTE_PCIE
292 end
293 end
294 chip drivers/wwan/fm
295 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F21)"
296 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E16)"
297 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
298 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A7)"
299 register "add_acpi_dma_property" = "true"
300 use rp6_rtd3 as rtd3dev
301 device generic 0 on
302 probe DB_LTE LTE_PCIE
303 end
304 end
305 probe DB_LTE LTE_PCIE
306 end
307 device ref tcss_dma0 on
308 chip drivers/intel/usb4/retimer
309 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
310 use tcss_usb3_port1 as dfp[0].typec_port
311 device generic 0 on end
312 end
313 end
314 device ref tcss_dma1 on
315 chip drivers/intel/usb4/retimer
316 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
317 use tcss_usb3_port3 as dfp[0].typec_port
318 device generic 0 on end
319 end
320 end
321 device ref pcie_rp8 on
322 chip soc/intel/common/block/pcie/rtd3
323 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
324 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
325 register "srcclk_pin" = "3"
326 device generic 0 on end
327 end
328 end #PCIE8 SD card
329 device ref i2c0 on
330 chip drivers/i2c/generic
331 register "hid" = ""10EC5682""
332 register "name" = ""RT58""
333 register "desc" = ""Headset Codec""
334 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
335 # Set the jd_src to RT5668_JD1 for jack detection
336 register "property_count" = "1"
337 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
338 register "property_list[0].name" = ""realtek,jd-src""
339 register "property_list[0].integer" = "1"
340 device i2c 1a on
341 probe AUDIO MAX98357_ALC5682I_I2S
342 probe AUDIO MAX98360_ALC5682I_I2S
343 end
344 end
345 chip drivers/i2c/nau8825
346 register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_A23)"
347 register "jkdet_enable" = "1"
348 register "jkdet_pull_enable" = "0"
349 register "jkdet_polarity" = "1" # ActiveLow
350 register "vref_impedance" = "2" # 125kOhm
351 register "micbias_voltage" = "6" # 2.754
352 register "sar_threshold_num" = "4"
353 register "sar_threshold[0]" = "0x0c"
354 register "sar_threshold[1]" = "0x1c"
355 register "sar_threshold[2]" = "0x38"
356 register "sar_threshold[3]" = "0x60"
357 register "sar_hysteresis" = "1"
358 register "sar_voltage" = "0" # VDDA
359 register "sar_compare_time" = "0" # 500ns
360 register "sar_sampling_time" = "0" # 2us
361 register "short_key_debounce" = "2" # 100ms
362 register "jack_insert_debounce" = "7" # 512ms
363 register "jack_eject_debounce" = "7" # 512ms
364 device i2c 1a on
365 probe AUDIO ALC1019_NAU88L25B_I2S
366 end
367 end
368 chip drivers/generic/alc1015
369 register "hid" = ""RTL1019""
370 register "sdb" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
371 device generic 1 on
372 probe AUDIO ALC1019_NAU88L25B_I2S
373 end
374 end
375 chip drivers/intel/mipi_camera
376 register "acpi_hid" = ""OVTI8856""
377 register "acpi_uid" = "0"
378 register "acpi_name" = ""CAM0""
379 register "chip_name" = ""Ov 8856 Camera""
380 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
381
382 register "ssdb.lanes_used" = "4"
383 register "ssdb.link_used" = "0"
384 register "ssdb.vcm_type" = "0x0C"
385 register "vcm_name" = ""VCM0""
386 register "num_freq_entries" = "2"
387 register "link_freq[0]" = "360 * MHz" # 360 MHz
388 register "link_freq[1]" = "180 * MHz" # 180 MHz
389 register "remote_name" = ""IPU0""
Bora Guvendikfa03a9f2022-08-23 10:32:37 -0700390 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700391
392 register "has_power_resource" = "1"
393 #Controls
394 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
395 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
396
397 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" #power_enable_2p8
398 register "gpio_panel.gpio[1].gpio_num" = "GPP_D16" #power_enable_1p2
399 register "gpio_panel.gpio[2].gpio_num" = "GPP_D3" #reset
400
401 #_ON
402 register "on_seq.ops_cnt" = "5"
403 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
404 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
405 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
406 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
407 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
408
409 #_OFF
410 register "off_seq.ops_cnt" = "4"
411 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
412 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
413 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
414 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
415
416 device i2c 10 on end
417 end
418 chip drivers/intel/mipi_camera
419 register "acpi_uid" = "2"
420 register "acpi_name" = ""VCM0""
421 register "chip_name" = ""DW9768 VCM""
422 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700423 register "vcm_compat" = ""dongwoon,dw9768""
424
Bora Guvendikfa03a9f2022-08-23 10:32:37 -0700425 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
426
427 register "has_power_resource" = "1"
428
429 #Controls
430 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
431
432 #_ON
433 register "on_seq.ops_cnt" = "1"
434 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
435
436 #_OFF
437 register "off_seq.ops_cnt" = "1"
438 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
439
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700440 device i2c 0C on end
441 end
442 chip drivers/intel/mipi_camera
443 register "acpi_uid" = "1"
444 register "acpi_name" = ""NVM0""
445 register "chip_name" = ""AT24 EEPROM""
446 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
447
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700448 register "nvm_compat" = ""atmel,24c1024""
449
450 register "nvm_size" = "0x2800"
451 register "nvm_pagesize" = "0x01"
452 register "nvm_readonly" = "0x01"
453 register "nvm_width" = "0x10"
454
Bora Guvendikfa03a9f2022-08-23 10:32:37 -0700455 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
456
457 register "has_power_resource" = "1"
458
459 #Controls
460 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
461
462 #_ON
463 register "on_seq.ops_cnt" = "1"
464 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
465
466 #_OFF
467 register "off_seq.ops_cnt" = "1"
468 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
469
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700470 device i2c 58 on end
471 end
472 end #I2C0
473 device ref i2c1 on
474 chip drivers/i2c/tpm
475 register "hid" = ""GOOG0005""
476 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
477 device i2c 50 on end
478 end
479 end #I2C1
480 device ref i2c2 on
481 chip drivers/i2c/sx9324
482 register "desc" = ""SAR1 Proximity Sensor""
483 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
484 register "speed" = "I2C_SPEED_FAST"
485 register "uid" = "1"
486 register "reg_gnrl_ctrl0" = "0x16"
487 register "reg_gnrl_ctrl1" = "0x21"
488 register "reg_afe_ctrl0" = "0x00"
489 register "reg_afe_ctrl1" = "0x10"
490 register "reg_afe_ctrl2" = "0x00"
491 register "reg_afe_ctrl3" = "0x00"
492 register "reg_afe_ctrl4" = "0x07"
493 register "reg_afe_ctrl5" = "0x00"
494 register "reg_afe_ctrl6" = "0x00"
495 register "reg_afe_ctrl7" = "0x07"
496 register "reg_afe_ctrl8" = "0x12"
497 register "reg_afe_ctrl9" = "0x0f"
498 register "reg_prox_ctrl0" = "0x12"
499 register "reg_prox_ctrl1" = "0x12"
500 register "reg_prox_ctrl2" = "0x90"
501 register "reg_prox_ctrl3" = "0x60"
502 register "reg_prox_ctrl4" = "0x0c"
503 register "reg_prox_ctrl5" = "0x12"
504 register "reg_prox_ctrl6" = "0x3c"
505 register "reg_prox_ctrl7" = "0x58"
506 register "reg_adv_ctrl0" = "0x00"
507 register "reg_adv_ctrl1" = "0x00"
508 register "reg_adv_ctrl2" = "0x00"
509 register "reg_adv_ctrl3" = "0x00"
510 register "reg_adv_ctrl4" = "0x00"
511 register "reg_adv_ctrl5" = "0x05"
512 register "reg_adv_ctrl6" = "0x00"
513 register "reg_adv_ctrl7" = "0x00"
514 register "reg_adv_ctrl8" = "0x00"
515 register "reg_adv_ctrl9" = "0x00"
516 register "reg_adv_ctrl10" = "0x5c"
517 register "reg_adv_ctrl11" = "0x52"
518 register "reg_adv_ctrl12" = "0xb5"
519 register "reg_adv_ctrl13" = "0x00"
520 register "reg_adv_ctrl14" = "0x80"
521 register "reg_adv_ctrl15" = "0x0c"
522 register "reg_adv_ctrl16" = "0x38"
523 register "reg_adv_ctrl17" = "0x56"
524 register "reg_adv_ctrl18" = "0x33"
525 register "reg_adv_ctrl19" = "0xf0"
526 register "reg_adv_ctrl20" = "0xf0"
527 device i2c 28 on end
528 end
529 chip drivers/i2c/sx9324
530 register "desc" = ""SAR2 Proximity Sensor""
531 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_H19_IRQ)"
532 register "speed" = "I2C_SPEED_FAST"
533 register "uid" = "2"
534 register "reg_gnrl_ctrl0" = "0x16"
535 register "reg_gnrl_ctrl1" = "0x21"
536 register "reg_afe_ctrl0" = "0x00"
537 register "reg_afe_ctrl1" = "0x10"
538 register "reg_afe_ctrl2" = "0x00"
539 register "reg_afe_ctrl3" = "0x00"
540 register "reg_afe_ctrl4" = "0x07"
541 register "reg_afe_ctrl5" = "0x00"
542 register "reg_afe_ctrl6" = "0x00"
543 register "reg_afe_ctrl7" = "0x07"
544 register "reg_afe_ctrl8" = "0x12"
545 register "reg_afe_ctrl9" = "0x0f"
546 register "reg_prox_ctrl0" = "0x12"
547 register "reg_prox_ctrl1" = "0x12"
548 register "reg_prox_ctrl2" = "0x90"
549 register "reg_prox_ctrl3" = "0x60"
550 register "reg_prox_ctrl4" = "0x0c"
551 register "reg_prox_ctrl5" = "0x12"
552 register "reg_prox_ctrl6" = "0x3c"
553 register "reg_prox_ctrl7" = "0x58"
554 register "reg_adv_ctrl0" = "0x00"
555 register "reg_adv_ctrl1" = "0x00"
556 register "reg_adv_ctrl2" = "0x00"
557 register "reg_adv_ctrl3" = "0x00"
558 register "reg_adv_ctrl4" = "0x00"
559 register "reg_adv_ctrl5" = "0x05"
560 register "reg_adv_ctrl6" = "0x00"
561 register "reg_adv_ctrl7" = "0x00"
562 register "reg_adv_ctrl8" = "0x00"
563 register "reg_adv_ctrl9" = "0x00"
564 register "reg_adv_ctrl10" = "0x5c"
565 register "reg_adv_ctrl11" = "0x52"
566 register "reg_adv_ctrl12" = "0xb5"
567 register "reg_adv_ctrl13" = "0x00"
568 register "reg_adv_ctrl14" = "0x80"
569 register "reg_adv_ctrl15" = "0x0c"
570 register "reg_adv_ctrl16" = "0x38"
571 register "reg_adv_ctrl17" = "0x56"
572 register "reg_adv_ctrl18" = "0x33"
573 register "reg_adv_ctrl19" = "0xf0"
574 register "reg_adv_ctrl20" = "0xf0"
575 device i2c 2C on end
576 end
577 chip drivers/intel/mipi_camera
578 register "acpi_hid" = ""INT3478""
579 register "acpi_uid" = "0"
580 register "acpi_name" = ""CAM1""
581 register "chip_name" = ""imx 208 Camera""
582 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
583
584 register "ssdb.lanes_used" = "2"
585 register "ssdb.link_used" = "1"
586 register "num_freq_entries" = "2"
587 register "link_freq[0]" = "384 * MHz" # 384 MHz
588 register "link_freq[1]" = "96 * MHz" # 96 MHz
589 register "remote_name" = ""IPU0""
590
591 register "has_power_resource" = "1"
592 #Controls
593 register "gpio_panel.gpio[0].gpio_num" = "GPP_C3" #PP3300_FCAM_X
594 register "gpio_panel.gpio[1].gpio_num" = "GPP_A17" #EN_UCAM_PWR
595 register "gpio_panel.gpio[2].gpio_num" = "GPP_F20" #reset
596 register "gpio_panel.gpio[3].gpio_num" = "GPP_H21" #CLK_EN
597
598 #_ON
599 register "on_seq.ops_cnt" = "5"
600 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(3, 0)"
601 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
602 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
603 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
604 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
605
606 #_OFF
607 register "off_seq.ops_cnt" = "4"
608 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(3, 0)"
609 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
610 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
611 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
612
613 device i2c 10 on
614 probe UFC UFC_MIPI_IMX208
615 end
616 end
617 chip drivers/intel/mipi_camera
618 register "acpi_hid" = ""ACPI_DT_NAMESPACE_HID""
619 register "acpi_uid" = "1"
620 register "acpi_name" = ""NVM1""
621 register "chip_name" = ""GT24C16S""
622 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
623
624 register "pr0" = ""\\_SB.PCI0.I2C2.CAM1.PRIC""
625 register "nvm_compat" = ""atmel,24c1024""
626
627 register "nvm_size" = "0x800"
628 register "nvm_pagesize" = "0x01"
629 register "nvm_readonly" = "0x01"
630 register "nvm_width" = "0x08"
631
632 device i2c 50 on
633 probe UFC UFC_MIPI_IMX208
634 end
635 end
636 chip drivers/i2c/generic
637 register "hid" = ""GOOG0020""
Jon Murphyc4e90452022-06-28 10:36:23 -0600638 register "desc" = ""ChromeOS HPS""
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700639 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E7)" # EN_HPS_PWR
640 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E3_IRQ)" # HPS_INT_ODL
641 # HPS uses I2C addresses 0x30 and 0x51.
642 # The address we provide here is not significant because
643 # neither coreboot nor Linux have a driver for HPS,
644 # it's only used from userspace.
645 device i2c 30 on
646 probe HPS HPS_PRESENT
647 end
648 end
649 end #I2C2
650 device ref i2c3 on
651 chip drivers/i2c/hid
652 register "generic.hid" = ""ELAN9050""
653 register "generic.desc" = ""ELAN Touchscreen""
654 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
655 register "generic.probed" = "1"
656 register "generic.reset_gpio" =
657 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
658 register "generic.reset_delay_ms" = "300"
659 register "generic.reset_off_delay_ms" = "1"
660 register "generic.enable_gpio" =
661 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
662 register "generic.enable_delay_ms" = "6"
663 register "generic.stop_gpio" =
664 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
665 register "generic.stop_off_delay_ms" = "1"
666 register "generic.has_power_resource" = "1"
667 register "hid_desc_reg_offset" = "0x01"
668 device i2c 0x10 on end
669 end
670 chip drivers/i2c/hid
671 register "generic.hid" = ""GDIX0000""
672 register "generic.desc" = ""Goodix Touchscreen""
673 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
674 register "generic.probed" = "1"
675 register "generic.reset_gpio" =
676 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
677 register "generic.reset_delay_ms" = "120"
678 register "generic.reset_off_delay_ms" = "3"
679 register "generic.enable_gpio" =
680 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
681 register "generic.enable_delay_ms" = "12"
682 register "generic.stop_gpio" =
683 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
684 register "generic.stop_off_delay_ms" = "1"
685 register "generic.has_power_resource" = "1"
686 register "hid_desc_reg_offset" = "0x01"
687 device i2c 0x5d on end
688 end
689 chip drivers/i2c/hid
690 register "generic.hid" = ""SIS9815""
691 register "generic.desc" = ""SIS Touchscreen""
692 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
693 register "generic.probed" = "1"
694 register "generic.reset_gpio" =
695 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
696 register "generic.stop_gpio" =
697 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
698 register "generic.stop_delay_ms" = "100"
699 register "generic.enable_gpio" =
700 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
701 register "generic.enable_delay_ms" = "7"
702 register "generic.has_power_resource" = "1"
703 register "hid_desc_reg_offset" = "0x00"
704 device i2c 5c on end
705 end
706 end #I2C3
707 device ref i2c5 on
708 chip drivers/i2c/generic
709 register "hid" = ""ELAN0000""
710 register "desc" = ""ELAN Touchpad""
711 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
712 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500713 register "detect" = "1"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700714 device i2c 15 on end
715 end
716 end #I2C5
717 device ref hda on
718 chip drivers/generic/max98357a
719 register "hid" = ""MX98357A""
720 register "sdmode_gpio" =
721 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
722 register "sdmode_delay" = "5"
723 device generic 0 on
724 probe AUDIO MAX98357_ALC5682I_I2S
725 end
726 end
727
728 chip drivers/generic/max98357a
729 register "hid" = ""MX98360A""
730 register "sdmode_gpio" =
731 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
732 register "sdmode_delay" = "5"
733 device generic 0 on
734 probe AUDIO MAX98360_ALC5682I_I2S
735 end
736 end
737
738 chip drivers/intel/soundwire
739 device generic 0 on
740 probe AUDIO MAX98373_ALC5682_SNDW
741 chip drivers/soundwire/alc5682
742 # SoundWire Link 0 ID 1
743 register "desc" = ""Headset Codec""
744 device generic 0.1 on end
745 end
746 chip drivers/soundwire/max98373
747 # SoundWire Link 2 ID 3
748 register "desc" = ""Left Speaker Amp""
749 device generic 2.3 on end
750 end
751 chip drivers/soundwire/max98373
752 # SoundWire Link 2 ID 7
753 register "desc" = ""Right Speaker Amp""
754 device generic 2.7 on end
755 end
756 end
757 end
758 end
759 device ref gspi1 on
760 chip drivers/spi/acpi
761 register "name" = ""CRFP""
762 register "hid" = "ACPI_DT_NAMESPACE_HID"
763 register "uid" = "1"
764 register "compat_string" = ""google,cros-ec-spi""
765 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
766 register "wake" = "GPE0_DW2_15"
Tarun Tuli2b523ce2022-08-29 13:39:58 -0400767 register "has_power_resource" = "1"
768 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
769 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
770 register "enable_delay_ms" = "3"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700771 device spi 0 on end
772 end # FPMCU
773 end
774 device ref pch_espi on
775 chip ec/google/chromeec
776 use conn0 as mux_conn[0]
777 use conn1 as mux_conn[1]
778 use conn2 as mux_conn[2]
779 device pnp 0c09.0 on end
780 end
781 end
782 device ref pmc hidden
783 chip drivers/intel/pmc_mux
784 device generic 0 on
785 chip drivers/intel/pmc_mux/conn
786 use usb2_port1 as usb2_port
787 use tcss_usb3_port1 as usb3_port
788 device generic 0 alias conn0 on end
789 end
790 chip drivers/intel/pmc_mux/conn
791 use usb2_port2 as usb2_port
792 use tcss_usb3_port2 as usb3_port
793 device generic 1 alias conn1 on end
794 end
795 chip drivers/intel/pmc_mux/conn
796 use usb2_port3 as usb2_port
797 use tcss_usb3_port3 as usb3_port
798 device generic 2 alias conn2 on end
799 end
800 end
801 end
802 end
803 device ref tcss_xhci on
804 chip drivers/usb/acpi
805 device ref tcss_root_hub on
806 chip drivers/usb/acpi
807 register "desc" = ""USB3 Type-C Port C0 (MLB)""
808 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
809 register "use_custom_pld" = "true"
Nick Vaccarof0198b62022-07-20 15:25:21 -0700810 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700811 device ref tcss_usb3_port1 on end
812 end
813 chip drivers/usb/acpi
814 register "desc" = ""USB3 Type-C Port C1 (DB)""
815 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
816 register "use_custom_pld" = "true"
817 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
Ron Lee558952a2022-12-13 19:48:59 +0800818 register "usb_lpm_incapable" = "true"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700819 device ref tcss_usb3_port2 on end
820 end
821 chip drivers/usb/acpi
822 register "desc" = ""USB3 Type-C Port C2 (MLB)""
823 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
824 register "use_custom_pld" = "true"
Nick Vaccarof0198b62022-07-20 15:25:21 -0700825 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700826 device ref tcss_usb3_port3 on end
827 end
828 end
829 end
830 end
831 device ref xhci on
832 chip drivers/usb/acpi
833 device ref xhci_root_hub on
834 chip drivers/usb/acpi
835 register "desc" = ""USB2 Type-C Port C0 (MLB)""
836 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
837 register "use_custom_pld" = "true"
Nick Vaccarof0198b62022-07-20 15:25:21 -0700838 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700839 device ref usb2_port1 on end
840 end
841 chip drivers/usb/acpi
842 register "desc" = ""USB2 Type-C Port C1 (DB)""
843 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
844 register "use_custom_pld" = "true"
845 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
846 device ref usb2_port2 on end
847 end
848 chip drivers/usb/acpi
849 register "desc" = ""USB2 Type-C Port C2 (MLB)""
850 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
851 register "use_custom_pld" = "true"
Nick Vaccarof0198b62022-07-20 15:25:21 -0700852 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700853 device ref usb2_port3 on end
854 end
855 chip drivers/usb/acpi
856 register "desc" = ""USB2 WWAN""
857 register "type" = "UPC_TYPE_INTERNAL"
858 device ref usb2_port4 on end
859 end
860 chip drivers/usb/acpi
861 register "desc" = ""USB2 Camera""
862 register "type" = "UPC_TYPE_INTERNAL"
863 device ref usb2_port6 on
864 probe UFC UFC_USB
865 end
866 end
867 chip drivers/usb/acpi
868 register "desc" = ""USB2 Type-A Port A0 (DB)""
869 register "type" = "UPC_TYPE_A"
870 register "use_custom_pld" = "true"
871 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
872 device ref usb2_port9 on end
873 end
874 chip drivers/usb/acpi
875 register "desc" = ""USB2 Bluetooth""
876 register "type" = "UPC_TYPE_INTERNAL"
877 register "reset_gpio" =
878 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
879 device ref usb2_port10 on end
880 end
881 chip drivers/usb/acpi
882 register "desc" = ""USB3 Type-A Port A0 (DB)""
883 register "type" = "UPC_TYPE_USB3_A"
884 register "use_custom_pld" = "true"
885 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
886 device ref usb3_port1 on end
887 end
888 chip drivers/usb/acpi
889 register "desc" = ""USB3 WWAN""
890 register "type" = "UPC_TYPE_INTERNAL"
891 device ref usb3_port4 on end
892 end
893 end
894 end
895 end
896 end
897end