blob: e2f3fde6f3a470140a8fff2690704dbd5b552ad7 [file] [log] [blame]
Matt Ziegelbaum06bff722020-11-06 21:42:10 -05001chip soc/intel/cannonlake
Matt Ziegelbaum06bff722020-11-06 21:42:10 -05002 # Auto-switch between X4 NVMe and X2 NVMe.
3 register "TetonGlacierMode" = "1"
4
5 register "SerialIoDevMode" = "{
6 [PchSerialIoIndexI2C0] = PchSerialIoDisabled,
7 [PchSerialIoIndexI2C1] = PchSerialIoDisabled,
8 [PchSerialIoIndexI2C2] = PchSerialIoPci,
9 [PchSerialIoIndexI2C3] = PchSerialIoPci,
10 [PchSerialIoIndexI2C4] = PchSerialIoPci,
Matt DeVillier8facfa82024-01-21 20:48:26 -060011 [PchSerialIoIndexI2C5] = PchSerialIoDisabled,
Matt Ziegelbaum06bff722020-11-06 21:42:10 -050012 [PchSerialIoIndexSPI0] = PchSerialIoPci,
Matt DeVillier8facfa82024-01-21 20:48:26 -060013 [PchSerialIoIndexSPI1] = PchSerialIoDisabled,
Matt Ziegelbaum06bff722020-11-06 21:42:10 -050014 [PchSerialIoIndexSPI2] = PchSerialIoDisabled,
15 [PchSerialIoIndexUART0] = PchSerialIoSkipInit,
16 [PchSerialIoIndexUART1] = PchSerialIoDisabled,
17 [PchSerialIoIndexUART2] = PchSerialIoDisabled,
18 }"
19
20 # USB configuration
21 register "usb2_ports[0]" = "{
22 .enable = 1,
23 .ocpin = OC2,
24 .tx_bias = USB2_BIAS_0MV,
25 .tx_emp_enable = USB2_PRE_EMP_ON,
26 .pre_emp_bias = USB2_BIAS_11P25MV,
27 .pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
28 }" # Type-A Port 2
29 register "usb2_ports[1]" = "{
30 .enable = 1,
31 .ocpin = OC1,
32 .tx_bias = USB2_BIAS_0MV,
33 .tx_emp_enable = USB2_PRE_EMP_ON,
34 .pre_emp_bias = USB2_BIAS_28P15MV,
35 .pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
36 }" # Type-A Port 1
37 register "usb2_ports[2]" = "{
38 .enable = 1,
39 .ocpin = OC3,
40 .tx_bias = USB2_BIAS_0MV,
41 .tx_emp_enable = USB2_PRE_EMP_ON,
42 .pre_emp_bias = USB2_BIAS_28P15MV,
43 .pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
44 }" # Type-A Port 3
45 register "usb2_ports[3]" = "USB2_PORT_TYPE_C(OC_SKIP)" # Type-C Port
46 register "usb2_ports[4]" = "{
47 .enable = 1,
48 .ocpin = OC_SKIP,
49 .tx_bias = USB2_BIAS_0MV,
50 .tx_emp_enable = USB2_PRE_EMP_ON,
51 .pre_emp_bias = USB2_BIAS_28P15MV,
52 .pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
53 }" # Type-A Port 4
54 register "usb2_ports[5]" = "{
55 .enable = 1,
56 .ocpin = OC0,
57 .tx_bias = USB2_BIAS_0MV,
58 .tx_emp_enable = USB2_PRE_EMP_ON,
59 .pre_emp_bias = USB2_BIAS_28P15MV,
60 .pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
61 }" # Type-A port 0
62 register "usb2_ports[6]" = "USB2_PORT_EMPTY"
63 register "usb2_ports[7]" = "USB2_PORT_EMPTY"
64 register "usb2_ports[8]" = "USB2_PORT_EMPTY"
65 register "usb2_ports[9]" = "{
66 .enable = 1,
67 .ocpin = OC_SKIP,
68 .tx_bias = USB2_BIAS_0MV,
69 .tx_emp_enable = USB2_PRE_EMP_ON,
70 .pre_emp_bias = USB2_BIAS_28P15MV,
71 .pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
72 }" # BT
73
74 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Port 2
75 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 3
76 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC1)" # Type-A Port 1
77 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-C
78 register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC0)" # Type-A Port 0
79 register "usb3_ports[5]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-A Port 4
80
81 # Bitmap for Wake Enable on USB attach/detach
Felix Singer21b5a9a2023-10-23 07:26:28 +020082 register "usb2_wake_enable_bitmap" = "USB_PORT_WAKE_ENABLE(1) |
83 USB_PORT_WAKE_ENABLE(2) |
84 USB_PORT_WAKE_ENABLE(3) |
85 USB_PORT_WAKE_ENABLE(5) |
Matt Ziegelbaum06bff722020-11-06 21:42:10 -050086 USB_PORT_WAKE_ENABLE(6)"
Felix Singer21b5a9a2023-10-23 07:26:28 +020087 register "usb3_wake_enable_bitmap" = "USB_PORT_WAKE_ENABLE(1) |
88 USB_PORT_WAKE_ENABLE(2) |
89 USB_PORT_WAKE_ENABLE(3) |
90 USB_PORT_WAKE_ENABLE(5) |
Matt Ziegelbaum06bff722020-11-06 21:42:10 -050091 USB_PORT_WAKE_ENABLE(6)"
92
93 # Enable eMMC HS400
94 register "ScsEmmcHs400Enabled" = "1"
95
96 # EMMC Tx CMD Delay
97 # Refer to EDS-Vol2-14.3.7.
98 # [14:8] steps of delay for DDR mode, each 125ps, range: 0 - 39.
99 # [6:0] steps of delay for SDR mode, each 125ps, range: 0 - 39.
100 register "common_soc_config.emmc_dll.emmc_tx_cmd_cntl" = "0x505"
101
102 # EMMC TX DATA Delay 1
103 # Refer to EDS-Vol2-14.3.8.
104 # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78.
105 # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79.
106 register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x911"
107
108 # EMMC TX DATA Delay 2
109 # Refer to EDS-Vol2-14.3.9.
110 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 79.
111 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
112 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79.
113 # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79.
114 register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C262828"
115
116 # EMMC RX CMD/DATA Delay 1
117 # Refer to EDS-Vol2-14.3.10.
118 # [30:24] steps of delay for SDR50, each 125ps, range: 0 - 119.
119 # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78.
120 # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 - 119.
121 # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119.
122 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C16583b"
123
124 # EMMC RX CMD/DATA Delay 2
125 # Refer to EDS-Vol2-14.3.12.
126 # [17:16] stands for Rx Clock before Output Buffer,
127 # 00: Rx clock after output buffer,
128 # 01: Rx clock before output buffer,
129 # 10: Automatic selection based on working mode.
130 # 11: Reserved
131 # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39.
132 # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79.
133 register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x1001D"
134
135 # EMMC Rx Strobe Delay
136 # Refer to EDS-Vol2-14.3.11.
137 # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps, range: 0 - 39.
138 # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps, range: 0 - 39.
139 register "common_soc_config.emmc_dll.emmc_rx_strobe_cntl" = "0x1515"
140
141 # Intel HDA - disable I2S Audio SSP1 and DMIC0 as puff variant does not have them.
142 register "PchHdaAudioLinkSsp1" = "0"
143 register "PchHdaAudioLinkDmic0" = "0"
144
145 # Intel Common SoC Config
146 #+-------------------+---------------------------+
147 #| Field | Value |
148 #+-------------------+---------------------------+
149 #| GSPI0 | cr50 TPM. Early init is |
150 #| | required to set up a BAR |
151 #| | for TPM communication |
152 #| | before memory is up |
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500153 #| I2C2 | PS175 |
154 #| I2C3 | MST |
155 #| I2C4 | Audio |
156 #+-------------------+---------------------------+
157 register "common_soc_config" = "{
158 .gspi[0] = {
159 .speed_mhz = 1,
160 .early_init = 1,
161 },
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500162 .i2c[2] = {
163 .speed = I2C_SPEED_FAST,
164 .rise_time_ns = 60,
165 .fall_time_ns = 60,
166 },
167 .i2c[3] = {
168 .speed = I2C_SPEED_FAST,
169 .rise_time_ns = 60,
170 .fall_time_ns = 60,
171 },
172 .i2c[4] = {
173 .speed = I2C_SPEED_FAST,
174 .rise_time_ns = 60,
175 .fall_time_ns = 60,
176 },
177 }"
178
Joe Tessler549abfb2021-03-19 16:44:17 +0800179 # PCIe root port 7 for LAN
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500180 register "PcieRpEnable[6]" = "1"
181 register "PcieRpLtrEnable[6]" = "1"
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500182 # Uses CLK SRC 0
183 register "PcieClkSrcUsage[0]" = "6"
184 register "PcieClkSrcClkReq[0]" = "0"
185
Joe Tessler549abfb2021-03-19 16:44:17 +0800186 # PCIe root port 8 for WLAN
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500187 register "PcieRpEnable[7]" = "1"
188 register "PcieRpLtrEnable[7]" = "1"
189 # Uses CLK SRC 5
190 register "PcieClkSrcUsage[5]" = "7"
191 register "PcieClkSrcClkReq[5]" = "5"
192
Joe Tessler549abfb2021-03-19 16:44:17 +0800193 # PCIe root port 9 for SSD (PCIe Lanes 11, 12)
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500194 register "PcieRpEnable[8]" = "1"
195 register "PcieRpLtrEnable[8]" = "1"
Joe Tessler549abfb2021-03-19 16:44:17 +0800196 # RP 9 uses CLK SRC 1
197 register "PcieClkSrcUsage[1]" = "8"
198 register "PcieClkSrcClkReq[1]" = "1"
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500199
Joe Tessler549abfb2021-03-19 16:44:17 +0800200 # PCIe root port 10 disabled
201 register "PcieRpEnable[9]" = "0"
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500202
Joe Tessler549abfb2021-03-19 16:44:17 +0800203 # PCIe root port 11 TPU1
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500204 register "PcieRpEnable[10]" = "1"
205 register "PcieRpLtrEnable[10]" = "1"
206 # RP 11 uses CLK SRC 1
Joe Tessler549abfb2021-03-19 16:44:17 +0800207 register "PcieClkSrcUsage[4]" = "10"
208 register "PcieClkSrcClkReq[4]" = "4"
209
210 # PCIe root port 12 TPU0
211 register "PcieRpEnable[11]" = "1"
212 register "PcieRpLtrEnable[11]" = "1"
213 # RP 11 uses CLK SRC 1
214 register "PcieClkSrcUsage[2]" = "11"
215 register "PcieClkSrcClkReq[2]" = "2"
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500216
217 # PCIe port 13 for i350 NIC (x4)
218 register "PcieRpEnable[12]" = "1"
219 register "PcieRpLtrEnable[12]" = "1"
220 # RP 13 uses CLK SRC 3
221 register "PcieClkSrcUsage[3]" = "12"
222 # RP 13 does not use a source clock request line
Joe Tessler549abfb2021-03-19 16:44:17 +0800223 # NOTE: Any value other than a valid source-clock-request (0-5) is
224 # effectively "not connected"
225 register "PcieClkSrcClkReq[3]" = "0xFF"
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500226 # Disable the remaining ports 14-16
227 register "PcieRpEnable[13]" = "0"
228 register "PcieRpEnable[14]" = "0"
229 register "PcieRpEnable[15]" = "0"
230
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500231 # GPIO for SD card detect
232 register "sdcard_cd_gpio" = "vSD3_CD_B"
233
234 # SATA port 1 Gen3 Strength
235 # Port1 Tx De-Emphasis = 20*log(0x20/64) = -6dB
236 register "sata_port[1].TxGen3DeEmphEnable" = "1"
237 register "sata_port[1].TxGen3DeEmph" = "0x20"
238
239 device domain 0 on
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600240 device ref dptf on
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500241 chip drivers/intel/dptf
242 ## Active Policy
243 register "policies.active[0]" = "{.target=DPTF_CPU,
Kenneth Chan285f20a2021-03-05 15:06:43 +0800244 .thresholds={TEMP_PCT(94, 0),}}"
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500245 register "policies.active[1]" = "{.target=DPTF_TEMP_SENSOR_0,
Kenneth Chan285f20a2021-03-05 15:06:43 +0800246 .thresholds={TEMP_PCT(72, 90),
247 TEMP_PCT(68, 80),
248 TEMP_PCT(62, 70),
249 TEMP_PCT(54, 60),
250 TEMP_PCT(46, 50),
251 TEMP_PCT(39, 40),}}"
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500252
253 ## Passive Policy
Kenneth Chan285f20a2021-03-05 15:06:43 +0800254 register "policies.passive[0]" = "DPTF_PASSIVE(CPU, CPU, 95, 5000)"
255 register "policies.passive[1]" = "DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 75, 5000)"
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500256
257 ## Critical Policy
258 register "policies.critical[0]" = "DPTF_CRITICAL(CPU, 100, SHUTDOWN)"
Kenneth Chan285f20a2021-03-05 15:06:43 +0800259 register "policies.critical[1]" = "DPTF_CRITICAL(TEMP_SENSOR_0, 85, SHUTDOWN)"
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500260
261 ## Power Limits Control
262 # PL1 is fixed at 15W, avg over 28-32s interval
Kenneth Chan285f20a2021-03-05 15:06:43 +0800263 # 51-51W PL2 in 1000mW increments, avg over 28-32s interval
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500264 register "controls.power_limits.pl1" = "{
265 .min_power = 15000,
266 .max_power = 15000,
267 .time_window_min = 28 * MSECS_PER_SEC,
268 .time_window_max = 32 * MSECS_PER_SEC,
Kenneth Chan285f20a2021-03-05 15:06:43 +0800269 .granularity = 125,}"
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500270 register "controls.power_limits.pl2" = "{
Kenneth Chan285f20a2021-03-05 15:06:43 +0800271 .min_power = 51000,
272 .max_power = 51000,
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500273 .time_window_min = 28 * MSECS_PER_SEC,
274 .time_window_max = 32 * MSECS_PER_SEC,
275 .granularity = 1000,}"
276
277 ## Charger Performance Control (Control, mA)
278 register "controls.charger_perf[0]" = "{ 255, 1700 }"
279 register "controls.charger_perf[1]" = "{ 24, 1500 }"
280 register "controls.charger_perf[2]" = "{ 16, 1000 }"
281 register "controls.charger_perf[3]" = "{ 8, 500 }"
282
283 ## Fan Performance Control (Percent, Speed, Noise, Power)
284 register "controls.fan_perf[0]" = "{ 90, 6700, 220, 2200, }"
285 register "controls.fan_perf[1]" = "{ 80, 5800, 180, 1800, }"
286 register "controls.fan_perf[2]" = "{ 70, 5000, 145, 1450, }"
287 register "controls.fan_perf[3]" = "{ 60, 4900, 115, 1150, }"
288 register "controls.fan_perf[4]" = "{ 50, 3838, 90, 900, }"
289 register "controls.fan_perf[5]" = "{ 40, 2904, 55, 550, }"
290 register "controls.fan_perf[6]" = "{ 30, 2337, 30, 300, }"
291 register "controls.fan_perf[7]" = "{ 20, 1608, 15, 150, }"
292 register "controls.fan_perf[8]" = "{ 10, 800, 10, 100, }"
293 register "controls.fan_perf[9]" = "{ 0, 0, 0, 50, }"
294
295 # Fan options
296 register "options.fan.fine_grained_control" = "1"
297 register "options.fan.step_size" = "2"
298
299 device generic 0 on end
300 end
Felix Singerd571ea22024-01-17 21:51:07 +0100301 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600302 device ref xhci on
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500303 chip drivers/usb/acpi
304 device usb 0.0 on
305 chip drivers/usb/acpi
306 register "desc" = ""USB2 Type-A Front Left""
307 register "type" = "UPC_TYPE_A"
308 register "group" = "ACPI_PLD_GROUP(0, 0)"
309 device usb 2.0 on end
310 end
311 chip drivers/usb/acpi
312 register "desc" = ""USB2 Type-C Port Rear""
313 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
314 register "group" = "ACPI_PLD_GROUP(1, 3)"
315 device usb 2.1 on end
316 end
317 chip drivers/usb/acpi
318 register "desc" = ""USB2 Type-A Front Right""
319 register "type" = "UPC_TYPE_A"
320 register "group" = "ACPI_PLD_GROUP(0, 1)"
321 device usb 2.2 on end
322 end
323 chip drivers/usb/acpi
324 register "desc" = ""USB2 Type-A Rear Right""
325 register "type" = "UPC_TYPE_A"
326 register "group" = "ACPI_PLD_GROUP(1, 2)"
327 device usb 2.3 on end
328 end
329 chip drivers/usb/acpi
330 register "desc" = ""USB2 Type-A Rear Middle""
331 register "type" = "UPC_TYPE_A"
332 register "group" = "ACPI_PLD_GROUP(1, 1)"
333 device usb 2.4 on end
334 end
335 chip drivers/usb/acpi
336 register "desc" = ""USB2 Type-A Rear Left""
337 register "type" = "UPC_TYPE_A"
338 register "group" = "ACPI_PLD_GROUP(1, 0)"
339 device usb 2.5 on end
340 end
341 chip drivers/usb/acpi
342 device usb 2.6 off end
343 end
344 chip drivers/usb/acpi
345 register "desc" = ""USB3 Type-A Front Left""
346 register "type" = "UPC_TYPE_USB3_A"
347 register "group" = "ACPI_PLD_GROUP(0, 0)"
348 device usb 3.0 on end
349 end
350 chip drivers/usb/acpi
351 register "desc" = ""USB3 Type-A Front Right""
352 register "type" = "UPC_TYPE_USB3_A"
353 register "group" = "ACPI_PLD_GROUP(0, 1)"
354 device usb 3.1 on end
355 end
356 chip drivers/usb/acpi
357 register "desc" = ""USB3 Type-A Rear Right""
358 register "type" = "UPC_TYPE_USB3_A"
359 register "group" = "ACPI_PLD_GROUP(1, 2)"
360 device usb 3.2 on end
361 end
362 chip drivers/usb/acpi
363 register "desc" = ""USB3 Type-C Rear""
364 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
365 register "group" = "ACPI_PLD_GROUP(1, 3)"
366 device usb 3.3 on end
367 end
368 chip drivers/usb/acpi
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500369 # USB3 Port 5 is not populated
370 device usb 3.4 off end
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500371 end
372 chip drivers/usb/acpi
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500373 register "desc" = ""USB3 M.2 HDMI-to-USB""
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500374 register "type" = "UPC_TYPE_USB3_A"
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500375 register "group" = "ACPI_PLD_GROUP(2, 0)"
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500376 device usb 3.5 on end
377 end
378 end
379 end
Felix Singerd571ea22024-01-17 21:51:07 +0100380 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600381 device ref i2c2 on
Felix Singerd571ea22024-01-17 21:51:07 +0100382 # PCON PS175
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500383 chip drivers/i2c/generic
384 register "hid" = ""1AF80175""
385 register "name" = ""PS17""
386 register "desc" = ""Parade PS175""
Matt DeVillier4f86e1d2023-09-20 16:30:06 -0500387 device i2c 4a hidden end
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500388 end
Felix Singerd571ea22024-01-17 21:51:07 +0100389 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600390 device ref i2c3 on
Felix Singerd571ea22024-01-17 21:51:07 +0100391 # Realtek RTD2142
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500392 chip drivers/i2c/generic
393 register "hid" = ""10EC2142""
394 register "name" = ""RTD2""
395 register "desc" = ""Realtek RTD2142""
Matt DeVillier4f86e1d2023-09-20 16:30:06 -0500396 device i2c 4a hidden end
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500397 end
Felix Singerd571ea22024-01-17 21:51:07 +0100398 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600399 device ref i2c4 on
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500400 chip drivers/i2c/generic
401 register "hid" = ""10EC5682""
402 register "name" = ""RT58""
403 register "desc" = ""Realtek RT5682""
404 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_H0)"
405 register "property_count" = "1"
406 # Set the jd_src to RT5668_JD1 for jack detection
407 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
408 register "property_list[0].name" = ""realtek,jd-src""
409 register "property_list[0].integer" = "1"
410 device i2c 1a on end
411 end
Felix Singerd571ea22024-01-17 21:51:07 +0100412 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600413 device ref pcie_rp7 on
Felix Singerd571ea22024-01-17 21:51:07 +0100414 # LAN
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500415 chip drivers/net # RTL8111H Ethernet NIC
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500416 register "customized_leds" = "0x05af"
417 register "wake" = "GPE0_DW1_07" # GPP_C7
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500418 register "device_index" = "0"
Alexis Savery8ba64cd2023-08-30 20:11:34 +0000419 register "enable_aspm_l1_2" = "1"
Matt DeVillierf03b8fc2023-11-19 16:12:56 -0600420 device pci 00.0 on end
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500421 end
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500422 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600423 device ref pcie_rp8 on
Felix Singerd571ea22024-01-17 21:51:07 +0100424 # WLAN
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500425 register "PcieRpSlotImplemented[7]" = "1" # M.2 Slot
426 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600427 device ref pcie_rp9 on
Felix Singerd571ea22024-01-17 21:51:07 +0100428 # TPU
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500429 register "PcieRpSlotImplemented[8]" = "1" # M.2 Slot
430 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600431 device ref pcie_rp11 on
Felix Singerd571ea22024-01-17 21:51:07 +0100432 # TPU1
Joe Tessler549abfb2021-03-19 16:44:17 +0800433 register "PcieRpSlotImplemented[10]" = "1" # M.2 Slot
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600434 end
435 device ref pcie_rp12 on
Felix Singerd571ea22024-01-17 21:51:07 +0100436 # TPU0
Joe Tessler549abfb2021-03-19 16:44:17 +0800437 register "PcieRpSlotImplemented[11]" = "1" # M.2 Slot
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600438 end
439 device ref pcie_rp13 on
Felix Singerd571ea22024-01-17 21:51:07 +0100440 # X4 i350 NIC
Joe Tessler0b04d1bf2020-12-08 14:50:55 -0500441 register "PcieRpSlotImplemented[12]" = "0" # Built-in
442 end
Matt DeVillier3f4c8302024-01-21 20:39:03 -0600443 device ref pcie_rp14 on end # non-root
444 device ref pcie_rp15 on end # non-root
445 device ref pcie_rp16 on end # non-root
Matt Ziegelbaum06bff722020-11-06 21:42:10 -0500446 end
447
448 # VR Settings Configuration for 4 Domains
449 #+----------------+-------+-------+-------+-------+
450 #| Domain/Setting | SA | IA | GTUS | GTS |
451 #+----------------+-------+-------+-------+-------+
452 #| Psi1Threshold | 20A | 20A | 20A | 20A |
453 #| Psi2Threshold | 5A | 5A | 5A | 5A |
454 #| Psi3Threshold | 1A | 1A | 1A | 1A |
455 #| Psi3Enable | 1 | 1 | 1 | 1 |
456 #| Psi4Enable | 1 | 1 | 1 | 1 |
457 #| ImonSlope | 0 | 0 | 0 | 0 |
458 #| ImonOffset | 0 | 0 | 0 | 0 |
459 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
460 #| AcLoadline | 10.04 | 1.81 | 3.19 | 3.19 |
461 #| DcLoadline | 10.04 | 1.81 | 3.19 | 3.19 |
462 #+----------------+-------+-------+-------+-------+
463 #Note: IccMax settings are moved to SoC code
464 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
465 .vr_config_enable = 1,
466 .psi1threshold = VR_CFG_AMP(20),
467 .psi2threshold = VR_CFG_AMP(5),
468 .psi3threshold = VR_CFG_AMP(1),
469 .psi3enable = 1,
470 .psi4enable = 1,
471 .imon_slope = 0x0,
472 .imon_offset = 0x0,
473 .icc_max = 0,
474 .voltage_limit = 1520,
475 .ac_loadline = 1004,
476 .dc_loadline = 1004,
477 }"
478
479 register "domain_vr_config[VR_IA_CORE]" = "{
480 .vr_config_enable = 1,
481 .psi1threshold = VR_CFG_AMP(20),
482 .psi2threshold = VR_CFG_AMP(5),
483 .psi3threshold = VR_CFG_AMP(1),
484 .psi3enable = 1,
485 .psi4enable = 1,
486 .imon_slope = 0x0,
487 .imon_offset = 0x0,
488 .icc_max = 0,
489 .voltage_limit = 1520,
490 .ac_loadline = 181,
491 .dc_loadline = 181,
492 }"
493
494 register "domain_vr_config[VR_GT_UNSLICED]" = "{
495 .vr_config_enable = 1,
496 .psi1threshold = VR_CFG_AMP(20),
497 .psi2threshold = VR_CFG_AMP(5),
498 .psi3threshold = VR_CFG_AMP(1),
499 .psi3enable = 1,
500 .psi4enable = 1,
501 .imon_slope = 0x0,
502 .imon_offset = 0x0,
503 .icc_max = 0,
504 .voltage_limit = 1520,
505 .ac_loadline = 319,
506 .dc_loadline = 319,
507 }"
508
509 register "domain_vr_config[VR_GT_SLICED]" = "{
510 .vr_config_enable = 1,
511 .psi1threshold = VR_CFG_AMP(20),
512 .psi2threshold = VR_CFG_AMP(5),
513 .psi3threshold = VR_CFG_AMP(1),
514 .psi3enable = 1,
515 .psi4enable = 1,
516 .imon_slope = 0x0,
517 .imon_offset = 0x0,
518 .icc_max = 0,
519 .voltage_limit = 1520,
520 .ac_loadline = 319,
521 .dc_loadline = 319,
522 }"
523
524end