blob: dbfeb6d20872e10465a375906bcf8333271616ec [file] [log] [blame]
Mark Hsieh24f75542022-06-15 17:50:22 +08001chip soc/intel/alderlake
Mark Hsieh69bf58d2022-07-05 20:53:56 +08002 register "sagv" = "SaGv_Enabled"
Mark Hsieh24f75542022-06-15 17:50:22 +08003
Mark Hsieh69bf58d2022-07-05 20:53:56 +08004 # Bit 0 - C0 has no redriver, so enable SBU muxing in the SoC.
5 # Bit 2 - C1 has a redriver which does SBU muxing.
6 # Bit 1,3 - AUX lines are not swapped on the motherboard for either C0 or C1.
7 register "tcss_aux_ori" = "1"
Mark Hsieh24f75542022-06-15 17:50:22 +08008
Mark Hsieh69bf58d2022-07-05 20:53:56 +08009 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E22, .pad_auxn_dc = GPP_E23}"
10
11 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # UFC
12 register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for PCIe WLAN
13 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth port for CNVi WLAN
14
Mark Hsieh623e3a32023-06-06 20:13:17 +080015 # Configure external V1P05/Vnn/VnnSx Rails
16 register "ext_fivr_settings" = "{
17 .configure_ext_fivr = 1,
18 .v1p05_enable_bitmap = FIVR_ENABLE_ALL_SX & ~FIVR_ENABLE_S0,
19 .vnn_enable_bitmap = FIVR_ENABLE_ALL_SX,
20 .vnn_sx_enable_bitmap = FIVR_ENABLE_ALL_SX,
21 .v1p05_supported_voltage_bitmap = FIVR_VOLTAGE_NORMAL,
22 .vnn_supported_voltage_bitmap = FIVR_VOLTAGE_MIN_ACTIVE,
23 .v1p05_voltage_mv = 1050,
24 .vnn_voltage_mv = 780,
25 .vnn_sx_voltage_mv = 1050,
26 .v1p05_icc_max_ma = 500,
27 .vnn_icc_max_ma = 500,
28 }"
29
Mark Hsieh69bf58d2022-07-05 20:53:56 +080030 # Intel Common SoC Config
31 #+-------------------+---------------------------+
32 #| Field | Value |
33 #+-------------------+---------------------------+
34 #| I2C0 | TPM. Early init is |
35 #| | required to set up a BAR |
36 #| | for TPM communication |
37 #| I2C1 | Touchscreen |
38 #| I2C2 | Sub-board(PSensor)/WCAM |
39 #| I2C3 | Audio |
40 #| I2C5 | Trackpad |
41 #+-------------------+---------------------------+
42 register "common_soc_config" = "{
43 .i2c[0] = {
44 .early_init = 1,
45 .speed = I2C_SPEED_FAST,
46 .speed_config[0] = {
47 .speed = I2C_SPEED_FAST,
48 .scl_lcnt = 158,
49 .scl_hcnt = 79,
50 .sda_hold = 7,
51 }
52 },
53 .i2c[1] = {
54 .speed = I2C_SPEED_FAST,
55 .speed_config[0] = {
56 .speed = I2C_SPEED_FAST,
57 .scl_lcnt = 160,
58 .scl_hcnt = 79,
59 .sda_hold = 7,
60 }
61 },
62 .i2c[3] = {
63 .speed = I2C_SPEED_FAST,
64 .speed_config[0] = {
65 .speed = I2C_SPEED_FAST,
66 .scl_lcnt = 157,
67 .scl_hcnt = 79,
68 .sda_hold = 7,
69 }
70 },
71 .i2c[5] = {
72 .speed = I2C_SPEED_FAST,
73 .speed_config[0] = {
74 .speed = I2C_SPEED_FAST,
75 .scl_lcnt = 152,
76 .scl_hcnt = 79,
77 .sda_hold = 7,
78 }
79 },
80 }"
81
82 device domain 0 on
83 device ref dtt on
84 chip drivers/intel/dptf
85 ## sensor information
86 register "options.tsr[0].desc" = ""Memory""
87 register "options.tsr[1].desc" = ""Charger""
88 register "options.tsr[2].desc" = ""Ambient""
89
90 # TODO: below values are initial reference values only
91 ## Passive Policy
92 register "policies.passive" = "{
93 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
94 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 75, 5000),
95 [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_1, 75, 5000),
96 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 75, 5000),
97 }"
98
99 ## Critical Policy
100 register "policies.critical" = "{
101 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
102 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN),
103 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 85, SHUTDOWN),
104 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 85, SHUTDOWN),
105 }"
106
107 register "controls.power_limits" = "{
108 .pl1 = {
109 .min_power = 3000,
110 .max_power = 6000,
111 .time_window_min = 28 * MSECS_PER_SEC,
112 .time_window_max = 32 * MSECS_PER_SEC,
113 .granularity = 200
114 },
115 .pl2 = {
116 .min_power = 25000,
117 .max_power = 25000,
118 .time_window_min = 28 * MSECS_PER_SEC,
119 .time_window_max = 32 * MSECS_PER_SEC,
120 .granularity = 1000
121 }
122 }"
123
124 ## Charger Performance Control (Control, mA)
125 register "controls.charger_perf" = "{
126 [0] = { 255, 1700 },
127 [1] = { 24, 1500 },
128 [2] = { 16, 1000 },
129 [3] = { 8, 500 }
130 }"
131
132 device generic 0 on end
133 end
134 end
135 device ref i2c1 on
Mark Hsiehaec6f062023-06-16 19:16:02 +0800136 chip drivers/i2c/generic
137 register "hid" = ""ELAN0001""
138 register "desc" = ""ELAN Touchscreen""
139 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
140 register "detect" = "1"
141 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
142 register "reset_delay_ms" = "20"
143 register "reset_off_delay_ms" = "2"
144 register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
145 register "stop_delay_ms" = "280"
146 register "stop_off_delay_ms" = "2"
147 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
148 register "enable_delay_ms" = "1"
149 register "has_power_resource" = "1"
150 device i2c 10 on end
151 end
152 chip drivers/i2c/hid
153 register "generic.hid" = ""ELAN2513""
154 register "generic.desc" = ""ELAN Touchscreen""
155 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
156 register "generic.detect" = "1"
157 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
158 register "generic.reset_delay_ms" = "20"
159 register "generic.reset_off_delay_ms" = "2"
160 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
161 register "generic.stop_delay_ms" = "280"
162 register "generic.stop_off_delay_ms" = "2"
163 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
164 register "generic.enable_delay_ms" = "1"
165 register "generic.has_power_resource" = "1"
166 register "hid_desc_reg_offset" = "0x01"
167 device i2c 15 on end
168 end
169 chip drivers/i2c/hid
170 register "generic.hid" = ""GTCH7503""
171 register "generic.desc" = ""G2TOUCH Touchscreen""
172 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
173 register "generic.detect" = "1"
174 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
175 register "generic.reset_delay_ms" = "50"
176 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
177 register "generic.stop_delay_ms" = "30"
178 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
179 register "generic.enable_delay_ms" = "1"
180 register "generic.has_power_resource" = "1"
181 register "hid_desc_reg_offset" = "0x01"
182 device i2c 40 on end
183 end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800184 chip drivers/i2c/hid
185 register "generic.hid" = ""GDIX0000""
186 register "generic.desc" = ""Goodix Touchscreen""
187 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
Mark Hsiehaec6f062023-06-16 19:16:02 +0800188 register "generic.detect" = "1"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800189 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
190 register "generic.enable_delay_ms" = "20"
191 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
192 register "generic.reset_delay_ms" = "180"
193 register "generic.reset_off_delay_ms" = "3"
194 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
195 register "generic.stop_off_delay_ms" = "1"
196 register "generic.has_power_resource" = "1"
197 register "hid_desc_reg_offset" = "0x01"
Mark Hsiehf84f3e72022-07-27 21:20:30 +0800198 device i2c 0x14 on end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800199 end
200 end
201 device ref i2c3 on
202 chip drivers/i2c/generic
203 register "hid" = ""RTL5682""
204 register "name" = ""RT58""
205 register "desc" = ""Headset Codec""
206 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
207 # Set the jd_src to RT5668_JD1 for jack detection
208 register "property_count" = "1"
209 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
210 register "property_list[0].name" = ""realtek,jd-src""
211 register "property_list[0].integer" = "1"
212 device i2c 1a on end
213 end
214 end
215 device ref i2c5 on
216 chip drivers/i2c/generic
217 register "hid" = ""ELAN0000""
218 register "desc" = ""ELAN Touchpad""
219 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
220 register "wake" = "GPE0_DW2_14"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500221 register "detect" = "1"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800222 device i2c 15 on end
223 end
224 end
225 device ref hda on
226 chip drivers/generic/max98357a
227 register "hid" = ""MX98360A""
228 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
229 register "sdmode_delay" = "5"
230 device generic 0 on end
231 end
232 end
233 device ref pcie_rp4 on
234 # PCIe 4 WLAN
235 register "pch_pcie_rp[PCH_RP(4)]" = "{
236 .clk_src = 2,
237 .clk_req = 2,
238 .flags = PCIE_RP_LTR | PCIE_RP_AER,
239 }"
240 chip drivers/wifi/generic
241 register "wake" = "GPE0_DW1_03"
Kapil Porwalda1a58a2022-11-23 19:17:35 +0530242 register "add_acpi_dma_property" = "true"
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800243 device pci 00.0 on end
244 end
245 end
Mark Hsieh4b189842023-06-06 15:00:06 +0800246 device ref pcie_rp7 off end # PCIE7 no SD card
Mark Hsieh07046ca2023-06-12 16:26:54 +0800247 device ref emmc on end
Mark Hsieh7fb661f2023-06-12 17:47:07 +0800248 device ref ish on
249 chip drivers/intel/ish
250 register "add_acpi_dma_property" = "true"
251 device generic 0 on end
252 end
253 end
Mark Hsieh07046ca2023-06-12 16:26:54 +0800254 device ref ufs on end
Mark Hsieh69bf58d2022-07-05 20:53:56 +0800255 device ref pch_espi on
256 chip ec/google/chromeec
257 use conn0 as mux_conn[0]
258 use conn1 as mux_conn[1]
259 device pnp 0c09.0 on end
260 end
261 end
262 device ref pmc hidden
263 chip drivers/intel/pmc_mux
264 device generic 0 on
265 chip drivers/intel/pmc_mux/conn
266 use usb2_port1 as usb2_port
267 use tcss_usb3_port1 as usb3_port
268 device generic 0 alias conn0 on end
269 end
270 chip drivers/intel/pmc_mux/conn
271 use usb2_port2 as usb2_port
272 use tcss_usb3_port2 as usb3_port
273 device generic 1 alias conn1 on end
274 end
275 end
276 end
277 end
278 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"
285 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
286 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, RIGHT, ACPI_PLD_GROUP(2, 1))"
293 device ref tcss_usb3_port2 on end
294 end
295 end
296 end
297 end
298 device ref xhci on
299 chip drivers/usb/acpi
300 device ref xhci_root_hub on
301 chip drivers/usb/acpi
302 register "desc" = ""USB2 Type-C Port C0 (MLB)""
303 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
304 register "use_custom_pld" = "true"
305 register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
306 device ref usb2_port1 on end
307 end
308 chip drivers/usb/acpi
309 register "desc" = ""USB2 Type-C Port C1 (DB)""
310 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
311 register "use_custom_pld" = "true"
312 register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, RIGHT, ACPI_PLD_GROUP(2, 1))"
313 device ref usb2_port2 on end
314 end
315 chip drivers/usb/acpi
316 register "desc" = ""USB2 Type-A Port A0 (MLB)""
317 register "type" = "UPC_TYPE_A"
318 register "use_custom_pld" = "true"
319 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
320 device ref usb2_port3 on end
321 end
322 chip drivers/usb/acpi
323 register "desc" = ""USB2 UFC""
324 register "type" = "UPC_TYPE_INTERNAL"
325 device ref usb2_port7 on end
326 end
327 chip drivers/usb/acpi
328 register "desc" = ""USB2 Bluetooth""
329 register "type" = "UPC_TYPE_INTERNAL"
330 register "reset_gpio" =
331 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
332 device ref usb2_port8 on end
333 end
334 chip drivers/usb/acpi
335 register "desc" = ""CNVi Bluetooth""
336 register "type" = "UPC_TYPE_INTERNAL"
337 register "reset_gpio" =
338 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D4)"
339 device ref usb2_port10 on end
340 end
341 chip drivers/usb/acpi
342 register "desc" = ""USB3 Type-A Port A0 (MLB)""
343 register "type" = "UPC_TYPE_USB3_A"
344 register "use_custom_pld" = "true"
345 register "custom_pld" = "ACPI_PLD_TYPE_A(LEFT, RIGHT, ACPI_PLD_GROUP(3, 1))"
346 device ref usb3_port1 on end
347 end
348 end
349 end
350 end
351 end
Mark Hsieh24f75542022-06-15 17:50:22 +0800352end