blob: 16da21433283e4557256a1ff2f44b45d1f340436 [file] [log] [blame]
wuweimin94f38662023-10-13 22:08:39 +08001chip soc/intel/alderlake
wuweimin5bd3de22023-10-18 11:49:50 +08002 register "sagv" = "SaGv_Enabled"
wuweimin94f38662023-10-13 22:08:39 +08003
Simon Yangae2f0462023-11-14 11:41:08 +08004 # EMMC Tx CMD Delay
5 # Refer to EDS-Vol2-42.3.7.
6 # [14:8] steps of delay for DDR mode, each 125ps, range: 0 - 39.
7 # [6:0] steps of delay for SDR mode, each 125ps, range: 0 - 39.
8 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
9
10 # EMMC TX DATA Delay 1
11 # Refer to EDS-Vol2-42.3.8.
12 # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78.
13 # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79.
14 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x909"
15
16 # EMMC TX DATA Delay 2
17 # Refer to EDS-Vol2-42.3.9.
18 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 79.
19 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
20 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79.
21 # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79.
22 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C2A2828"
23
24 # EMMC RX CMD/DATA Delay 1
25 # Refer to EDS-Vol2-42.3.10.
26 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 119.
27 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
28 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 - 119.
29 # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119.
30 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C1B4F1B"
31
32 # EMMC RX CMD/DATA Delay 2
33 # Refer to EDS-Vol2-42.3.12.
34 # [17:16] stands for Rx Clock before Output Buffer,
35 # 00: Rx clock after output buffer,
36 # 01: Rx clock before output buffer,
37 # 10: Automatic selection based on working mode.
38 # 11: Reserved
39 # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39.
40 # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79.
41 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x10051"
42
43 # EMMC Rx Strobe Delay
44 # Refer to EDS-Vol2-42.3.11.
45 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps, range: 0 - 39.
46 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps, range: 0 - 39.
47 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x01515"
48
wuweimin5bd3de22023-10-18 11:49:50 +080049 # SOC Aux orientation override:
50 # This is a bitfield that corresponds to up to 4 TCSS ports.
51 # Bits (0,1) allocated for TCSS Port1 configuration and Bits (2,3)for TCSS Port2.
52 # TcssAuxOri = 0100b
53 # Bit0 set to "0" indicates has retimer on USBC Port0, on the DB.
54 # Bit2 set to "1" indicates no retimer on USBC Port1, on the MB.
55 # Bit1,Bit3 set to "0" indicates Aux lines are not swapped on the
56 # motherboard to USBC connector
57 register "tcss_aux_ori" = "4"
wuweimin94f38662023-10-13 22:08:39 +080058
wuweimin5bd3de22023-10-18 11:49:50 +080059 register "typec_aux_bias_pads[1]" = "{
60 .pad_auxp_dc = GPP_E22,
61 .pad_auxn_dc = GPP_E23
62 }"
63
64 # FIVR configurations for anraggar are disabled since the board doesn't have V1p05 and Vnn
65 # bypass rails implemented.
66 register "ext_fivr_settings" = "{
67 .configure_ext_fivr = 0,
68 }"
69
70 # Intel Common SoC Config
71 #+-------------+------------------------------+
72 #| Field | Value |
73 #+-------------+------------------------------+
74 #| I2C0 | TPM. Early init is |
75 #| | required to set up a BAR |
76 #| | for TPM communication |
77 #| I2C1 | Touchscreen |
78 #| I2C2 | Sub-board(PSensor)/WCAM |
79 #| I2C3 | Audio |
80 #| I2C5 | Trackpad |
81 #+-------------+------------------------------+
82 register "common_soc_config" = "{
83 .i2c[0] = {
84 .early_init = 1,
85 .speed = I2C_SPEED_FAST_PLUS,
86 .speed_config[0] = {
87 .speed = I2C_SPEED_FAST_PLUS,
88 .scl_lcnt = 55,
89 .scl_hcnt = 30,
90 .sda_hold = 7,
91 }
92 },
93 .i2c[1] = {
94 .speed = I2C_SPEED_FAST,
95 .speed_config[0] = {
96 .speed = I2C_SPEED_FAST,
97 .scl_lcnt = 160,
98 .scl_hcnt = 79,
99 .sda_hold = 7,
100 }
101 },
102 .i2c[2] = {
103 .speed = I2C_SPEED_FAST,
104 .speed_config[0] = {
105 .speed = I2C_SPEED_FAST,
106 .scl_lcnt = 157,
107 .scl_hcnt = 79,
108 .sda_hold = 7,
109 }
110 },
111 .i2c[3] = {
112 .speed = I2C_SPEED_FAST,
113 .speed_config[0] = {
114 .speed = I2C_SPEED_FAST,
115 .scl_lcnt = 157,
116 .scl_hcnt = 79,
117 .sda_hold = 7,
118 }
119 },
120 .i2c[5] = {
121 .speed = I2C_SPEED_FAST,
122 .speed_config[0] = {
123 .speed = I2C_SPEED_FAST,
124 .scl_lcnt = 152,
125 .scl_hcnt = 79,
126 .sda_hold = 7,
127 }
128 },
129 }"
130
131 device domain 0 on
132 device ref dtt on
133 chip drivers/intel/dptf
134 ## sensor information
135 register "options.tsr[0].desc" = ""Memory""
136 register "options.tsr[1].desc" = ""Charger""
137 register "options.tsr[2].desc" = ""Ambient""
138
139 # TODO: below values are initial reference values only
140 ## Passive Policy
141 register "policies.passive" = "{
142 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
143 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 75, 5000),
144 [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_1, 75, 5000),
145 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 75, 5000),
146 }"
147
148 ## Critical Policy
149 register "policies.critical" = "{
150 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
151 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
152 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
153 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
154 }"
155
156 register "controls.power_limits" = "{
157 .pl1 = {
158 .min_power = 3000,
159 .max_power = 6000,
160 .time_window_min = 28 * MSECS_PER_SEC,
161 .time_window_max = 32 * MSECS_PER_SEC,
162 .granularity = 200
163 },
164 .pl2 = {
165 .min_power = 25000,
166 .max_power = 25000,
167 .time_window_min = 28 * MSECS_PER_SEC,
168 .time_window_max = 32 * MSECS_PER_SEC,
169 .granularity = 1000
170 }
171 }"
172
173 ## Charger Performance Control (Control, mA)
174 register "controls.charger_perf" = "{
175 [0] = { 255, 1700 },
176 [1] = { 24, 1500 },
177 [2] = { 16, 1000 },
178 [3] = { 8, 500 }
179 }"
180
181 device generic 0 on end
182 end
183 end
184 device ref igpu on
185 chip drivers/gfx/generic
186 register "device_count" = "4"
187 # DDIA for eDP
188 register "device[0].name" = ""LCD""
189 # DDIB for HDMI
190 # If HDMI is not enumerated in the kernel, then no GFX device should be added for DDIB
191 register "device[1].name" = ""DD01""
192 # TCP0 (DP-1) for port C0
193 register "device[2].name" = ""DD02""
194 register "device[2].use_pld" = "true"
195 register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, RIGHT, ACPI_PLD_GROUP(1, 1))"
196 # TCP1 (DP-2) for port C1
197 register "device[3].name" = ""DD03""
198 register "device[3].use_pld" = "true"
199 register "device[3].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
200 device generic 0 on end
201 end
202 end
203 device ref ipu on
204 chip drivers/intel/mipi_camera
205 register "acpi_uid" = "0x50000"
206 register "acpi_name" = ""IPU0""
207 register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
208
209 register "cio2_num_ports" = "1"
210 register "cio2_lanes_used" = "{2}" # 2 CSI Camera lanes are used
211 register "cio2_lane_endpoint[0]" = ""^I2C2.CAM0""
212 register "cio2_prt[0]" = "1"
213 device generic 0 on end
214 end
215 end
216 device ref i2c1 on
217 chip drivers/i2c/hid
218 register "generic.hid" = ""ILTK0001""
219 register "generic.desc" = ""ILITEK Touchscreen""
220 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
221 register "generic.detect" = "1"
222 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
223 register "generic.reset_delay_ms" = "200"
224 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
225 register "generic.enable_delay_ms" = "12"
226 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C6)"
227 register "generic.stop_off_delay_ms" = "2"
228 register "generic.has_power_resource" = "1"
229 register "hid_desc_reg_offset" = "0x01"
230 device i2c 41 on end
231 end
232 chip drivers/generic/gpio_keys
233 register "name" = ""PENH""
234 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_F13)"
235 register "key.wake_gpe" = "GPE0_DW2_15"
236 register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
237 register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
238 register "key.dev_name" = ""EJCT""
239 register "key.linux_code" = "SW_PEN_INSERTED"
240 register "key.linux_input_type" = "EV_SW"
241 register "key.label" = ""pen_eject""
242 device generic 0 on end
243 end
244 end
245 device ref i2c2 on
246 chip drivers/intel/mipi_camera
247 register "acpi_hid" = ""OVTI5675""
248 register "acpi_uid" = "0"
249 register "acpi_name" = ""CAM0""
250 register "chip_name" = ""Ov 5675 Camera""
251 register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
252
253 register "ssdb.lanes_used" = "2"
254 register "ssdb.link_used" = "1"
255 register "ssdb.vcm_type" = "0x0C"
256 register "vcm_name" = ""VCM0""
257 register "num_freq_entries" = "1"
258 register "link_freq[0]" = "DEFAULT_LINK_FREQ"
259 register "remote_name" = ""IPU0""
260
261 register "has_power_resource" = "1"
262 #Controls
263 register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
264 register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"
265
266 register "gpio_panel.gpio[0].gpio_num" = "GPP_D15" # EN_PP2800_WCAM_X
267 register "gpio_panel.gpio[1].gpio_num" = "GPP_D16" # EN_PP1800_PP1200_WCAM_X
268 register "gpio_panel.gpio[2].gpio_num" = "GPP_D3" # WCAM_RST_L
269
270 #_ON
271 register "on_seq.ops_cnt" = "5"
272 register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
273 register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 5)"
274 register "on_seq.ops[2]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
275 register "on_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
276 register "on_seq.ops[4]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
277
278 #_OFF
279 register "off_seq.ops_cnt" = "4"
280 register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
281 register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
282 register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
283 register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
284
285 device i2c 36 on end
286 end
287 chip drivers/intel/mipi_camera
288 register "acpi_uid" = "3"
289 register "acpi_name" = ""VCM0""
290 register "chip_name" = ""DW AF DAC""
291 register "device_type" = "INTEL_ACPI_CAMERA_VCM"
292
293 register "pr0" = ""\\_SB.PCI0.I2C2.CAM0.PRIC""
294 register "vcm_compat" = ""dongwoon,dw9714""
295
296 device i2c 0C on end
297 end
298 chip drivers/intel/mipi_camera
299 register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
300 register "acpi_uid" = "1"
301 register "acpi_name" = ""NVM0""
302 register "chip_name" = ""GT24C08""
303 register "device_type" = "INTEL_ACPI_CAMERA_NVM"
304
305 register "pr0" = ""\\_SB.PCI0.I2C2.CAM0.PRIC""
306
307 register "nvm_size" = "0x2000"
308 register "nvm_pagesize" = "1"
309 register "nvm_readonly" = "1"
310 register "nvm_width" = "0x10"
311 register "nvm_compat" = ""atmel,24c08""
312
313 device i2c 50 on end
314 end
315 end
316 device ref i2c3 on
317 chip drivers/i2c/generic
318 register "hid" = ""10EC5650""
319 register "name" = ""RT58""
320 register "desc" = ""Realtek RT5650""
321 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
322 register "property_count" = "1"
323 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
324 register "property_list[0].name" = ""realtek,jd-mode""
325 register "property_list[0].integer" = "2"
326 device i2c 1a on end
327 end
328 end
329 device ref i2c5 on
330 chip drivers/i2c/hid
331 register "generic.hid" = ""PNP0C50""
332 register "generic.desc" = ""PRIMAX Touchpad""
333 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
334 register "generic.wake" = "GPE0_DW2_14"
335 register "generic.detect" = "1"
336 register "hid_desc_reg_offset" = "0x01"
337 device i2c 15 on end
338 end
339 end
340 device ref cnvi_wifi on
341 chip drivers/wifi/generic
342 register "wake" = "GPE0_PME_B0"
343 register "enable_cnvi_ddr_rfim" = "true"
344 register "add_acpi_dma_property" = "true"
345 device generic 0 on end
346 end
347 end
348 device ref pcie_rp4 on
349 # PCIe 4 WLAN
350 register "pch_pcie_rp[PCH_RP(4)]" = "{
351 .clk_src = 2,
352 .clk_req = 2,
353 .flags = PCIE_RP_LTR | PCIE_RP_AER,
354 }"
355 chip drivers/wifi/generic
356 register "wake" = "GPE0_DW1_03"
357 register "add_acpi_dma_property" = "true"
358 device pci 00.0 on end
359 end
360 end
361 device ref pch_espi on
362 chip ec/google/chromeec
363 use conn0 as mux_conn[0]
364 use conn1 as mux_conn[1]
365 device pnp 0c09.0 on end
366 end
367 end
368 device ref pmc hidden
369 chip drivers/intel/pmc_mux
370 device generic 0 on
371 chip drivers/intel/pmc_mux/conn
372 use usb2_port1 as usb2_port
373 use tcss_usb3_port1 as usb3_port
374 device generic 0 alias conn0 on end
375 end
376 chip drivers/intel/pmc_mux/conn
377 use usb2_port2 as usb2_port
378 use tcss_usb3_port2 as usb3_port
379 device generic 1 alias conn1 on end
380 end
381 end
382 end
383 end
384 device ref tcss_xhci on
385 chip drivers/usb/acpi
386 device ref tcss_root_hub on
387 chip drivers/usb/acpi
388 register "desc" = ""USB3 Type-C Port C0 (DB)""
389 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
390 register "use_custom_pld" = "true"
391 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(2, 1))"
392 device ref tcss_usb3_port1 on end
393 end
394 chip drivers/usb/acpi
395 register "desc" = ""USB3 Type-C Port C1 (MLB)""
396 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
397 register "use_custom_pld" = "true"
398 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(1, 1))"
399 device ref tcss_usb3_port2 on end
400 end
401 end
402 end
403 end
404 device ref xhci on
405 register "usb2_ports" = "{
406 [0] = USB2_PORT_TYPE_C(OC_SKIP), /* Type-C MB (7.5 inch) */
407 [1] = USB2_PORT_TYPE_C(OC_SKIP), /* Type-C DB (7.1 inch) */
408 [2] = USB2_PORT_MID(OC_SKIP), /* Type-A MB (6.4 inch) */
409 [3] = USB2_PORT_MID(OC_SKIP), /* Type-A DB (6.2 inch) */
410 [4] = USB2_PORT_SHORT(OC_SKIP), /* LTE (3.3 inch) */
411 [5] = USB2_PORT_SHORT(OC_SKIP), /* UFC (3.7 inch) */
412 [7] = USB2_PORT_SHORT(OC_SKIP), /* BT (2.5 inch) */
413 }"
414 chip drivers/usb/acpi
415 device ref xhci_root_hub on
416 chip drivers/usb/acpi
417 register "desc" = ""USB2 Type-C Port C0 (MLB)""
418 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
419 register "use_custom_pld" = "true"
420 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
421 device ref usb2_port1 on end
422 end
423 chip drivers/usb/acpi
424 register "desc" = ""USB2 Type-C Port C1 (DB)""
425 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
426 register "use_custom_pld" = "true"
427 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
428 device ref usb2_port2 on end
429 end
430 chip drivers/usb/acpi
431 register "desc" = ""USB2 Type-A Port A0 (MLB)""
432 register "type" = "UPC_TYPE_A"
433 register "use_custom_pld" = "true"
434 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
435 device ref usb2_port3 on end
436 end
437 chip drivers/usb/acpi
438 register "desc" = ""USB2 Type-A Port A1 (DB)""
439 register "type" = "UPC_TYPE_A"
440 register "use_custom_pld" = "true"
441 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
442 device ref usb2_port4 on end
443 end
444 chip drivers/usb/acpi
445 register "desc" = ""USB2 LTE""
446 register "type" = "UPC_TYPE_INTERNAL"
447 device ref usb2_port5 on end
448 end
449 chip drivers/usb/acpi
450 register "desc" = ""USB2 UFC""
451 register "type" = "UPC_TYPE_INTERNAL"
452 device ref usb2_port6 on end
453 end
454 chip drivers/usb/acpi
455 register "desc" = ""USB2 Bluetooth""
456 register "type" = "UPC_TYPE_INTERNAL"
457 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
458 device ref usb2_port8 on end
459 end
460 chip drivers/usb/acpi
461 register "desc" = ""USB3 Type-A Port A0 (MLB)""
462 register "type" = "UPC_TYPE_USB3_A"
463 register "use_custom_pld" = "true"
464 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
465 device ref usb3_port1 on end
466 end
467 chip drivers/usb/acpi
468 register "desc" = ""USB3 Type-A Port A1 (DB)""
469 register "type" = "UPC_TYPE_USB3_A"
470 register "use_custom_pld" = "true"
471 register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, LEFT, ACPI_PLD_GROUP(4, 1))"
472 device ref usb3_port2 on end
473 end
474 chip drivers/usb/acpi
475 register "desc" = ""USB3 WWAN""
476 register "type" = "UPC_TYPE_INTERNAL"
477 device ref usb3_port3 on end
478 end
479 chip drivers/usb/acpi
480 register "desc" = ""USB3 WLAN""
481 register "type" = "UPC_TYPE_INTERNAL"
482 device ref usb3_port4 on end
483 end
484 end
485 end
486 end
487 device ref hda on
488 chip drivers/sof
489 register "spkr_tplg" = "rt5650_sp"
490 register "jack_tplg" = "rt5650_hp"
491 register "mic_tplg" = "_2ch_pdm0"
492 device generic 0 on end
493 end
494 end
495 end
wuweimin94f38662023-10-13 22:08:39 +0800496end