blob: d67794e6f8b9a3ef9aa2a4b015e1ae2b36ad8795 [file] [log] [blame]
Kapil Porwalbd3d1972022-10-07 12:38:29 +00001fw_config
2 field AUDIO 0 3
3 option AUDIO_UNKNOWN 0
Subrata Banikd38baae2022-12-16 11:46:49 +05304 option MAX98360_ALC5682I_I2S 1
5 option MAX98363_CS42L42_SNDW 2
Kapil Porwalbd3d1972022-10-07 12:38:29 +00006 end
7 field CELLULAR 4 5
8 option CELLULAR_ABSENT 0
9 option CELLULAR_USB 1
10 option CELLULAR_PCIE 2
11 end
12 field UFC 6 7
13 option UFC_USB 0
14 option UFC_MIPI 1
15 end
16 field WFC 8 9
17 option WFC_USB 0
18 option WFC_MIPI 1
19 end
20 field DB_SD 10 11
21 option SD_ABSENT 0
22 option SD_GL9755S 1
23 end
Subrata Banik7c1c0b32023-03-14 13:22:07 +053024 field DB_USB 12 14
Kapil Porwalbd3d1972022-10-07 12:38:29 +000025 option USB_UNKNOWN 0
26 option USB3_PS8815 1
Subrata Banikd38baae2022-12-16 11:46:49 +053027 option USB4_KB8010 2
28 option USB4_ANX7452 3
Subrata Banik7c1c0b32023-03-14 13:22:07 +053029 option USB4_HAYDEN_BRIDGE 4
Subrata Banik1f58b6a2023-04-26 13:21:39 +053030 option USB4_ANX7452_V2 5
Kapil Porwalbd3d1972022-10-07 12:38:29 +000031 end
Subrata Banik6696b272023-03-31 20:16:46 +053032 field FP 15
33 option FP_PRESENT 0
34 option FP_ABSENT 1
35 end
36 field UWB 16 17
37 option UWB_ABSENT 0
38 option UWB_BITBANG 1
39 option UWB_GSPI1 2
40 end
41 field WIFI 18
42 option WIFI_CNVI 0
43 option WIFI_PCIE 1
44 end
Eran Mitrani78881e12023-05-02 16:00:43 -070045 field TOUCHSCREEN 19
46 option TOUCHSCREEN_I2C 0
47 option TOUCHSCREEN_I2C_SPI 1
48 end
Eran Mitrani8a2c3642023-05-16 14:59:20 -070049 field VPU 20
50 option VPU_DIS 0
51 option VPU_EN 1
52 end
Bernardo Perez Priegof8f4eda2023-05-08 17:53:13 -070053 field ISH 21
54 option ISH_DISABLE 0
55 option ISH_ENABLE 1
56 end
Kapil Porwalbd3d1972022-10-07 12:38:29 +000057end
58
Subrata Banikf0958622022-07-12 07:58:10 +000059chip soc/intel/meteorlake
Subrata Banik691af092022-07-12 09:41:00 +000060
Subrata Banik01c190e2022-12-06 20:44:25 +053061 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1
Subrata Banik35c61212022-07-12 09:55:32 +000062 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC0)" # USB2_C0
Subrata Banik35c61212022-07-12 09:55:32 +000063 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WWAN
64 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Camera
65 register "usb2_ports[8]" = "USB2_PORT_MID(OC3)" # Type-A Port A0
66 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Bluetooth
67
68 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC3)" # USB3/2 Type A port A0
Subrata Banik08529912022-12-14 16:28:11 +053069 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3 port for WWAN
Subrata Banik35c61212022-07-12 09:55:32 +000070
71 register "tcss_ports[0]" = "TCSS_PORT_DEFAULT(OC0)"
72 register "tcss_ports[2]" = "TCSS_PORT_DEFAULT(OC_SKIP)"
73
Subrata Banik8072b422022-07-27 20:11:19 +000074 # Enable eDP in Port A
75 register "ddi_port_A_config" = "1"
76 # Enable HDMI in Port B
77 register "ddi_port_B_config" = "0"
78
79 # Enable Display Port Configuration
80 register "ddi_ports_config" = "{
81 [DDI_PORT_A] = DDI_ENABLE_HPD,
82 [DDI_PORT_B] = DDI_ENABLE_HPD | DDI_ENABLE_DDC,
Anil Kumare0e963e2023-04-13 21:24:35 -070083 [DDI_PORT_1] = DDI_ENABLE_HPD,
84 [DDI_PORT_2] = DDI_ENABLE_HPD,
85 [DDI_PORT_3] = DDI_ENABLE_HPD,
86 [DDI_PORT_4] = DDI_ENABLE_HPD,
Subrata Banik8072b422022-07-27 20:11:19 +000087 }"
88
Subrata Banik9ffaf7f2022-07-12 09:51:35 +000089 register "serial_io_gspi_mode" = "{
Eran Mitrani78881e12023-05-02 16:00:43 -070090 [PchSerialIoIndexGSPI0] = PchSerialIoPci,
Subrata Banik9ffaf7f2022-07-12 09:51:35 +000091 [PchSerialIoIndexGSPI1] = PchSerialIoPci,
92 [PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
93 }"
94
Subrata Banik691af092022-07-12 09:41:00 +000095 register "serial_io_i2c_mode" = "{
96 [PchSerialIoIndexI2C0] = PchSerialIoPci,
97 [PchSerialIoIndexI2C1] = PchSerialIoPci,
98 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
99 [PchSerialIoIndexI2C3] = PchSerialIoPci,
100 [PchSerialIoIndexI2C4] = PchSerialIoPci,
101 [PchSerialIoIndexI2C5] = PchSerialIoPci,
102 }"
103
104 # Intel Common SoC Config
105 #+-------------------+---------------------------+
106 #| Field | Value |
107 #+-------------------+---------------------------+
108 #| I2C0 | Audio and WFC |
109 #| I2C1 | Touchscreen |
110 #| I2C3 | Touchpad |
111 #| I2C4 | cr50 TPM. Early init is |
112 #| | required to set up a BAR |
113 #| | for TPM communication |
114 #| I2C5 | UFC, SAR1, SAR2, HPS |
115 #+-------------------+---------------------------+
116 register "common_soc_config" = "{
117 .i2c[0] = {
118 .speed = I2C_SPEED_FAST,
119 .rise_time_ns = 650,
120 .fall_time_ns = 400,
121 .data_hold_time_ns = 50,
122 },
123 .i2c[1] = {
124 .speed = I2C_SPEED_FAST,
125 .rise_time_ns = 650,
126 .fall_time_ns = 400,
127 .data_hold_time_ns = 50,
128 },
129 .i2c[3] = {
130 .speed = I2C_SPEED_FAST,
131 .rise_time_ns = 650,
132 .fall_time_ns = 400,
133 .data_hold_time_ns = 50,
134 },
135 .i2c[4] = {
136 .early_init = 1,
137 .speed = I2C_SPEED_FAST,
138 .rise_time_ns = 600,
139 .fall_time_ns = 400,
140 .data_hold_time_ns = 50,
141 },
142 .i2c[5] = {
143 .speed = I2C_SPEED_FAST,
144 .rise_time_ns = 900,
145 .fall_time_ns = 400,
146 .data_hold_time_ns = 50,
147 },
148 }"
149
Subrata Banikf0958622022-07-12 07:58:10 +0000150 device domain 0 on
zhaojohn92d49da2022-12-16 09:27:19 -0800151 device ref dtt on
152 chip drivers/intel/dptf
Sumeet Pawnikarffc4b8f2022-12-20 17:52:06 +0530153 ## sensor information
154 register "options.tsr[0].desc" = ""DDR_SOC""
155 register "options.tsr[1].desc" = ""Ambient""
156 register "options.tsr[2].desc" = ""Charger""
157 register "options.tsr[3].desc" = ""wwan""
158
159 ## Active Policy
160 # FIXME: below values are initial reference values only
161 register "policies.active" = "{
162 [0] = {
163 .target = DPTF_TEMP_SENSOR_0,
164 .thresholds = {
165 TEMP_PCT(75, 90),
166 TEMP_PCT(70, 80),
167 TEMP_PCT(65, 70),
168 TEMP_PCT(60, 60),
169 TEMP_PCT(55, 50),
170 TEMP_PCT(50, 40),
171 TEMP_PCT(45, 30),
172 }
173 },
174 [1] = {
175 .target = DPTF_TEMP_SENSOR_1,
176 .thresholds = {
177 TEMP_PCT(75, 90),
178 TEMP_PCT(70, 80),
179 TEMP_PCT(65, 70),
180 TEMP_PCT(60, 60),
181 TEMP_PCT(55, 50),
182 TEMP_PCT(50, 40),
183 TEMP_PCT(45, 30),
184 }
185 },
186 [2] = {
187 .target = DPTF_TEMP_SENSOR_2,
188 .thresholds = {
189 TEMP_PCT(75, 90),
190 TEMP_PCT(70, 80),
191 TEMP_PCT(65, 70),
192 TEMP_PCT(60, 50),
193 }
194 },
195 [3] = {
196 .target = DPTF_TEMP_SENSOR_3,
197 .thresholds = {
198 TEMP_PCT(75, 90),
199 TEMP_PCT(70, 80),
200 TEMP_PCT(65, 70),
201 TEMP_PCT(60, 60),
202 TEMP_PCT(55, 50),
203 TEMP_PCT(50, 40),
204 TEMP_PCT(45, 30),
205 }
206 }
207 }"
208
209 ## Passive Policy
210 # TODO: below values are initial reference values only
211 register "policies.passive" = "{
212 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
213 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 5000),
214 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 80, 5000),
215 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
216 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 80, 5000),
217 }"
218
219 ## Critical Policy
220 # TODO: below values are initial reference values only
221 register "policies.critical" = "{
222 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
223 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
224 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
225 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
226 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 85, SHUTDOWN),
227 }"
228
229 ## Power Limits Control
230 register "controls.power_limits" = "{
231 .pl1 = {
232 .min_power = 15000,
233 .max_power = 15000,
234 .time_window_min = 28 * MSECS_PER_SEC,
235 .time_window_max = 32 * MSECS_PER_SEC,
236 .granularity = 200,
237 },
238 .pl2 = {
239 .min_power = 57000,
240 .max_power = 57000,
241 .time_window_min = 28 * MSECS_PER_SEC,
242 .time_window_max = 32 * MSECS_PER_SEC,
243 .granularity = 1000,
244 }
245 }"
246
247 ## Charger Performance Control (Control, mA)
248 register "controls.charger_perf" = "{
249 [0] = { 255, 3000 },
250 [1] = { 24, 1500 },
251 [2] = { 16, 1000 },
252 [3] = { 8, 500 }
253 }"
254
255 ## Fan Performance Control (Percent, Speed, Noise, Power)
256 register "controls.fan_perf" = "{
257 [0] = { 90, 6700, 220, 2200, },
258 [1] = { 80, 5800, 180, 1800, },
259 [2] = { 70, 5000, 145, 1450, },
260 [3] = { 60, 4900, 115, 1150, },
261 [4] = { 50, 3838, 90, 900, },
262 [5] = { 40, 2904, 55, 550, },
263 [6] = { 30, 2337, 30, 300, },
264 [7] = { 20, 1608, 15, 150, },
265 [8] = { 10, 800, 10, 100, },
266 [9] = { 0, 0, 0, 50, }
267 }"
268
269 ## Fan options
270 register "options.fan.fine_grained_control" = "1"
271 register "options.fan.step_size" = "2"
272
zhaojohn92d49da2022-12-16 09:27:19 -0800273 device generic 0 alias dptf_policy on end
274 end
275 end
Subrata Banikf0958622022-07-12 07:58:10 +0000276 device ref pcie_rp9 on
277 # Enable SSD Card PCIE 9 using clk 4
278 register "pcie_rp[PCH_RP(9)]" = "{
279 .clk_src = 4,
280 .clk_req = 4,
281 .flags = PCIE_RP_LTR | PCIE_RP_AER,
282 }"
283 end #PCIE9 SSD card
Bernardo Perez Priegof8f4eda2023-05-08 17:53:13 -0700284 device ref ish on
285 probe ISH ISH_ENABLE
286 chip drivers/intel/ish
287 register "firmware_name" = ""rex_ish.bin""
288 device generic 0 on end
289 end
290 end
Subrata Banikf0958622022-07-12 07:58:10 +0000291 device ref tbt_pcie_rp0 on end
Subrata Banikf0958622022-07-12 07:58:10 +0000292 device ref tbt_pcie_rp2 on end
Eran Mitrani8a2c3642023-05-16 14:59:20 -0700293 device ref vpu on
294 probe VPU VPU_EN
295 end
Subrata Banik5be99592022-08-08 17:33:37 +0000296 device ref tcss_xhci on
297 chip drivers/usb/acpi
298 device ref tcss_root_hub on
299 chip drivers/usb/acpi
300 register "desc" = ""USB3 Type-C Port C0 (MLB)""
301 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
302 register "use_custom_pld" = "true"
Won Chungaf879f22023-04-10 20:52:55 +0000303 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Subrata Banik5be99592022-08-08 17:33:37 +0000304 device ref tcss_usb3_port1 on end
305 end
306 chip drivers/usb/acpi
307 register "desc" = ""USB3 Type-C Port C1 (DB)""
308 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
309 register "use_custom_pld" = "true"
310 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
311 device ref tcss_usb3_port3 on end
312 end
313 end
314 end
315 end
Subrata Banik50c73b52022-08-08 17:55:13 +0000316 device ref tcss_dma0 on
317 chip drivers/intel/usb4/retimer
318 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
319 use tcss_usb3_port1 as dfp[0].typec_port
320 device generic 0 on end
321 end
322 end
323 device ref tcss_dma1 on
324 chip drivers/intel/usb4/retimer
325 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
326 use tcss_usb3_port3 as dfp[0].typec_port
327 device generic 0 on end
328 end
329 end
Subrata Banik52398d62022-08-08 18:13:35 +0000330 device ref xhci on
331 chip drivers/usb/acpi
332 device ref xhci_root_hub on
333 chip drivers/usb/acpi
Subrata Banik01c190e2022-12-06 20:44:25 +0530334 register "desc" = ""USB2 Type-C Port C1 (DB)""
335 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
336 register "use_custom_pld" = "true"
337 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
338 device ref usb2_port1 on end
339 end
340 chip drivers/usb/acpi
Subrata Banik52398d62022-08-08 18:13:35 +0000341 register "desc" = ""USB2 Type-C Port C0 (MLB)""
342 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
343 register "use_custom_pld" = "true"
Won Chungaf879f22023-04-10 20:52:55 +0000344 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Subrata Banik52398d62022-08-08 18:13:35 +0000345 device ref usb2_port2 on end
346 end
347 chip drivers/usb/acpi
Subrata Banik52398d62022-08-08 18:13:35 +0000348 register "desc" = ""USB2 WWAN""
349 register "type" = "UPC_TYPE_INTERNAL"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000350 device ref usb2_port5 on
351 probe CELLULAR CELLULAR_USB
352 end
Subrata Banik52398d62022-08-08 18:13:35 +0000353 end
354 chip drivers/usb/acpi
355 register "desc" = ""USB2 Camera""
356 register "type" = "UPC_TYPE_INTERNAL"
Ivy Jian665c58b2023-03-16 17:18:35 +0800357 register "has_power_resource" = "1"
358 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B09)"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000359 device ref usb2_port6 on
360 probe UFC UFC_USB
361 end
Subrata Banik52398d62022-08-08 18:13:35 +0000362 end
363 chip drivers/usb/acpi
364 register "desc" = ""USB2 Type-A Port A0 (DB)""
365 register "type" = "UPC_TYPE_A"
366 register "use_custom_pld" = "true"
367 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
368 device ref usb2_port9 on end
369 end
370 chip drivers/usb/acpi
371 register "desc" = ""USB2 Bluetooth""
372 register "type" = "UPC_TYPE_INTERNAL"
373 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B01)"
374 device ref usb2_port10 on end
375 end
376 chip drivers/usb/acpi
377 register "desc" = ""USB3 Type-A Port A0 (DB)""
378 register "type" = "UPC_TYPE_USB3_A"
379 register "use_custom_pld" = "true"
380 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
381 device ref usb3_port1 on end
382 end
Subrata Banik08529912022-12-14 16:28:11 +0530383 chip drivers/usb/acpi
384 register "desc" = ""USB3 WWAN""
385 register "type" = "UPC_TYPE_INTERNAL"
386 device ref usb3_port2 on
387 probe CELLULAR CELLULAR_USB
388 end
389 end
Subrata Banik52398d62022-08-08 18:13:35 +0000390 end
391 end
392 end
Subrata Banikf0958622022-07-12 07:58:10 +0000393 device ref cnvi_wifi on
394 chip drivers/wifi/generic
395 register "wake" = "GPE0_PME_B0"
Kapil Porwalda1a58a2022-11-23 19:17:35 +0530396 register "add_acpi_dma_property" = "true"
zhaojohn42cdd222022-09-22 21:20:11 -0700397 register "enable_cnvi_ddr_rfim" = "true"
Subrata Banik389e73a2023-03-31 23:20:13 +0530398 device generic 0 on
399 probe WIFI WIFI_CNVI
400 end
Subrata Banikf0958622022-07-12 07:58:10 +0000401 end
402 end
Daniel Kang84656e12022-08-22 22:20:25 -0700403 device ref ipu on
404 chip drivers/intel/mipi_camera
405 register "acpi_uid" = "0x50000"
406 register "acpi_name" = ""IPU0""
407 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
408
409 register "cio2_num_ports" = "2"
Subrata Banik4456e8a2022-12-01 20:24:54 +0530410 register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
Daniel Kang84656e12022-08-22 22:20:25 -0700411 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
412 register "cio2_lane_endpoint[1]" = ""^I2C5.CAM1""
413 register "cio2_prt[0]" = "4"
414 register "cio2_prt[1]" = "0"
415
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000416 device generic 0 on
417 probe UFC UFC_MIPI
418 probe WFC WFC_MIPI
419 end
Daniel Kang84656e12022-08-22 22:20:25 -0700420 end
421 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700422 device ref i2c0 on
423 chip drivers/i2c/generic
424 register "hid" = ""RTL5682""
425 register "name" = ""RT58""
426 register "desc" = ""Headset Codec""
427 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
428 # Set the jd_src to RT5668_JD1 for jack detection
429 register "property_count" = "1"
430 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
431 register "property_list[0].name" = ""realtek,jd-src""
432 register "property_list[0].integer" = "1"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000433 device i2c 1a on
Subrata Banikd38baae2022-12-16 11:46:49 +0530434 probe AUDIO MAX98360_ALC5682I_I2S
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000435 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700436 end
Daniel Kang84656e12022-08-22 22:20:25 -0700437 chip drivers/intel/mipi_camera
Subrata Banik4456e8a2022-12-01 20:24:54 +0530438 register "acpi_hid" = ""OVTIDB10""
Daniel Kang84656e12022-08-22 22:20:25 -0700439 register "acpi_uid" = "0"
440 register "acpi_name" = ""CAM0""
Subrata Banik4456e8a2022-12-01 20:24:54 +0530441 register "chip_name" = ""Ov 13b10 Camera""
Daniel Kang84656e12022-08-22 22:20:25 -0700442 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
443
Subrata Banik4456e8a2022-12-01 20:24:54 +0530444 register "ssdb.lanes_used" = "4"
Daniel Kang84656e12022-08-22 22:20:25 -0700445 register "ssdb.link_used" = "0"
446 register "ssdb.vcm_type" = "0x0C"
447 register "vcm_name" = ""VCM0""
Subrata Banik4456e8a2022-12-01 20:24:54 +0530448 register "num_freq_entries" = "1"
449 register "link_freq[0]" = "560 * MHz" # 560 MHz
Daniel Kang84656e12022-08-22 22:20:25 -0700450 register "remote_name" = ""IPU0""
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800451 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Daniel Kang84656e12022-08-22 22:20:25 -0700452
453 register "has_power_resource" = "1"
454 #Controls
455 register "clk_panel.clks[0].clknum" = "1" # IMGCLKOUT_1
456 register "clk_panel.clks[0].freq" = "1" # FREQ_19_2_MHZ
457
458 register "gpio_panel.gpio[0].gpio_num" = "GPP_C03" #EN_WCAM_SENR_PWR
459 register "gpio_panel.gpio[1].gpio_num" = "GPP_C04" #EN_WCAM_PWR
460 register "gpio_panel.gpio[2].gpio_num" = "GPP_V22" #WCAM_RST_L
461
462 #_ON
463 register "on_seq.ops_cnt" = "5"
464 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
465 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
466 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 0)"
467 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
468 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 10)"
469
470 #_OFF
471 register "off_seq.ops_cnt" = "4"
472 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
473 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
474 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
475 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
476
Subrata Banik4456e8a2022-12-01 20:24:54 +0530477 device i2c 36 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000478 probe WFC WFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000479 end
Daniel Kang84656e12022-08-22 22:20:25 -0700480 end
481 chip drivers/intel/mipi_camera
482 register "acpi_uid" = "2"
483 register "acpi_name" = ""VCM0""
484 register "chip_name" = ""DW9714 VCM""
485 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
486
Daniel Kang84656e12022-08-22 22:20:25 -0700487 register "vcm_compat" = ""dongwoon,dw9714""
488
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800489 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
490
491 register "has_power_resource" = "1"
492
493 #Controls
494 register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
495
496 #_ON
497 register "on_seq.ops_cnt" = "1"
498 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
499
500 #_OFF
501 register "off_seq.ops_cnt" = "1"
502 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
503
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000504 device i2c 0C on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000505 probe WFC WFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000506 end
Daniel Kang84656e12022-08-22 22:20:25 -0700507 end
508 chip drivers/intel/mipi_camera
509 register "acpi_uid" = "1"
510 register "acpi_name" = ""NVM0""
511 register "chip_name" = ""ST M24C64X""
512 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
513
Daniel Kang84656e12022-08-22 22:20:25 -0700514 register "nvm_compat" = ""atmel,24c64""
515
516 register "nvm_size" = "0x10000"
517 register "nvm_pagesize" = "0x01"
518 register "nvm_readonly" = "0x01"
519 register "nvm_width" = "0x0E"
520
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800521 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
522
523 register "has_power_resource" = "1"
524
525 #Controls
526 register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
527
528 #_ON
529 register "on_seq.ops_cnt" = "1"
530 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
531
532 #_OFF
533 register "off_seq.ops_cnt" = "1"
534 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
535
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000536 device i2c 50 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000537 probe WFC WFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000538 end
Daniel Kang84656e12022-08-22 22:20:25 -0700539 end
540 end #I2C0
Subrata Banike8097f72022-09-15 00:17:20 -0700541 device ref i2c1 on
542 chip drivers/i2c/hid
543 register "generic.hid" = ""ELAN6918""
544 register "generic.desc" = ""ELAN Touchscreen""
545 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C07_IRQ)"
546 register "generic.probed" = "1"
547 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C01)"
548 register "generic.reset_delay_ms" = "20"
549 register "generic.reset_off_delay_ms" = "2"
550 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C00)"
551 register "generic.enable_delay_ms" = "1"
552 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C06)"
553 register "generic.stop_off_delay_ms" = "2"
554 register "generic.has_power_resource" = "1"
555 register "hid_desc_reg_offset" = "0x01"
Eran Mitrani14e215b2023-06-01 10:02:06 -0700556 device i2c 10 on
557 probe TOUCHSCREEN TOUCHSCREEN_I2C
558 end
Subrata Banike8097f72022-09-15 00:17:20 -0700559 end
Dinesh Gehlot6930b952023-01-11 06:50:37 +0000560 chip drivers/generic/gpio_keys
561 register "name" = ""PENH""
562 # GPP_E04 is the IRQ source
563 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_E04)"
564 register "key.dev_name" = ""EJCT""
565 register "key.linux_code" = "SW_PEN_INSERTED"
566 register "key.linux_input_type" = "EV_SW"
567 register "key.label" = ""pen_eject""
568 device generic 0 on end
569 end
Subrata Banike8097f72022-09-15 00:17:20 -0700570 end
Subrata Banikf0958622022-07-12 07:58:10 +0000571 device ref i2c2 on end
Kapil Porwal53105a52022-09-08 22:52:49 -0700572 device ref i2c3 on
573 chip drivers/i2c/generic
574 register "hid" = ""ELAN0000""
575 register "desc" = ""ELAN Touchpad""
576 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
577 register "wake" = "GPE0_DW0_00"
578 register "detect" = "1"
579 device i2c 15 on end
580 end
581 end
Kapil Porwal381c2192022-07-20 14:22:41 +0000582 device ref i2c4 on
583 chip drivers/i2c/tpm
584 register "hid" = ""GOOG0005""
585 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E03_IRQ)"
586 device i2c 50 on end
587 end
588 end
Daniel Kang84656e12022-08-22 22:20:25 -0700589 device ref i2c5 on
590 chip drivers/intel/mipi_camera
Subrata Banik1653b6f2022-12-01 19:58:49 +0530591 register "acpi_hid" = ""INT3537""
Daniel Kang84656e12022-08-22 22:20:25 -0700592 register "acpi_uid" = "0"
593 register "acpi_name" = ""CAM1""
Subrata Banik1653b6f2022-12-01 19:58:49 +0530594 register "chip_name" = ""Hi-556 Camera""
Daniel Kang84656e12022-08-22 22:20:25 -0700595 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
596 register "has_power_resource" = "1"
597
598 register "ssdb.lanes_used" = "2"
599 register "ssdb.link_used" = "1"
600 register "num_freq_entries" = "1"
Subrata Banik1653b6f2022-12-01 19:58:49 +0530601 register "link_freq[0]" = "437 * MHz"
Daniel Kang84656e12022-08-22 22:20:25 -0700602 register "remote_name" = ""IPU0""
603 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
604
605 #Controls
606 register "gpio_panel.gpio[0].gpio_num" = "GPP_A11" #EN_UCAM_SENR_PWR
607 register "gpio_panel.gpio[1].gpio_num" = "GPP_B09" #EN_FCAM_PWR
608 register "gpio_panel.gpio[2].gpio_num" = "GPP_V23" #UCAM_RST_L
Subrata Banik1653b6f2022-12-01 19:58:49 +0530609 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
610 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
Daniel Kang84656e12022-08-22 22:20:25 -0700611
612 #_ON
Subrata Banik1653b6f2022-12-01 19:58:49 +0530613 register "on_seq.ops_cnt" = "5"
614 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
615 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
616 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
617 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
618 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
Daniel Kang84656e12022-08-22 22:20:25 -0700619
620 #_OFF
Subrata Banik1653b6f2022-12-01 19:58:49 +0530621 register "off_seq.ops_cnt" = "4"
622 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
623 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
624 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
625 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
626 device i2c 20 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000627 probe UFC UFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000628 end
Daniel Kang84656e12022-08-22 22:20:25 -0700629 end
630 chip drivers/intel/mipi_camera
631 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
632 register "acpi_uid" = "1"
633 register "acpi_name" = ""NVM1""
634 register "chip_name" = ""ST M24C64X""
635 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
Daniel Kang84656e12022-08-22 22:20:25 -0700636
637 register "nvm_size" = "0x10000"
638 register "nvm_pagesize" = "1"
639 register "nvm_readonly" = "1"
640 register "nvm_width" = "0x10"
641 register "nvm_compat" = ""atmel,24c64""
642
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800643 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
644
645 register "has_power_resource" = "1"
646
647 #Controls
648 register "gpio_panel.gpio[0].gpio_num" = "GPP_B09" #EN_FCAM_PWR
649
650 #_ON
651 register "on_seq.ops_cnt" = "1"
652 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
653
654 #_OFF
655 register "off_seq.ops_cnt" = "1"
656 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
657
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000658 device i2c 50 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000659 probe UFC UFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000660 end
Daniel Kang84656e12022-08-22 22:20:25 -0700661 end
662 end #I2C5
Subrata Banikf0958622022-07-12 07:58:10 +0000663 device ref pcie_rp5 on
Subrata Banik389e73a2023-03-31 23:20:13 +0530664 probe WIFI WIFI_PCIE
Subrata Banikf0958622022-07-12 07:58:10 +0000665 # Enable WLAN Card PCIE 5 using clk 5
666 register "pcie_rp[PCH_RP(5)]" = "{
667 .clk_src = 5,
668 .clk_req = 5,
669 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
670 }"
Kapil Porwal0f150302022-12-07 13:53:43 +0530671 chip drivers/wifi/generic
672 register "wake" = "GPE0_DW2_09"
673 register "add_acpi_dma_property" = "true"
Subrata Banik389e73a2023-03-31 23:20:13 +0530674 device pci 00.0 on
675 probe WIFI WIFI_PCIE
676 end
Kapil Porwal0f150302022-12-07 13:53:43 +0530677 end
678 chip soc/intel/common/block/pcie/rtd3
679 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E22)"
680 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F08)"
681 register "srcclk_pin" = "5"
Subrata Banik389e73a2023-03-31 23:20:13 +0530682 device generic 0 on
683 probe WIFI WIFI_PCIE
684 end
Kapil Porwal0f150302022-12-07 13:53:43 +0530685 end
Subrata Banikf0958622022-07-12 07:58:10 +0000686 end #PCIE5 WLAN card
687 device ref pcie_rp6 on
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000688 probe CELLULAR CELLULAR_PCIE
Subrata Banikf0958622022-07-12 07:58:10 +0000689 # Enable WWAN Card PCIE 6 using clk 3
690 register "pcie_rp[PCH_RP(6)]" = "{
691 .clk_src = 3,
692 .clk_req = 3,
693 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
694 }"
Ivy Jian61e58162022-09-05 14:30:11 +0800695 chip soc/intel/common/block/pcie/rtd3
696 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
697 register "reset_off_delay_ms" = "20"
698 register "srcclk_pin" = "3"
699 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
700 register "skip_on_off_support" = "true"
Subrata Banik6e7e8bf2022-12-02 02:21:11 +0530701 device generic 0 alias rp6_rtd3 on
702 probe CELLULAR CELLULAR_PCIE
703 end
Ivy Jian61e58162022-09-05 14:30:11 +0800704 end
705 chip drivers/wwan/fm
706 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E07)"
707 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A15)"
708 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
709 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F10)"
710 register "add_acpi_dma_property" = "true"
711 use rp6_rtd3 as rtd3dev
Subrata Banik6e7e8bf2022-12-02 02:21:11 +0530712 device generic 0 alias rp6_wwan on
713 probe CELLULAR CELLULAR_PCIE
714 end
Ivy Jian61e58162022-09-05 14:30:11 +0800715 end
Subrata Banikf0958622022-07-12 07:58:10 +0000716 end #PCIE6 WWAN card
Subrata Banikcd6a4502022-11-28 17:51:49 +0530717 device ref pcie_rp7 on
718 # Enable SD Card PCIE 7 using clk 2
719 register "pcie_rp[PCH_RP(7)]" = "{
720 .clk_src = 2,
721 .clk_req = 2,
722 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
723 }"
724 chip soc/intel/common/block/pcie/rtd3
725 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D03)"
726 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D02)"
727 register "srcclk_pin" = "2"
728 device generic 0 on end
729 end
730 probe DB_SD SD_GL9755S
731 end
Eran Mitrani78881e12023-05-02 16:00:43 -0700732 device ref gspi0 on
733 probe TOUCHSCREEN TOUCHSCREEN_I2C_SPI
734 end
Eran Mitranib4d71e12022-08-23 14:42:24 -0700735 device ref gspi1 on
736 chip drivers/spi/acpi
737 register "name" = ""CRFP""
738 register "hid" = "ACPI_DT_NAMESPACE_HID"
739 register "uid" = "1"
740 register "compat_string" = ""google,cros-ec-spi""
741 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E10_IRQ)"
742 register "wake" = "GPE0_DW1_10"
743 register "has_power_resource" = "1"
744 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C23)"
745 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
746 register "enable_delay_ms" = "3"
747 device spi 0 on end
748 end # FPMCU
749 end
Subrata Banika9207722022-08-08 15:06:04 +0000750 device ref soc_espi on
751 chip ec/google/chromeec
752 use conn0 as mux_conn[0]
753 use conn1 as mux_conn[1]
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_port2 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
Subrata Banik01c190e2022-12-06 20:44:25 +0530766 use usb2_port1 as usb2_port
Subrata Banika9207722022-08-08 15:06:04 +0000767 use tcss_usb3_port3 as usb3_port
768 device generic 1 alias conn1 on end
769 end
770 end
771 end
772 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700773 device ref hda on
774 chip drivers/generic/max98357a
Subrata Banikd38baae2022-12-16 11:46:49 +0530775 register "hid" = ""MX98360A""
Eran Mitrani51249d62022-08-19 15:39:47 -0700776 register "sdmode_gpio" =
777 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D04)"
778 register "sdmode_delay" = "5"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000779 device generic 0 on
Subrata Banikd38baae2022-12-16 11:46:49 +0530780 probe AUDIO MAX98360_ALC5682I_I2S
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000781 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700782 end
Kapil Porwal10456742023-02-25 22:30:21 +0530783 chip drivers/intel/soundwire
784 device generic 0 on
785 probe AUDIO MAX98363_CS42L42_SNDW
786 chip drivers/soundwire/cs42l42
787 # SoundWire Link 0 ID 0
788 register "desc" = ""Headset Codec""
789 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B07)"
790 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
791 register "ts_inv" = "true"
792 register "ts_dbnc_rise" = "RISE_DEB_1000_MS"
793 register "ts_dbnc_fall" = "FALL_DEB_0_MS"
794 register "btn_det_init_dbnce" = "100"
795 register "btn_det_event_dbnce" = "10"
796 register "bias_lvls[0]" = "15"
797 register "bias_lvls[1]" = "8"
798 register "bias_lvls[2]" = "4"
799 register "bias_lvls[3]" = "1"
800 register "hs_bias_ramp_rate" = "HSBIAS_RAMP_SLOW"
801 register "hs_bias_sense_disable" = "true"
802 device generic 0.0 on end
803 end
804 chip drivers/soundwire/max98363
805 # SoundWire Link 2 ID 0
806 register "desc" = ""Left Speaker Amp""
807 device generic 2.0 on end
808 end
809 chip drivers/soundwire/max98363
810 # SoundWire Link 2 ID 1
811 register "desc" = ""Right Speaker Amp""
812 device generic 2.1 on end
813 end
814 end
815 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700816 end
Subrata Banikf0958622022-07-12 07:58:10 +0000817 end
818end