blob: 6cf286bbb2937552e374f955be008c4ac0d560c1 [file] [log] [blame]
Tyler Wang3c4346f2023-08-15 11:11:00 +08001fw_config
YH Lin75ea9252023-09-29 09:48:59 -07002 field DB_USB 0 1
3 option DB_USB_UNKNOWN 0
4 option DB_USB4_ANX7452 1
5 end
Tyler Wangc1520062023-09-04 19:36:49 +08006 field STYLUS 2
7 option STYLUS_ABSENT 0
8 option STYLUS_PRESENT 1
Tyler Wang3c4346f2023-08-15 11:11:00 +08009 end
Tyler Wangc1520062023-09-04 19:36:49 +080010 field AUDIO 3 5
11 option ALC5650_NO_AMP_I2S 0
Tyler Wang3c4346f2023-08-15 11:11:00 +080012 end
Tyler Wang6e620c22023-10-04 13:08:56 +080013 field FAN 6 7
Tyler Wanga077ba52023-12-15 15:31:46 +080014 option ABSENT 0
15 option PRESENT 1
Tyler Wang6e620c22023-10-04 13:08:56 +080016 end
Tyler Wangc1520062023-09-04 19:36:49 +080017 field MIPI_CAM 8 9
18 option UF_CAM_HI556 0
19 end
20 field FP_MCU 10 11
21 option FP_ABSENT 0
22 option FP_MCU_NUVOTON 1
YH Lin75ea9252023-09-29 09:48:59 -070023 option FP_MCU_ELAN 2
24 end
25 field KB_TYPE 12
26 option KB_TYPE_DEFAULT 0
Tyler Wangab7133d2024-02-02 20:51:20 +080027 option KB_TYPE_CA 1
Tyler Wangc1520062023-09-04 19:36:49 +080028 end
29 field WIFI_TYPE 13
Tyler Wang3c4346f2023-08-15 11:11:00 +080030 option WIFI_CNVI 0
31 option WIFI_PCIE 1
32 end
Tyler Wang83775d12023-12-15 14:15:31 +080033 field PANEL_PWRSEQ_EC_CONTROL 14
34 option DISABLE 0
35 option ENABLE 1
36 end
Tyler Wang3c4346f2023-08-15 11:11:00 +080037end
38
Tyler Wang4ce6ef92023-05-31 17:08:05 +080039chip soc/intel/meteorlake
40
Tyler Wang3c4346f2023-08-15 11:11:00 +080041 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1
Tyler Wange49d0332023-08-09 15:50:11 +080042 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C0
Tyler Wang3c4346f2023-08-15 11:11:00 +080043 register "usb2_ports[8]" = "USB2_PORT_MID(OC3)" # Type-A Port A0
44 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Bluetooth
Tyler Wang4ce6ef92023-05-31 17:08:05 +080045
Tyler Wang3c4346f2023-08-15 11:11:00 +080046 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC3)" # USB3/2 Type A port A0
Tyler Wang3c4346f2023-08-15 11:11:00 +080047
Tyler Wange49d0332023-08-09 15:50:11 +080048 register "tcss_ports[0]" = "TCSS_PORT_DEFAULT(OC_SKIP)" # USB3_C0
49 register "tcss_ports[2]" = "TCSS_PORT_DEFAULT(OC_SKIP)" # USB3_C1
Tyler Wang3c4346f2023-08-15 11:11:00 +080050
51 # Enable eDP in Port A
52 register "ddi_port_A_config" = "1"
53 # Enable HDMI in Port B
54 register "ddi_port_B_config" = "0"
55
56 # Enable Display Port Configuration
57 register "ddi_ports_config" = "{
58 [DDI_PORT_A] = DDI_ENABLE_HPD,
59 [DDI_PORT_B] = DDI_ENABLE_HPD | DDI_ENABLE_DDC,
60 [DDI_PORT_1] = DDI_ENABLE_HPD,
61 [DDI_PORT_2] = DDI_ENABLE_HPD,
62 [DDI_PORT_3] = DDI_ENABLE_HPD,
63 [DDI_PORT_4] = DDI_ENABLE_HPD,
64 }"
65
66 register "serial_io_gspi_mode" = "{
Tyler Wang34ce8c72023-08-14 16:09:54 +080067 [PchSerialIoIndexGSPI0] = PchSerialIoDisabled,
Tyler Wang3c4346f2023-08-15 11:11:00 +080068 [PchSerialIoIndexGSPI1] = PchSerialIoPci,
69 [PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
70 }"
71
72 register "serial_io_i2c_mode" = "{
73 [PchSerialIoIndexI2C0] = PchSerialIoPci,
74 [PchSerialIoIndexI2C1] = PchSerialIoPci,
75 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
76 [PchSerialIoIndexI2C3] = PchSerialIoPci,
77 [PchSerialIoIndexI2C4] = PchSerialIoPci,
78 [PchSerialIoIndexI2C5] = PchSerialIoPci,
79 }"
80
81 # Intel Common SoC Config
82 #+-------------------+---------------------------+
83 #| Field | Value |
84 #+-------------------+---------------------------+
85 #| I2C0 | Audio and WFC |
86 #| I2C1 | Touchscreen |
87 #| I2C3 | Touchpad |
88 #| I2C4 | cr50 TPM. Early init is |
89 #| | required to set up a BAR |
90 #| | for TPM communication |
91 #| I2C5 | UFC, SAR1, SAR2, HPS |
92 #+-------------------+---------------------------+
93 register "common_soc_config" = "{
94 .i2c[0] = {
95 .speed = I2C_SPEED_FAST,
96 .rise_time_ns = 400,
97 .fall_time_ns = 350,
98 .data_hold_time_ns = 50,
99 },
100 .i2c[1] = {
101 .speed = I2C_SPEED_FAST,
102 .rise_time_ns = 600,
103 .fall_time_ns = 400,
104 .data_hold_time_ns = 50,
105 },
106 .i2c[3] = {
107 .speed = I2C_SPEED_FAST,
108 .rise_time_ns = 600,
109 .fall_time_ns = 400,
110 .data_hold_time_ns = 50,
111 },
112 .i2c[4] = {
113 .early_init = 1,
114 .speed = I2C_SPEED_FAST,
115 .rise_time_ns = 550,
116 .fall_time_ns = 400,
117 .data_hold_time_ns = 50,
118 },
119 .i2c[5] = {
120 .speed = I2C_SPEED_FAST,
121 .rise_time_ns = 900,
122 .fall_time_ns = 400,
123 .data_hold_time_ns = 50,
124 },
125 }"
126
127 device domain 0 on
128 device ref igpu on
129 chip drivers/gfx/generic
130 register "device_count" = "6"
131 # DDIA for eDP
132 register "device[0].name" = ""LCD""
Matt DeVilliercec2d352024-01-26 16:26:41 -0600133 register "device[0].type" = "panel"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800134 # DDIB for HDMI
135 register "device[1].name" = ""DD01""
136 # TCP0 (DP-1) for port C0
137 register "device[2].name" = ""DD02""
138 register "device[2].use_pld" = "true"
139 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
140 # TCP1 (DP-2) unused
141 register "device[3].name" = ""DD03""
142 # TCP2 (DP-3) for port C1
143 register "device[4].name" = ""DD04""
144 register "device[4].use_pld" = "true"
Tyler Wange49d0332023-08-09 15:50:11 +0800145 register "device[4].pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800146 # TCP3 (DP-4) unused
147 register "device[5].name" = ""DD05""
148 device generic 0 on end
149 end
150 end # Integrated Graphics Device
151 device ref dtt on
152 chip drivers/intel/dptf
153 ## sensor information
154 register "options.tsr[0].desc" = ""DDR_SOC""
155 register "options.tsr[1].desc" = ""Ambient""
156 register "options.tsr[2].desc" = ""Charger""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800157
158 ## Active Policy
159 # FIXME: below values are initial reference values only
160 register "policies.active" = "{
161 [0] = {
162 .target = DPTF_TEMP_SENSOR_0,
163 .thresholds = {
164 TEMP_PCT(75, 90),
165 TEMP_PCT(70, 80),
166 TEMP_PCT(65, 70),
167 TEMP_PCT(60, 60),
168 TEMP_PCT(55, 50),
169 TEMP_PCT(50, 40),
170 TEMP_PCT(45, 30),
171 }
172 },
173 [1] = {
174 .target = DPTF_TEMP_SENSOR_1,
175 .thresholds = {
176 TEMP_PCT(75, 90),
177 TEMP_PCT(70, 80),
178 TEMP_PCT(65, 70),
179 TEMP_PCT(60, 60),
180 TEMP_PCT(55, 50),
181 TEMP_PCT(50, 40),
182 TEMP_PCT(45, 30),
183 }
184 },
185 [2] = {
186 .target = DPTF_TEMP_SENSOR_2,
187 .thresholds = {
188 TEMP_PCT(75, 90),
189 TEMP_PCT(70, 80),
190 TEMP_PCT(65, 70),
191 TEMP_PCT(60, 50),
192 }
Tyler Wang3c4346f2023-08-15 11:11:00 +0800193 }
194 }"
195
196 ## Passive Policy
197 # TODO: below values are initial reference values only
198 register "policies.passive" = "{
199 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
200 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 5000),
201 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 80, 5000),
202 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
Tyler Wang3c4346f2023-08-15 11:11:00 +0800203 }"
204
205 ## Critical Policy
206 # TODO: below values are initial reference values only
207 register "policies.critical" = "{
208 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
209 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
210 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
211 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
Tyler Wang3c4346f2023-08-15 11:11:00 +0800212 }"
213
214 ## Power Limits Control
215 register "controls.power_limits" = "{
216 .pl1 = {
217 .min_power = 15000,
218 .max_power = 15000,
219 .time_window_min = 28 * MSECS_PER_SEC,
220 .time_window_max = 32 * MSECS_PER_SEC,
221 .granularity = 200,
222 },
223 .pl2 = {
224 .min_power = 57000,
225 .max_power = 57000,
226 .time_window_min = 28 * MSECS_PER_SEC,
227 .time_window_max = 32 * MSECS_PER_SEC,
228 .granularity = 1000,
229 }
230 }"
231
232 ## Charger Performance Control (Control, mA)
233 register "controls.charger_perf" = "{
234 [0] = { 255, 3000 },
235 [1] = { 24, 1500 },
236 [2] = { 16, 1000 },
237 [3] = { 8, 500 }
238 }"
239
240 ## Fan Performance Control (Percent, Speed, Noise, Power)
241 register "controls.fan_perf" = "{
242 [0] = { 90, 6700, 220, 2200, },
243 [1] = { 80, 5800, 180, 1800, },
244 [2] = { 70, 5000, 145, 1450, },
245 [3] = { 60, 4900, 115, 1150, },
246 [4] = { 50, 3838, 90, 900, },
247 [5] = { 40, 2904, 55, 550, },
248 [6] = { 30, 2337, 30, 300, },
249 [7] = { 20, 1608, 15, 150, },
250 [8] = { 10, 800, 10, 100, },
251 [9] = { 0, 0, 0, 50, }
252 }"
253
254 ## Fan options
255 register "options.fan.fine_grained_control" = "1"
256 register "options.fan.step_size" = "2"
257
Tyler Wanga077ba52023-12-15 15:31:46 +0800258 device generic 0 alias dptf_policy on end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800259 end
260 end
Tyler Wang6bdc0002023-08-07 11:11:49 +0800261 device ref pcie_rp10 on
262 # Enable SSD Card PCIE 10 using clk 8
263 register "pcie_rp[PCIE_RP(10)]" = "{
264 .clk_src = 8,
265 .clk_req = 8,
Tyler Wang3c4346f2023-08-15 11:11:00 +0800266 .flags = PCIE_RP_LTR | PCIE_RP_AER,
267 }"
Tyler Wang6bdc0002023-08-07 11:11:49 +0800268 end # PCIE10 SSD card
Tyler Wang3c4346f2023-08-15 11:11:00 +0800269 device ref tbt_pcie_rp0 on end
270 device ref tbt_pcie_rp2 on end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800271 device ref tcss_xhci on
272 chip drivers/usb/acpi
273 device ref tcss_root_hub on
274 chip drivers/usb/acpi
275 register "desc" = ""USB3 Type-C Port C0 (MLB)""
276 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
277 register "use_custom_pld" = "true"
278 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
279 device ref tcss_usb3_port0 on end
280 end
281 chip drivers/usb/acpi
Tyler Wange49d0332023-08-09 15:50:11 +0800282 register "desc" = ""USB3 Type-C Port C1 (MLB)""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800283 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
284 register "use_custom_pld" = "true"
Tyler Wange49d0332023-08-09 15:50:11 +0800285 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800286 device ref tcss_usb3_port2 on end
287 end
288 end
289 end
290 end
291 device ref tcss_dma0 on
292 chip drivers/intel/usb4/retimer
293 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
294 use tcss_usb3_port0 as dfp[0].typec_port
295 device generic 0 on end
296 end
297 end
298 device ref tcss_dma1 on
299 chip drivers/intel/usb4/retimer
300 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
301 use tcss_usb3_port2 as dfp[0].typec_port
302 device generic 0 on end
303 end
304 end
305 device ref xhci on
306 chip drivers/usb/acpi
307 device ref xhci_root_hub on
308 chip drivers/usb/acpi
Tyler Wange49d0332023-08-09 15:50:11 +0800309 register "desc" = ""USB2 Type-C Port C1 (MLB)""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800310 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
311 register "use_custom_pld" = "true"
Tyler Wange49d0332023-08-09 15:50:11 +0800312 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800313 device ref usb2_port1 on end
314 end
315 chip drivers/usb/acpi
316 register "desc" = ""USB2 Type-C Port C0 (MLB)""
317 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
318 register "use_custom_pld" = "true"
319 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
320 device ref usb2_port2 on end
321 end
322 chip drivers/usb/acpi
Tyler Wang3c4346f2023-08-15 11:11:00 +0800323 register "desc" = ""USB2 Type-A Port A0 (DB)""
324 register "type" = "UPC_TYPE_A"
325 register "use_custom_pld" = "true"
326 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
327 device ref usb2_port9 on end
328 end
329 chip drivers/usb/acpi
330 register "desc" = ""USB2 Bluetooth""
331 register "type" = "UPC_TYPE_INTERNAL"
332 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B01)"
333 device ref usb2_port10 on end
334 end
335 chip drivers/usb/acpi
336 register "desc" = ""USB3 Type-A Port A0 (DB)""
337 register "type" = "UPC_TYPE_USB3_A"
338 register "use_custom_pld" = "true"
339 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
340 device ref usb3_port1 on end
341 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800342 end
343 end
344 end
345 device ref cnvi_wifi on
346 chip drivers/wifi/generic
347 register "wake" = "GPE0_PME_B0"
348 register "add_acpi_dma_property" = "true"
349 register "enable_cnvi_ddr_rfim" = "true"
350 device generic 0 on
Tyler Wangc1520062023-09-04 19:36:49 +0800351 probe WIFI_TYPE WIFI_CNVI
Tyler Wang3c4346f2023-08-15 11:11:00 +0800352 end
353 end
354 end
355 device ref ipu on
356 chip drivers/intel/mipi_camera
357 register "acpi_uid" = "0x50000"
358 register "acpi_name" = ""IPU0""
359 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
360
Tyler Wange352ea12023-08-31 14:09:41 +0800361 register "cio2_num_ports" = "1"
362 register "cio2_lanes_used" = "{2}" # 2 CSI Camera lanes are used
363 register "cio2_lane_endpoint[0]" = ""^I2C5.CAM0""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800364 register "cio2_prt[0]" = "4"
Tyler Wangc1520062023-09-04 19:36:49 +0800365 device generic 0 on
366 probe MIPI_CAM UF_CAM_HI556
367 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800368 end
369 end
370 device ref i2c0 on
371 chip drivers/i2c/generic
Tyler Wangbfcd0462023-08-22 13:37:29 +0800372 register "hid" = ""10EC5650""
373 register "name" = ""RT58""
374 register "desc" = ""Realtek RT5650""
375 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
376 register "property_count" = "1"
377 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
378 register "property_list[0].name" = ""realtek,jd-mode""
379 register "property_list[0].integer" = "2"
Tyler Wangc1520062023-09-04 19:36:49 +0800380 device i2c 1a on
381 probe AUDIO ALC5650_NO_AMP_I2S
382 end
Tyler Wangbfcd0462023-08-22 13:37:29 +0800383 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800384 end #I2C0
385 device ref i2c1 on
386 chip drivers/i2c/hid
Tyler Wangd8626952023-10-06 17:33:58 +0800387 register "generic.hid" = ""ELAN9004""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800388 register "generic.desc" = ""ELAN Touchscreen""
389 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C07_IRQ)"
Tyler Wangb3542942023-08-31 17:42:59 +0800390 register "generic.detect" = "1"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800391 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C01)"
Tyler Wangb3542942023-08-31 17:42:59 +0800392 register "generic.reset_delay_ms" = "150"
393 register "generic.reset_off_delay_ms" = "1"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800394 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C00)"
Tyler Wangb3542942023-08-31 17:42:59 +0800395 register "generic.enable_delay_ms" = "6"
396 register "generic.enable_off_delay_ms" = "30"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800397 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C06)"
Tyler Wangb3542942023-08-31 17:42:59 +0800398 register "generic.stop_off_delay_ms" = "1"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800399 register "generic.has_power_resource" = "1"
400 register "hid_desc_reg_offset" = "0x01"
Tyler Wangb3542942023-08-31 17:42:59 +0800401 device i2c 0x10 on end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800402 end
403 chip drivers/generic/gpio_keys
404 register "name" = ""PENH""
Tyler Wangef68e982023-10-13 14:29:41 +0800405 # GPP_E04 is the IRQ source, and GPP_E09 is the wake source
Tyler Wang3c4346f2023-08-15 11:11:00 +0800406 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_E04)"
Tyler Wangef68e982023-10-13 14:29:41 +0800407 register "key.wake_gpe" = "GPE0_DW1_09"
408 register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
409 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800410 register "key.dev_name" = ""EJCT""
411 register "key.linux_code" = "SW_PEN_INSERTED"
412 register "key.linux_input_type" = "EV_SW"
413 register "key.label" = ""pen_eject""
Tyler Wangc1520062023-09-04 19:36:49 +0800414 device generic 0 on
415 probe STYLUS STYLUS_PRESENT
416 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800417 end
418 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800419 device ref i2c3 on
420 chip drivers/i2c/generic
421 register "hid" = ""ELAN0000""
422 register "desc" = ""ELAN Touchpad""
423 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
424 register "wake" = "GPE0_DW0_00"
425 register "detect" = "1"
426 device i2c 15 on end
427 end
Tyler Wangc72ebec2023-08-29 13:49:39 +0800428 chip drivers/i2c/hid
429 register "generic.hid" = ""PIXA2305""
430 register "generic.desc" = ""PIXA Touchpad""
431 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
432 register "generic.wake" = "GPE0_DW0_00"
433 register "generic.detect" = "1"
434 register "hid_desc_reg_offset" = "0x20"
435 device i2c 68 on end
436 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800437 end
438 device ref i2c4 on
439 chip drivers/i2c/tpm
440 register "hid" = ""GOOG0005""
441 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E03_IRQ)"
442 device i2c 50 on end
443 end
444 end
445 device ref i2c5 on
446 chip drivers/intel/mipi_camera
447 register "acpi_hid" = ""INT3537""
448 register "acpi_uid" = "0"
Tyler Wange352ea12023-08-31 14:09:41 +0800449 register "acpi_name" = ""CAM0""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800450 register "chip_name" = ""Hi-556 Camera""
451 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
452 register "has_power_resource" = "1"
453
454 register "ssdb.lanes_used" = "2"
455 register "ssdb.link_used" = "1"
456 register "num_freq_entries" = "1"
457 register "link_freq[0]" = "437 * MHz"
458 register "remote_name" = ""IPU0""
459 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
460
461 #Controls
462 register "gpio_panel.gpio[0].gpio_num" = "GPP_A11" #EN_UCAM_SENR_PWR
463 register "gpio_panel.gpio[1].gpio_num" = "GPP_B09" #EN_FCAM_PWR
464 register "gpio_panel.gpio[2].gpio_num" = "GPP_V23" #UCAM_RST_L
465 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
466 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
467
468 #_ON
469 register "on_seq.ops_cnt" = "5"
470 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
471 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
472 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
473 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
474 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
475
476 #_OFF
477 register "off_seq.ops_cnt" = "4"
478 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
479 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
480 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
481 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
Tyler Wangc1520062023-09-04 19:36:49 +0800482 device i2c 20 on
483 probe MIPI_CAM UF_CAM_HI556
484 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800485 end
486 chip drivers/intel/mipi_camera
487 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
488 register "acpi_uid" = "1"
Tyler Wange352ea12023-08-31 14:09:41 +0800489 register "acpi_name" = ""NVM0""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800490 register "chip_name" = ""ST M24C64X""
491 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
492
493 register "nvm_size" = "0x2000"
494 register "nvm_pagesize" = "1"
495 register "nvm_readonly" = "1"
496 register "nvm_width" = "0x10"
497 register "nvm_compat" = ""atmel,24c64""
498
499 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
500
501 register "has_power_resource" = "1"
502
503 #Controls
504 register "gpio_panel.gpio[0].gpio_num" = "GPP_B09" #EN_FCAM_PWR
505
506 #_ON
507 register "on_seq.ops_cnt" = "1"
508 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
509
510 #_OFF
511 register "off_seq.ops_cnt" = "1"
512 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
513
Tyler Wangc1520062023-09-04 19:36:49 +0800514 device i2c 50 on
515 probe MIPI_CAM UF_CAM_HI556
516 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800517 end
518 end #I2C5
519 device ref pcie_rp5 on
Tyler Wangc1520062023-09-04 19:36:49 +0800520 probe WIFI_TYPE WIFI_PCIE
Tyler Wang3c4346f2023-08-15 11:11:00 +0800521 # Enable WLAN Card PCIE 5 using clk 5
522 register "pcie_rp[PCH_RP(5)]" = "{
523 .clk_src = 5,
524 .clk_req = 5,
525 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
526 }"
527 chip drivers/wifi/generic
528 register "wake" = "GPE0_DW2_09"
529 register "add_acpi_dma_property" = "true"
530 device pci 00.0 on
Tyler Wangc1520062023-09-04 19:36:49 +0800531 probe WIFI_TYPE WIFI_PCIE
Tyler Wang3c4346f2023-08-15 11:11:00 +0800532 end
533 end
534 chip soc/intel/common/block/pcie/rtd3
535 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E22)"
536 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F08)"
537 register "srcclk_pin" = "5"
538 device generic 0 on
Tyler Wangc1520062023-09-04 19:36:49 +0800539 probe WIFI_TYPE WIFI_PCIE
Tyler Wang3c4346f2023-08-15 11:11:00 +0800540 end
541 end
542 end #PCIE5 WLAN card
Tyler Wang3c4346f2023-08-15 11:11:00 +0800543 device ref gspi1 on
544 chip drivers/spi/acpi
545 register "name" = ""CRFP""
546 register "hid" = "ACPI_DT_NAMESPACE_HID"
547 register "uid" = "1"
548 register "compat_string" = ""google,cros-ec-spi""
549 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E10_IRQ)"
550 register "wake" = "GPE0_DW1_10"
551 register "has_power_resource" = "1"
552 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C23)"
553 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
554 register "enable_delay_ms" = "3"
Tyler Wangc1520062023-09-04 19:36:49 +0800555 device spi 0 on
556 probe FP_MCU FP_MCU_NUVOTON
557 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800558 end # FPMCU
559 end
560 device ref soc_espi on
561 chip ec/google/chromeec
562 use conn0 as mux_conn[0]
563 use conn1 as mux_conn[1]
564 device pnp 0c09.0 on end
565 end
566 end
567 device ref pmc hidden
568 chip drivers/intel/pmc_mux
569 device generic 0 on
570 chip drivers/intel/pmc_mux/conn
571 use usb2_port2 as usb2_port
572 use tcss_usb3_port0 as usb3_port
573 device generic 0 alias conn0 on end
574 end
575 chip drivers/intel/pmc_mux/conn
576 use usb2_port1 as usb2_port
577 use tcss_usb3_port2 as usb3_port
578 device generic 1 alias conn1 on end
579 end
580 end
581 end
582 end
Tyler Wangc0986a42023-09-01 13:18:14 +0800583 device ref hda on end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800584 end
Tyler Wang4ce6ef92023-05-31 17:08:05 +0800585end