mb/google/rex/var/rex0: update thermal settings to start fan earlier
[coreboot.git] / src / mainboard / google / rex / variants / rex0 / overridetree.cb
blob034a6947149d648a36f6973eae590990aa63959d
1 fw_config
2 field AUDIO 0 3
3 option AUDIO_UNKNOWN 0
4 option MAX98360_ALC5682I_I2S 1
5 option MAX98363_CS42L42_SNDW 2
6 option MAX98360_ALC5682I_DISCRETE_I2S_BT 3
7 end
8 field CELLULAR 4 5
9 option CELLULAR_ABSENT 0
10 option CELLULAR_USB 1
11 option CELLULAR_PCIE 2
12 end
13 field UFC 6 7
14 option UFC_USB 0
15 option UFC_MIPI 1
16 end
17 field WFC 8 9
18 option WFC_USB 0
19 option WFC_MIPI 1
20 end
21 field DB_SD 10 11
22 option SD_ABSENT 0
23 option SD_GL9755S 1
24 end
25 field DB_USB 12 14
26 option USB_UNKNOWN 0
27 option USB3_PS8815 1
28 option USB4_KB8010 2
29 option USB4_ANX7452 3
30 option USB4_HAYDEN_BRIDGE 4
31 option USB4_ANX7452_V2 5
32 end
33 field FP 15
34 option FP_PRESENT 0
35 option FP_ABSENT 1
36 end
37 field UWB 16 17
38 option UWB_ABSENT 0
39 option UWB_BITBANG 1
40 option UWB_GSPI1 2
41 end
42 field WIFI 18
43 option WIFI_CNVI 0
44 option WIFI_PCIE 1
45 end
46 field TOUCHSCREEN 19
47 option TOUCHSCREEN_I2C 0
48 option TOUCHSCREEN_I2C_SPI 1
49 end
50 field VPU 20
51 option VPU_DIS 0
52 option VPU_EN 1
53 end
54 field ISH 21
55 option ISH_DISABLE 0
56 option ISH_ENABLE 1
57 end
58 end
60 chip soc/intel/meteorlake
62 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1
63 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC0)" # USB2_C0
64 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WWAN
65 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Camera
66 register "usb2_ports[8]" = "USB2_PORT_MID(OC3)" # Type-A Port A0
67 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Bluetooth
69 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC3)" # USB3/2 Type A port A0
70 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3 port for WWAN
72 register "tcss_ports[0]" = "TCSS_PORT_DEFAULT(OC0)"
73 register "tcss_ports[2]" = "TCSS_PORT_DEFAULT(OC_SKIP)"
75 # Enable eDP in Port A
76 register "ddi_port_A_config" = "1"
77 # Enable HDMI in Port B
78 register "ddi_port_B_config" = "0"
80 # Enable Display Port Configuration
81 register "ddi_ports_config" = "{
82 [DDI_PORT_A] = DDI_ENABLE_HPD,
83 [DDI_PORT_B] = DDI_ENABLE_HPD | DDI_ENABLE_DDC,
84 [DDI_PORT_1] = DDI_ENABLE_HPD,
85 [DDI_PORT_2] = DDI_ENABLE_HPD,
86 [DDI_PORT_3] = DDI_ENABLE_HPD,
87 [DDI_PORT_4] = DDI_ENABLE_HPD,
90 register "serial_io_gspi_mode" = "{
91 [PchSerialIoIndexGSPI0] = PchSerialIoPci,
92 [PchSerialIoIndexGSPI1] = PchSerialIoPci,
93 [PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
96 register "serial_io_i2c_mode" = "{
97 [PchSerialIoIndexI2C0] = PchSerialIoPci,
98 [PchSerialIoIndexI2C1] = PchSerialIoPci,
99 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
100 [PchSerialIoIndexI2C3] = PchSerialIoPci,
101 [PchSerialIoIndexI2C4] = PchSerialIoPci,
102 [PchSerialIoIndexI2C5] = PchSerialIoPci,
105 # Intel Common SoC Config
106 #+-------------------+---------------------------+
107 #| Field | Value |
108 #+-------------------+---------------------------+
109 #| I2C0 | Audio and WFC |
110 #| I2C1 | Touchscreen |
111 #| I2C3 | Touchpad |
112 #| I2C4 | cr50 TPM. Early init is |
113 #| | required to set up a BAR |
114 #| | for TPM communication |
115 #| I2C5 | UFC, SAR1, SAR2, HPS |
116 #+-------------------+---------------------------+
117 register "common_soc_config" = "{
118 .i2c[0] = {
119 .speed = I2C_SPEED_FAST,
120 .rise_time_ns = 400,
121 .fall_time_ns = 350,
122 .data_hold_time_ns = 50,
124 .i2c[1] = {
125 .speed = I2C_SPEED_FAST,
126 .rise_time_ns = 600,
127 .fall_time_ns = 400,
128 .data_hold_time_ns = 50,
130 .i2c[3] = {
131 .speed = I2C_SPEED_FAST,
132 .rise_time_ns = 600,
133 .fall_time_ns = 400,
134 .data_hold_time_ns = 50,
136 .i2c[4] = {
137 .early_init = 1,
138 .speed = I2C_SPEED_FAST,
139 .rise_time_ns = 550,
140 .fall_time_ns = 400,
141 .data_hold_time_ns = 50,
143 .i2c[5] = {
144 .speed = I2C_SPEED_FAST,
145 .rise_time_ns = 400,
146 .fall_time_ns = 280,
147 .data_hold_time_ns = 50,
151 device domain 0 on
152 device ref igpu on
153 chip drivers/gfx/generic
154 register "device_count" = "6"
155 # DDIA for eDP
156 register "device[0].name" = ""LCD""
157 # DDIB for HDMI
158 # If HDMI is not enumerated in the kernel, then no GFX device should be added for DDIB
159 register "device[1].name" = ""DD01""
160 # TCP0 (DP-1) for port C0
161 register "device[2].name" = ""DD02""
162 register "device[2].use_pld" = "true"
163 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
164 # TCP1 (DP-2) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP1
165 register "device[3].name" = ""DD03""
166 # TCP2 (DP-3) for port C1
167 register "device[4].name" = ""DD04""
168 register "device[4].use_pld" = "true"
169 register "device[4].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
170 # TCP3 (DP-4) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP3
171 register "device[5].name" = ""DD05""
172 device generic 0 on end
174 end # Integrated Graphics Device
175 device ref dtt on
176 chip drivers/intel/dptf
177 ## sensor information
178 register "options.tsr[0].desc" = ""DDR_SOC""
179 register "options.tsr[1].desc" = ""Ambient""
180 register "options.tsr[2].desc" = ""Charger""
181 register "options.tsr[3].desc" = ""wwan""
183 ## Active Policy
184 # FIXME: below values are initial reference values only
185 register "policies.active" = "{
186 [0] = {
187 .target = DPTF_TEMP_SENSOR_0,
188 .thresholds = {
189 TEMP_PCT(70, 97),
190 TEMP_PCT(65, 90),
191 TEMP_PCT(60, 80),
192 TEMP_PCT(55, 75),
193 TEMP_PCT(50, 65),
194 TEMP_PCT(45, 45),
195 TEMP_PCT(43, 30),
198 [1] = {
199 .target = DPTF_TEMP_SENSOR_1,
200 .thresholds = {
201 TEMP_PCT(70, 97),
202 TEMP_PCT(65, 90),
203 TEMP_PCT(60, 80),
204 TEMP_PCT(55, 75),
205 TEMP_PCT(50, 65),
206 TEMP_PCT(45, 45),
207 TEMP_PCT(43, 30),
210 [2] = {
211 .target = DPTF_TEMP_SENSOR_2,
212 .thresholds = {
213 TEMP_PCT(75, 90),
214 TEMP_PCT(70, 80),
215 TEMP_PCT(65, 70),
216 TEMP_PCT(60, 50),
219 [3] = {
220 .target = DPTF_TEMP_SENSOR_3,
221 .thresholds = {
222 TEMP_PCT(75, 90),
223 TEMP_PCT(70, 80),
224 TEMP_PCT(65, 70),
225 TEMP_PCT(60, 60),
226 TEMP_PCT(55, 50),
227 TEMP_PCT(50, 40),
228 TEMP_PCT(45, 30),
233 ## Passive Policy
234 # TODO: below values are initial reference values only
235 register "policies.passive" = "{
236 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
237 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 5000),
238 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 80, 5000),
239 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
240 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 80, 5000),
243 ## Critical Policy
244 # TODO: below values are initial reference values only
245 register "policies.critical" = "{
246 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
247 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
248 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
249 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
250 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 85, SHUTDOWN),
253 ## Power Limits Control
254 register "controls.power_limits" = "{
255 .pl1 = {
256 .min_power = 15000,
257 .max_power = 15000,
258 .time_window_min = 28 * MSECS_PER_SEC,
259 .time_window_max = 32 * MSECS_PER_SEC,
260 .granularity = 200,
262 .pl2 = {
263 .min_power = 57000,
264 .max_power = 57000,
265 .time_window_min = 28 * MSECS_PER_SEC,
266 .time_window_max = 32 * MSECS_PER_SEC,
267 .granularity = 1000,
271 ## Charger Performance Control (Control, mA)
272 register "controls.charger_perf" = "{
273 [0] = { 255, 3000 },
274 [1] = { 24, 1500 },
275 [2] = { 16, 1000 },
276 [3] = { 8, 500 }
279 ## Fan Performance Control (Percent, Speed, Noise, Power)
280 register "controls.fan_perf" = "{
281 [0] = { 90, 6700, 220, 2200, },
282 [1] = { 80, 5800, 180, 1800, },
283 [2] = { 70, 5000, 145, 1450, },
284 [3] = { 60, 4900, 115, 1150, },
285 [4] = { 50, 3838, 90, 900, },
286 [5] = { 40, 2904, 55, 550, },
287 [6] = { 30, 2337, 30, 300, },
288 [7] = { 20, 1608, 15, 150, },
289 [8] = { 10, 800, 10, 100, },
290 [9] = { 0, 0, 0, 50, }
293 ## Fan options
294 register "options.fan.fine_grained_control" = "1"
295 register "options.fan.step_size" = "2"
297 device generic 0 alias dptf_policy on end
300 device ref pcie_rp9 on
301 # Enable SSD Card PCIE 9 using clk 4
302 register "pcie_rp[PCH_RP(9)]" = "{
303 .clk_src = 4,
304 .clk_req = 4,
305 .flags = PCIE_RP_LTR | PCIE_RP_AER,
307 chip soc/intel/common/block/pcie/rtd3
308 register "is_storage" = "true"
309 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A19)"
310 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A20)"
311 register "srcclk_pin" = "4"
312 device generic 0 on end
314 end #PCIE9 SSD card
315 device ref ish on
316 probe ISH ISH_ENABLE
317 chip drivers/intel/ish
318 register "firmware_name" = ""rex_ish.bin""
319 device generic 0 on end
322 device ref tbt_pcie_rp0 on end
323 device ref tbt_pcie_rp2 on end
324 device ref vpu on
325 probe VPU VPU_EN
327 device ref tcss_xhci on
328 chip drivers/usb/acpi
329 device ref tcss_root_hub on
330 chip drivers/usb/acpi
331 register "desc" = ""USB3 Type-C Port C0 (MLB)""
332 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
333 register "use_custom_pld" = "true"
334 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
335 device ref tcss_usb3_port0 on end
337 chip drivers/usb/acpi
338 register "desc" = ""USB3 Type-C Port C1 (DB)""
339 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
340 register "use_custom_pld" = "true"
341 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
342 device ref tcss_usb3_port2 on end
347 device ref tcss_dma0 on
348 chip drivers/intel/usb4/retimer
349 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
350 use tcss_usb3_port0 as dfp[0].typec_port
351 device generic 0 on end
354 device ref tcss_dma1 on
355 chip drivers/intel/usb4/retimer
356 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
357 use tcss_usb3_port2 as dfp[0].typec_port
358 device generic 0 on end
361 device ref xhci on
362 chip drivers/usb/acpi
363 device ref xhci_root_hub on
364 chip drivers/usb/acpi
365 register "desc" = ""USB2 Type-C Port C1 (DB)""
366 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
367 register "use_custom_pld" = "true"
368 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
369 device ref usb2_port1 on end
371 chip drivers/usb/acpi
372 register "desc" = ""USB2 Type-C Port C0 (MLB)""
373 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
374 register "use_custom_pld" = "true"
375 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
376 device ref usb2_port2 on end
378 chip drivers/usb/acpi
379 register "desc" = ""USB2 WWAN""
380 register "type" = "UPC_TYPE_INTERNAL"
381 device ref usb2_port5 on
382 probe CELLULAR CELLULAR_USB
385 chip drivers/usb/acpi
386 register "desc" = ""USB2 Camera""
387 register "type" = "UPC_TYPE_INTERNAL"
388 register "has_power_resource" = "1"
389 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B09)"
390 device ref usb2_port6 on
391 probe UFC UFC_USB
394 chip drivers/usb/acpi
395 register "desc" = ""USB2 Type-A Port A0 (DB)""
396 register "type" = "UPC_TYPE_A"
397 register "use_custom_pld" = "true"
398 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
399 device ref usb2_port9 on end
401 chip drivers/usb/acpi
402 register "desc" = ""USB2 Bluetooth""
403 register "type" = "UPC_TYPE_INTERNAL"
404 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B01)"
405 device ref usb2_port10 on end
407 chip drivers/usb/acpi
408 register "desc" = ""USB3 Type-A Port A0 (DB)""
409 register "type" = "UPC_TYPE_USB3_A"
410 register "use_custom_pld" = "true"
411 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
412 device ref usb3_port1 on end
414 chip drivers/usb/acpi
415 register "desc" = ""USB3 WWAN""
416 register "type" = "UPC_TYPE_INTERNAL"
417 device ref usb3_port2 on
418 probe CELLULAR CELLULAR_USB
424 device ref cnvi_wifi on
425 chip drivers/wifi/generic
426 register "wake" = "GPE0_PME_B0"
427 register "add_acpi_dma_property" = "true"
428 register "enable_cnvi_ddr_rfim" = "true"
429 device generic 0 on
430 probe WIFI WIFI_CNVI
434 device ref ipu on
435 chip drivers/intel/mipi_camera
436 register "acpi_uid" = "0x50000"
437 register "acpi_name" = ""IPU0""
438 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
440 register "cio2_num_ports" = "2"
441 register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
442 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
443 register "cio2_lane_endpoint[1]" = ""^I2C5.CAM1""
444 register "cio2_prt[0]" = "4"
445 register "cio2_prt[1]" = "0"
447 device generic 0 on
448 probe UFC UFC_MIPI
449 probe WFC WFC_MIPI
453 device ref i2c0 on
454 chip drivers/i2c/generic
455 register "hid" = ""RTL5682""
456 register "name" = ""RT58""
457 register "desc" = ""Headset Codec""
458 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
459 # Set the jd_src to RT5668_JD1 for jack detection
460 register "property_count" = "1"
461 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
462 register "property_list[0].name" = ""realtek,jd-src""
463 register "property_list[0].integer" = "1"
464 device i2c 1a on
465 probe AUDIO MAX98360_ALC5682I_I2S
466 probe AUDIO MAX98360_ALC5682I_DISCRETE_I2S_BT
469 chip drivers/intel/mipi_camera
470 register "acpi_hid" = ""OVTIDB10""
471 register "acpi_uid" = "0"
472 register "acpi_name" = ""CAM0""
473 register "chip_name" = ""Ov 13b10 Camera""
474 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
476 register "ssdb.lanes_used" = "4"
477 register "ssdb.link_used" = "0"
478 register "ssdb.vcm_type" = "0x0C"
479 register "vcm_name" = ""VCM0""
480 register "num_freq_entries" = "1"
481 register "link_freq[0]" = "560 * MHz" # 560 MHz
482 register "remote_name" = ""IPU0""
483 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
485 register "has_power_resource" = "1"
486 #Controls
487 register "clk_panel.clks[0].clknum" = "1" # IMGCLKOUT_1
488 register "clk_panel.clks[0].freq" = "1" # FREQ_19_2_MHZ
490 register "gpio_panel.gpio[0].gpio_num" = "GPP_C03" #EN_WCAM_SENR_PWR
491 register "gpio_panel.gpio[1].gpio_num" = "GPP_C04" #EN_WCAM_PWR
492 register "gpio_panel.gpio[2].gpio_num" = "GPP_V22" #WCAM_RST_L
494 #_ON
495 register "on_seq.ops_cnt" = "5"
496 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
497 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
498 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 0)"
499 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
500 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 10)"
502 #_OFF
503 register "off_seq.ops_cnt" = "4"
504 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
505 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
506 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
507 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
509 device i2c 36 on
510 probe WFC WFC_MIPI
513 chip drivers/intel/mipi_camera
514 register "acpi_uid" = "2"
515 register "acpi_name" = ""VCM0""
516 register "chip_name" = ""DW9714 VCM""
517 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
519 register "vcm_compat" = ""dongwoon,dw9714""
521 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
523 register "has_power_resource" = "1"
525 #Controls
526 register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
528 #_ON
529 register "on_seq.ops_cnt" = "1"
530 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
532 #_OFF
533 register "off_seq.ops_cnt" = "1"
534 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
536 device i2c 0C on
537 probe WFC WFC_MIPI
540 chip drivers/intel/mipi_camera
541 register "acpi_uid" = "1"
542 register "acpi_name" = ""NVM0""
543 register "chip_name" = ""ST M24C64X""
544 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
546 register "nvm_compat" = ""atmel,24c64""
548 register "nvm_size" = "0x2000"
549 register "nvm_pagesize" = "0x01"
550 register "nvm_readonly" = "0x01"
551 register "nvm_width" = "0x10"
553 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
555 register "has_power_resource" = "1"
557 #Controls
558 register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
560 #_ON
561 register "on_seq.ops_cnt" = "1"
562 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
564 #_OFF
565 register "off_seq.ops_cnt" = "1"
566 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
568 device i2c 50 on
569 probe WFC WFC_MIPI
572 end #I2C0
573 device ref i2c1 on
574 chip drivers/i2c/hid
575 register "generic.hid" = ""ELAN6918""
576 register "generic.desc" = ""ELAN Touchscreen""
577 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C07_IRQ)"
578 register "generic.probed" = "1"
579 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C01)"
580 register "generic.reset_delay_ms" = "20"
581 register "generic.reset_off_delay_ms" = "2"
582 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C00)"
583 register "generic.enable_delay_ms" = "1"
584 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C06)"
585 register "generic.stop_off_delay_ms" = "2"
586 register "generic.has_power_resource" = "1"
587 register "hid_desc_reg_offset" = "0x01"
588 device i2c 10 on
589 probe TOUCHSCREEN TOUCHSCREEN_I2C
592 chip drivers/generic/gpio_keys
593 register "name" = ""PENH""
594 # GPP_E04 is the IRQ source
595 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_E04)"
596 register "key.dev_name" = ""EJCT""
597 register "key.linux_code" = "SW_PEN_INSERTED"
598 register "key.linux_input_type" = "EV_SW"
599 register "key.label" = ""pen_eject""
600 device generic 0 on end
603 device ref i2c2 on end
604 device ref i2c3 on
605 chip drivers/i2c/generic
606 register "hid" = ""ELAN0000""
607 register "desc" = ""ELAN Touchpad""
608 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
609 register "wake" = "GPE0_DW0_00"
610 register "detect" = "1"
611 device i2c 15 on end
614 device ref i2c4 on
615 chip drivers/i2c/tpm
616 register "hid" = ""GOOG0005""
617 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E03_IRQ)"
618 device i2c 50 on end
621 device ref i2c5 on
622 chip drivers/intel/mipi_camera
623 register "acpi_hid" = ""INT3537""
624 register "acpi_uid" = "0"
625 register "acpi_name" = ""CAM1""
626 register "chip_name" = ""Hi-556 Camera""
627 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
628 register "has_power_resource" = "1"
630 register "ssdb.lanes_used" = "2"
631 register "ssdb.link_used" = "1"
632 register "num_freq_entries" = "1"
633 register "link_freq[0]" = "437 * MHz"
634 register "remote_name" = ""IPU0""
635 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
637 #Controls
638 register "gpio_panel.gpio[0].gpio_num" = "GPP_A11" #EN_UCAM_SENR_PWR
639 register "gpio_panel.gpio[1].gpio_num" = "GPP_B09" #EN_FCAM_PWR
640 register "gpio_panel.gpio[2].gpio_num" = "GPP_V23" #UCAM_RST_L
641 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
642 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
644 #_ON
645 register "on_seq.ops_cnt" = "5"
646 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
647 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
648 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
649 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
650 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
652 #_OFF
653 register "off_seq.ops_cnt" = "4"
654 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
655 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
656 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
657 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
658 device i2c 20 on
659 probe UFC UFC_MIPI
662 chip drivers/intel/mipi_camera
663 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
664 register "acpi_uid" = "1"
665 register "acpi_name" = ""NVM1""
666 register "chip_name" = ""ST M24C64X""
667 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
669 register "nvm_size" = "0x2000"
670 register "nvm_pagesize" = "1"
671 register "nvm_readonly" = "1"
672 register "nvm_width" = "0x10"
673 register "nvm_compat" = ""atmel,24c64""
675 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
677 register "has_power_resource" = "1"
679 #Controls
680 register "gpio_panel.gpio[0].gpio_num" = "GPP_B09" #EN_FCAM_PWR
682 #_ON
683 register "on_seq.ops_cnt" = "1"
684 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
686 #_OFF
687 register "off_seq.ops_cnt" = "1"
688 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
690 device i2c 50 on
691 probe UFC UFC_MIPI
694 chip drivers/i2c/sx9324
695 register "desc" = ""SAR1 Proximity Sensor""
696 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E00_IRQ)"
697 register "speed" = "I2C_SPEED_FAST"
698 register "uid" = "1"
699 register "reg_gnrl_ctrl0" = "0x16"
700 register "reg_gnrl_ctrl1" = "0x21"
701 register "reg_afe_ctrl0" = "0x00"
702 register "reg_afe_ctrl1" = "0x10"
703 register "reg_afe_ctrl2" = "0x00"
704 register "reg_afe_ctrl3" = "0x00"
705 register "reg_afe_ctrl4" = "0x07"
706 register "reg_afe_ctrl5" = "0x00"
707 register "reg_afe_ctrl6" = "0x00"
708 register "reg_afe_ctrl7" = "0x07"
709 register "reg_afe_ctrl8" = "0x12"
710 register "reg_afe_ctrl9" = "0x0f"
711 register "reg_prox_ctrl0" = "0x12"
712 register "reg_prox_ctrl1" = "0x12"
713 register "reg_prox_ctrl2" = "0x90"
714 register "reg_prox_ctrl3" = "0x60"
715 register "reg_prox_ctrl4" = "0x0c"
716 register "reg_prox_ctrl5" = "0x12"
717 register "reg_prox_ctrl6" = "0x3c"
718 register "reg_prox_ctrl7" = "0x58"
719 register "reg_adv_ctrl0" = "0x00"
720 register "reg_adv_ctrl1" = "0x00"
721 register "reg_adv_ctrl2" = "0x00"
722 register "reg_adv_ctrl3" = "0x00"
723 register "reg_adv_ctrl4" = "0x00"
724 register "reg_adv_ctrl5" = "0x05"
725 register "reg_adv_ctrl6" = "0x00"
726 register "reg_adv_ctrl7" = "0x00"
727 register "reg_adv_ctrl8" = "0x00"
728 register "reg_adv_ctrl9" = "0x00"
729 register "reg_adv_ctrl10" = "0x5c"
730 register "reg_adv_ctrl11" = "0x52"
731 register "reg_adv_ctrl12" = "0xb5"
732 register "reg_adv_ctrl13" = "0x00"
733 register "reg_adv_ctrl14" = "0x80"
734 register "reg_adv_ctrl15" = "0x0c"
735 register "reg_adv_ctrl16" = "0x38"
736 register "reg_adv_ctrl17" = "0x56"
737 register "reg_adv_ctrl18" = "0x33"
738 register "reg_adv_ctrl19" = "0xf0"
739 register "reg_adv_ctrl20" = "0xf0"
740 device i2c 28 on end
742 chip drivers/i2c/sx9324
743 register "desc" = ""SAR2 Proximity Sensor""
744 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E08_IRQ)"
745 register "speed" = "I2C_SPEED_FAST"
746 register "uid" = "2"
747 register "reg_gnrl_ctrl0" = "0x16"
748 register "reg_gnrl_ctrl1" = "0x21"
749 register "reg_afe_ctrl0" = "0x00"
750 register "reg_afe_ctrl1" = "0x10"
751 register "reg_afe_ctrl2" = "0x00"
752 register "reg_afe_ctrl3" = "0x00"
753 register "reg_afe_ctrl4" = "0x07"
754 register "reg_afe_ctrl5" = "0x00"
755 register "reg_afe_ctrl6" = "0x00"
756 register "reg_afe_ctrl7" = "0x07"
757 register "reg_afe_ctrl8" = "0x12"
758 register "reg_afe_ctrl9" = "0x0f"
759 register "reg_prox_ctrl0" = "0x12"
760 register "reg_prox_ctrl1" = "0x12"
761 register "reg_prox_ctrl2" = "0x90"
762 register "reg_prox_ctrl3" = "0x60"
763 register "reg_prox_ctrl4" = "0x0c"
764 register "reg_prox_ctrl5" = "0x12"
765 register "reg_prox_ctrl6" = "0x3c"
766 register "reg_prox_ctrl7" = "0x58"
767 register "reg_adv_ctrl0" = "0x00"
768 register "reg_adv_ctrl1" = "0x00"
769 register "reg_adv_ctrl2" = "0x00"
770 register "reg_adv_ctrl3" = "0x00"
771 register "reg_adv_ctrl4" = "0x00"
772 register "reg_adv_ctrl5" = "0x05"
773 register "reg_adv_ctrl6" = "0x00"
774 register "reg_adv_ctrl7" = "0x00"
775 register "reg_adv_ctrl8" = "0x00"
776 register "reg_adv_ctrl9" = "0x00"
777 register "reg_adv_ctrl10" = "0x5c"
778 register "reg_adv_ctrl11" = "0x52"
779 register "reg_adv_ctrl12" = "0xb5"
780 register "reg_adv_ctrl13" = "0x00"
781 register "reg_adv_ctrl14" = "0x80"
782 register "reg_adv_ctrl15" = "0x0c"
783 register "reg_adv_ctrl16" = "0x38"
784 register "reg_adv_ctrl17" = "0x56"
785 register "reg_adv_ctrl18" = "0x33"
786 register "reg_adv_ctrl19" = "0xf0"
787 register "reg_adv_ctrl20" = "0xf0"
788 device i2c 2C on end
790 end #I2C5
791 device ref pcie_rp5 on
792 probe WIFI WIFI_PCIE
793 # Enable WLAN Card PCIE 5 using clk 5
794 register "pcie_rp[PCH_RP(5)]" = "{
795 .clk_src = 5,
796 .clk_req = 5,
797 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
799 chip drivers/wifi/generic
800 register "wake" = "GPE0_DW2_09"
801 register "add_acpi_dma_property" = "true"
802 device pci 00.0 on
803 probe WIFI WIFI_PCIE
806 chip soc/intel/common/block/pcie/rtd3
807 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E22)"
808 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F08)"
809 register "srcclk_pin" = "5"
810 device generic 0 on
811 probe WIFI WIFI_PCIE
814 end #PCIE5 WLAN card
815 device ref pcie_rp6 on
816 probe CELLULAR CELLULAR_PCIE
817 # Enable WWAN Card PCIE 6 using clk 3
818 register "pcie_rp[PCH_RP(6)]" = "{
819 .clk_src = 3,
820 .clk_req = 3,
821 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
823 chip soc/intel/common/block/pcie/rtd3
824 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
825 register "reset_off_delay_ms" = "20"
826 register "srcclk_pin" = "3"
827 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
828 register "skip_on_off_support" = "true"
829 device generic 0 alias rp6_rtd3 on
830 probe CELLULAR CELLULAR_PCIE
833 chip drivers/wwan/fm
834 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E07)"
835 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A15)"
836 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
837 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F10)"
838 register "add_acpi_dma_property" = "true"
839 use rp6_rtd3 as rtd3dev
840 device generic 0 alias rp6_wwan on
841 probe CELLULAR CELLULAR_PCIE
844 end #PCIE6 WWAN card
845 device ref pcie_rp7 on
846 # Enable SD Card PCIE 7 using clk 2
847 register "pcie_rp[PCH_RP(7)]" = "{
848 .clk_src = 2,
849 .clk_req = 2,
850 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
852 chip soc/intel/common/block/pcie/rtd3
853 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D03)"
854 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D02)"
855 register "srcclk_pin" = "2"
856 device generic 0 on end
858 probe DB_SD SD_GL9755S
860 device ref gspi0 on
861 probe TOUCHSCREEN TOUCHSCREEN_I2C_SPI
863 device ref gspi1 on
864 chip drivers/spi/acpi
865 register "name" = ""CRFP""
866 register "hid" = "ACPI_DT_NAMESPACE_HID"
867 register "uid" = "1"
868 register "compat_string" = ""google,cros-ec-spi""
869 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E10_IRQ)"
870 register "wake" = "GPE0_DW1_10"
871 register "has_power_resource" = "1"
872 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C23)"
873 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
874 register "enable_delay_ms" = "3"
875 device spi 0 on
876 probe FP FP_PRESENT
878 end # FPMCU
879 chip drivers/nxp/uwb
880 register "name" = ""UWB0""
881 register "desc" = ""NXP UWB Module""
882 register "speed" = "1000000" # 1 MHZ
883 register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_HIGH(GPP_F20)"
884 register "ce_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_F19)"
885 register "ri_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E06)"
886 device spi 0 on
887 probe UWB UWB_GSPI1
889 end # UWB
891 device ref soc_espi on
892 chip ec/google/chromeec
893 use conn0 as mux_conn[0]
894 use conn1 as mux_conn[1]
895 device pnp 0c09.0 on end
898 device ref pmc hidden
899 chip drivers/intel/pmc_mux
900 device generic 0 on
901 chip drivers/intel/pmc_mux/conn
902 use usb2_port2 as usb2_port
903 use tcss_usb3_port0 as usb3_port
904 device generic 0 alias conn0 on end
906 chip drivers/intel/pmc_mux/conn
907 use usb2_port1 as usb2_port
908 use tcss_usb3_port2 as usb3_port
909 device generic 1 alias conn1 on end
914 device ref hda on
915 chip drivers/generic/max98357a
916 register "hid" = ""MX98360A""
917 register "sdmode_gpio" =
918 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D04)"
919 register "sdmode_delay" = "5"
920 device generic 0 on
921 probe AUDIO MAX98360_ALC5682I_I2S
922 probe AUDIO MAX98360_ALC5682I_DISCRETE_I2S_BT
925 chip drivers/intel/soundwire
926 device generic 0 on
927 probe AUDIO MAX98363_CS42L42_SNDW
928 chip drivers/soundwire/cs42l42
929 # SoundWire Link 0 ID 0
930 register "desc" = ""Headset Codec""
931 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B07)"
932 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
933 register "ts_inv" = "true"
934 register "ts_dbnc_rise" = "RISE_DEB_1000_MS"
935 register "ts_dbnc_fall" = "FALL_DEB_0_MS"
936 register "btn_det_init_dbnce" = "100"
937 register "btn_det_event_dbnce" = "10"
938 register "bias_lvls[0]" = "15"
939 register "bias_lvls[1]" = "8"
940 register "bias_lvls[2]" = "4"
941 register "bias_lvls[3]" = "1"
942 register "hs_bias_ramp_rate" = "HSBIAS_RAMP_SLOW"
943 register "hs_bias_sense_disable" = "true"
944 device generic 0.0 on end
946 chip drivers/soundwire/max98363
947 # SoundWire Link 2 ID 0
948 register "desc" = ""Left Speaker Amp""
949 device generic 2.0 on end
951 chip drivers/soundwire/max98363
952 # SoundWire Link 2 ID 1
953 register "desc" = ""Right Speaker Amp""
954 device generic 2.1 on end