blob: 39a0a4d2a54dbba8a35167a8689fac01197a4c1a [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"
556 device i2c 10 on end
557 end
Dinesh Gehlot6930b952023-01-11 06:50:37 +0000558 chip drivers/generic/gpio_keys
559 register "name" = ""PENH""
560 # GPP_E04 is the IRQ source
561 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_E04)"
562 register "key.dev_name" = ""EJCT""
563 register "key.linux_code" = "SW_PEN_INSERTED"
564 register "key.linux_input_type" = "EV_SW"
565 register "key.label" = ""pen_eject""
566 device generic 0 on end
567 end
Subrata Banike8097f72022-09-15 00:17:20 -0700568 end
Subrata Banikf0958622022-07-12 07:58:10 +0000569 device ref i2c2 on end
Kapil Porwal53105a52022-09-08 22:52:49 -0700570 device ref i2c3 on
571 chip drivers/i2c/generic
572 register "hid" = ""ELAN0000""
573 register "desc" = ""ELAN Touchpad""
574 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
575 register "wake" = "GPE0_DW0_00"
576 register "detect" = "1"
577 device i2c 15 on end
578 end
579 end
Kapil Porwal381c2192022-07-20 14:22:41 +0000580 device ref i2c4 on
581 chip drivers/i2c/tpm
582 register "hid" = ""GOOG0005""
583 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E03_IRQ)"
584 device i2c 50 on end
585 end
586 end
Daniel Kang84656e12022-08-22 22:20:25 -0700587 device ref i2c5 on
588 chip drivers/intel/mipi_camera
Subrata Banik1653b6f2022-12-01 19:58:49 +0530589 register "acpi_hid" = ""INT3537""
Daniel Kang84656e12022-08-22 22:20:25 -0700590 register "acpi_uid" = "0"
591 register "acpi_name" = ""CAM1""
Subrata Banik1653b6f2022-12-01 19:58:49 +0530592 register "chip_name" = ""Hi-556 Camera""
Daniel Kang84656e12022-08-22 22:20:25 -0700593 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
594 register "has_power_resource" = "1"
595
596 register "ssdb.lanes_used" = "2"
597 register "ssdb.link_used" = "1"
598 register "num_freq_entries" = "1"
Subrata Banik1653b6f2022-12-01 19:58:49 +0530599 register "link_freq[0]" = "437 * MHz"
Daniel Kang84656e12022-08-22 22:20:25 -0700600 register "remote_name" = ""IPU0""
601 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
602
603 #Controls
604 register "gpio_panel.gpio[0].gpio_num" = "GPP_A11" #EN_UCAM_SENR_PWR
605 register "gpio_panel.gpio[1].gpio_num" = "GPP_B09" #EN_FCAM_PWR
606 register "gpio_panel.gpio[2].gpio_num" = "GPP_V23" #UCAM_RST_L
Subrata Banik1653b6f2022-12-01 19:58:49 +0530607 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
608 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
Daniel Kang84656e12022-08-22 22:20:25 -0700609
610 #_ON
Subrata Banik1653b6f2022-12-01 19:58:49 +0530611 register "on_seq.ops_cnt" = "5"
612 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
613 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
614 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
615 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
616 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
Daniel Kang84656e12022-08-22 22:20:25 -0700617
618 #_OFF
Subrata Banik1653b6f2022-12-01 19:58:49 +0530619 register "off_seq.ops_cnt" = "4"
620 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
621 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
622 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
623 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
624 device i2c 20 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000625 probe UFC UFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000626 end
Daniel Kang84656e12022-08-22 22:20:25 -0700627 end
628 chip drivers/intel/mipi_camera
629 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
630 register "acpi_uid" = "1"
631 register "acpi_name" = ""NVM1""
632 register "chip_name" = ""ST M24C64X""
633 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
Daniel Kang84656e12022-08-22 22:20:25 -0700634
635 register "nvm_size" = "0x10000"
636 register "nvm_pagesize" = "1"
637 register "nvm_readonly" = "1"
638 register "nvm_width" = "0x10"
639 register "nvm_compat" = ""atmel,24c64""
640
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800641 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
642
643 register "has_power_resource" = "1"
644
645 #Controls
646 register "gpio_panel.gpio[0].gpio_num" = "GPP_B09" #EN_FCAM_PWR
647
648 #_ON
649 register "on_seq.ops_cnt" = "1"
650 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
651
652 #_OFF
653 register "off_seq.ops_cnt" = "1"
654 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
655
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000656 device i2c 50 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000657 probe UFC UFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000658 end
Daniel Kang84656e12022-08-22 22:20:25 -0700659 end
660 end #I2C5
Subrata Banikf0958622022-07-12 07:58:10 +0000661 device ref pcie_rp5 on
Subrata Banik389e73a2023-03-31 23:20:13 +0530662 probe WIFI WIFI_PCIE
Subrata Banikf0958622022-07-12 07:58:10 +0000663 # Enable WLAN Card PCIE 5 using clk 5
664 register "pcie_rp[PCH_RP(5)]" = "{
665 .clk_src = 5,
666 .clk_req = 5,
667 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
668 }"
Kapil Porwal0f150302022-12-07 13:53:43 +0530669 chip drivers/wifi/generic
670 register "wake" = "GPE0_DW2_09"
671 register "add_acpi_dma_property" = "true"
Subrata Banik389e73a2023-03-31 23:20:13 +0530672 device pci 00.0 on
673 probe WIFI WIFI_PCIE
674 end
Kapil Porwal0f150302022-12-07 13:53:43 +0530675 end
676 chip soc/intel/common/block/pcie/rtd3
677 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E22)"
678 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F08)"
679 register "srcclk_pin" = "5"
Subrata Banik389e73a2023-03-31 23:20:13 +0530680 device generic 0 on
681 probe WIFI WIFI_PCIE
682 end
Kapil Porwal0f150302022-12-07 13:53:43 +0530683 end
Subrata Banikf0958622022-07-12 07:58:10 +0000684 end #PCIE5 WLAN card
685 device ref pcie_rp6 on
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000686 probe CELLULAR CELLULAR_PCIE
Subrata Banikf0958622022-07-12 07:58:10 +0000687 # Enable WWAN Card PCIE 6 using clk 3
688 register "pcie_rp[PCH_RP(6)]" = "{
689 .clk_src = 3,
690 .clk_req = 3,
691 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
692 }"
Ivy Jian61e58162022-09-05 14:30:11 +0800693 chip soc/intel/common/block/pcie/rtd3
694 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
695 register "reset_off_delay_ms" = "20"
696 register "srcclk_pin" = "3"
697 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
698 register "skip_on_off_support" = "true"
Subrata Banik6e7e8bf2022-12-02 02:21:11 +0530699 device generic 0 alias rp6_rtd3 on
700 probe CELLULAR CELLULAR_PCIE
701 end
Ivy Jian61e58162022-09-05 14:30:11 +0800702 end
703 chip drivers/wwan/fm
704 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E07)"
705 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A15)"
706 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
707 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F10)"
708 register "add_acpi_dma_property" = "true"
709 use rp6_rtd3 as rtd3dev
Subrata Banik6e7e8bf2022-12-02 02:21:11 +0530710 device generic 0 alias rp6_wwan on
711 probe CELLULAR CELLULAR_PCIE
712 end
Ivy Jian61e58162022-09-05 14:30:11 +0800713 end
Subrata Banikf0958622022-07-12 07:58:10 +0000714 end #PCIE6 WWAN card
Subrata Banikcd6a4502022-11-28 17:51:49 +0530715 device ref pcie_rp7 on
716 # Enable SD Card PCIE 7 using clk 2
717 register "pcie_rp[PCH_RP(7)]" = "{
718 .clk_src = 2,
719 .clk_req = 2,
720 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
721 }"
722 chip soc/intel/common/block/pcie/rtd3
723 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D03)"
724 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D02)"
725 register "srcclk_pin" = "2"
726 device generic 0 on end
727 end
728 probe DB_SD SD_GL9755S
729 end
Eran Mitrani78881e12023-05-02 16:00:43 -0700730 device ref gspi0 on
731 probe TOUCHSCREEN TOUCHSCREEN_I2C_SPI
732 end
Eran Mitranib4d71e12022-08-23 14:42:24 -0700733 device ref gspi1 on
734 chip drivers/spi/acpi
735 register "name" = ""CRFP""
736 register "hid" = "ACPI_DT_NAMESPACE_HID"
737 register "uid" = "1"
738 register "compat_string" = ""google,cros-ec-spi""
739 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E10_IRQ)"
740 register "wake" = "GPE0_DW1_10"
741 register "has_power_resource" = "1"
742 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C23)"
743 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
744 register "enable_delay_ms" = "3"
745 device spi 0 on end
746 end # FPMCU
747 end
Subrata Banika9207722022-08-08 15:06:04 +0000748 device ref soc_espi on
749 chip ec/google/chromeec
750 use conn0 as mux_conn[0]
751 use conn1 as mux_conn[1]
752 device pnp 0c09.0 on end
753 end
754 end
755 device ref pmc hidden
756 chip drivers/intel/pmc_mux
757 device generic 0 on
758 chip drivers/intel/pmc_mux/conn
759 use usb2_port2 as usb2_port
760 use tcss_usb3_port1 as usb3_port
761 device generic 0 alias conn0 on end
762 end
763 chip drivers/intel/pmc_mux/conn
Subrata Banik01c190e2022-12-06 20:44:25 +0530764 use usb2_port1 as usb2_port
Subrata Banika9207722022-08-08 15:06:04 +0000765 use tcss_usb3_port3 as usb3_port
766 device generic 1 alias conn1 on end
767 end
768 end
769 end
770 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700771 device ref hda on
772 chip drivers/generic/max98357a
Subrata Banikd38baae2022-12-16 11:46:49 +0530773 register "hid" = ""MX98360A""
Eran Mitrani51249d62022-08-19 15:39:47 -0700774 register "sdmode_gpio" =
775 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D04)"
776 register "sdmode_delay" = "5"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000777 device generic 0 on
Subrata Banikd38baae2022-12-16 11:46:49 +0530778 probe AUDIO MAX98360_ALC5682I_I2S
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000779 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700780 end
Kapil Porwal10456742023-02-25 22:30:21 +0530781 chip drivers/intel/soundwire
782 device generic 0 on
783 probe AUDIO MAX98363_CS42L42_SNDW
784 chip drivers/soundwire/cs42l42
785 # SoundWire Link 0 ID 0
786 register "desc" = ""Headset Codec""
787 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B07)"
788 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
789 register "ts_inv" = "true"
790 register "ts_dbnc_rise" = "RISE_DEB_1000_MS"
791 register "ts_dbnc_fall" = "FALL_DEB_0_MS"
792 register "btn_det_init_dbnce" = "100"
793 register "btn_det_event_dbnce" = "10"
794 register "bias_lvls[0]" = "15"
795 register "bias_lvls[1]" = "8"
796 register "bias_lvls[2]" = "4"
797 register "bias_lvls[3]" = "1"
798 register "hs_bias_ramp_rate" = "HSBIAS_RAMP_SLOW"
799 register "hs_bias_sense_disable" = "true"
800 device generic 0.0 on end
801 end
802 chip drivers/soundwire/max98363
803 # SoundWire Link 2 ID 0
804 register "desc" = ""Left Speaker Amp""
805 device generic 2.0 on end
806 end
807 chip drivers/soundwire/max98363
808 # SoundWire Link 2 ID 1
809 register "desc" = ""Right Speaker Amp""
810 device generic 2.1 on end
811 end
812 end
813 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700814 end
Subrata Banikf0958622022-07-12 07:58:10 +0000815 end
816end