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