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