blob: 2229af7d1d1dabb5d12dd5f0c81f599cb7b97cfe [file] [log] [blame]
Julia Tsai1d68d6d2020-07-31 14:35:03 +08001chip soc/intel/tigerlake
Kevin Change3848262020-11-11 10:43:24 +08002 register "DdiPort1Hpd" = "0"
3 register "DdiPort2Hpd" = "0"
Kevin Chang3c0b52f2020-11-20 09:31:17 +08004 register "TcssAuxOri" = "1"
Tim Wawrzynczak59a621a2021-03-22 10:43:42 -06005 register "typec_aux_bias_pads[0]" = "{.pad_auxp_dc = GPP_E10, .pad_auxn_dc = GPP_E13}"
6
Stanley Wue9eecc92020-11-30 19:43:52 +08007 #+-------------------+---------------------------+
8 #| Field | Value |
9 #+-------------------+---------------------------+
Stanley Wue9eecc92020-11-30 19:43:52 +080010 #| GSPI0 | cr50 TPM. Early init is |
11 #| | required to set up a BAR |
12 #| | for TPM communication |
13 #| | before memory is up |
14 #| GSPI1 | Fingerprint MCU |
15 #| I2C0 | Audio |
16 #| I2C1 | Touchscreen |
17 #| I2C5 | Trackpad |
18 #+-------------------+---------------------------+
19 register "common_soc_config" = "{
Stanley Wue9eecc92020-11-30 19:43:52 +080020 .gspi[0] = {
21 .speed_mhz = 1,
22 .early_init = 1,
23 },
24 .i2c[0] = {
25 .speed = I2C_SPEED_FAST,
26 },
27 .i2c[1] = {
28 .speed = I2C_SPEED_FAST,
29 },
30 .i2c[5] = {
31 .speed = I2C_SPEED_FAST,
32 .speed_config[0] = {
33 .speed = I2C_SPEED_FAST,
34 .scl_lcnt = 163,
35 .scl_hcnt = 75,
36 .sda_hold = 36,
37 },
38 },
39 }"
Julia Tsaid230dd22020-07-31 18:51:03 +080040 # I2C Port Config
41 register "SerialIoI2cMode" = "{
42 [PchSerialIoIndexI2C0] = PchSerialIoPci,
43 [PchSerialIoIndexI2C1] = PchSerialIoPci,
44 [PchSerialIoIndexI2C2] = PchSerialIoDisabled,
45 [PchSerialIoIndexI2C3] = PchSerialIoDisabled,
46 [PchSerialIoIndexI2C4] = PchSerialIoDisabled,
47 [PchSerialIoIndexI2C5] = PchSerialIoPci,
48 }"
Kevin Changf005dda2021-04-23 10:12:46 +080049
50 # Acoustic settings
51 register "AcousticNoiseMitigation" = "0"
52 register "SlowSlewRate" = "SLEW_FAST_2"
53 register "FastPkgCRampDisable" = "0"
54
Julia Tsai1d68d6d2020-07-31 14:35:03 +080055 device domain 0 on
Kevin Chang4f4eba92021-04-19 14:23:18 +080056 device ref dptf on
57 chip drivers/intel/dptf
58 ## Fan Performance Control (Percent, Speed, Noise, Power)
59 register "controls.fan_perf" = "{
60 [0] = { 90, 6700, 220, 2200, },
61 [1] = { 80, 5800, 180, 1800, },
62 [2] = { 70, 5000, 145, 1450, },
63 [3] = { 60, 4900, 115, 1150, },
64 [4] = { 50, 3838, 90, 900, },
65 [5] = { 40, 2904, 55, 550, },
66 [6] = { 30, 2337, 30, 300, },
67 [7] = { 20, 1608, 15, 150, },
68 [8] = { 10, 800, 10, 100, },
69 [9] = { 0, 0, 0, 50, }}"
70
71 register "options.fan.fine_grained_control" = "1"
72 register "options.fan.step_size" = "2"
73 device generic 0 on
74 probe THERMAL FAN_TABLE_0
75 end
76 end
77 chip drivers/intel/dptf
78 ## Active Policy
79 register "policies.active" = "{
80 [0] = {.target = DPTF_CPU,
81 .thresholds = {TEMP_PCT(85, 90),
82 TEMP_PCT(80, 69),
83 TEMP_PCT(75, 56),
84 TEMP_PCT(70, 46),
85 TEMP_PCT(65, 36),}},
86 [1] = {.target = DPTF_TEMP_SENSOR_0,
87 .thresholds = {TEMP_PCT(50, 90),
88 TEMP_PCT(47, 69),
89 TEMP_PCT(45, 56),
90 TEMP_PCT(42, 46),
91 TEMP_PCT(39, 36),}},
92 [2] = {.target = DPTF_TEMP_SENSOR_1,
93 .thresholds = {TEMP_PCT(50, 90),
94 TEMP_PCT(47, 69),
95 TEMP_PCT(45, 56),
96 TEMP_PCT(42, 46),
97 TEMP_PCT(39, 36),}},
98 [3] = {.target = DPTF_TEMP_SENSOR_2,
99 .thresholds = {TEMP_PCT(50, 90),
100 TEMP_PCT(47, 69),
101 TEMP_PCT(45, 56),
102 TEMP_PCT(42, 46),
103 TEMP_PCT(39, 36),}},
104 [4] = {.target = DPTF_TEMP_SENSOR_3,
105 .thresholds = {TEMP_PCT(50, 90),
106 TEMP_PCT(47, 69),
107 TEMP_PCT(45, 56),
108 TEMP_PCT(42, 46),
109 TEMP_PCT(39, 36),}}}"
110
111 ## Passive Policy
112 register "policies.passive" = "{
113 [0] = DPTF_PASSIVE(CPU, CPU, 95, 5000),
114 [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 65, 6000),
115 [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_0, 65, 6000),
116 [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 65, 6000),
117 [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 65, 6000)}"
118
119 ## Critical Policy
120 register "policies.critical" = "{
121 [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
122 [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 75, SHUTDOWN),
123 [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 75, SHUTDOWN),
124 [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 75, SHUTDOWN),
125 [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 75, SHUTDOWN)}"
126
127 ## Power Limits Control
128 # 3-15W PL1 in 200mW increments, avg over 28-32s interval
129 # PL2 ranges from 15 to 60W, avg over 28-32s interval
130 register "controls.power_limits" = "{
131 .pl1 = {.min_power = 3000,
132 .max_power = 15000,
133 .time_window_min = 28 * MSECS_PER_SEC,
134 .time_window_max = 32 * MSECS_PER_SEC,
135 .granularity = 200,},
136 .pl2 = {.min_power = 60000,
137 .max_power = 60000,
138 .time_window_min = 28 * MSECS_PER_SEC,
139 .time_window_max = 32 * MSECS_PER_SEC,
140 .granularity = 1000,}}"
141
142 ## Charger Performance Control (Control, mA)
143 register "controls.charger_perf" = "{
144 [0] = { 255, 1700 },
145 [1] = { 24, 1500 },
146 [2] = { 16, 1000 },
147 [3] = { 8, 500 }}"
148
149 ## Fan Performance Control (Percent, Speed, Noise, Power)
150 register "controls.fan_perf" = "{
151 [0] = { 100, 5800, 220, 2200, },
152 [1] = { 90, 5700, 180, 1800, },
153 [2] = { 80, 5050, 145, 1450, },
154 [3] = { 70, 4800, 115, 1150, },
155 [4] = { 65, 4500, 90, 900, },
156 [5] = { 60, 4200, 55, 550, },
157 [6] = { 55, 3800, 30, 300, },
158 [7] = { 50, 3508, 15, 150, },
159 [8] = { 45, 3400, 10, 100, },
160 [9] = { 0, 0, 0, 50, }}"
161
162 register "options.fan.fine_grained_control" = "1"
163 register "options.fan.step_size" = "2"
164 device generic 1 on
165 probe THERMAL FAN_TABLE_1
166 end
167 end
168 end
Duncan Laurieb0e169a2020-07-29 16:33:10 -0700169 device ref i2c0 on
Julia Tsaid230dd22020-07-31 18:51:03 +0800170 chip drivers/i2c/generic
171 register "hid" = ""10EC5682""
172 register "name" = ""RT58""
173 register "desc" = ""Headset Codec""
174 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_F8)"
175 # Set the jd_src to RT5668_JD1 for jack detection
176 register "property_count" = "1"
177 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
178 register "property_list[0].name" = ""realtek,jd-src""
179 register "property_list[0].integer" = "1"
Stanley Wu64f7bdf2020-10-30 12:01:20 +0800180 device i2c 1a on
181 probe AUDIO RT1011_ALC5682I_I2S
182 end
183 end
184 chip drivers/i2c/rt1011
185 register "desc" = ""Realtek SPK AMP L""
186 register "uid" = "0"
187 register "name" = ""RTL""
188 device i2c 38 on
189 probe AUDIO RT1011_ALC5682I_I2S
190 end
191 end
192 chip drivers/i2c/rt1011
193 register "desc" = ""Realtek SPK AMP R""
194 register "uid" = "1"
195 register "name" = ""RTR""
196 device i2c 39 on
197 probe AUDIO RT1011_ALC5682I_I2S
198 end
Julia Tsaid230dd22020-07-31 18:51:03 +0800199 end
Duncan Laurieb0e169a2020-07-29 16:33:10 -0700200 end
201 device ref i2c1 on
Julia Tsaid230dd22020-07-31 18:51:03 +0800202 chip drivers/i2c/hid
203 register "generic.hid" = ""GDIX0000""
204 register "generic.desc" = ""Goodix Touchscreen""
Karthikeyan Ramasubramanian029e7362020-11-10 13:41:31 -0700205 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier0d54a652022-12-21 08:44:19 -0600206 register "generic.detect" = "1"
Julia Tsaid230dd22020-07-31 18:51:03 +0800207 register "generic.reset_gpio" =
208 "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C10)"
Kevin Changac91fca2021-03-23 16:58:09 +0800209 # Parameter T5 >= 180ms
210 register "generic.reset_delay_ms" = "180"
Julia Tsaid230dd22020-07-31 18:51:03 +0800211 # Parameter T2 >= 1ms
212 register "generic.reset_off_delay_ms" = "3"
213 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A8)"
Stanley Wue9eecc92020-11-30 19:43:52 +0800214 # Parameter T1 >= 20ms
215 register "generic.enable_delay_ms" = "20"
Julia Tsaid230dd22020-07-31 18:51:03 +0800216 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E3)"
217 # Parameter T4 >= 1ms
218 register "generic.stop_off_delay_ms" = "1"
219 register "generic.has_power_resource" = "1"
220 register "hid_desc_reg_offset" = "0x01"
Stanley Wu0c3845d2020-11-05 21:10:39 +0800221 device i2c 5d on end
222 end
223 chip drivers/i2c/generic
224 register "hid" = ""ELAN0001""
225 register "desc" = ""ELAN Touchscreen""
Kevin Changd08da262021-04-27 17:26:49 +0800226 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier0d54a652022-12-21 08:44:19 -0600227 register "detect" = "1"
Stanley Wu0c3845d2020-11-05 21:10:39 +0800228 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C10)"
229 register "reset_delay_ms" = "20"
230 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A8)"
231 register "enable_delay_ms" = "1"
232 register "has_power_resource" = "1"
233 device i2c 10 on end
Julia Tsaid230dd22020-07-31 18:51:03 +0800234 end
Duncan Laurieb0e169a2020-07-29 16:33:10 -0700235 end
236 device ref i2c5 on
Julia Tsaid230dd22020-07-31 18:51:03 +0800237 chip drivers/i2c/generic
238 register "hid" = ""ELAN0000""
239 register "desc" = ""ELAN Touchpad""
240 register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E15_IRQ)"
241 register "wake" = "GPE0_DW2_15"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500242 register "detect" = "1"
Julia Tsaid230dd22020-07-31 18:51:03 +0800243 device i2c 15 on end
244 end
Stanley Wu0c3845d2020-11-05 21:10:39 +0800245 chip drivers/i2c/hid
Matt DeVillier74efac12022-12-19 15:17:37 -0600246 register "generic.hid" = ""SYNA0000""
247 register "generic.cid" = ""ACPI0C50""
Stanley Wu0c3845d2020-11-05 21:10:39 +0800248 register "generic.desc" = ""Synaptics Touchpad""
249 register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E15_IRQ)"
250 register "generic.wake" = "GPE0_DW2_15"
Matt DeVillier2cf52d82022-09-01 15:09:24 -0500251 register "generic.detect" = "1"
Stanley Wu0c3845d2020-11-05 21:10:39 +0800252 register "hid_desc_reg_offset" = "0x20"
253 device i2c 0x2c on end
254 end
Duncan Laurieb0e169a2020-07-29 16:33:10 -0700255 end
Kevin Change3848262020-11-11 10:43:24 +0800256 device ref pch_espi on
257 chip ec/google/chromeec
258 use conn0 as mux_conn[0]
259 use conn1 as mux_conn[1]
260 device pnp 0c09.0 on end
261 end
262 end
Furquan Shaikhbf42db62021-08-24 13:16:35 -0700263 device ref hda on
264 probe AUDIO MAX98357_ALC5682I_I2S
265 probe AUDIO MAX98373_ALC5682I_I2S
266 probe AUDIO MAX98373_ALC5682_SNDW
267 probe AUDIO MAX98373_ALC5682I_I2S_UP4
268 probe AUDIO MAX98360_ALC5682I_I2S
Matt DeVillierba9f0c32022-12-20 12:35:05 -0600269 probe AUDIO RT1011_ALC5682I_I2S
Furquan Shaikhbf42db62021-08-24 13:16:35 -0700270 end
Kevin Chang1cfc3a62020-12-16 11:25:16 +0800271 device ref pcie_rp9 on
272 chip soc/intel/common/block/pcie/rtd3
273 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A22)"
274 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
275 register "srcclk_pin" = "0"
276 device generic 0 on end
277 end
278 end
Kevin Change3848262020-11-11 10:43:24 +0800279 device ref pmc hidden
280 # The pmc_mux chip driver is a placeholder for the
281 # PMC.MUX device in the ACPI hierarchy.
282 chip drivers/intel/pmc_mux
283 device generic 0 on
284 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100285 use usb2_port9 as usb2_port
286 use tcss_usb3_port1 as usb3_port
Kevin Chang3c0b52f2020-11-20 09:31:17 +0800287 # SBU & HSL follows CC
Kevin Change3848262020-11-11 10:43:24 +0800288 device generic 0 alias conn0 on end
289 end
290 chip drivers/intel/pmc_mux/conn
Reka Normand448f8c2021-12-09 12:09:27 +1100291 use usb2_port4 as usb2_port
292 use tcss_usb3_port2 as usb3_port
Kevin Change3848262020-11-11 10:43:24 +0800293 # SBU is fixed, HSL follows CC
294 register "sbu_orientation" = "TYPEC_ORIENTATION_NORMAL"
295 device generic 1 alias conn1 on end
296 end
297 end
298 end
299 end
Duncan Laurief78ade32020-10-27 11:06:02 -0700300 device ref north_xhci on
301 chip drivers/usb/acpi
302 device ref tcss_root_hub on
303 chip drivers/usb/acpi
304 register "desc" = ""USB3 Type-C Port C0 (MLB)""
305 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
306 register "group" = "ACPI_PLD_GROUP(3, 2)"
307 device ref tcss_usb3_port1 on end
308 end
309 chip drivers/usb/acpi
310 register "desc" = ""USB3 Type-C Port C1 (DB)""
311 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
312 register "group" = "ACPI_PLD_GROUP(2, 2)"
313 device ref tcss_usb3_port2 on
314 probe DB_USB USB3_NO_A
315 end
316 end
317 end
318 end
319 end
320 device ref south_xhci on
Felix Singerbc8f5402024-06-27 22:58:52 +0200321 register "usb2_ports" = "{
322 [0] = USB2_PORT_MID(OC_SKIP), // Type-A Port A0
323 [3] = USB2_PORT_TYPE_C(OC_SKIP), // Type-A / Type-C C1
324 [4] = USB2_PORT_MID(OC_SKIP), // M.2 Camera
325 [8] = USB2_PORT_TYPE_C(OC_SKIP), // Type-A / Type-C C0
326 [9] = USB2_PORT_MID(OC_SKIP), // M.2 Bluetooth
327 }"
328
329 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC1)" # USB3/2 Type A port A0
330
Duncan Laurief78ade32020-10-27 11:06:02 -0700331 chip drivers/usb/acpi
332 device ref xhci_root_hub on
333 chip drivers/usb/acpi
334 register "desc" = ""USB2 Type-A Port A0 (MLB)""
335 register "type" = "UPC_TYPE_A"
336 register "group" = "ACPI_PLD_GROUP(1, 1)"
337 device ref usb2_port1 on end
338 end
339 chip drivers/usb/acpi
340 register "desc" = ""USB2 Type-C Port C1 (DB)""
341 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
342 register "group" = "ACPI_PLD_GROUP(2, 1)"
343 device ref usb2_port4 on
344 probe DB_USB USB3_NO_A
345 end
346 end
347 chip drivers/usb/acpi
348 register "desc" = ""USB2 Camera""
349 register "type" = "UPC_TYPE_INTERNAL"
350 device ref usb2_port5 on end
351 end
352 chip drivers/usb/acpi
353 register "desc" = ""USB2 Type-C Port C0 (MLB)""
354 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
355 register "group" = "ACPI_PLD_GROUP(3, 1)"
356 device ref usb2_port9 on end
357 end
358 chip drivers/usb/acpi
359 register "desc" = ""USB2 Bluetooth""
360 register "type" = "UPC_TYPE_INTERNAL"
361 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A13)"
362 device ref usb2_port10 on end
363 end
364 chip drivers/usb/acpi
365 register "desc" = ""USB3 Type-A Port A0 (MLB)""
366 register "type" = "UPC_TYPE_USB3_A"
367 register "group" = "ACPI_PLD_GROUP(1, 2)"
368 device ref usb3_port1 on end
369 end
370 end
371 end
372 end
Julia Tsai1d68d6d2020-07-31 14:35:03 +0800373 end
Julia Tsai1d68d6d2020-07-31 14:35:03 +0800374end