blob: 1ca2ad75728a5bc3394b103030da9ab0f396a4d1 [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 Wangc1520062023-09-04 19:36:49 +080027 end
28 field WIFI_TYPE 13
Tyler Wang3c4346f2023-08-15 11:11:00 +080029 option WIFI_CNVI 0
30 option WIFI_PCIE 1
31 end
Tyler Wang3c4346f2023-08-15 11:11:00 +080032end
33
Tyler Wang4ce6ef92023-05-31 17:08:05 +080034chip soc/intel/meteorlake
35
Tyler Wang3c4346f2023-08-15 11:11:00 +080036 register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1
Tyler Wange49d0332023-08-09 15:50:11 +080037 register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C0
Tyler Wang3c4346f2023-08-15 11:11:00 +080038 register "usb2_ports[8]" = "USB2_PORT_MID(OC3)" # Type-A Port A0
39 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 Bluetooth
Tyler Wang4ce6ef92023-05-31 17:08:05 +080040
Tyler Wang3c4346f2023-08-15 11:11:00 +080041 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC3)" # USB3/2 Type A port A0
Tyler Wang3c4346f2023-08-15 11:11:00 +080042
Tyler Wange49d0332023-08-09 15:50:11 +080043 register "tcss_ports[0]" = "TCSS_PORT_DEFAULT(OC_SKIP)" # USB3_C0
44 register "tcss_ports[2]" = "TCSS_PORT_DEFAULT(OC_SKIP)" # USB3_C1
Tyler Wang3c4346f2023-08-15 11:11:00 +080045
46 # Enable eDP in Port A
47 register "ddi_port_A_config" = "1"
48 # Enable HDMI in Port B
49 register "ddi_port_B_config" = "0"
50
51 # Enable Display Port Configuration
52 register "ddi_ports_config" = "{
53 [DDI_PORT_A] = DDI_ENABLE_HPD,
54 [DDI_PORT_B] = DDI_ENABLE_HPD | DDI_ENABLE_DDC,
55 [DDI_PORT_1] = DDI_ENABLE_HPD,
56 [DDI_PORT_2] = DDI_ENABLE_HPD,
57 [DDI_PORT_3] = DDI_ENABLE_HPD,
58 [DDI_PORT_4] = DDI_ENABLE_HPD,
59 }"
60
61 register "serial_io_gspi_mode" = "{
Tyler Wang34ce8c72023-08-14 16:09:54 +080062 [PchSerialIoIndexGSPI0] = PchSerialIoDisabled,
Tyler Wang3c4346f2023-08-15 11:11:00 +080063 [PchSerialIoIndexGSPI1] = PchSerialIoPci,
64 [PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
65 }"
66
67 register "serial_io_i2c_mode" = "{
68 [PchSerialIoIndexI2C0] = PchSerialIoPci,
69 [PchSerialIoIndexI2C1] = PchSerialIoPci,
70 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
71 [PchSerialIoIndexI2C3] = PchSerialIoPci,
72 [PchSerialIoIndexI2C4] = PchSerialIoPci,
73 [PchSerialIoIndexI2C5] = PchSerialIoPci,
74 }"
75
Tyler Wang01e3c322023-09-27 13:17:39 +080076 register "tcc_offset" = "10"
77
Tyler Wang3c4346f2023-08-15 11:11:00 +080078 # Intel Common SoC Config
79 #+-------------------+---------------------------+
80 #| Field | Value |
81 #+-------------------+---------------------------+
82 #| I2C0 | Audio and WFC |
83 #| I2C1 | Touchscreen |
84 #| I2C3 | Touchpad |
85 #| I2C4 | cr50 TPM. Early init is |
86 #| | required to set up a BAR |
87 #| | for TPM communication |
88 #| I2C5 | UFC, SAR1, SAR2, HPS |
89 #+-------------------+---------------------------+
90 register "common_soc_config" = "{
91 .i2c[0] = {
92 .speed = I2C_SPEED_FAST,
93 .rise_time_ns = 400,
94 .fall_time_ns = 350,
95 .data_hold_time_ns = 50,
96 },
97 .i2c[1] = {
98 .speed = I2C_SPEED_FAST,
99 .rise_time_ns = 600,
100 .fall_time_ns = 400,
101 .data_hold_time_ns = 50,
102 },
103 .i2c[3] = {
104 .speed = I2C_SPEED_FAST,
105 .rise_time_ns = 600,
106 .fall_time_ns = 400,
107 .data_hold_time_ns = 50,
108 },
109 .i2c[4] = {
110 .early_init = 1,
111 .speed = I2C_SPEED_FAST,
112 .rise_time_ns = 550,
113 .fall_time_ns = 400,
114 .data_hold_time_ns = 50,
115 },
116 .i2c[5] = {
117 .speed = I2C_SPEED_FAST,
118 .rise_time_ns = 900,
119 .fall_time_ns = 400,
120 .data_hold_time_ns = 50,
121 },
122 }"
123
124 device domain 0 on
125 device ref igpu on
126 chip drivers/gfx/generic
127 register "device_count" = "6"
128 # DDIA for eDP
129 register "device[0].name" = ""LCD""
130 # DDIB for HDMI
131 register "device[1].name" = ""DD01""
132 # TCP0 (DP-1) for port C0
133 register "device[2].name" = ""DD02""
134 register "device[2].use_pld" = "true"
135 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
136 # TCP1 (DP-2) unused
137 register "device[3].name" = ""DD03""
138 # TCP2 (DP-3) for port C1
139 register "device[4].name" = ""DD04""
140 register "device[4].use_pld" = "true"
Tyler Wange49d0332023-08-09 15:50:11 +0800141 register "device[4].pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800142 # TCP3 (DP-4) unused
143 register "device[5].name" = ""DD05""
144 device generic 0 on end
145 end
146 end # Integrated Graphics Device
147 device ref dtt on
148 chip drivers/intel/dptf
149 ## sensor information
150 register "options.tsr[0].desc" = ""DDR_SOC""
151 register "options.tsr[1].desc" = ""Ambient""
152 register "options.tsr[2].desc" = ""Charger""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800153
154 ## Active Policy
155 # FIXME: below values are initial reference values only
156 register "policies.active" = "{
157 [0] = {
158 .target = DPTF_TEMP_SENSOR_0,
159 .thresholds = {
160 TEMP_PCT(75, 90),
161 TEMP_PCT(70, 80),
162 TEMP_PCT(65, 70),
163 TEMP_PCT(60, 60),
164 TEMP_PCT(55, 50),
165 TEMP_PCT(50, 40),
166 TEMP_PCT(45, 30),
167 }
168 },
169 [1] = {
170 .target = DPTF_TEMP_SENSOR_1,
171 .thresholds = {
172 TEMP_PCT(75, 90),
173 TEMP_PCT(70, 80),
174 TEMP_PCT(65, 70),
175 TEMP_PCT(60, 60),
176 TEMP_PCT(55, 50),
177 TEMP_PCT(50, 40),
178 TEMP_PCT(45, 30),
179 }
180 },
181 [2] = {
182 .target = DPTF_TEMP_SENSOR_2,
183 .thresholds = {
184 TEMP_PCT(75, 90),
185 TEMP_PCT(70, 80),
186 TEMP_PCT(65, 70),
187 TEMP_PCT(60, 50),
188 }
Tyler Wang3c4346f2023-08-15 11:11:00 +0800189 }
190 }"
191
192 ## Passive Policy
193 # TODO: below values are initial reference values only
194 register "policies.passive" = "{
195 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
196 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 80, 5000),
197 [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 80, 5000),
198 [3] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_2, 75, 5000),
Tyler Wang3c4346f2023-08-15 11:11:00 +0800199 }"
200
201 ## Critical Policy
202 # TODO: below values are initial reference values only
203 register "policies.critical" = "{
204 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
205 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
206 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
207 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
Tyler Wang3c4346f2023-08-15 11:11:00 +0800208 }"
209
210 ## Power Limits Control
211 register "controls.power_limits" = "{
212 .pl1 = {
213 .min_power = 15000,
214 .max_power = 15000,
215 .time_window_min = 28 * MSECS_PER_SEC,
216 .time_window_max = 32 * MSECS_PER_SEC,
217 .granularity = 200,
218 },
219 .pl2 = {
220 .min_power = 57000,
221 .max_power = 57000,
222 .time_window_min = 28 * MSECS_PER_SEC,
223 .time_window_max = 32 * MSECS_PER_SEC,
224 .granularity = 1000,
225 }
226 }"
227
228 ## Charger Performance Control (Control, mA)
229 register "controls.charger_perf" = "{
230 [0] = { 255, 3000 },
231 [1] = { 24, 1500 },
232 [2] = { 16, 1000 },
233 [3] = { 8, 500 }
234 }"
235
236 ## Fan Performance Control (Percent, Speed, Noise, Power)
237 register "controls.fan_perf" = "{
238 [0] = { 90, 6700, 220, 2200, },
239 [1] = { 80, 5800, 180, 1800, },
240 [2] = { 70, 5000, 145, 1450, },
241 [3] = { 60, 4900, 115, 1150, },
242 [4] = { 50, 3838, 90, 900, },
243 [5] = { 40, 2904, 55, 550, },
244 [6] = { 30, 2337, 30, 300, },
245 [7] = { 20, 1608, 15, 150, },
246 [8] = { 10, 800, 10, 100, },
247 [9] = { 0, 0, 0, 50, }
248 }"
249
250 ## Fan options
251 register "options.fan.fine_grained_control" = "1"
252 register "options.fan.step_size" = "2"
253
Tyler Wanga077ba52023-12-15 15:31:46 +0800254 device generic 0 alias dptf_policy on end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800255 end
256 end
Tyler Wang6bdc0002023-08-07 11:11:49 +0800257 device ref pcie_rp10 on
258 # Enable SSD Card PCIE 10 using clk 8
259 register "pcie_rp[PCIE_RP(10)]" = "{
260 .clk_src = 8,
261 .clk_req = 8,
Tyler Wang3c4346f2023-08-15 11:11:00 +0800262 .flags = PCIE_RP_LTR | PCIE_RP_AER,
263 }"
Tyler Wang6bdc0002023-08-07 11:11:49 +0800264 end # PCIE10 SSD card
Tyler Wang3c4346f2023-08-15 11:11:00 +0800265 device ref tbt_pcie_rp0 on end
266 device ref tbt_pcie_rp2 on end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800267 device ref tcss_xhci on
268 chip drivers/usb/acpi
269 device ref tcss_root_hub on
270 chip drivers/usb/acpi
271 register "desc" = ""USB3 Type-C Port C0 (MLB)""
272 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
273 register "use_custom_pld" = "true"
274 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
275 device ref tcss_usb3_port0 on end
276 end
277 chip drivers/usb/acpi
Tyler Wange49d0332023-08-09 15:50:11 +0800278 register "desc" = ""USB3 Type-C Port C1 (MLB)""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800279 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
280 register "use_custom_pld" = "true"
Tyler Wange49d0332023-08-09 15:50:11 +0800281 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800282 device ref tcss_usb3_port2 on end
283 end
284 end
285 end
286 end
287 device ref tcss_dma0 on
288 chip drivers/intel/usb4/retimer
289 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
290 use tcss_usb3_port0 as dfp[0].typec_port
291 device generic 0 on end
292 end
293 end
294 device ref tcss_dma1 on
295 chip drivers/intel/usb4/retimer
296 register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B22)"
297 use tcss_usb3_port2 as dfp[0].typec_port
298 device generic 0 on end
299 end
300 end
301 device ref xhci on
302 chip drivers/usb/acpi
303 device ref xhci_root_hub on
304 chip drivers/usb/acpi
Tyler Wange49d0332023-08-09 15:50:11 +0800305 register "desc" = ""USB2 Type-C Port C1 (MLB)""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800306 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
307 register "use_custom_pld" = "true"
Tyler Wange49d0332023-08-09 15:50:11 +0800308 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(2, 1))"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800309 device ref usb2_port1 on end
310 end
311 chip drivers/usb/acpi
312 register "desc" = ""USB2 Type-C Port C0 (MLB)""
313 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
314 register "use_custom_pld" = "true"
315 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
316 device ref usb2_port2 on end
317 end
318 chip drivers/usb/acpi
Tyler Wang3c4346f2023-08-15 11:11:00 +0800319 register "desc" = ""USB2 Type-A Port A0 (DB)""
320 register "type" = "UPC_TYPE_A"
321 register "use_custom_pld" = "true"
322 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
323 device ref usb2_port9 on end
324 end
325 chip drivers/usb/acpi
326 register "desc" = ""USB2 Bluetooth""
327 register "type" = "UPC_TYPE_INTERNAL"
328 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B01)"
329 device ref usb2_port10 on end
330 end
331 chip drivers/usb/acpi
332 register "desc" = ""USB3 Type-A Port A0 (DB)""
333 register "type" = "UPC_TYPE_USB3_A"
334 register "use_custom_pld" = "true"
335 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
336 device ref usb3_port1 on end
337 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800338 end
339 end
340 end
341 device ref cnvi_wifi on
342 chip drivers/wifi/generic
343 register "wake" = "GPE0_PME_B0"
344 register "add_acpi_dma_property" = "true"
345 register "enable_cnvi_ddr_rfim" = "true"
346 device generic 0 on
Tyler Wangc1520062023-09-04 19:36:49 +0800347 probe WIFI_TYPE WIFI_CNVI
Tyler Wang3c4346f2023-08-15 11:11:00 +0800348 end
349 end
350 end
351 device ref ipu on
352 chip drivers/intel/mipi_camera
353 register "acpi_uid" = "0x50000"
354 register "acpi_name" = ""IPU0""
355 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
356
Tyler Wange352ea12023-08-31 14:09:41 +0800357 register "cio2_num_ports" = "1"
358 register "cio2_lanes_used" = "{2}" # 2 CSI Camera lanes are used
359 register "cio2_lane_endpoint[0]" = ""^I2C5.CAM0""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800360 register "cio2_prt[0]" = "4"
Tyler Wangc1520062023-09-04 19:36:49 +0800361 device generic 0 on
362 probe MIPI_CAM UF_CAM_HI556
363 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800364 end
365 end
366 device ref i2c0 on
367 chip drivers/i2c/generic
Tyler Wangbfcd0462023-08-22 13:37:29 +0800368 register "hid" = ""10EC5650""
369 register "name" = ""RT58""
370 register "desc" = ""Realtek RT5650""
371 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
372 register "property_count" = "1"
373 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
374 register "property_list[0].name" = ""realtek,jd-mode""
375 register "property_list[0].integer" = "2"
Tyler Wangc1520062023-09-04 19:36:49 +0800376 device i2c 1a on
377 probe AUDIO ALC5650_NO_AMP_I2S
378 end
Tyler Wangbfcd0462023-08-22 13:37:29 +0800379 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800380 end #I2C0
381 device ref i2c1 on
382 chip drivers/i2c/hid
Tyler Wangd8626952023-10-06 17:33:58 +0800383 register "generic.hid" = ""ELAN9004""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800384 register "generic.desc" = ""ELAN Touchscreen""
385 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C07_IRQ)"
Tyler Wangb3542942023-08-31 17:42:59 +0800386 register "generic.detect" = "1"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800387 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C01)"
Tyler Wangb3542942023-08-31 17:42:59 +0800388 register "generic.reset_delay_ms" = "150"
389 register "generic.reset_off_delay_ms" = "1"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800390 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C00)"
Tyler Wangb3542942023-08-31 17:42:59 +0800391 register "generic.enable_delay_ms" = "6"
392 register "generic.enable_off_delay_ms" = "30"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800393 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C06)"
Tyler Wangb3542942023-08-31 17:42:59 +0800394 register "generic.stop_off_delay_ms" = "1"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800395 register "generic.has_power_resource" = "1"
396 register "hid_desc_reg_offset" = "0x01"
Tyler Wangb3542942023-08-31 17:42:59 +0800397 device i2c 0x10 on end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800398 end
399 chip drivers/generic/gpio_keys
400 register "name" = ""PENH""
Tyler Wangef68e982023-10-13 14:29:41 +0800401 # GPP_E04 is the IRQ source, and GPP_E09 is the wake source
Tyler Wang3c4346f2023-08-15 11:11:00 +0800402 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_E04)"
Tyler Wangef68e982023-10-13 14:29:41 +0800403 register "key.wake_gpe" = "GPE0_DW1_09"
404 register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
405 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
Tyler Wang3c4346f2023-08-15 11:11:00 +0800406 register "key.dev_name" = ""EJCT""
407 register "key.linux_code" = "SW_PEN_INSERTED"
408 register "key.linux_input_type" = "EV_SW"
409 register "key.label" = ""pen_eject""
Tyler Wangc1520062023-09-04 19:36:49 +0800410 device generic 0 on
411 probe STYLUS STYLUS_PRESENT
412 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800413 end
414 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800415 device ref i2c3 on
416 chip drivers/i2c/generic
417 register "hid" = ""ELAN0000""
418 register "desc" = ""ELAN Touchpad""
419 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
420 register "wake" = "GPE0_DW0_00"
421 register "detect" = "1"
422 device i2c 15 on end
423 end
Tyler Wangc72ebec2023-08-29 13:49:39 +0800424 chip drivers/i2c/hid
425 register "generic.hid" = ""PIXA2305""
426 register "generic.desc" = ""PIXA Touchpad""
427 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B00_IRQ)"
428 register "generic.wake" = "GPE0_DW0_00"
429 register "generic.detect" = "1"
430 register "hid_desc_reg_offset" = "0x20"
431 device i2c 68 on end
432 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800433 end
434 device ref i2c4 on
435 chip drivers/i2c/tpm
436 register "hid" = ""GOOG0005""
437 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E03_IRQ)"
438 device i2c 50 on end
439 end
440 end
441 device ref i2c5 on
442 chip drivers/intel/mipi_camera
443 register "acpi_hid" = ""INT3537""
444 register "acpi_uid" = "0"
Tyler Wange352ea12023-08-31 14:09:41 +0800445 register "acpi_name" = ""CAM0""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800446 register "chip_name" = ""Hi-556 Camera""
447 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
448 register "has_power_resource" = "1"
449
450 register "ssdb.lanes_used" = "2"
451 register "ssdb.link_used" = "1"
452 register "num_freq_entries" = "1"
453 register "link_freq[0]" = "437 * MHz"
454 register "remote_name" = ""IPU0""
455 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
456
457 #Controls
458 register "gpio_panel.gpio[0].gpio_num" = "GPP_A11" #EN_UCAM_SENR_PWR
459 register "gpio_panel.gpio[1].gpio_num" = "GPP_B09" #EN_FCAM_PWR
460 register "gpio_panel.gpio[2].gpio_num" = "GPP_V23" #UCAM_RST_L
461 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
462 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
463
464 #_ON
465 register "on_seq.ops_cnt" = "5"
466 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
467 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
468 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
469 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
470 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
471
472 #_OFF
473 register "off_seq.ops_cnt" = "4"
474 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
475 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
476 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
477 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
Tyler Wangc1520062023-09-04 19:36:49 +0800478 device i2c 20 on
479 probe MIPI_CAM UF_CAM_HI556
480 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800481 end
482 chip drivers/intel/mipi_camera
483 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
484 register "acpi_uid" = "1"
Tyler Wange352ea12023-08-31 14:09:41 +0800485 register "acpi_name" = ""NVM0""
Tyler Wang3c4346f2023-08-15 11:11:00 +0800486 register "chip_name" = ""ST M24C64X""
487 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
488
489 register "nvm_size" = "0x2000"
490 register "nvm_pagesize" = "1"
491 register "nvm_readonly" = "1"
492 register "nvm_width" = "0x10"
493 register "nvm_compat" = ""atmel,24c64""
494
495 register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
496
497 register "has_power_resource" = "1"
498
499 #Controls
500 register "gpio_panel.gpio[0].gpio_num" = "GPP_B09" #EN_FCAM_PWR
501
502 #_ON
503 register "on_seq.ops_cnt" = "1"
504 register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
505
506 #_OFF
507 register "off_seq.ops_cnt" = "1"
508 register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
509
Tyler Wangc1520062023-09-04 19:36:49 +0800510 device i2c 50 on
511 probe MIPI_CAM UF_CAM_HI556
512 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800513 end
514 end #I2C5
515 device ref pcie_rp5 on
Tyler Wangc1520062023-09-04 19:36:49 +0800516 probe WIFI_TYPE WIFI_PCIE
Tyler Wang3c4346f2023-08-15 11:11:00 +0800517 # Enable WLAN Card PCIE 5 using clk 5
518 register "pcie_rp[PCH_RP(5)]" = "{
519 .clk_src = 5,
520 .clk_req = 5,
521 .flags = PCIE_RP_HOTPLUG | PCIE_RP_LTR | PCIE_RP_AER,
522 }"
523 chip drivers/wifi/generic
524 register "wake" = "GPE0_DW2_09"
525 register "add_acpi_dma_property" = "true"
526 device pci 00.0 on
Tyler Wangc1520062023-09-04 19:36:49 +0800527 probe WIFI_TYPE WIFI_PCIE
Tyler Wang3c4346f2023-08-15 11:11:00 +0800528 end
529 end
530 chip soc/intel/common/block/pcie/rtd3
531 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E22)"
532 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F08)"
533 register "srcclk_pin" = "5"
534 device generic 0 on
Tyler Wangc1520062023-09-04 19:36:49 +0800535 probe WIFI_TYPE WIFI_PCIE
Tyler Wang3c4346f2023-08-15 11:11:00 +0800536 end
537 end
538 end #PCIE5 WLAN card
Tyler Wang3c4346f2023-08-15 11:11:00 +0800539 device ref gspi1 on
540 chip drivers/spi/acpi
541 register "name" = ""CRFP""
542 register "hid" = "ACPI_DT_NAMESPACE_HID"
543 register "uid" = "1"
544 register "compat_string" = ""google,cros-ec-spi""
545 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E10_IRQ)"
546 register "wake" = "GPE0_DW1_10"
547 register "has_power_resource" = "1"
548 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C23)"
549 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B11)"
550 register "enable_delay_ms" = "3"
Tyler Wangc1520062023-09-04 19:36:49 +0800551 device spi 0 on
552 probe FP_MCU FP_MCU_NUVOTON
553 end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800554 end # FPMCU
555 end
556 device ref soc_espi on
557 chip ec/google/chromeec
558 use conn0 as mux_conn[0]
559 use conn1 as mux_conn[1]
560 device pnp 0c09.0 on end
561 end
562 end
563 device ref pmc hidden
564 chip drivers/intel/pmc_mux
565 device generic 0 on
566 chip drivers/intel/pmc_mux/conn
567 use usb2_port2 as usb2_port
568 use tcss_usb3_port0 as usb3_port
569 device generic 0 alias conn0 on end
570 end
571 chip drivers/intel/pmc_mux/conn
572 use usb2_port1 as usb2_port
573 use tcss_usb3_port2 as usb3_port
574 device generic 1 alias conn1 on end
575 end
576 end
577 end
578 end
Tyler Wangc0986a42023-09-01 13:18:14 +0800579 device ref hda on end
Tyler Wang3c4346f2023-08-15 11:11:00 +0800580 end
Tyler Wang4ce6ef92023-05-31 17:08:05 +0800581end