blob: ee5a3b6b6ab6393b537250cdc7b67b823e350866 [file] [log] [blame]
Tony Huangfa945c82023-04-21 13:54:13 +08001fw_config
2 field DB_USB 0 1
3 option DB_NONE 0
4 option DB_1C_1A 1
5 option DB_1C 2
6 option DB_1C_LTE 3
7 end
8 field WIFI_SAR_ID 2 3
9 option SAR_ID_0 0
Shon Wang6b69af82023-08-30 14:34:08 +080010 option SAR_ID_1 1
11 option SAR_ID_2 2
12 option SAR_ID_3 3
Tony Huangfa945c82023-04-21 13:54:13 +080013 end
14 field STYLUS 9
15 option STYLUS_ABSENT 0
16 option STYLUS_PRESENT 1
17 end
18 field SD_CARD 10
19 option SD_PRESENT 0
20 option SD_ABSENT 1
21 end
22 field WFC 11
23 option WFC_ABSENT 0
24 option WFC_MIPI_OVTI8856 1
25 end
26 field MB_HDMI 12
27 option HDMI_ABSENT 0
28 option HDMI_PRESENT 1
29 end
30 field MB_USB 15
31 option MB_1C 0
32 option MB_1C_2A 1
33 end
Shon Wang204a8a42023-06-07 09:47:40 +080034 field WIFI_SAR_ID2 16 19
35 option INTEL_YAVILLA_LTE 0
36 option INTEL_YAVILLA_WIFI 1
37 option INTEL_YAVILLY_LTE 2
38 option INTEL_YAVILLY_WIFI 3
39 option INTEL_YAVIJO_LTE 4
40 option INTEL_YAVIJO_WIFI 5
41 option UNUSED 15
42 end
Shon Wangc3687752023-09-18 10:14:39 +080043 field TOUCH_PANEL 40 41
44 option TOUCH_ELAN_I2C 0
45 option TOUCH_ELAN_HID_I2C 1
46 option TOUCH_G2_HID_I2c 2
47 end
Tony Huangfa945c82023-04-21 13:54:13 +080048end
49
Tony Huangde2e7162023-03-15 10:41:42 +080050chip soc/intel/alderlake
Tony Huangf78e1a72023-03-17 13:25:49 +080051 register "sagv" = "SaGv_Enabled"
Tony Huangde2e7162023-03-15 10:41:42 +080052
Tony Huang007547a2023-07-31 10:21:24 +080053 # EMMC Tx CMD Delay
54 # Refer to EDS-Vol2-42.3.7.
55 # [14:8] steps of delay for DDR mode, each 125ps, range: 0 - 39.
56 # [6:0] steps of delay for SDR mode, each 125ps, range: 0 - 39.
57 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
58
59 # EMMC TX DATA Delay 1
60 # Refer to EDS-Vol2-42.3.8.
61 # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78.
62 # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79.
63 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x909"
64
65 # EMMC TX DATA Delay 2
66 # Refer to EDS-Vol2-42.3.9.
67 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 79.
68 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
69 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79.
70 # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79.
71 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C272828"
72
73 # EMMC RX CMD/DATA Delay 1
74 # Refer to EDS-Vol2-42.3.10.
75 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 119.
76 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
77 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 - 119.
78 # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119.
79 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C171733"
80
81 # EMMC RX CMD/DATA Delay 2
82 # Refer to EDS-Vol2-42.3.12.
83 # [17:16] stands for Rx Clock before Output Buffer,
84 # 00: Rx clock after output buffer,
85 # 01: Rx clock before output buffer,
86 # 10: Automatic selection based on working mode.
87 # 11: Reserved
88 # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39.
89 # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79.
90 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x10024"
91
92 # EMMC Rx Strobe Delay
93 # Refer to EDS-Vol2-42.3.11.
94 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps, range: 0 - 39.
95 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps, range: 0 - 39.
96 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x1414"
97
Tony Huangf78e1a72023-03-17 13:25:49 +080098 # Bit 0 - C0 has no redriver, so enable SBU muxing in the SoC.
99 # Bit 2 - C1 has a redriver which does SBU muxing.
100 # Bit 1,3 - AUX lines are not swapped on the motherboard for either C0 or C1.
101 register "tcss_aux_ori" = "1"
Tony Huangde2e7162023-03-15 10:41:42 +0800102
Tony Huangf78e1a72023-03-17 13:25:49 +0800103 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
104
Tony Huangfa945c82023-04-21 13:54:13 +0800105 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # USB2 WWAN
Tony Huangf78e1a72023-03-17 13:25:49 +0800106 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for PCIe WLAN
107 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
108
109 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3 WWAN
110
111 # Configure external V1P05/Vnn/VnnSx Rails
112 register "ext_fivr_settings" = "{
113 .configure_ext_fivr = 1,
114 }"
115
116 # Intel Common SoC Config
117 #+-------------------+---------------------------+
118 #| Field | Value |
119 #+-------------------+---------------------------+
120 #| I2C0 | TPM. Early init is |
121 #| | required to set up a BAR |
122 #| | for TPM communication |
123 #| I2C1 | Touchscreen |
124 #| I2C2 | WCAM |
125 #| I2C3 | Audio |
126 #| I2C5 | Trackpad |
127 #+-------------------+---------------------------+
128 register "common_soc_config" = "{
129 .i2c[0] = {
130 .early_init = 1,
131 .speed = I2C_SPEED_FAST_PLUS,
Tony Huangefe03512023-05-19 15:52:24 +0800132 .speed_config[0] = {
133 .speed = I2C_SPEED_FAST_PLUS,
134 .scl_lcnt = 56,
135 .scl_hcnt = 30,
136 .sda_hold = 7,
137 }
Tony Huangf78e1a72023-03-17 13:25:49 +0800138 },
139 .i2c[1] = {
140 .speed = I2C_SPEED_FAST,
Tony Huangefe03512023-05-19 15:52:24 +0800141 .speed_config[0] = {
142 .speed = I2C_SPEED_FAST,
143 .scl_lcnt = 158,
144 .scl_hcnt = 79,
145 .sda_hold = 30,
146 }
Tony Huangf78e1a72023-03-17 13:25:49 +0800147 },
148 .i2c[2] = {
149 .speed = I2C_SPEED_FAST,
Tony Huangefe03512023-05-19 15:52:24 +0800150 .speed_config[0] = {
151 .speed = I2C_SPEED_FAST,
152 .scl_lcnt = 158,
153 .scl_hcnt = 79,
154 .sda_hold = 7,
155 }
Tony Huangf78e1a72023-03-17 13:25:49 +0800156 },
157 .i2c[3] = {
158 .speed = I2C_SPEED_FAST,
Tony Huangefe03512023-05-19 15:52:24 +0800159 .speed_config[0] = {
160 .speed = I2C_SPEED_FAST,
161 .scl_lcnt = 158,
162 .scl_hcnt = 79,
163 .sda_hold = 7,
164 }
Tony Huangf78e1a72023-03-17 13:25:49 +0800165 },
166 .i2c[5] = {
167 .speed = I2C_SPEED_FAST,
Tony Huangefe03512023-05-19 15:52:24 +0800168 .speed_config[0] = {
169 .speed = I2C_SPEED_FAST,
170 .scl_lcnt = 158,
171 .scl_hcnt = 79,
172 .sda_hold = 40,
173 }
Tony Huangf78e1a72023-03-17 13:25:49 +0800174 },
175 }"
176
177 device domain 0 on
178 device ref dtt on
179 chip drivers/intel/dptf
180 ## sensor information
181 register "options.tsr[0].desc" = ""CPU""
182 register "options.tsr[1].desc" = ""5V Regulator""
183 register "options.tsr[2].desc" = ""Charger""
184
185 # TODO: below values are initial reference values only
186 ## Passive Policy
187 register "policies.passive" = "{
188 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
189 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 75, 5000),
190 [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_1, 75, 5000),
191 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 75, 5000),
192 }"
193
194 ## Critical Policy
195 register "policies.critical" = "{
196 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
197 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
198 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
199 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
200 }"
201
202 register "controls.power_limits" = "{
203 .pl1 = {
204 .min_power = 3000,
205 .max_power = 6000,
206 .time_window_min = 28 * MSECS_PER_SEC,
207 .time_window_max = 32 * MSECS_PER_SEC,
208 .granularity = 200
209 },
210 .pl2 = {
211 .min_power = 25000,
212 .max_power = 25000,
213 .time_window_min = 28 * MSECS_PER_SEC,
214 .time_window_max = 32 * MSECS_PER_SEC,
215 .granularity = 1000
216 }
217 }"
218
219 ## Charger Performance Control (Control, mA)
220 register "controls.charger_perf" = "{
221 [0] = { 255, 1700 },
222 [1] = { 24, 1500 },
223 [2] = { 16, 1000 },
224 [3] = { 8, 500 }
225 }"
226
227 device generic 0 on end
228 end
229 end
230 device ref ipu on
231 chip drivers/intel/mipi_camera
232 register "acpi_uid" = "0x50000"
233 register "acpi_name" = ""IPU0""
234 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
235
236 register "cio2_num_ports" = "1"
Tony Huangfa945c82023-04-21 13:54:13 +0800237 register "cio2_lanes_used" = "{4}" # 4 CSI Camera lanes are used
Tony Huangf78e1a72023-03-17 13:25:49 +0800238 register "cio2_lane_endpoint[0]" = ""^I2C2.CAM0""
239 register "cio2_prt[0]" = "1"
240 device generic 0 on end
241 end
Tony Huangfa945c82023-04-21 13:54:13 +0800242 probe WFC WFC_MIPI_OVTI8856
Tony Huangf78e1a72023-03-17 13:25:49 +0800243 end
244 device ref cnvi_wifi on
245 chip drivers/wifi/generic
246 register "enable_cnvi_ddr_rfim" = "true"
247 device generic 0 on end
248 end
249 end
250 device ref i2c1 on
Tony Huang0f8c03b2023-04-26 13:25:03 +0800251 chip drivers/i2c/generic
252 register "hid" = ""ELAN0001""
253 register "desc" = ""ELAN Touchscreen""
254 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500255 register "detect" = "1"
Tony Huang0f8c03b2023-04-26 13:25:03 +0800256 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
257 register "reset_delay_ms" = "20"
258 register "reset_off_delay_ms" = "2"
259 register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
260 register "stop_delay_ms" = "280"
261 register "stop_off_delay_ms" = "2"
262 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
263 register "enable_delay_ms" = "1"
264 register "has_power_resource" = "1"
Shon Wangc3687752023-09-18 10:14:39 +0800265 device i2c 10 on
266 probe TOUCH_PANEL TOUCH_ELAN_I2C
267 end
Tony Huang0f8c03b2023-04-26 13:25:03 +0800268 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800269 chip drivers/i2c/hid
270 register "generic.hid" = ""ELAN2513""
271 register "generic.desc" = ""ELAN Touchscreen""
272 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500273 register "generic.detect" = "1"
Tony Huangf78e1a72023-03-17 13:25:49 +0800274 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
275 register "generic.reset_delay_ms" = "20"
276 register "generic.reset_off_delay_ms" = "2"
277 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
278 register "generic.stop_delay_ms" = "280"
279 register "generic.stop_off_delay_ms" = "2"
280 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
281 register "generic.enable_delay_ms" = "1"
282 register "generic.has_power_resource" = "1"
283 register "hid_desc_reg_offset" = "0x01"
Shon Wangc3687752023-09-18 10:14:39 +0800284 device i2c 10 on
285 probe TOUCH_PANEL TOUCH_ELAN_HID_I2C
286 end
287 end
288 chip drivers/i2c/hid
289 register "generic.hid" = ""ELAN2513""
290 register "generic.desc" = ""ELAN Touchscreen""
291 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
292 register "generic.detect" = "1"
293 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
294 register "generic.reset_delay_ms" = "20"
295 register "generic.reset_off_delay_ms" = "2"
296 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
297 register "generic.stop_delay_ms" = "280"
298 register "generic.stop_off_delay_ms" = "2"
299 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
300 register "generic.enable_delay_ms" = "1"
301 register "generic.has_power_resource" = "1"
302 register "hid_desc_reg_offset" = "0x01"
Tony Huangf78e1a72023-03-17 13:25:49 +0800303 device i2c 15 on end
304 end
Tony Huangee92e522023-05-04 09:14:53 +0800305 chip drivers/i2c/hid
306 register "generic.hid" = ""GTCH7503""
307 register "generic.desc" = ""G2TOUCH Touchscreen""
308 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Matt DeVillier8a0e6b52023-04-27 10:04:27 -0500309 register "generic.detect" = "1"
Tony Huangee92e522023-05-04 09:14:53 +0800310 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
311 register "generic.reset_delay_ms" = "50"
Shon Wangc3687752023-09-18 10:14:39 +0800312 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
313 register "generic.stop_delay_ms" = "100"
314 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
315 register "generic.enable_delay_ms" = "1"
316 register "generic.has_power_resource" = "1"
317 register "hid_desc_reg_offset" = "0x01"
318 device i2c 10 on
319 probe TOUCH_PANEL TOUCH_G2_HID_I2c
320 end
321 end
322 chip drivers/i2c/hid
323 register "generic.hid" = ""GTCH7503""
324 register "generic.desc" = ""G2TOUCH Touchscreen""
325 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
326 register "generic.detect" = "1"
327 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
328 register "generic.reset_delay_ms" = "50"
Tony Huangee92e522023-05-04 09:14:53 +0800329 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
330 register "generic.enable_delay_ms" = "1"
331 register "generic.has_power_resource" = "1"
332 register "hid_desc_reg_offset" = "0x01"
333 device i2c 40 on end
334 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800335 chip drivers/generic/gpio_keys
336 register "name" = ""PENH""
337 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_F13)"
338 register "key.wake_gpe" = "GPE0_DW2_15"
339 register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
340 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
341 register "key.dev_name" = ""EJCT""
342 register "key.linux_code" = "SW_PEN_INSERTED"
343 register "key.linux_input_type" = "EV_SW"
344 register "key.label" = ""pen_eject""
Tony Huangfa945c82023-04-21 13:54:13 +0800345 device generic 0 on
346 probe STYLUS STYLUS_PRESENT
347 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800348 end
349 end
350 device ref i2c2 on
351 chip drivers/intel/mipi_camera
352 register "acpi_hid" = ""OVTI8856""
353 register "acpi_uid" = "0"
354 register "acpi_name" = ""CAM0""
355 register "chip_name" = ""Ov 8856 Camera""
356 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
357 register "has_power_resource" = "1"
Robert Chen2d2815a2023-07-23 22:54:55 -0400358 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Tony Huangf78e1a72023-03-17 13:25:49 +0800359
Tony Huangfa945c82023-04-21 13:54:13 +0800360 register "ssdb.lanes_used" = "4"
Tony Huangf78e1a72023-03-17 13:25:49 +0800361 register "ssdb.link_used" = "1"
362 register "ssdb.vcm_type" = "0x0C"
363 register "vcm_name" = ""VCM0""
364 register "num_freq_entries" = "2"
Tony Huangfa945c82023-04-21 13:54:13 +0800365 register "link_freq[0]" = "360000000"
366 register "link_freq[1]" = "180000000"
Tony Huangf78e1a72023-03-17 13:25:49 +0800367 register "remote_name" = ""IPU0""
368
369 #Controls
370 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
371 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
372
373 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" # EN_PP2800_WCAM_X
374 register "gpio_panel.gpio[1].gpio_num" = "GPP_D16" # EN_PP1800_PP1200_WCAM_X
375 register "gpio_panel.gpio[2].gpio_num" = "GPP_D3" # WCAM_RST_L
376
377 #_ON
Serin Yehab6f0162023-09-27 17:36:18 +0800378 register "on_seq.ops_cnt" = "4"
Tony Huangf78e1a72023-03-17 13:25:49 +0800379 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
380 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
381 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
Serin Yehab6f0162023-09-27 17:36:18 +0800382 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
Tony Huangf78e1a72023-03-17 13:25:49 +0800383
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
Tony Huangfa945c82023-04-21 13:54:13 +0800391 device i2c 36 on
392 probe WFC WFC_MIPI_OVTI8856
393 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800394 end
395 chip drivers/intel/mipi_camera
396 register "acpi_uid" = "3"
397 register "acpi_name" = ""VCM0""
398 register "chip_name" = ""DW AF DAC""
399 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
400
Tony Huangf78e1a72023-03-17 13:25:49 +0800401 register "vcm_compat" = ""dongwoon,dw9714""
Serin Yehab6f0162023-09-27 17:36:18 +0800402 register "has_power_resource" = "1"
403 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
404
405 #Controls
406 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" # EN_PP2800_WCAM_X
407 register "gpio_panel.gpio[1].gpio_num" = "GPP_D3" # WCAM_RST_L
408
409 #_ON
410 register "on_seq.ops_cnt" = "2"
411 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
412 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
413
414 #_OFF
415 register "off_seq.ops_cnt" = "2"
416 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
417 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
Tony Huangf78e1a72023-03-17 13:25:49 +0800418
Tony Huangfa945c82023-04-21 13:54:13 +0800419 device i2c 0C on
420 probe WFC WFC_MIPI_OVTI8856
421 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800422 end
423 chip drivers/intel/mipi_camera
424 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
425 register "acpi_uid" = "1"
426 register "acpi_name" = ""NVM0""
427 register "chip_name" = ""GT24C08""
428 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
429
Serin Yeh57a9e6a2023-08-02 19:00:46 +0800430 register "nvm_size" = "0x400"
Tony Huangf78e1a72023-03-17 13:25:49 +0800431 register "nvm_pagesize" = "1"
432 register "nvm_readonly" = "1"
Serin Yeh57a9e6a2023-08-02 19:00:46 +0800433 register "nvm_width" = "0x08"
Tony Huangf78e1a72023-03-17 13:25:49 +0800434 register "nvm_compat" = ""atmel,24c08""
435
Tony Huangfa945c82023-04-21 13:54:13 +0800436 device i2c 50 on
437 probe WFC WFC_MIPI_OVTI8856
438 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800439 end
440 end
441 device ref i2c3 on
442 chip drivers/i2c/generic
443 register "hid" = ""RTL5682""
444 register "name" = ""RT58""
445 register "desc" = ""Headset Codec""
446 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
447 # Set the jd_src to RT5668_JD1 for jack detection
448 register "property_count" = "1"
449 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
450 register "property_list[0].name" = ""realtek,jd-src""
451 register "property_list[0].integer" = "1"
452 device i2c 1a on end
453 end
454 end
455 device ref i2c5 on
456 chip drivers/i2c/generic
457 register "hid" = ""ELAN0000""
458 register "desc" = ""ELAN Touchpad""
459 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
460 register "wake" = "GPE0_DW2_14"
461 register "detect" = "1"
462 device i2c 15 on end
463 end
464 chip drivers/i2c/hid
465 register "generic.hid" = ""SYNA0000""
466 register "generic.cid" = ""ACPI0C50""
467 register "generic.desc" = ""Synaptics Touchpad""
468 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
469 register "generic.wake" = "GPE0_DW2_14"
470 register "generic.detect" = "1"
471 register "hid_desc_reg_offset" = "0x20"
472 device i2c 0x2c on end
473 end
474 end
475 device ref hda on
476 chip drivers/generic/max98357a
477 register "hid" = ""MX98360A""
478 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
479 register "sdmode_delay" = "5"
480 device generic 0 on end
481 end
Matt DeVillier189da312023-09-08 20:57:55 -0500482 chip drivers/sof
483 register "spkr_tplg" = "max98360a"
484 register "jack_tplg" = "rt5682"
485 register "mic_tplg" = "_2ch_pdm0"
486 device generic 0 on end
487 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800488 end
489 device ref pcie_rp4 on
490 # PCIe 4 WLAN
491 register "pch_pcie_rp[PCH_RP(4)]" = "{
492 .clk_src = 2,
493 .clk_req = 2,
494 .flags = PCIE_RP_LTR | PCIE_RP_AER,
495 }"
496 chip drivers/wifi/generic
497 register "wake" = "GPE0_DW1_03"
498 register "add_acpi_dma_property" = "true"
499 device pci 00.0 on end
500 end
501 end
502 device ref pcie_rp7 off end #PCIE7 no SD card
503 device ref emmc on end
504 device ref ish on
505 chip drivers/intel/ish
506 register "add_acpi_dma_property" = "true"
507 device generic 0 on end
508 end
509 end
510 device ref ufs on end
511 device ref pch_espi on
512 chip ec/google/chromeec
513 use conn0 as mux_conn[0]
514 use conn1 as mux_conn[1]
515 device pnp 0c09.0 on end
516 end
517 end
518 device ref pmc hidden
519 chip drivers/intel/pmc_mux
520 device generic 0 on
521 chip drivers/intel/pmc_mux/conn
522 use usb2_port1 as usb2_port
523 use tcss_usb3_port1 as usb3_port
524 device generic 0 alias conn0 on end
525 end
526 chip drivers/intel/pmc_mux/conn
527 use usb2_port2 as usb2_port
528 use tcss_usb3_port2 as usb3_port
529 device generic 1 alias conn1 on end
530 end
531 end
532 end
533 end
534 device ref tcss_xhci on
535 chip drivers/usb/acpi
536 device ref tcss_root_hub on
537 chip drivers/usb/acpi
538 register "desc" = ""USB3 Type-C Port C0 (MLB)""
539 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
540 register "use_custom_pld" = "true"
541 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
542 device ref tcss_usb3_port1 on end
543 end
544 chip drivers/usb/acpi
545 register "desc" = ""USB3 Type-C Port C1 (DB)""
546 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
547 register "use_custom_pld" = "true"
548 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
549 device ref tcss_usb3_port2 on end
550 end
551 end
552 end
553 end
554 device ref xhci on
555 chip drivers/usb/acpi
556 device ref xhci_root_hub on
557 chip drivers/usb/acpi
558 register "desc" = ""USB2 Type-C Port C0 (MLB)""
559 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
560 register "use_custom_pld" = "true"
561 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
562 device ref usb2_port1 on end
563 end
564 chip drivers/usb/acpi
565 register "desc" = ""USB2 Type-C Port C1 (DB)""
566 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
567 register "use_custom_pld" = "true"
568 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
569 device ref usb2_port2 on end
570 end
571 chip drivers/usb/acpi
572 register "desc" = ""USB2 Type-A Port A0 (MLB)""
573 register "type" = "UPC_TYPE_A"
574 register "use_custom_pld" = "true"
Tony Huangfa945c82023-04-21 13:54:13 +0800575 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
Tony Huangf78e1a72023-03-17 13:25:49 +0800576 device ref usb2_port3 on end
577 end
578 chip drivers/usb/acpi
Tony Huangfa945c82023-04-21 13:54:13 +0800579 register "desc" = ""USB2 Type-A Port A1 (MLB)""
Tony Huangf78e1a72023-03-17 13:25:49 +0800580 register "type" = "UPC_TYPE_A"
581 register "use_custom_pld" = "true"
Tony Huangfa945c82023-04-21 13:54:13 +0800582 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
Tony Huangf78e1a72023-03-17 13:25:49 +0800583 device ref usb2_port4 on end
584 end
585 chip drivers/usb/acpi
586 register "desc" = ""USB2 WWAN""
587 register "type" = "UPC_TYPE_INTERNAL"
Tony Huangfa945c82023-04-21 13:54:13 +0800588 device ref usb2_port5 on
589 probe DB_USB DB_1C_LTE
590 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800591 end
592 chip drivers/usb/acpi
593 register "desc" = ""USB2 UFC""
594 register "type" = "UPC_TYPE_INTERNAL"
595 device ref usb2_port6 on end
596 end
597 chip drivers/usb/acpi
598 register "desc" = ""USB2 Bluetooth""
599 register "type" = "UPC_TYPE_INTERNAL"
600 register "reset_gpio" =
601 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
602 device ref usb2_port8 on end
603 end
604 chip drivers/usb/acpi
605 register "desc" = ""CNVi Bluetooth""
606 register "type" = "UPC_TYPE_INTERNAL"
607 register "reset_gpio" =
608 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
609 device ref usb2_port10 on end
610 end
611 chip drivers/usb/acpi
612 register "desc" = ""USB3 Type-A Port A0 (MLB)""
613 register "type" = "UPC_TYPE_USB3_A"
614 register "use_custom_pld" = "true"
Tony Huangfa945c82023-04-21 13:54:13 +0800615 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
Tony Huangf78e1a72023-03-17 13:25:49 +0800616 device ref usb3_port1 on end
617 end
618 chip drivers/usb/acpi
619 register "desc" = ""USB3 Type-A Port A1 (DB)""
620 register "type" = "UPC_TYPE_USB3_A"
621 register "use_custom_pld" = "true"
Tony Huangfa945c82023-04-21 13:54:13 +0800622 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
Tony Huangf78e1a72023-03-17 13:25:49 +0800623 device ref usb3_port2 on end
624 end
625 chip drivers/usb/acpi
626 register "desc" = ""USB3 WWAN""
627 register "type" = "UPC_TYPE_INTERNAL"
Tony Huangfa945c82023-04-21 13:54:13 +0800628 device ref usb3_port3 on
629 probe DB_USB DB_1C_LTE
630 end
Tony Huangf78e1a72023-03-17 13:25:49 +0800631 end
632 end
633 end
634 end
635 end
Tony Huangde2e7162023-03-15 10:41:42 +0800636end