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