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