blob: e5220414eafb9804f0dd9bc848298c503a529cbf [file] [log] [blame]
Duncan Laurieba49c092018-03-27 13:34:40 -07001chip soc/intel/skylake
2
Matt DeVillier8f424722019-11-27 22:55:43 -06003 # IGD Displays
4 register "gfx" = "GMA_STATIC_DISPLAYS(0)"
5
Michael Niewöhner97e21d32020-12-28 00:49:33 +01006 register "panel_cfg" = "{
7 .up_delay_ms = 200,
8 .down_delay_ms = 50,
9 .cycle_delay_ms = 600,
10 .backlight_on_delay_ms = 1,
11 .backlight_off_delay_ms = 200,
12 .backlight_pwm_hz = 200,
13 }"
Matt DeVillier76ea54e2019-12-29 12:09:31 -060014
Duncan Laurieba49c092018-03-27 13:34:40 -070015 # Deep Sx states
16 register "deep_s3_enable_ac" = "0"
17 register "deep_s3_enable_dc" = "0"
18 register "deep_s5_enable_ac" = "1"
19 register "deep_s5_enable_dc" = "1"
20 register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN | DSX_EN_WAKE_PIN | DSX_DIS_AC_PRESENT_PD"
21
22 # GPE configuration
23 # Note that GPE events called out in ASL code rely on this
24 # route. i.e. If this route changes then the affected GPE
25 # offset bits also need to be changed.
Caveh Jalali2261e912018-04-25 20:08:52 -070026 register "gpe0_dw0" = "GPP_A"
Caveh Jalaliab770082019-02-01 20:21:26 -080027 register "gpe0_dw1" = "GPP_B"
Duncan Laurieba49c092018-03-27 13:34:40 -070028 register "gpe0_dw2" = "GPP_E"
29
30 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
31 register "gen1_dec" = "0x00fc0801"
32 register "gen2_dec" = "0x000c0201"
33 # EC memory map range is 0x900-0x9ff
34 register "gen3_dec" = "0x00fc0901"
35
36 # Enable DPTF
37 register "dptf_enable" = "1"
38
39 # Enable S0ix
Felix Singer743242b2023-06-16 01:33:25 +020040 register "s0ix_enable" = true
Duncan Laurieba49c092018-03-27 13:34:40 -070041
Caveh Jalali6f7db072018-09-07 17:39:01 -070042 # Disable Command TriState
43 register "CmdTriStateDis" = "1"
44
Duncan Laurieba49c092018-03-27 13:34:40 -070045 # FSP Configuration
Duncan Laurieba49c092018-03-27 13:34:40 -070046 register "SataSalpSupport" = "0"
Duncan Laurieba49c092018-03-27 13:34:40 -070047 register "SataPortsEnable[0]" = "0"
Duncan Laurieba49c092018-03-27 13:34:40 -070048 register "DspEnable" = "1"
49 register "IoBufferOwnership" = "3"
Duncan Laurieba49c092018-03-27 13:34:40 -070050 register "SsicPortEnable" = "0"
Duncan Laurieba49c092018-03-27 13:34:40 -070051 register "ScsEmmcHs400Enabled" = "1"
Duncan Laurieba49c092018-03-27 13:34:40 -070052 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020053 register "SaGv" = "SaGv_Enabled"
Duncan Laurieba49c092018-03-27 13:34:40 -070054 register "PmConfigSlpS3MinAssert" = "2" # 50ms
55 register "PmConfigSlpS4MinAssert" = "1" # 1s
56 register "PmConfigSlpSusMinAssert" = "1" # 500ms
57 register "PmConfigSlpAMinAssert" = "3" # 2s
Duncan Laurieba49c092018-03-27 13:34:40 -070058
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +053059 register "power_limits_config" = "{
60 .tdp_pl1_override = 7,
61 .tdp_pl2_override = 15,
62 .psys_pmax = 45,
63 }"
Duncan Laurieba49c092018-03-27 13:34:40 -070064 register "tcc_offset" = "10"
Duncan Laurieba49c092018-03-27 13:34:40 -070065
Duncan Laurieba49c092018-03-27 13:34:40 -070066 # VR Settings Configuration for 4 Domains
67 #+----------------+-------+-------+-------+-------+
68 #| Domain/Setting | SA | IA | GTUS | GTS |
69 #+----------------+-------+-------+-------+-------+
70 #| Psi1Threshold | 20A | 20A | 20A | 20A |
71 #| Psi2Threshold | 2A | 2A | 2A | 2A |
72 #| Psi3Threshold | 1A | 1A | 1A | 1A |
73 #| Psi3Enable | 1 | 1 | 1 | 1 |
74 #| Psi4Enable | 1 | 1 | 1 | 1 |
75 #| ImonSlope | 0 | 0 | 0 | 0 |
76 #| ImonOffset | 0 | 0 | 0 | 0 |
Caveh Jalaliea45ecf2018-08-01 18:53:29 -070077 #| IccMax | set by SoC code per CPU SKU |
Duncan Laurieba49c092018-03-27 13:34:40 -070078 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
Gaggery Tsai56d66ae2019-04-18 08:54:38 -070079 #| AcLoadline | 16.20 | 5.24 | 4.62 | 4.62 |
80 #| DcLoadline | 14.2 | 4.94 | 4.25 | 4.25 |
Duncan Laurieba49c092018-03-27 13:34:40 -070081 #+----------------+-------+-------+-------+-------+
82 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
83 .vr_config_enable = 1,
84 .psi1threshold = VR_CFG_AMP(20),
85 .psi2threshold = VR_CFG_AMP(2),
86 .psi3threshold = VR_CFG_AMP(1),
87 .psi3enable = 1,
88 .psi4enable = 1,
89 .imon_slope = 0x0,
90 .imon_offset = 0x0,
Duncan Laurieba49c092018-03-27 13:34:40 -070091 .voltage_limit = 1520,
Gaggery Tsai56d66ae2019-04-18 08:54:38 -070092 .ac_loadline = 1620,
Duncan Laurieba49c092018-03-27 13:34:40 -070093 .dc_loadline = 1420,
94 }"
95
96 register "domain_vr_config[VR_IA_CORE]" = "{
97 .vr_config_enable = 1,
98 .psi1threshold = VR_CFG_AMP(20),
99 .psi2threshold = VR_CFG_AMP(2),
100 .psi3threshold = VR_CFG_AMP(1),
101 .psi3enable = 1,
102 .psi4enable = 1,
103 .imon_slope = 0x0,
104 .imon_offset = 0x0,
Duncan Laurieba49c092018-03-27 13:34:40 -0700105 .voltage_limit = 1520,
Gaggery Tsai56d66ae2019-04-18 08:54:38 -0700106 .ac_loadline = 524,
107 .dc_loadline = 494,
Duncan Laurieba49c092018-03-27 13:34:40 -0700108 }"
109
110 register "domain_vr_config[VR_GT_UNSLICED]" = "{
111 .vr_config_enable = 1,
112 .psi1threshold = VR_CFG_AMP(20),
113 .psi2threshold = VR_CFG_AMP(2),
114 .psi3threshold = VR_CFG_AMP(1),
115 .psi3enable = 1,
116 .psi4enable = 1,
117 .imon_slope = 0x0,
118 .imon_offset = 0x0,
Duncan Laurieba49c092018-03-27 13:34:40 -0700119 .voltage_limit = 1520,
Gaggery Tsai56d66ae2019-04-18 08:54:38 -0700120 .ac_loadline = 462,
121 .dc_loadline = 425,
Duncan Laurieba49c092018-03-27 13:34:40 -0700122 }"
123
124 register "domain_vr_config[VR_GT_SLICED]" = "{
125 .vr_config_enable = 1,
126 .psi1threshold = VR_CFG_AMP(20),
127 .psi2threshold = VR_CFG_AMP(2),
128 .psi3threshold = VR_CFG_AMP(1),
129 .psi3enable = 1,
130 .psi4enable = 1,
131 .imon_slope = 0x0,
132 .imon_offset = 0x0,
Duncan Laurieba49c092018-03-27 13:34:40 -0700133 .voltage_limit = 1520,
Gaggery Tsai56d66ae2019-04-18 08:54:38 -0700134 .ac_loadline = 462,
135 .dc_loadline = 425,
Duncan Laurieba49c092018-03-27 13:34:40 -0700136 }"
137
Caveh Jalali41979d82018-09-06 19:55:21 -0700138 # PCIe Root port 1 with SRCCLKREQ1# (WLAN)
Duncan Laurieba49c092018-03-27 13:34:40 -0700139 register "PcieRpEnable[0]" = "1"
140 register "PcieRpClkReqSupport[0]" = "1"
141 register "PcieRpClkReqNumber[0]" = "1"
142 register "PcieRpClkSrcNumber[0]" = "1"
143 register "PcieRpAdvancedErrorReporting[0]" = "1"
144 register "PcieRpLtrEnable[0]" = "1"
145
146 # USB 2.0
147 register "usb2_ports[0]" = "USB2_PORT_LONG(OC0)" # Type-C Port 1
Duncan Laurieba49c092018-03-27 13:34:40 -0700148 register "usb2_ports[2]" = "USB2_PORT_SHORT(OC_SKIP)" # Bluetooth
149 register "usb2_ports[4]" = "USB2_PORT_LONG(OC1)" # Type-C Port 2
Duncan Laurieba49c092018-03-27 13:34:40 -0700150
151 # USB 3.0
152 register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC0)" # Type-C Port 1
153 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC1)" # Type-C Port 2
Duncan Laurieba49c092018-03-27 13:34:40 -0700154
Subrata Banikc4986eb2018-05-09 14:55:09 +0530155 # Intel Common SoC Config
156 #+-------------------+---------------------------+
157 #| Field | Value |
158 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530159 #| GSPI0 | cr50 TPM. Early init is |
160 #| | required to set up a BAR |
161 #| | for TPM communication |
162 #| | before memory is up |
163 #| I2C0 | Touchscreen |
164 #| I2C2 | Trackpad |
165 #| I2C3 | Camera |
166 #| I2C4 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530167 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530168 #+-------------------+---------------------------+
169 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530170 .i2c[0] = {
171 .speed = I2C_SPEED_FAST,
172 .rise_time_ns = 98,
173 .fall_time_ns = 38,
174 },
175 .i2c[2] = {
Caveh Jalali8b400b82019-02-01 21:15:37 -0800176 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530177 .speed_config[0] = {
Caveh Jalali8b400b82019-02-01 21:15:37 -0800178 .speed = I2C_SPEED_FAST,
179 .scl_lcnt = 186,
180 .scl_hcnt = 93,
181 .sda_hold = 36,
182 },
Subrata Banikc4986eb2018-05-09 14:55:09 +0530183 },
184 .i2c[3] = {
185 .speed = I2C_SPEED_FAST,
186 .rise_time_ns = 98,
187 .fall_time_ns = 38,
188 },
189 .i2c[4] = {
190 .speed = I2C_SPEED_FAST,
191 .speed_config[0] = {
192 .speed = I2C_SPEED_FAST,
193 .scl_lcnt = 176,
194 .scl_hcnt = 95,
195 .sda_hold = 36,
196 }
197 },
198 .gspi[0] = {
199 .speed_mhz = 1,
200 .early_init = 1,
201 },
Subrata Banikc077b222019-08-01 10:50:35 +0530202 .pch_thermal_trip = 75,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530203 }"
Duncan Laurieba49c092018-03-27 13:34:40 -0700204 # Touchscreen
205 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
Duncan Laurieba49c092018-03-27 13:34:40 -0700206
207 # Trackpad
208 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
Duncan Laurieba49c092018-03-27 13:34:40 -0700209
210 # Camera
211 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
Duncan Laurieba49c092018-03-27 13:34:40 -0700212
213 # Audio
214 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
Duncan Laurieba49c092018-03-27 13:34:40 -0700215
216 register "SerialIoDevMode" = "{
217 [PchSerialIoIndexI2C0] = PchSerialIoPci,
218 [PchSerialIoIndexI2C1] = PchSerialIoDisabled,
219 [PchSerialIoIndexI2C2] = PchSerialIoPci,
220 [PchSerialIoIndexI2C3] = PchSerialIoPci,
221 [PchSerialIoIndexI2C4] = PchSerialIoPci,
222 [PchSerialIoIndexI2C5] = PchSerialIoDisabled,
223 [PchSerialIoIndexSpi0] = PchSerialIoPci,
224 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
225 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
226 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
227 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
228 }"
229
Duncan Laurieba49c092018-03-27 13:34:40 -0700230 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100231 device ref system_agent on end
232 device ref igpu on end
233 device ref sa_thermal on end
234 device ref imgu on end
235 device ref ish off end
236 device ref south_xhci on
Gaggery Tsaiaa0929d2019-01-08 15:13:25 -0800237 chip drivers/usb/acpi
238 register "desc" = ""Root Hub""
239 register "type" = "UPC_TYPE_HUB"
240 device usb 0.0 on
241 chip drivers/usb/acpi
242 register "desc" = ""USB Type C Port 1""
243 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
244 device usb 2.0 on end
245 end
246 chip drivers/usb/acpi
247 register "desc" = ""Bluetooth""
248 register "type" = "UPC_TYPE_INTERNAL"
249 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E2)"
250 device usb 2.2 on end
251 end
252 chip drivers/usb/acpi
253 register "desc" = ""USB Type C Port 2""
254 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
255 device usb 2.4 on end
256 end
257 end
258 end
Marvin Evers059476d2023-12-04 02:28:25 +0100259 end
260 device ref south_xdci on end
261 device ref thermal on end
262 device ref cio on end
263 device ref i2c0 on
Caveh Jalali126ce5c2018-06-15 20:33:32 -0700264 chip drivers/i2c/hid
265 register "generic.hid" = ""ACPI0C50""
266 register "generic.desc" = ""STM Touchscreen""
267 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
268 register "generic.speed" = "I2C_SPEED_FAST"
Caveh Jalali19c0ae52018-10-01 19:37:42 -0700269 register "generic.has_power_resource" = "1"
Caveh Jalali19c0ae52018-10-01 19:37:42 -0700270 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
271 # 2ms for load switch slew + 5 ms for touchscreen
272 register "generic.enable_delay_ms" = "7"
273 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E11)"
274 register "generic.reset_delay_ms" = "20"
275 register "generic.reset_off_delay_ms" = "1"
Caveh Jalali126ce5c2018-06-15 20:33:32 -0700276 register "hid_desc_reg_offset" = "0xab"
277 device i2c 0x49 on end
278 end
Marvin Evers059476d2023-12-04 02:28:25 +0100279 end
280 device ref i2c1 off end
281 device ref i2c2 on
Caveh Jalalie7501982018-06-15 20:45:29 -0700282 chip drivers/i2c/hid
283 register "generic.hid" = ""ACPI0C50""
284 register "generic.desc" = ""ELAN Touchpad""
Karthikeyan Ramasubramanianc37e1e62020-11-10 14:54:40 -0700285 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A19_IRQ)"
Caveh Jalalie7501982018-06-15 20:45:29 -0700286 register "generic.wake" = "GPE0_DW0_23" # GPP_A23
287 register "hid_desc_reg_offset" = "0x01"
Caveh Jalali2a466cc2018-04-20 18:41:50 -0700288 device i2c 0x15 on end
289 end
Marvin Evers059476d2023-12-04 02:28:25 +0100290 end
291 device ref i2c3 on end # Camera
292 device ref heci1 on end
293 device ref heci2 off end
294 device ref csme_ider off end
295 device ref csme_ktr off end
296 device ref heci3 off end
297 device ref sata off end
298 device ref uart2 on end
299 device ref i2c5 off end
300 device ref i2c4 on
Duncan Laurieba49c092018-03-27 13:34:40 -0700301 chip drivers/i2c/max98373
302 register "vmon_slot_no" = "4"
303 register "imon_slot_no" = "5"
304 register "uid" = "0"
305 register "desc" = ""RIGHT SPEAKER AMP""
306 register "name" = ""MAXR""
307 device i2c 31 on end
308 end
309 chip drivers/i2c/max98373
310 register "vmon_slot_no" = "6"
311 register "imon_slot_no" = "7"
312 register "uid" = "1"
313 register "desc" = ""LEFT SPEAKER AMP""
314 register "name" = ""MAXL""
315 device i2c 32 on end
316 end
317 chip drivers/i2c/da7219
318 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_F10_IRQ)"
319 register "btn_cfg" = "50"
Terry Cheong053c9012023-12-12 11:04:33 +0800320 register "mic_det_thr" = "200"
Duncan Laurieba49c092018-03-27 13:34:40 -0700321 register "jack_ins_deb" = "20"
322 register "jack_det_rate" = ""32ms_64ms""
323 register "jack_rem_deb" = "1"
324 register "a_d_btn_thr" = "0xa"
325 register "d_b_btn_thr" = "0x16"
326 register "b_c_btn_thr" = "0x21"
327 register "c_mic_btn_thr" = "0x3e"
328 register "btn_avg" = "4"
329 register "adc_1bit_rpt" = "1"
330 register "micbias_lvl" = "2600"
331 register "mic_amp_in_sel" = ""diff""
332 device i2c 1a on end
333 end
Marvin Evers059476d2023-12-04 02:28:25 +0100334 end
335 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700336 chip drivers/wifi/generic
Caveh Jalaliab770082019-02-01 20:21:26 -0800337 register "wake" = "GPE0_DW1_07" # GPP_B7
Duncan Laurieba49c092018-03-27 13:34:40 -0700338 device pci 00.0 on end
339 end
Marvin Evers059476d2023-12-04 02:28:25 +0100340 end
341 device ref pcie_rp2 off end
342 device ref pcie_rp3 off end
343 device ref pcie_rp4 off end
344 device ref pcie_rp5 off end
345 device ref pcie_rp6 off end
346 device ref pcie_rp7 off end
347 device ref pcie_rp8 off end
348 device ref pcie_rp9 off end
349 device ref pcie_rp10 off end
350 device ref pcie_rp11 off end
351 device ref pcie_rp12 off end
352 device ref uart0 on end
353 device ref uart1 off end
354 device ref gspi0 on
Duncan Laurieba49c092018-03-27 13:34:40 -0700355 chip drivers/spi/acpi
356 register "hid" = "ACPI_DT_NAMESPACE_HID"
357 register "compat_string" = ""google,cr50""
358 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
359 device spi 0 on end
360 end
Marvin Evers059476d2023-12-04 02:28:25 +0100361 end
362 device ref gspi1 off end
363 device ref emmc on end
364 device ref sdio off end
365 device ref sdxc off end
366 device ref lpc_espi on
Duncan Laurieba49c092018-03-27 13:34:40 -0700367 chip ec/google/chromeec
368 device pnp 0c09.0 on end
369 end
Marvin Evers059476d2023-12-04 02:28:25 +0100370 end
371 device ref p2sb on end
372 device ref pmc on end
373 device ref hda on end
374 device ref smbus on end
375 device ref fast_spi on end
376 device ref gbe off end
Duncan Laurieba49c092018-03-27 13:34:40 -0700377 end
378end