blob: ef13b8e4a5f1ad1306a6271006c70bbb9f8bf237 [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
Matt DeVillier4e685bf2024-01-19 20:37:58 -0600119 register "device[0].name" = ""LCD0""
Matt DeVilliercf29efa2024-01-16 18:46:20 -0600120 # Internal panel on the first port of the graphics chip
Matt DeVillier1810a182024-01-26 16:09:42 -0600121 register "device[0].type" = "panel"
Won Chung902575f2023-04-12 18:33:12 +0000122 # DDIB for HDMI
Won Chungbc1533e2023-07-27 20:10:25 +0000123 # If HDMI is not enumerated in the kernel, then no GFX device should be added for DDIB
Won Chung902575f2023-04-12 18:33:12 +0000124 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))"
Won Chungbc1533e2023-07-27 20:10:25 +0000137 # 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 +0000138 register "device[5].name" = ""DD05""
139 device generic 0 on end
140 end
141 end # Integrated Graphics Device
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700142 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""
149
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),
161 }
162 },
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),
171 }
172 }
173 }"
174
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),
182 }"
183
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),
191 }"
192
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,
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,
207 }
208 }"
209
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 }
216 }"
217
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, }
230 }"
231
232 ## Fan options
233 register "options.fan.fine_grained_control" = "1"
234 register "options.fan.step_size" = "2"
235
236 device generic 0 alias dptf_policy on end
237 end
238 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"
244
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
253 end
254 end
255 chip drivers/intel/mipi_camera
256 register "acpi_uid" = "0x50000"
257 register "acpi_name" = ""IPU0""
258 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
259
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
268 end
269 end
270 end
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
276 end
277 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,
284 }"
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"
Cliff Huangdaeb7812023-03-02 10:17:50 -0800292 register "use_rp_mutex" = "true"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700293 device generic 0 alias rp6_rtd3 on
294 probe DB_LTE LTE_PCIE
295 end
296 end
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
306 end
307 end
308 probe DB_LTE LTE_PCIE
309 end
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
315 end
316 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
322 end
323 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
330 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
346 end
347 end
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
369 end
370 end
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
376 end
377 end
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"
384
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""
Bora Guvendikfa03a9f2022-08-23 10:32:37 -0700393 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700394
395 register "has_power_resource" = "1"
396 #Controls
397 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
398 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
399
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
403
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)"
411
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)"
418
419 device i2c 10 on end
420 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"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700426 register "vcm_compat" = ""dongwoon,dw9768""
427
Bora Guvendikfa03a9f2022-08-23 10:32:37 -0700428 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
429
430 register "has_power_resource" = "1"
431
432 #Controls
433 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
434
435 #_ON
436 register "on_seq.ops_cnt" = "1"
437 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
438
439 #_OFF
440 register "off_seq.ops_cnt" = "1"
441 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
442
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700443 device i2c 0C on end
444 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"
450
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700451 register "nvm_compat" = ""atmel,24c1024""
452
453 register "nvm_size" = "0x2800"
454 register "nvm_pagesize" = "0x01"
455 register "nvm_readonly" = "0x01"
456 register "nvm_width" = "0x10"
457
Bora Guvendikfa03a9f2022-08-23 10:32:37 -0700458 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
459
460 register "has_power_resource" = "1"
461
462 #Controls
463 register "gpio_panel.gpio[0].gpio_num" = "GPP_D16" #EN_WCAM_PWR
464
465 #_ON
466 register "on_seq.ops_cnt" = "1"
467 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
468
469 #_OFF
470 register "off_seq.ops_cnt" = "1"
471 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
472
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700473 device i2c 58 on end
474 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
481 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
531 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
579 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"
586
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""
593
594 register "has_power_resource" = "1"
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
600
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)"
608
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)"
615
616 device i2c 10 on
617 probe UFC UFC_MIPI_IMX208
618 end
619 end
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"
626
627 register "pr0" = ""\\_SB.PCI0.I2C2.CAM1.PRIC""
628 register "nvm_compat" = ""atmel,24c1024""
629
630 register "nvm_size" = "0x800"
631 register "nvm_pagesize" = "0x01"
632 register "nvm_readonly" = "0x01"
633 register "nvm_width" = "0x08"
634
635 device i2c 50 on
636 probe UFC UFC_MIPI_IMX208
637 end
638 end
639 chip drivers/i2c/generic
640 register "hid" = ""GOOG0020""
Jon Murphyc4e90452022-06-28 10:36:23 -0600641 register "desc" = ""ChromeOS HPS""
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700642 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
650 end
651 end
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)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500658 register "generic.detect" = "1"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700659 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
672 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)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500677 register "generic.detect" = "1"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700678 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
691 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)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500696 register "generic.detect" = "1"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700697 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
708 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"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500716 register "detect" = "1"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700717 device i2c 15 on end
718 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
728 end
729 end
730
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
738 end
739 end
740
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
748 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
753 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
758 end
759 end
760 end
761 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"
Tarun Tuli2b523ce2022-08-29 13:39:58 -0400770 register "has_power_resource" = "1"
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"
Matt DeVillieraf46b472023-10-28 11:16:14 -0500774 device spi 0 hidden end
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700775 end # FPMCU
776 end
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
783 end
784 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
792 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
797 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
802 end
803 end
804 end
805 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"
Nick Vaccarof0198b62022-07-20 15:25:21 -0700813 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700814 device ref tcss_usb3_port1 on end
815 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))"
Ron Lee558952a2022-12-13 19:48:59 +0800821 register "usb_lpm_incapable" = "true"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700822 device ref tcss_usb3_port2 on end
823 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"
Nick Vaccarof0198b62022-07-20 15:25:21 -0700828 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700829 device ref tcss_usb3_port3 on end
830 end
831 end
832 end
833 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"
Nick Vaccarof0198b62022-07-20 15:25:21 -0700841 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700842 device ref usb2_port1 on end
843 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
850 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"
Nick Vaccarof0198b62022-07-20 15:25:21 -0700855 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(3, 1))"
Nick Vaccaro4c8f7782022-04-27 11:35:18 -0700856 device ref usb2_port3 on end
857 end
858 chip drivers/usb/acpi
859 register "desc" = ""USB2 WWAN""
860 register "type" = "UPC_TYPE_INTERNAL"
861 device ref usb2_port4 on end
862 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
868 end
869 end
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
876 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
883 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
890 end
891 chip drivers/usb/acpi
892 register "desc" = ""USB3 WWAN""
893 register "type" = "UPC_TYPE_INTERNAL"
894 device ref usb3_port4 on end
895 end
896 end
897 end
898 end
899 end
900end