blob: d3062adff86b5c872ea5c9876b456743078f9f3b [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
Kapil Porwalbd3d1972022-10-07 12:38:29 +000049end
50
Subrata Banikf0958622022-07-12 07:58:10 +000051chip soc/intel/meteorlake
Subrata Banik691af092022-07-12 09:41:00 +000052
Subrata Banik01c190e2022-12-06 20:44:25 +053053 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1
Subrata Banik35c61212022-07-12 09:55:32 +000054 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC0)" # USB2_C0
Subrata Banik35c61212022-07-12 09:55:32 +000055 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WWAN
56 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Camera
57 register "usb2_ports[8]" = "USB2_PORT_MID(OC3)" # Type-A Port A0
58 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Bluetooth
59
60 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC3)" # USB3/2 Type A port A0
Subrata Banik08529912022-12-14 16:28:11 +053061 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3 port for WWAN
Subrata Banik35c61212022-07-12 09:55:32 +000062
63 register "tcss_ports[0]" = "TCSS_PORT_DEFAULT(OC0)"
64 register "tcss_ports[2]" = "TCSS_PORT_DEFAULT(OC_SKIP)"
65
Subrata Banik8072b422022-07-27 20:11:19 +000066 # Enable eDP in Port A
67 register "ddi_port_A_config" = "1"
68 # Enable HDMI in Port B
69 register "ddi_port_B_config" = "0"
70
71 # Enable Display Port Configuration
72 register "ddi_ports_config" = "{
73 [DDI_PORT_A] = DDI_ENABLE_HPD,
74 [DDI_PORT_B] = DDI_ENABLE_HPD | DDI_ENABLE_DDC,
Anil Kumare0e963e2023-04-13 21:24:35 -070075 [DDI_PORT_1] = DDI_ENABLE_HPD,
76 [DDI_PORT_2] = DDI_ENABLE_HPD,
77 [DDI_PORT_3] = DDI_ENABLE_HPD,
78 [DDI_PORT_4] = DDI_ENABLE_HPD,
Subrata Banik8072b422022-07-27 20:11:19 +000079 }"
80
Subrata Banik9ffaf7f2022-07-12 09:51:35 +000081 register "serial_io_gspi_mode" = "{
Eran Mitrani78881e12023-05-02 16:00:43 -070082 [PchSerialIoIndexGSPI0] = PchSerialIoPci,
Subrata Banik9ffaf7f2022-07-12 09:51:35 +000083 [PchSerialIoIndexGSPI1] = PchSerialIoPci,
84 [PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
85 }"
86
Subrata Banik691af092022-07-12 09:41:00 +000087 register "serial_io_i2c_mode" = "{
88 [PchSerialIoIndexI2C0] = PchSerialIoPci,
89 [PchSerialIoIndexI2C1] = PchSerialIoPci,
90 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
91 [PchSerialIoIndexI2C3] = PchSerialIoPci,
92 [PchSerialIoIndexI2C4] = PchSerialIoPci,
93 [PchSerialIoIndexI2C5] = PchSerialIoPci,
94 }"
95
96 # Intel Common SoC Config
97 #+-------------------+---------------------------+
98 #| Field | Value |
99 #+-------------------+---------------------------+
100 #| I2C0 | Audio and WFC |
101 #| I2C1 | Touchscreen |
102 #| I2C3 | Touchpad |
103 #| I2C4 | cr50 TPM. Early init is |
104 #| | required to set up a BAR |
105 #| | for TPM communication |
106 #| I2C5 | UFC, SAR1, SAR2, HPS |
107 #+-------------------+---------------------------+
108 register "common_soc_config" = "{
109 .i2c[0] = {
110 .speed = I2C_SPEED_FAST,
111 .rise_time_ns = 650,
112 .fall_time_ns = 400,
113 .data_hold_time_ns = 50,
114 },
115 .i2c[1] = {
116 .speed = I2C_SPEED_FAST,
117 .rise_time_ns = 650,
118 .fall_time_ns = 400,
119 .data_hold_time_ns = 50,
120 },
121 .i2c[3] = {
122 .speed = I2C_SPEED_FAST,
123 .rise_time_ns = 650,
124 .fall_time_ns = 400,
125 .data_hold_time_ns = 50,
126 },
127 .i2c[4] = {
128 .early_init = 1,
129 .speed = I2C_SPEED_FAST,
130 .rise_time_ns = 600,
131 .fall_time_ns = 400,
132 .data_hold_time_ns = 50,
133 },
134 .i2c[5] = {
135 .speed = I2C_SPEED_FAST,
136 .rise_time_ns = 900,
137 .fall_time_ns = 400,
138 .data_hold_time_ns = 50,
139 },
140 }"
141
Subrata Banikf0958622022-07-12 07:58:10 +0000142 device domain 0 on
zhaojohn92d49da2022-12-16 09:27:19 -0800143 device ref dtt on
144 chip drivers/intel/dptf
Sumeet Pawnikarffc4b8f2022-12-20 17:52:06 +0530145 ## sensor information
146 register "options.tsr[0].desc" = ""DDR_SOC""
147 register "options.tsr[1].desc" = ""Ambient""
148 register "options.tsr[2].desc" = ""Charger""
149 register "options.tsr[3].desc" = ""wwan""
150
151 ## Active Policy
152 # FIXME: below values are initial reference values only
153 register "policies.active" = "{
154 [0] = {
155 .target = DPTF_TEMP_SENSOR_0,
156 .thresholds = {
157 TEMP_PCT(75, 90),
158 TEMP_PCT(70, 80),
159 TEMP_PCT(65, 70),
160 TEMP_PCT(60, 60),
161 TEMP_PCT(55, 50),
162 TEMP_PCT(50, 40),
163 TEMP_PCT(45, 30),
164 }
165 },
166 [1] = {
167 .target = DPTF_TEMP_SENSOR_1,
168 .thresholds = {
169 TEMP_PCT(75, 90),
170 TEMP_PCT(70, 80),
171 TEMP_PCT(65, 70),
172 TEMP_PCT(60, 60),
173 TEMP_PCT(55, 50),
174 TEMP_PCT(50, 40),
175 TEMP_PCT(45, 30),
176 }
177 },
178 [2] = {
179 .target = DPTF_TEMP_SENSOR_2,
180 .thresholds = {
181 TEMP_PCT(75, 90),
182 TEMP_PCT(70, 80),
183 TEMP_PCT(65, 70),
184 TEMP_PCT(60, 50),
185 }
186 },
187 [3] = {
188 .target = DPTF_TEMP_SENSOR_3,
189 .thresholds = {
190 TEMP_PCT(75, 90),
191 TEMP_PCT(70, 80),
192 TEMP_PCT(65, 70),
193 TEMP_PCT(60, 60),
194 TEMP_PCT(55, 50),
195 TEMP_PCT(50, 40),
196 TEMP_PCT(45, 30),
197 }
198 }
199 }"
200
201 ## Passive Policy
202 # TODO: below values are initial reference values only
203 register "policies.passive" = "{
204 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
205 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 5000),
206 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 80, 5000),
207 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
208 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 80, 5000),
209 }"
210
211 ## Critical Policy
212 # TODO: below values are initial reference values only
213 register "policies.critical" = "{
214 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
215 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
216 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
217 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
218 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 85, SHUTDOWN),
219 }"
220
221 ## Power Limits Control
222 register "controls.power_limits" = "{
223 .pl1 = {
224 .min_power = 15000,
225 .max_power = 15000,
226 .time_window_min = 28 * MSECS_PER_SEC,
227 .time_window_max = 32 * MSECS_PER_SEC,
228 .granularity = 200,
229 },
230 .pl2 = {
231 .min_power = 57000,
232 .max_power = 57000,
233 .time_window_min = 28 * MSECS_PER_SEC,
234 .time_window_max = 32 * MSECS_PER_SEC,
235 .granularity = 1000,
236 }
237 }"
238
239 ## Charger Performance Control (Control, mA)
240 register "controls.charger_perf" = "{
241 [0] = { 255, 3000 },
242 [1] = { 24, 1500 },
243 [2] = { 16, 1000 },
244 [3] = { 8, 500 }
245 }"
246
247 ## Fan Performance Control (Percent, Speed, Noise, Power)
248 register "controls.fan_perf" = "{
249 [0] = { 90, 6700, 220, 2200, },
250 [1] = { 80, 5800, 180, 1800, },
251 [2] = { 70, 5000, 145, 1450, },
252 [3] = { 60, 4900, 115, 1150, },
253 [4] = { 50, 3838, 90, 900, },
254 [5] = { 40, 2904, 55, 550, },
255 [6] = { 30, 2337, 30, 300, },
256 [7] = { 20, 1608, 15, 150, },
257 [8] = { 10, 800, 10, 100, },
258 [9] = { 0, 0, 0, 50, }
259 }"
260
261 ## Fan options
262 register "options.fan.fine_grained_control" = "1"
263 register "options.fan.step_size" = "2"
264
zhaojohn92d49da2022-12-16 09:27:19 -0800265 device generic 0 alias dptf_policy on end
266 end
267 end
Subrata Banikf0958622022-07-12 07:58:10 +0000268 device ref pcie_rp9 on
269 # Enable SSD Card PCIE 9 using clk 4
270 register "pcie_rp[PCH_RP(9)]" = "{
271 .clk_src = 4,
272 .clk_req = 4,
273 .flags = PCIE_RP_LTR | PCIE_RP_AER,
274 }"
275 end #PCIE9 SSD card
Subrata Banikf0958622022-07-12 07:58:10 +0000276 device ref tbt_pcie_rp0 on end
Subrata Banikf0958622022-07-12 07:58:10 +0000277 device ref tbt_pcie_rp2 on end
Subrata Banik5be99592022-08-08 17:33:37 +0000278 device ref tcss_xhci on
279 chip drivers/usb/acpi
280 device ref tcss_root_hub on
281 chip drivers/usb/acpi
282 register "desc" = ""USB3 Type-C Port C0 (MLB)""
283 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
284 register "use_custom_pld" = "true"
Won Chungaf879f22023-04-10 20:52:55 +0000285 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Subrata Banik5be99592022-08-08 17:33:37 +0000286 device ref tcss_usb3_port1 on end
287 end
288 chip drivers/usb/acpi
289 register "desc" = ""USB3 Type-C Port C1 (DB)""
290 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
291 register "use_custom_pld" = "true"
292 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
293 device ref tcss_usb3_port3 on end
294 end
295 end
296 end
297 end
Subrata Banik50c73b52022-08-08 17:55:13 +0000298 device ref tcss_dma0 on
299 chip drivers/intel/usb4/retimer
300 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
301 use tcss_usb3_port1 as dfp[0].typec_port
302 device generic 0 on end
303 end
304 end
305 device ref tcss_dma1 on
306 chip drivers/intel/usb4/retimer
307 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
308 use tcss_usb3_port3 as dfp[0].typec_port
309 device generic 0 on end
310 end
311 end
Subrata Banik52398d62022-08-08 18:13:35 +0000312 device ref xhci on
313 chip drivers/usb/acpi
314 device ref xhci_root_hub on
315 chip drivers/usb/acpi
Subrata Banik01c190e2022-12-06 20:44:25 +0530316 register "desc" = ""USB2 Type-C Port C1 (DB)""
317 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
318 register "use_custom_pld" = "true"
319 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
320 device ref usb2_port1 on end
321 end
322 chip drivers/usb/acpi
Subrata Banik52398d62022-08-08 18:13:35 +0000323 register "desc" = ""USB2 Type-C Port C0 (MLB)""
324 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
325 register "use_custom_pld" = "true"
Won Chungaf879f22023-04-10 20:52:55 +0000326 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
Subrata Banik52398d62022-08-08 18:13:35 +0000327 device ref usb2_port2 on end
328 end
329 chip drivers/usb/acpi
Subrata Banik52398d62022-08-08 18:13:35 +0000330 register "desc" = ""USB2 WWAN""
331 register "type" = "UPC_TYPE_INTERNAL"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000332 device ref usb2_port5 on
333 probe CELLULAR CELLULAR_USB
334 end
Subrata Banik52398d62022-08-08 18:13:35 +0000335 end
336 chip drivers/usb/acpi
337 register "desc" = ""USB2 Camera""
338 register "type" = "UPC_TYPE_INTERNAL"
Ivy Jian665c58b2023-03-16 17:18:35 +0800339 register "has_power_resource" = "1"
340 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B09)"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000341 device ref usb2_port6 on
342 probe UFC UFC_USB
343 end
Subrata Banik52398d62022-08-08 18:13:35 +0000344 end
345 chip drivers/usb/acpi
346 register "desc" = ""USB2 Type-A Port A0 (DB)""
347 register "type" = "UPC_TYPE_A"
348 register "use_custom_pld" = "true"
349 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
350 device ref usb2_port9 on end
351 end
352 chip drivers/usb/acpi
353 register "desc" = ""USB2 Bluetooth""
354 register "type" = "UPC_TYPE_INTERNAL"
355 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B01)"
356 device ref usb2_port10 on end
357 end
358 chip drivers/usb/acpi
359 register "desc" = ""USB3 Type-A Port A0 (DB)""
360 register "type" = "UPC_TYPE_USB3_A"
361 register "use_custom_pld" = "true"
362 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 2))"
363 device ref usb3_port1 on end
364 end
Subrata Banik08529912022-12-14 16:28:11 +0530365 chip drivers/usb/acpi
366 register "desc" = ""USB3 WWAN""
367 register "type" = "UPC_TYPE_INTERNAL"
368 device ref usb3_port2 on
369 probe CELLULAR CELLULAR_USB
370 end
371 end
Subrata Banik52398d62022-08-08 18:13:35 +0000372 end
373 end
374 end
Subrata Banikf0958622022-07-12 07:58:10 +0000375 device ref cnvi_wifi on
376 chip drivers/wifi/generic
377 register "wake" = "GPE0_PME_B0"
Kapil Porwalda1a58a2022-11-23 19:17:35 +0530378 register "add_acpi_dma_property" = "true"
zhaojohn42cdd222022-09-22 21:20:11 -0700379 register "enable_cnvi_ddr_rfim" = "true"
Subrata Banik389e73a2023-03-31 23:20:13 +0530380 device generic 0 on
381 probe WIFI WIFI_CNVI
382 end
Subrata Banikf0958622022-07-12 07:58:10 +0000383 end
384 end
Daniel Kang84656e12022-08-22 22:20:25 -0700385 device ref ipu on
386 chip drivers/intel/mipi_camera
387 register "acpi_uid" = "0x50000"
388 register "acpi_name" = ""IPU0""
389 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
390
391 register "cio2_num_ports" = "2"
Subrata Banik4456e8a2022-12-01 20:24:54 +0530392 register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
Daniel Kang84656e12022-08-22 22:20:25 -0700393 register "cio2_lane_endpoint[0]" = ""^I2C0.CAM0""
394 register "cio2_lane_endpoint[1]" = ""^I2C5.CAM1""
395 register "cio2_prt[0]" = "4"
396 register "cio2_prt[1]" = "0"
397
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000398 device generic 0 on
399 probe UFC UFC_MIPI
400 probe WFC WFC_MIPI
401 end
Daniel Kang84656e12022-08-22 22:20:25 -0700402 end
403 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700404 device ref i2c0 on
405 chip drivers/i2c/generic
406 register "hid" = ""RTL5682""
407 register "name" = ""RT58""
408 register "desc" = ""Headset Codec""
409 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
410 # Set the jd_src to RT5668_JD1 for jack detection
411 register "property_count" = "1"
412 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
413 register "property_list[0].name" = ""realtek,jd-src""
414 register "property_list[0].integer" = "1"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000415 device i2c 1a on
Subrata Banikd38baae2022-12-16 11:46:49 +0530416 probe AUDIO MAX98360_ALC5682I_I2S
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000417 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700418 end
Daniel Kang84656e12022-08-22 22:20:25 -0700419 chip drivers/intel/mipi_camera
Subrata Banik4456e8a2022-12-01 20:24:54 +0530420 register "acpi_hid" = ""OVTIDB10""
Daniel Kang84656e12022-08-22 22:20:25 -0700421 register "acpi_uid" = "0"
422 register "acpi_name" = ""CAM0""
Subrata Banik4456e8a2022-12-01 20:24:54 +0530423 register "chip_name" = ""Ov 13b10 Camera""
Daniel Kang84656e12022-08-22 22:20:25 -0700424 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
425
Subrata Banik4456e8a2022-12-01 20:24:54 +0530426 register "ssdb.lanes_used" = "4"
Daniel Kang84656e12022-08-22 22:20:25 -0700427 register "ssdb.link_used" = "0"
428 register "ssdb.vcm_type" = "0x0C"
429 register "vcm_name" = ""VCM0""
Subrata Banik4456e8a2022-12-01 20:24:54 +0530430 register "num_freq_entries" = "1"
431 register "link_freq[0]" = "560 * MHz" # 560 MHz
Daniel Kang84656e12022-08-22 22:20:25 -0700432 register "remote_name" = ""IPU0""
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800433 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
Daniel Kang84656e12022-08-22 22:20:25 -0700434
435 register "has_power_resource" = "1"
436 #Controls
437 register "clk_panel.clks[0].clknum" = "1" # IMGCLKOUT_1
438 register "clk_panel.clks[0].freq" = "1" # FREQ_19_2_MHZ
439
440 register "gpio_panel.gpio[0].gpio_num" = "GPP_C03" #EN_WCAM_SENR_PWR
441 register "gpio_panel.gpio[1].gpio_num" = "GPP_C04" #EN_WCAM_PWR
442 register "gpio_panel.gpio[2].gpio_num" = "GPP_V22" #WCAM_RST_L
443
444 #_ON
445 register "on_seq.ops_cnt" = "5"
446 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
447 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
448 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 0)"
449 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
450 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 10)"
451
452 #_OFF
453 register "off_seq.ops_cnt" = "4"
454 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
455 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
456 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
457 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
458
Subrata Banik4456e8a2022-12-01 20:24:54 +0530459 device i2c 36 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000460 probe WFC WFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000461 end
Daniel Kang84656e12022-08-22 22:20:25 -0700462 end
463 chip drivers/intel/mipi_camera
464 register "acpi_uid" = "2"
465 register "acpi_name" = ""VCM0""
466 register "chip_name" = ""DW9714 VCM""
467 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
468
Daniel Kang84656e12022-08-22 22:20:25 -0700469 register "vcm_compat" = ""dongwoon,dw9714""
470
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800471 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
472
473 register "has_power_resource" = "1"
474
475 #Controls
476 register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
477
478 #_ON
479 register "on_seq.ops_cnt" = "1"
480 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
481
482 #_OFF
483 register "off_seq.ops_cnt" = "1"
484 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
485
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000486 device i2c 0C on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000487 probe WFC WFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000488 end
Daniel Kang84656e12022-08-22 22:20:25 -0700489 end
490 chip drivers/intel/mipi_camera
491 register "acpi_uid" = "1"
492 register "acpi_name" = ""NVM0""
493 register "chip_name" = ""ST M24C64X""
494 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
495
Daniel Kang84656e12022-08-22 22:20:25 -0700496 register "nvm_compat" = ""atmel,24c64""
497
498 register "nvm_size" = "0x10000"
499 register "nvm_pagesize" = "0x01"
500 register "nvm_readonly" = "0x01"
501 register "nvm_width" = "0x0E"
502
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800503 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
504
505 register "has_power_resource" = "1"
506
507 #Controls
508 register "gpio_panel.gpio[0].gpio_num" = "GPP_C04" #EN_WCAM_PWR
509
510 #_ON
511 register "on_seq.ops_cnt" = "1"
512 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
513
514 #_OFF
515 register "off_seq.ops_cnt" = "1"
516 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
517
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000518 device i2c 50 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000519 probe WFC WFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000520 end
Daniel Kang84656e12022-08-22 22:20:25 -0700521 end
522 end #I2C0
Subrata Banike8097f72022-09-15 00:17:20 -0700523 device ref i2c1 on
524 chip drivers/i2c/hid
525 register "generic.hid" = ""ELAN6918""
526 register "generic.desc" = ""ELAN Touchscreen""
527 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C07_IRQ)"
528 register "generic.probed" = "1"
529 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C01)"
530 register "generic.reset_delay_ms" = "20"
531 register "generic.reset_off_delay_ms" = "2"
532 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C00)"
533 register "generic.enable_delay_ms" = "1"
534 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C06)"
535 register "generic.stop_off_delay_ms" = "2"
536 register "generic.has_power_resource" = "1"
537 register "hid_desc_reg_offset" = "0x01"
538 device i2c 10 on end
539 end
Dinesh Gehlot6930b952023-01-11 06:50:37 +0000540 chip drivers/generic/gpio_keys
541 register "name" = ""PENH""
542 # GPP_E04 is the IRQ source
543 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_E04)"
544 register "key.dev_name" = ""EJCT""
545 register "key.linux_code" = "SW_PEN_INSERTED"
546 register "key.linux_input_type" = "EV_SW"
547 register "key.label" = ""pen_eject""
548 device generic 0 on end
549 end
Subrata Banike8097f72022-09-15 00:17:20 -0700550 end
Subrata Banikf0958622022-07-12 07:58:10 +0000551 device ref i2c2 on end
Kapil Porwal53105a52022-09-08 22:52:49 -0700552 device ref i2c3 on
553 chip drivers/i2c/generic
554 register "hid" = ""ELAN0000""
555 register "desc" = ""ELAN Touchpad""
556 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
557 register "wake" = "GPE0_DW0_00"
558 register "detect" = "1"
559 device i2c 15 on end
560 end
561 end
Kapil Porwal381c2192022-07-20 14:22:41 +0000562 device ref i2c4 on
563 chip drivers/i2c/tpm
564 register "hid" = ""GOOG0005""
565 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E03_IRQ)"
566 device i2c 50 on end
567 end
568 end
Daniel Kang84656e12022-08-22 22:20:25 -0700569 device ref i2c5 on
570 chip drivers/intel/mipi_camera
Subrata Banik1653b6f2022-12-01 19:58:49 +0530571 register "acpi_hid" = ""INT3537""
Daniel Kang84656e12022-08-22 22:20:25 -0700572 register "acpi_uid" = "0"
573 register "acpi_name" = ""CAM1""
Subrata Banik1653b6f2022-12-01 19:58:49 +0530574 register "chip_name" = ""Hi-556 Camera""
Daniel Kang84656e12022-08-22 22:20:25 -0700575 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
576 register "has_power_resource" = "1"
577
578 register "ssdb.lanes_used" = "2"
579 register "ssdb.link_used" = "1"
580 register "num_freq_entries" = "1"
Subrata Banik1653b6f2022-12-01 19:58:49 +0530581 register "link_freq[0]" = "437 * MHz"
Daniel Kang84656e12022-08-22 22:20:25 -0700582 register "remote_name" = ""IPU0""
583 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
584
585 #Controls
586 register "gpio_panel.gpio[0].gpio_num" = "GPP_A11" #EN_UCAM_SENR_PWR
587 register "gpio_panel.gpio[1].gpio_num" = "GPP_B09" #EN_FCAM_PWR
588 register "gpio_panel.gpio[2].gpio_num" = "GPP_V23" #UCAM_RST_L
Subrata Banik1653b6f2022-12-01 19:58:49 +0530589 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
590 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
Daniel Kang84656e12022-08-22 22:20:25 -0700591
592 #_ON
Subrata Banik1653b6f2022-12-01 19:58:49 +0530593 register "on_seq.ops_cnt" = "5"
594 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
595 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
596 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
597 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
598 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
Daniel Kang84656e12022-08-22 22:20:25 -0700599
600 #_OFF
Subrata Banik1653b6f2022-12-01 19:58:49 +0530601 register "off_seq.ops_cnt" = "4"
602 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
603 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
604 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
605 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
606 device i2c 20 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000607 probe UFC UFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000608 end
Daniel Kang84656e12022-08-22 22:20:25 -0700609 end
610 chip drivers/intel/mipi_camera
611 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
612 register "acpi_uid" = "1"
613 register "acpi_name" = ""NVM1""
614 register "chip_name" = ""ST M24C64X""
615 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
Daniel Kang84656e12022-08-22 22:20:25 -0700616
617 register "nvm_size" = "0x10000"
618 register "nvm_pagesize" = "1"
619 register "nvm_readonly" = "1"
620 register "nvm_width" = "0x10"
621 register "nvm_compat" = ""atmel,24c64""
622
Jamie Ryu8b34c4132023-02-21 16:57:00 -0800623 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
624
625 register "has_power_resource" = "1"
626
627 #Controls
628 register "gpio_panel.gpio[0].gpio_num" = "GPP_B09" #EN_FCAM_PWR
629
630 #_ON
631 register "on_seq.ops_cnt" = "1"
632 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
633
634 #_OFF
635 register "off_seq.ops_cnt" = "1"
636 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
637
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000638 device i2c 50 on
Kapil Porwal0feb5ce2022-11-03 04:46:49 +0000639 probe UFC UFC_MIPI
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000640 end
Daniel Kang84656e12022-08-22 22:20:25 -0700641 end
642 end #I2C5
Subrata Banikf0958622022-07-12 07:58:10 +0000643 device ref pcie_rp5 on
Subrata Banik389e73a2023-03-31 23:20:13 +0530644 probe WIFI WIFI_PCIE
Subrata Banikf0958622022-07-12 07:58:10 +0000645 # Enable WLAN Card PCIE 5 using clk 5
646 register "pcie_rp[PCH_RP(5)]" = "{
647 .clk_src = 5,
648 .clk_req = 5,
649 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
650 }"
Kapil Porwal0f150302022-12-07 13:53:43 +0530651 chip drivers/wifi/generic
652 register "wake" = "GPE0_DW2_09"
653 register "add_acpi_dma_property" = "true"
Subrata Banik389e73a2023-03-31 23:20:13 +0530654 device pci 00.0 on
655 probe WIFI WIFI_PCIE
656 end
Kapil Porwal0f150302022-12-07 13:53:43 +0530657 end
658 chip soc/intel/common/block/pcie/rtd3
659 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E22)"
660 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F08)"
661 register "srcclk_pin" = "5"
Subrata Banik389e73a2023-03-31 23:20:13 +0530662 device generic 0 on
663 probe WIFI WIFI_PCIE
664 end
Kapil Porwal0f150302022-12-07 13:53:43 +0530665 end
Subrata Banikf0958622022-07-12 07:58:10 +0000666 end #PCIE5 WLAN card
667 device ref pcie_rp6 on
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000668 probe CELLULAR CELLULAR_PCIE
Subrata Banikf0958622022-07-12 07:58:10 +0000669 # Enable WWAN Card PCIE 6 using clk 3
670 register "pcie_rp[PCH_RP(6)]" = "{
671 .clk_src = 3,
672 .clk_req = 3,
673 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
674 }"
Ivy Jian61e58162022-09-05 14:30:11 +0800675 chip soc/intel/common/block/pcie/rtd3
676 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
677 register "reset_off_delay_ms" = "20"
678 register "srcclk_pin" = "3"
679 register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
680 register "skip_on_off_support" = "true"
Subrata Banik6e7e8bf2022-12-02 02:21:11 +0530681 device generic 0 alias rp6_rtd3 on
682 probe CELLULAR CELLULAR_PCIE
683 end
Ivy Jian61e58162022-09-05 14:30:11 +0800684 end
685 chip drivers/wwan/fm
686 register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E07)"
687 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A15)"
688 register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C05)"
689 register "wake_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F10)"
690 register "add_acpi_dma_property" = "true"
691 use rp6_rtd3 as rtd3dev
Subrata Banik6e7e8bf2022-12-02 02:21:11 +0530692 device generic 0 alias rp6_wwan on
693 probe CELLULAR CELLULAR_PCIE
694 end
Ivy Jian61e58162022-09-05 14:30:11 +0800695 end
Subrata Banikf0958622022-07-12 07:58:10 +0000696 end #PCIE6 WWAN card
Subrata Banikcd6a4502022-11-28 17:51:49 +0530697 device ref pcie_rp7 on
698 # Enable SD Card PCIE 7 using clk 2
699 register "pcie_rp[PCH_RP(7)]" = "{
700 .clk_src = 2,
701 .clk_req = 2,
702 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
703 }"
704 chip soc/intel/common/block/pcie/rtd3
705 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D03)"
706 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D02)"
707 register "srcclk_pin" = "2"
708 device generic 0 on end
709 end
710 probe DB_SD SD_GL9755S
711 end
Eran Mitrani78881e12023-05-02 16:00:43 -0700712 device ref gspi0 on
713 probe TOUCHSCREEN TOUCHSCREEN_I2C_SPI
714 end
Eran Mitranib4d71e12022-08-23 14:42:24 -0700715 device ref gspi1 on
716 chip drivers/spi/acpi
717 register "name" = ""CRFP""
718 register "hid" = "ACPI_DT_NAMESPACE_HID"
719 register "uid" = "1"
720 register "compat_string" = ""google,cros-ec-spi""
721 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E10_IRQ)"
722 register "wake" = "GPE0_DW1_10"
723 register "has_power_resource" = "1"
724 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C23)"
725 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
726 register "enable_delay_ms" = "3"
727 device spi 0 on end
728 end # FPMCU
729 end
Subrata Banika9207722022-08-08 15:06:04 +0000730 device ref soc_espi on
731 chip ec/google/chromeec
732 use conn0 as mux_conn[0]
733 use conn1 as mux_conn[1]
734 device pnp 0c09.0 on end
735 end
736 end
737 device ref pmc hidden
738 chip drivers/intel/pmc_mux
739 device generic 0 on
740 chip drivers/intel/pmc_mux/conn
741 use usb2_port2 as usb2_port
742 use tcss_usb3_port1 as usb3_port
743 device generic 0 alias conn0 on end
744 end
745 chip drivers/intel/pmc_mux/conn
Subrata Banik01c190e2022-12-06 20:44:25 +0530746 use usb2_port1 as usb2_port
Subrata Banika9207722022-08-08 15:06:04 +0000747 use tcss_usb3_port3 as usb3_port
748 device generic 1 alias conn1 on end
749 end
750 end
751 end
752 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700753 device ref hda on
754 chip drivers/generic/max98357a
Subrata Banikd38baae2022-12-16 11:46:49 +0530755 register "hid" = ""MX98360A""
Eran Mitrani51249d62022-08-19 15:39:47 -0700756 register "sdmode_gpio" =
757 "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D04)"
758 register "sdmode_delay" = "5"
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000759 device generic 0 on
Subrata Banikd38baae2022-12-16 11:46:49 +0530760 probe AUDIO MAX98360_ALC5682I_I2S
Kapil Porwalbd3d1972022-10-07 12:38:29 +0000761 end
Eran Mitrani51249d62022-08-19 15:39:47 -0700762 end
763 end
Subrata Banikf0958622022-07-12 07:58:10 +0000764 end
765end