mb/google/fatcat/var/fatcat: Refactor GPIO programming for UFS support
[coreboot.git] / src / mainboard / google / brya / variants / skolas4es / overridetree.cb
blob22f846b54f7b1ffa38f13746c11d0c9ae62c3d0d
1 fw_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
31 field WFC 15 16
32 option WFC_ABSENT 0
33 option WFC_MIPI_OVTI5675 1
34 option WFC_MIPI_OVTI8856 2
35 end
36 field HPS 17 17
37 option HPS_ABSENT 0
38 option HPS_PRESENT 1
39 end
40 end
42 chip soc/intel/alderlake
43 register "domain_vr_config[VR_DOMAIN_IA]" = "{
44 .enable_fast_vmode = 1,
47 register "sagv" = "SaGv_Enabled"
49 # As per Intel Advisory doc#723158, the change is required to prevent possible
50 # display flickering issue.
51 register "disable_dynamic_tccold_handshake" = "true"
53 register "platform_pmax" = "145"
55 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Type-A MLB Port
57 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3/2 Type A MLB port
59 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
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,
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,
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,
94 .i2c[2] = {
95 .speed = I2C_SPEED_FAST,
96 .rise_time_ns = 900,
97 .fall_time_ns = 400,
98 .data_hold_time_ns = 50,
100 .i2c[3] = {
101 .speed = I2C_SPEED_FAST,
102 .rise_time_ns = 650,
103 .fall_time_ns = 400,
104 .data_hold_time_ns = 50,
106 .i2c[5] = {
107 .speed = I2C_SPEED_FAST,
108 .rise_time_ns = 650,
109 .fall_time_ns = 400,
110 .data_hold_time_ns = 50,
114 device domain 0 on
115 device ref igpu on
116 chip drivers/gfx/generic
117 register "device_count" = "6"
118 # DDIA for eDP
119 register "device[0].name" = ""LCD0""
120 # Internal panel on the first port of the graphics chip
121 register "device[0].type" = "panel"
122 # DDIB for HDMI
123 # If HDMI is not enumerated in the kernel, then no GFX device should be added for DDIB
124 register "device[1].name" = ""DD01""
125 # TCP0 (DP-1) for port C0
126 register "device[2].name" = ""DD02""
127 register "device[2].use_pld" = "true"
128 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
129 # TCP1 (DP-2) for port C1
130 register "device[3].name" = ""DD03""
131 register "device[3].use_pld" = "true"
132 register "device[3].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
133 # TCP2 (DP-3) for port C2
134 register "device[4].name" = ""DD04""
135 register "device[4].use_pld" = "true"
136 register "device[4].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
137 # TCP3 (DP-4) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP3
138 register "device[5].name" = ""DD05""
139 device generic 0 on end
141 end # Integrated Graphics Device
142 device ref dtt on
143 chip drivers/intel/dptf
144 ## sensor information
145 register "options.tsr[0].desc" = ""DRAM_SOC""
146 register "options.tsr[1].desc" = ""Ambient""
147 register "options.tsr[2].desc" = ""Charger""
148 register "options.tsr[3].desc" = ""WWAN""
150 # TODO: below values are initial reference values only
151 ## Active Policy
152 register "policies.active" = "{
153 [0] = {
154 .target = DPTF_CPU,
155 .thresholds = {
156 TEMP_PCT(85, 90),
157 TEMP_PCT(80, 80),
158 TEMP_PCT(75, 70),
159 TEMP_PCT(70, 50),
160 TEMP_PCT(65, 30),
163 [1] = {
164 .target = DPTF_TEMP_SENSOR_1,
165 .thresholds = {
166 TEMP_PCT(50, 90),
167 TEMP_PCT(48, 70),
168 TEMP_PCT(46, 60),
169 TEMP_PCT(43, 40),
170 TEMP_PCT(40, 30),
175 ## Passive Policy
176 register "policies.passive" = "{
177 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
178 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 75, 5000),
179 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 75, 5000),
180 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
181 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 75, 5000),
184 ## Critical Policy
185 register "policies.critical" = "{
186 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
187 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
188 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
189 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
190 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 85, SHUTDOWN),
193 register "controls.power_limits" = "{
194 .pl1 = {
195 .min_power = 3000,
196 .max_power = 15000,
197 .time_window_min = 28 * MSECS_PER_SEC,
198 .time_window_max = 32 * MSECS_PER_SEC,
199 .granularity = 200,
201 .pl2 = {
202 .min_power = 55000,
203 .max_power = 55000,
204 .time_window_min = 28 * MSECS_PER_SEC,
205 .time_window_max = 32 * MSECS_PER_SEC,
206 .granularity = 1000,
210 ## Charger Performance Control (Control, mA)
211 register "controls.charger_perf" = "{
212 [0] = { 255, 1700 },
213 [1] = { 24, 1500 },
214 [2] = { 16, 1000 },
215 [3] = { 8, 500 }
218 ## Fan Performance Control (Percent, Speed, Noise, Power)
219 register "controls.fan_perf" = "{
220 [0] = { 90, 6700, 220, 2200, },
221 [1] = { 80, 5800, 180, 1800, },
222 [2] = { 70, 5000, 145, 1450, },
223 [3] = { 60, 4900, 115, 1150, },
224 [4] = { 50, 3838, 90, 900, },
225 [5] = { 40, 2904, 55, 550, },
226 [6] = { 30, 2337, 30, 300, },
227 [7] = { 20, 1608, 15, 150, },
228 [8] = { 10, 800, 10, 100, },
229 [9] = { 0, 0, 0, 50, }
232 ## Fan options
233 register "options.fan.fine_grained_control" = "true"
234 register "options.fan.step_size" = "2"
236 device generic 0 alias dptf_policy on end
239 device ref ipu on
240 chip drivers/intel/mipi_camera
241 register "acpi_uid" = "0x50000"
242 register "acpi_name" = ""IPU0""
243 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
245 register "cio2_num_ports" = "1"
246 register "cio2_lanes_used" = "{4}" # 4 CSI Camera lanes are used
247 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
248 register "cio2_prt[0]" = "2"
249 device generic 0 on
250 # MIPI lanes are split between UFC and WFC depending on
251 # whether the UFC is USB or MIPI hence probing UFC_USB
252 probe UFC UFC_USB
255 chip drivers/intel/mipi_camera
256 register "acpi_uid" = "0x50000"
257 register "acpi_name" = ""IPU0""
258 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
260 register "cio2_num_ports" = "2"
261 register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
262 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
263 register "cio2_lane_endpoint[1]" = ""^I2C2.CAM1""
264 register "cio2_prt[0]" = "2"
265 register "cio2_prt[1]" = "1"
266 device generic 1 on
267 probe UFC UFC_MIPI_IMX208
271 device ref cnvi_wifi on
272 chip drivers/wifi/generic
273 register "wake" = "GPE0_PME_B0"
274 register "enable_cnvi_ddr_rfim" = "true"
275 device generic 0 on end
278 device ref pcie_rp6 on
279 # Enable WWAN PCIE 6 using clk 5
280 register "pch_pcie_rp[PCH_RP(6)]" = "{
281 .clk_src = 5,
282 .clk_req = 5,
283 .flags = PCIE_RP_LTR | PCIE_RP_AER,
285 chip soc/intel/common/block/pcie/rtd3
286 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
287 register "reset_off_delay_ms" = "20"
288 # register "reset_delay_ms" = "1000"
289 register "srcclk_pin" = "5"
290 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
291 register "skip_on_off_support" = "true"
292 register "use_rp_mutex" = "true"
293 device generic 0 alias rp6_rtd3 on
294 probe DB_LTE LTE_PCIE
297 chip drivers/wwan/fm
298 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F21)"
299 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E16)"
300 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
301 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A7)"
302 register "add_acpi_dma_property" = "true"
303 use rp6_rtd3 as rtd3dev
304 device generic 0 on
305 probe DB_LTE LTE_PCIE
308 probe DB_LTE LTE_PCIE
310 device ref tcss_dma0 on
311 chip drivers/intel/usb4/retimer
312 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
313 use tcss_usb3_port1 as dfp[0].typec_port
314 device generic 0 on end
317 device ref tcss_dma1 on
318 chip drivers/intel/usb4/retimer
319 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
320 use tcss_usb3_port3 as dfp[0].typec_port
321 device generic 0 on end
324 device ref pcie_rp8 on
325 chip soc/intel/common/block/pcie/rtd3
326 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
327 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
328 register "srcclk_pin" = "3"
329 device generic 0 on end
331 end #PCIE8 SD card
332 device ref i2c0 on
333 chip drivers/i2c/generic
334 register "hid" = ""10EC5682""
335 register "name" = ""RT58""
336 register "desc" = ""Headset Codec""
337 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
338 # Set the jd_src to RT5668_JD1 for jack detection
339 register "property_count" = "1"
340 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
341 register "property_list[0].name" = ""realtek,jd-src""
342 register "property_list[0].integer" = "1"
343 device i2c 1a on
344 probe AUDIO MAX98357_ALC5682I_I2S
345 probe AUDIO MAX98360_ALC5682I_I2S
348 chip drivers/i2c/nau8825
349 register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_A23)"
350 register "jkdet_enable" = "1"
351 register "jkdet_pull_enable" = "0"
352 register "jkdet_polarity" = "1" # ActiveLow
353 register "vref_impedance" = "2" # 125kOhm
354 register "micbias_voltage" = "6" # 2.754
355 register "sar_threshold_num" = "4"
356 register "sar_threshold[0]" = "0x0c"
357 register "sar_threshold[1]" = "0x1c"
358 register "sar_threshold[2]" = "0x38"
359 register "sar_threshold[3]" = "0x60"
360 register "sar_hysteresis" = "1"
361 register "sar_voltage" = "0" # VDDA
362 register "sar_compare_time" = "0" # 500ns
363 register "sar_sampling_time" = "0" # 2us
364 register "short_key_debounce" = "2" # 100ms
365 register "jack_insert_debounce" = "7" # 512ms
366 register "jack_eject_debounce" = "7" # 512ms
367 device i2c 1a on
368 probe AUDIO ALC1019_NAU88L25B_I2S
371 chip drivers/generic/alc1015
372 register "hid" = ""RTL1019""
373 register "sdb" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
374 device generic 1 on
375 probe AUDIO ALC1019_NAU88L25B_I2S
378 chip drivers/intel/mipi_camera
379 register "acpi_hid" = ""OVTI8856""
380 register "acpi_uid" = "0"
381 register "acpi_name" = ""CAM0""
382 register "chip_name" = ""Ov 8856 Camera""
383 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
385 register "ssdb.lanes_used" = "4"
386 register "ssdb.link_used" = "0"
387 register "ssdb.vcm_type" = "0x0C"
388 register "vcm_name" = ""VCM0""
389 register "num_freq_entries" = "2"
390 register "link_freq[0]" = "360 * MHz" # 360 MHz
391 register "link_freq[1]" = "180 * MHz" # 180 MHz
392 register "remote_name" = ""IPU0""
393 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
395 register "has_power_resource" = "true"
396 #Controls
397 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
398 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
400 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" #power_enable_2p8
401 register "gpio_panel.gpio[1].gpio_num" = "GPP_D16" #power_enable_1p2
402 register "gpio_panel.gpio[2].gpio_num" = "GPP_D3" #reset
404 #_ON
405 register "on_seq.ops_cnt" = "5"
406 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
407 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
408 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
409 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
410 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
412 #_OFF
413 register "off_seq.ops_cnt" = "4"
414 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
415 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
416 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
417 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
419 device i2c 10 on end
421 chip drivers/intel/mipi_camera
422 register "acpi_uid" = "2"
423 register "acpi_name" = ""VCM0""
424 register "chip_name" = ""DW9768 VCM""
425 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
426 register "vcm_compat" = ""dongwoon,dw9768""
428 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
430 register "has_power_resource" = "true"
432 #Controls
433 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
435 #_ON
436 register "on_seq.ops_cnt" = "1"
437 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
439 #_OFF
440 register "off_seq.ops_cnt" = "1"
441 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
443 device i2c 0C on end
445 chip drivers/intel/mipi_camera
446 register "acpi_uid" = "1"
447 register "acpi_name" = ""NVM0""
448 register "chip_name" = ""AT24 EEPROM""
449 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
451 register "nvm_compat" = ""atmel,24c1024""
453 register "nvm_size" = "0x2800"
454 register "nvm_pagesize" = "0x01"
455 register "nvm_readonly" = "0x01"
456 register "nvm_width" = "0x10"
458 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
460 register "has_power_resource" = "true"
462 #Controls
463 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
465 #_ON
466 register "on_seq.ops_cnt" = "1"
467 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
469 #_OFF
470 register "off_seq.ops_cnt" = "1"
471 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
473 device i2c 58 on end
475 end #I2C0
476 device ref i2c1 on
477 chip drivers/i2c/tpm
478 register "hid" = ""GOOG0005""
479 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
480 device i2c 50 on end
482 end #I2C1
483 device ref i2c2 on
484 chip drivers/i2c/sx9324
485 register "desc" = ""SAR1 Proximity Sensor""
486 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
487 register "speed" = "I2C_SPEED_FAST"
488 register "uid" = "1"
489 register "reg_gnrl_ctrl0" = "0x16"
490 register "reg_gnrl_ctrl1" = "0x21"
491 register "reg_afe_ctrl0" = "0x00"
492 register "reg_afe_ctrl1" = "0x10"
493 register "reg_afe_ctrl2" = "0x00"
494 register "reg_afe_ctrl3" = "0x00"
495 register "reg_afe_ctrl4" = "0x07"
496 register "reg_afe_ctrl5" = "0x00"
497 register "reg_afe_ctrl6" = "0x00"
498 register "reg_afe_ctrl7" = "0x07"
499 register "reg_afe_ctrl8" = "0x12"
500 register "reg_afe_ctrl9" = "0x0f"
501 register "reg_prox_ctrl0" = "0x12"
502 register "reg_prox_ctrl1" = "0x12"
503 register "reg_prox_ctrl2" = "0x90"
504 register "reg_prox_ctrl3" = "0x60"
505 register "reg_prox_ctrl4" = "0x0c"
506 register "reg_prox_ctrl5" = "0x12"
507 register "reg_prox_ctrl6" = "0x3c"
508 register "reg_prox_ctrl7" = "0x58"
509 register "reg_adv_ctrl0" = "0x00"
510 register "reg_adv_ctrl1" = "0x00"
511 register "reg_adv_ctrl2" = "0x00"
512 register "reg_adv_ctrl3" = "0x00"
513 register "reg_adv_ctrl4" = "0x00"
514 register "reg_adv_ctrl5" = "0x05"
515 register "reg_adv_ctrl6" = "0x00"
516 register "reg_adv_ctrl7" = "0x00"
517 register "reg_adv_ctrl8" = "0x00"
518 register "reg_adv_ctrl9" = "0x00"
519 register "reg_adv_ctrl10" = "0x5c"
520 register "reg_adv_ctrl11" = "0x52"
521 register "reg_adv_ctrl12" = "0xb5"
522 register "reg_adv_ctrl13" = "0x00"
523 register "reg_adv_ctrl14" = "0x80"
524 register "reg_adv_ctrl15" = "0x0c"
525 register "reg_adv_ctrl16" = "0x38"
526 register "reg_adv_ctrl17" = "0x56"
527 register "reg_adv_ctrl18" = "0x33"
528 register "reg_adv_ctrl19" = "0xf0"
529 register "reg_adv_ctrl20" = "0xf0"
530 device i2c 28 on end
532 chip drivers/i2c/sx9324
533 register "desc" = ""SAR2 Proximity Sensor""
534 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_H19_IRQ)"
535 register "speed" = "I2C_SPEED_FAST"
536 register "uid" = "2"
537 register "reg_gnrl_ctrl0" = "0x16"
538 register "reg_gnrl_ctrl1" = "0x21"
539 register "reg_afe_ctrl0" = "0x00"
540 register "reg_afe_ctrl1" = "0x10"
541 register "reg_afe_ctrl2" = "0x00"
542 register "reg_afe_ctrl3" = "0x00"
543 register "reg_afe_ctrl4" = "0x07"
544 register "reg_afe_ctrl5" = "0x00"
545 register "reg_afe_ctrl6" = "0x00"
546 register "reg_afe_ctrl7" = "0x07"
547 register "reg_afe_ctrl8" = "0x12"
548 register "reg_afe_ctrl9" = "0x0f"
549 register "reg_prox_ctrl0" = "0x12"
550 register "reg_prox_ctrl1" = "0x12"
551 register "reg_prox_ctrl2" = "0x90"
552 register "reg_prox_ctrl3" = "0x60"
553 register "reg_prox_ctrl4" = "0x0c"
554 register "reg_prox_ctrl5" = "0x12"
555 register "reg_prox_ctrl6" = "0x3c"
556 register "reg_prox_ctrl7" = "0x58"
557 register "reg_adv_ctrl0" = "0x00"
558 register "reg_adv_ctrl1" = "0x00"
559 register "reg_adv_ctrl2" = "0x00"
560 register "reg_adv_ctrl3" = "0x00"
561 register "reg_adv_ctrl4" = "0x00"
562 register "reg_adv_ctrl5" = "0x05"
563 register "reg_adv_ctrl6" = "0x00"
564 register "reg_adv_ctrl7" = "0x00"
565 register "reg_adv_ctrl8" = "0x00"
566 register "reg_adv_ctrl9" = "0x00"
567 register "reg_adv_ctrl10" = "0x5c"
568 register "reg_adv_ctrl11" = "0x52"
569 register "reg_adv_ctrl12" = "0xb5"
570 register "reg_adv_ctrl13" = "0x00"
571 register "reg_adv_ctrl14" = "0x80"
572 register "reg_adv_ctrl15" = "0x0c"
573 register "reg_adv_ctrl16" = "0x38"
574 register "reg_adv_ctrl17" = "0x56"
575 register "reg_adv_ctrl18" = "0x33"
576 register "reg_adv_ctrl19" = "0xf0"
577 register "reg_adv_ctrl20" = "0xf0"
578 device i2c 2C on end
580 chip drivers/intel/mipi_camera
581 register "acpi_hid" = ""INT3478""
582 register "acpi_uid" = "0"
583 register "acpi_name" = ""CAM1""
584 register "chip_name" = ""imx 208 Camera""
585 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
587 register "ssdb.lanes_used" = "2"
588 register "ssdb.link_used" = "1"
589 register "num_freq_entries" = "2"
590 register "link_freq[0]" = "384 * MHz" # 384 MHz
591 register "link_freq[1]" = "96 * MHz" # 96 MHz
592 register "remote_name" = ""IPU0""
594 register "has_power_resource" = "true"
595 #Controls
596 register "gpio_panel.gpio[0].gpio_num" = "GPP_C3" #PP3300_FCAM_X
597 register "gpio_panel.gpio[1].gpio_num" = "GPP_A17" #EN_UCAM_PWR
598 register "gpio_panel.gpio[2].gpio_num" = "GPP_F20" #reset
599 register "gpio_panel.gpio[3].gpio_num" = "GPP_H21" #CLK_EN
601 #_ON
602 register "on_seq.ops_cnt" = "5"
603 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(3, 0)"
604 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
605 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
606 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
607 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
609 #_OFF
610 register "off_seq.ops_cnt" = "4"
611 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(3, 0)"
612 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
613 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
614 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
616 device i2c 10 on
617 probe UFC UFC_MIPI_IMX208
620 chip drivers/intel/mipi_camera
621 register "acpi_hid" = ""ACPI_DT_NAMESPACE_HID""
622 register "acpi_uid" = "1"
623 register "acpi_name" = ""NVM1""
624 register "chip_name" = ""GT24C16S""
625 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
627 register "pr0" = ""\\_SB.PCI0.I2C2.CAM1.PRIC""
628 register "nvm_compat" = ""atmel,24c1024""
630 register "nvm_size" = "0x800"
631 register "nvm_pagesize" = "0x01"
632 register "nvm_readonly" = "0x01"
633 register "nvm_width" = "0x08"
635 device i2c 50 on
636 probe UFC UFC_MIPI_IMX208
639 chip drivers/i2c/generic
640 register "hid" = ""GOOG0020""
641 register "desc" = ""ChromeOS HPS""
642 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E7)" # EN_HPS_PWR
643 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E3_IRQ)" # HPS_INT_ODL
644 # HPS uses I2C addresses 0x30 and 0x51.
645 # The address we provide here is not significant because
646 # neither coreboot nor Linux have a driver for HPS,
647 # it's only used from userspace.
648 device i2c 30 on
649 probe HPS HPS_PRESENT
652 end #I2C2
653 device ref i2c3 on
654 chip drivers/i2c/hid
655 register "generic.hid" = ""ELAN9050""
656 register "generic.desc" = ""ELAN Touchscreen""
657 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
658 register "generic.detect" = "1"
659 register "generic.reset_gpio" =
660 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
661 register "generic.reset_delay_ms" = "300"
662 register "generic.reset_off_delay_ms" = "1"
663 register "generic.enable_gpio" =
664 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
665 register "generic.enable_delay_ms" = "6"
666 register "generic.stop_gpio" =
667 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
668 register "generic.stop_off_delay_ms" = "1"
669 register "generic.has_power_resource" = "1"
670 register "hid_desc_reg_offset" = "0x01"
671 device i2c 0x10 on end
673 chip drivers/i2c/hid
674 register "generic.hid" = ""GDIX0000""
675 register "generic.desc" = ""Goodix Touchscreen""
676 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
677 register "generic.detect" = "1"
678 register "generic.reset_gpio" =
679 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
680 register "generic.reset_delay_ms" = "120"
681 register "generic.reset_off_delay_ms" = "3"
682 register "generic.enable_gpio" =
683 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
684 register "generic.enable_delay_ms" = "12"
685 register "generic.stop_gpio" =
686 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
687 register "generic.stop_off_delay_ms" = "1"
688 register "generic.has_power_resource" = "1"
689 register "hid_desc_reg_offset" = "0x01"
690 device i2c 0x5d on end
692 chip drivers/i2c/hid
693 register "generic.hid" = ""SIS9815""
694 register "generic.desc" = ""SIS Touchscreen""
695 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
696 register "generic.detect" = "1"
697 register "generic.reset_gpio" =
698 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
699 register "generic.stop_gpio" =
700 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
701 register "generic.stop_delay_ms" = "100"
702 register "generic.enable_gpio" =
703 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
704 register "generic.enable_delay_ms" = "7"
705 register "generic.has_power_resource" = "1"
706 register "hid_desc_reg_offset" = "0x00"
707 device i2c 5c on end
709 end #I2C3
710 device ref i2c5 on
711 chip drivers/i2c/generic
712 register "hid" = ""ELAN0000""
713 register "desc" = ""ELAN Touchpad""
714 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
715 register "wake" = "GPE0_DW2_14"
716 register "detect" = "1"
717 device i2c 15 on end
719 end #I2C5
720 device ref hda on
721 chip drivers/generic/max98357a
722 register "hid" = ""MX98357A""
723 register "sdmode_gpio" =
724 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
725 register "sdmode_delay" = "5"
726 device generic 0 on
727 probe AUDIO MAX98357_ALC5682I_I2S
731 chip drivers/generic/max98357a
732 register "hid" = ""MX98360A""
733 register "sdmode_gpio" =
734 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
735 register "sdmode_delay" = "5"
736 device generic 0 on
737 probe AUDIO MAX98360_ALC5682I_I2S
741 chip drivers/intel/soundwire
742 device generic 0 on
743 probe AUDIO MAX98373_ALC5682_SNDW
744 chip drivers/soundwire/alc5682
745 # SoundWire Link 0 ID 1
746 register "desc" = ""Headset Codec""
747 device generic 0.1 on end
749 chip drivers/soundwire/max98373
750 # SoundWire Link 2 ID 3
751 register "desc" = ""Left Speaker Amp""
752 device generic 2.3 on end
754 chip drivers/soundwire/max98373
755 # SoundWire Link 2 ID 7
756 register "desc" = ""Right Speaker Amp""
757 device generic 2.7 on end
762 device ref gspi1 on
763 chip drivers/spi/acpi
764 register "name" = ""CRFP""
765 register "hid" = "ACPI_DT_NAMESPACE_HID"
766 register "uid" = "1"
767 register "compat_string" = ""google,cros-ec-spi""
768 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
769 register "wake" = "GPE0_DW2_15"
770 register "has_power_resource" = "true"
771 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
772 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
773 register "enable_delay_ms" = "3"
774 device spi 0 hidden end
775 end # FPMCU
777 device ref pch_espi on
778 chip ec/google/chromeec
779 use conn0 as mux_conn[0]
780 use conn1 as mux_conn[1]
781 use conn2 as mux_conn[2]
782 device pnp 0c09.0 on end
785 device ref pmc hidden
786 chip drivers/intel/pmc_mux
787 device generic 0 on
788 chip drivers/intel/pmc_mux/conn
789 use usb2_port1 as usb2_port
790 use tcss_usb3_port1 as usb3_port
791 device generic 0 alias conn0 on end
793 chip drivers/intel/pmc_mux/conn
794 use usb2_port2 as usb2_port
795 use tcss_usb3_port2 as usb3_port
796 device generic 1 alias conn1 on end
798 chip drivers/intel/pmc_mux/conn
799 use usb2_port3 as usb2_port
800 use tcss_usb3_port3 as usb3_port
801 device generic 2 alias conn2 on end
806 device ref tcss_xhci on
807 chip drivers/usb/acpi
808 device ref tcss_root_hub on
809 chip drivers/usb/acpi
810 register "desc" = ""USB3 Type-C Port C0 (MLB)""
811 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
812 register "use_custom_pld" = "true"
813 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
814 device ref tcss_usb3_port1 on end
816 chip drivers/usb/acpi
817 register "desc" = ""USB3 Type-C Port C1 (DB)""
818 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
819 register "use_custom_pld" = "true"
820 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
821 register "usb_lpm_incapable" = "true"
822 device ref tcss_usb3_port2 on end
824 chip drivers/usb/acpi
825 register "desc" = ""USB3 Type-C Port C2 (MLB)""
826 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
827 register "use_custom_pld" = "true"
828 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
829 device ref tcss_usb3_port3 on end
834 device ref xhci on
835 chip drivers/usb/acpi
836 device ref xhci_root_hub on
837 chip drivers/usb/acpi
838 register "desc" = ""USB2 Type-C Port C0 (MLB)""
839 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
840 register "use_custom_pld" = "true"
841 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
842 device ref usb2_port1 on end
844 chip drivers/usb/acpi
845 register "desc" = ""USB2 Type-C Port C1 (DB)""
846 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
847 register "use_custom_pld" = "true"
848 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
849 device ref usb2_port2 on end
851 chip drivers/usb/acpi
852 register "desc" = ""USB2 Type-C Port C2 (MLB)""
853 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
854 register "use_custom_pld" = "true"
855 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
856 device ref usb2_port3 on end
858 chip drivers/usb/acpi
859 register "desc" = ""USB2 WWAN""
860 register "type" = "UPC_TYPE_INTERNAL"
861 device ref usb2_port4 on end
863 chip drivers/usb/acpi
864 register "desc" = ""USB2 Camera""
865 register "type" = "UPC_TYPE_INTERNAL"
866 device ref usb2_port6 on
867 probe UFC UFC_USB
870 chip drivers/usb/acpi
871 register "desc" = ""USB2 Type-A Port A0 (DB)""
872 register "type" = "UPC_TYPE_A"
873 register "use_custom_pld" = "true"
874 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
875 device ref usb2_port9 on end
877 chip drivers/usb/acpi
878 register "desc" = ""USB2 Bluetooth""
879 register "type" = "UPC_TYPE_INTERNAL"
880 register "reset_gpio" =
881 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
882 device ref usb2_port10 on end
884 chip drivers/usb/acpi
885 register "desc" = ""USB3 Type-A Port A0 (DB)""
886 register "type" = "UPC_TYPE_USB3_A"
887 register "use_custom_pld" = "true"
888 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
889 device ref usb3_port1 on end
891 chip drivers/usb/acpi
892 register "desc" = ""USB3 WWAN""
893 register "type" = "UPC_TYPE_INTERNAL"
894 device ref usb3_port4 on end