blob: d64213792f1c368d7882953a96bde7132a7b3c8a [file] [log] [blame]
Furquan Shaikh88880722017-05-01 14:23:37 -07001chip soc/intel/skylake
2
Matt DeVillier8f424722019-11-27 22:55:43 -06003 # IGD Displays
4 register "gfx" = "GMA_STATIC_DISPLAYS(0)"
5
Matt DeVillierf5d159672019-11-30 16:29:58 -06006 register "panel_cfg" = "{
7 .up_delay_ms = 100,
8 .down_delay_ms = 500,
9 .cycle_delay_ms = 500,
10 .backlight_on_delay_ms = 1,
11 .backlight_off_delay_ms = 200,
12 .backlight_pwm_hz = 1000,
13 }"
14
Furquan Shaikh88880722017-05-01 14:23:37 -070015 # Deep Sx states
16 register "deep_s3_enable_ac" = "0"
Furquan Shaikhd37107e2017-11-08 11:28:10 -080017 register "deep_s3_enable_dc" = "0"
Furquan Shaikh88880722017-05-01 14:23:37 -070018 register "deep_s5_enable_ac" = "1"
19 register "deep_s5_enable_dc" = "1"
Furquan Shaikh9d867af2017-12-03 21:45:47 -080020 register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN | DSX_EN_WAKE_PIN | DSX_DIS_AC_PRESENT_PD"
Furquan Shaikh88880722017-05-01 14:23:37 -070021
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.
26 register "gpe0_dw0" = "GPP_B"
27 register "gpe0_dw1" = "GPP_D"
28 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
Rajat Jain2671afc2017-07-20 19:31:01 -070039 # Enable S0ix
Felix Singer743242b2023-06-16 01:33:25 +020040 register "s0ix_enable" = true
Rajat Jain2671afc2017-07-20 19:31:01 -070041
Furquan Shaikh88880722017-05-01 14:23:37 -070042 # FSP Configuration
Furquan Shaikh88880722017-05-01 14:23:37 -070043 register "SataSalpSupport" = "0"
Furquan Shaikh88880722017-05-01 14:23:37 -070044 register "SataPortsEnable[0]" = "0"
Furquan Shaikh88880722017-05-01 14:23:37 -070045 register "DspEnable" = "1"
46 register "IoBufferOwnership" = "3"
Furquan Shaikh88880722017-05-01 14:23:37 -070047 register "SsicPortEnable" = "0"
Furquan Shaikh88880722017-05-01 14:23:37 -070048 register "ScsEmmcHs400Enabled" = "1"
Furquan Shaikh88880722017-05-01 14:23:37 -070049 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020050 register "SaGv" = "SaGv_Enabled"
Furquan Shaikh88880722017-05-01 14:23:37 -070051 register "PmConfigSlpS3MinAssert" = "2" # 50ms
52 register "PmConfigSlpS4MinAssert" = "1" # 1s
53 register "PmConfigSlpSusMinAssert" = "1" # 500ms
54 register "PmConfigSlpAMinAssert" = "3" # 2s
Furquan Shaikh88880722017-05-01 14:23:37 -070055
Furquan Shaikh88880722017-05-01 14:23:37 -070056 # VR Settings Configuration for 4 Domains
57 #+----------------+-------+-------+-------+-------+
58 #| Domain/Setting | SA | IA | GTUS | GTS |
59 #+----------------+-------+-------+-------+-------+
60 #| Psi1Threshold | 20A | 20A | 20A | 20A |
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053061 #| Psi2Threshold | 2A | 2A | 2A | 2A |
Furquan Shaikh88880722017-05-01 14:23:37 -070062 #| Psi3Threshold | 1A | 1A | 1A | 1A |
63 #| Psi3Enable | 1 | 1 | 1 | 1 |
64 #| Psi4Enable | 1 | 1 | 1 | 1 |
65 #| ImonSlope | 0 | 0 | 0 | 0 |
66 #| ImonOffset | 0 | 0 | 0 | 0 |
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053067 #| IccMax | 5A | 24A | 24A | 24A |
Furquan Shaikh88880722017-05-01 14:23:37 -070068 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053069 #| AcLoadline | 15 | 5.7 | 5.5 | 5.5 |
70 #| DcLoadline | 14.3 | 4.83 | 4.2 | 4.2 |
Furquan Shaikh88880722017-05-01 14:23:37 -070071 #+----------------+-------+-------+-------+-------+
72 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
73 .vr_config_enable = 1,
74 .psi1threshold = VR_CFG_AMP(20),
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053075 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh88880722017-05-01 14:23:37 -070076 .psi3threshold = VR_CFG_AMP(1),
77 .psi3enable = 1,
78 .psi4enable = 1,
79 .imon_slope = 0x0,
80 .imon_offset = 0x0,
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053081 .icc_max = VR_CFG_AMP(5),
Furquan Shaikh88880722017-05-01 14:23:37 -070082 .voltage_limit = 1520,
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053083 .ac_loadline = 1500,
84 .dc_loadline = 1430,
Furquan Shaikh88880722017-05-01 14:23:37 -070085 }"
86
87 register "domain_vr_config[VR_IA_CORE]" = "{
88 .vr_config_enable = 1,
89 .psi1threshold = VR_CFG_AMP(20),
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053090 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh88880722017-05-01 14:23:37 -070091 .psi3threshold = VR_CFG_AMP(1),
92 .psi3enable = 1,
93 .psi4enable = 1,
94 .imon_slope = 0x0,
95 .imon_offset = 0x0,
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053096 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh88880722017-05-01 14:23:37 -070097 .voltage_limit = 1520,
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +053098 .ac_loadline = 570,
99 .dc_loadline = 483,
Furquan Shaikh88880722017-05-01 14:23:37 -0700100 }"
101
102 register "domain_vr_config[VR_GT_UNSLICED]" = "{
103 .vr_config_enable = 1,
104 .psi1threshold = VR_CFG_AMP(20),
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +0530105 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh88880722017-05-01 14:23:37 -0700106 .psi3threshold = VR_CFG_AMP(1),
107 .psi3enable = 1,
108 .psi4enable = 1,
109 .imon_slope = 0x0,
110 .imon_offset = 0x0,
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +0530111 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh88880722017-05-01 14:23:37 -0700112 .voltage_limit = 1520,
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +0530113 .ac_loadline = 550,
114 .dc_loadline = 420,
Furquan Shaikh88880722017-05-01 14:23:37 -0700115 }"
116
117 register "domain_vr_config[VR_GT_SLICED]" = "{
118 .vr_config_enable = 1,
119 .psi1threshold = VR_CFG_AMP(20),
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +0530120 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh88880722017-05-01 14:23:37 -0700121 .psi3threshold = VR_CFG_AMP(1),
122 .psi3enable = 1,
123 .psi4enable = 1,
124 .imon_slope = 0x0,
125 .imon_offset = 0x0,
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +0530126 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh88880722017-05-01 14:23:37 -0700127 .voltage_limit = 1520,
Rajneesh Bhardwaj4692e2f2017-06-21 16:42:53 +0530128 .ac_loadline = 550,
129 .dc_loadline = 420,
Furquan Shaikh88880722017-05-01 14:23:37 -0700130 }"
131
132 # Enable Root port 1.
133 register "PcieRpEnable[0]" = "1"
134 # Enable CLKREQ#
135 register "PcieRpClkReqSupport[0]" = "1"
136 # RP 1 uses SRCCLKREQ1#
137 register "PcieRpClkReqNumber[0]" = "1"
Rizwan Qureshi86885362017-09-05 14:23:27 +0530138 # RP 1, Enable Advanced Error Reporting
Rizwan Qureshi09703f62017-09-16 02:01:13 +0530139 register "PcieRpAdvancedErrorReporting[0]" = "1"
140 # RP 1, Enable Latency Tolerance Reporting Mechanism
141 register "PcieRpLtrEnable[0]" = "1"
Alexander Goncharov893c3ae82023-02-04 15:20:37 +0400142 # RP 1 uses CLK SRC 1
Divya Chellape7fb7ce2017-12-19 20:16:50 +0530143 register "PcieRpClkSrcNumber[0]" = "1"
Furquan Shaikh88880722017-05-01 14:23:37 -0700144
145 register "usb2_ports[0]" = "USB2_PORT_LONG(OC0)" # Type-C Port 1
146 register "usb2_ports[1]" = "USB2_PORT_MID(OC_SKIP)" # Type-A Port
147 register "usb2_ports[2]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth
Wisley Chen1fbc1922017-09-05 17:14:06 +0800148 register "usb2_ports[4]" = "USB2_PORT_MAX(OC1)" # Type-C Port 2
Furquan Shaikh88880722017-05-01 14:23:37 -0700149 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # Type-A Port
150 register "usb2_ports[8]" = "USB2_PORT_MID(OC_SKIP)" # Type-A Port
151
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
154 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-A Port
Furquan Shaikh88880722017-05-01 14:23:37 -0700155
Subrata Banikc4986eb2018-05-09 14:55:09 +0530156 # Intel Common SoC Config
157 #+-------------------+---------------------------+
158 #| Field | Value |
159 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530160 #| I2C0 | Touchscreen |
161 #| I2C1 | cr50 TPM. Early init is |
162 #| | required to set up a BAR |
163 #| | for TPM communication |
164 #| | before memory is up |
165 #| I2C2 | Camera |
166 #| I2C4 | Camera |
167 #| I2C5 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530168 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530169 #+-------------------+---------------------------+
170 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530171 .i2c[0] = {
Furquan Shaikheeab2712017-08-28 14:32:05 -0700172 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530173 .speed_config[0] = {
174 .speed = I2C_SPEED_FAST,
175 .scl_lcnt = 180,
176 .scl_hcnt = 85,
177 .sda_hold = 36,
178 },
179 },
180 .i2c[1] = {
181 .early_init = 1,
182 .speed = I2C_SPEED_FAST,
183 .speed_config[0] = {
184 .speed = I2C_SPEED_FAST,
185 .scl_lcnt = 190,
186 .scl_hcnt = 90,
187 .sda_hold = 36,
188 },
189 },
190 .i2c[2] = {
191 .speed = I2C_SPEED_FAST,
192 .speed_config[0] = {
193 .speed = I2C_SPEED_FAST,
194 .scl_lcnt = 192,
195 .scl_hcnt = 90,
196 .sda_hold = 36,
197 },
198 },
199 .i2c[4] = {
200 .speed = I2C_SPEED_FAST,
201 .speed_config[0] = {
202 .speed = I2C_SPEED_FAST,
203 .scl_lcnt = 190,
204 .scl_hcnt = 90,
205 .sda_hold = 36,
206 },
207 },
208 .i2c[5] = {
209 .speed = I2C_SPEED_FAST,
210 .speed_config[0] = {
211 .speed = I2C_SPEED_FAST,
212 .scl_lcnt = 190,
213 .scl_hcnt = 90,
214 .sda_hold = 36,
215 },
Furquan Shaikheeab2712017-08-28 14:32:05 -0700216 },
Subrata Banikc077b222019-08-01 10:50:35 +0530217 .pch_thermal_trip = 75,
Furquan Shaikheeab2712017-08-28 14:32:05 -0700218 }"
219
Subrata Banikc4986eb2018-05-09 14:55:09 +0530220 # Touchscreen
221 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
222
Furquan Shaikheeab2712017-08-28 14:32:05 -0700223 # H1
Furquan Shaikheeab2712017-08-28 14:32:05 -0700224 # Configure I2C1 for cr50 TPM. Early init is required to set up a BAR
225 # for TPM communication before memory is up.
Subrata Banikc4986eb2018-05-09 14:55:09 +0530226 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"
Furquan Shaikheeab2712017-08-28 14:32:05 -0700227
228 # Camera
229 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
Furquan Shaikheeab2712017-08-28 14:32:05 -0700230
Furquan Shaikheeab2712017-08-28 14:32:05 -0700231 # Camera
232 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
Furquan Shaikheeab2712017-08-28 14:32:05 -0700233
234 # Audio
235 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"
Furquan Shaikh88880722017-05-01 14:23:37 -0700236
Furquan Shaikh88880722017-05-01 14:23:37 -0700237 # Must leave UART0 enabled or SD/eMMC will not work as PCI
238 register "SerialIoDevMode" = "{
239 [PchSerialIoIndexI2C0] = PchSerialIoPci,
240 [PchSerialIoIndexI2C1] = PchSerialIoPci,
241 [PchSerialIoIndexI2C2] = PchSerialIoPci,
Wisley Chend9ccb4e2017-09-01 09:21:31 +0800242 [PchSerialIoIndexI2C3] = PchSerialIoDisabled,
Furquan Shaikh88880722017-05-01 14:23:37 -0700243 [PchSerialIoIndexI2C4] = PchSerialIoPci,
244 [PchSerialIoIndexI2C5] = PchSerialIoPci,
Furquan Shaikh763b4062017-12-04 12:17:24 -0800245 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
Furquan Shaikh296c79c2017-06-09 18:41:39 -0700246 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Angel Pons08564942021-06-04 18:55:03 +0200247 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
Furquan Shaikh88880722017-05-01 14:23:37 -0700248 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
249 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
250 }"
251
Sumeet Pawnikarb4411d32017-08-10 18:55:12 +0530252 # PL2 override 15W for KBL-Y
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +0530253 register "power_limits_config" = "{
254 .tdp_pl2_override = 15,
255 .psys_pmax = 45,
256 }"
Furquan Shaikh88880722017-05-01 14:23:37 -0700257 register "tcc_offset" = "10" # TCC of 90C
258
259 # Use default SD card detect GPIO configuration
Angel Pons6bd99f92021-02-20 00:16:47 +0100260 register "sdcard_cd_gpio" = "GPP_E15"
Furquan Shaikh88880722017-05-01 14:23:37 -0700261
Arthur Heymans69cd7292022-11-07 13:52:11 +0100262 device cpu_cluster 0 on end
Furquan Shaikh88880722017-05-01 14:23:37 -0700263 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100264 device ref system_agent on end
265 device ref igpu on end
266 device ref sa_thermal on end
267 device ref imgu on end
268 device ref south_xhci on end
269 device ref south_xdci on end
270 device ref thermal on end
271 device ref cio on end
272 device ref i2c0 on
Wisley Chena80a0eb2017-07-06 18:02:04 +0800273 chip drivers/i2c/hid
274 register "generic.hid" = ""WCOMCOHO""
275 register "generic.desc" = ""WCOM Touchscreen""
276 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500277 register "generic.detect" = "1"
Wisley Chena80a0eb2017-07-06 18:02:04 +0800278 register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E3)"
Furquan Shaikhef1a5ed2017-10-06 14:06:27 -0700279 register "generic.reset_delay_ms" = "10"
Wisley Chena80a0eb2017-07-06 18:02:04 +0800280 register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
281 register "generic.enable_delay_ms" = "1"
Furquan Shaikh3ed59692017-08-28 17:26:28 -0700282 register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E11)"
Wisley Chena80a0eb2017-07-06 18:02:04 +0800283 register "generic.has_power_resource" = "1"
Wisley Chena80a0eb2017-07-06 18:02:04 +0800284 register "hid_desc_reg_offset" = "0x1"
285 device i2c 0xA on end
286 end
Marvin Evers059476d2023-12-04 02:28:25 +0100287 end
288 device ref i2c1 on
Furquan Shaikh88880722017-05-01 14:23:37 -0700289 chip drivers/i2c/tpm
290 register "hid" = ""GOOG0005""
291 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
292 device i2c 50 on end
293 end
Marvin Evers059476d2023-12-04 02:28:25 +0100294 end
295 device ref i2c2 on end
296 device ref i2c3 off end
297 device ref heci1 on end
298 device ref heci2 off end
299 device ref csme_ider off end
300 device ref csme_ktr off end
301 device ref heci3 off end
302 device ref sata off end
303 device ref uart2 on end
304 device ref i2c5 on
Furquan Shaikh88880722017-05-01 14:23:37 -0700305 chip drivers/i2c/max98927
306 register "interleave_mode" = "1"
Harsha Priya130b4a22017-08-24 14:40:04 -0700307 register "vmon_slot_no" = "4"
308 register "imon_slot_no" = "5"
Furquan Shaikh88880722017-05-01 14:23:37 -0700309 register "uid" = "0"
310 register "desc" = ""SSM4567 Right Speaker Amp""
311 register "name" = ""MAXR""
312 device i2c 39 on end
313 end
314 chip drivers/i2c/max98927
315 register "interleave_mode" = "1"
Harsha Priya130b4a22017-08-24 14:40:04 -0700316 register "vmon_slot_no" = "6"
317 register "imon_slot_no" = "7"
Furquan Shaikh88880722017-05-01 14:23:37 -0700318 register "uid" = "1"
319 register "desc" = ""SSM4567 Left Speaker Amp""
320 register "name" = ""MAXL""
321 device i2c 3A on end
322 end
323 chip drivers/i2c/generic
324 register "hid" = ""10EC5663""
325 register "name" = ""RT53""
326 register "desc" = ""Realtek RT5663""
327 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D9)"
328 register "probed" = "1"
329 device i2c 13 on end
330 end
Marvin Evers059476d2023-12-04 02:28:25 +0100331 end
332 device ref i2c4 on end
333 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700334 chip drivers/wifi/generic
Furquan Shaikh88880722017-05-01 14:23:37 -0700335 register "wake" = "GPE0_PCI_EXP"
336 device pci 00.0 on end
337 end
Marvin Evers059476d2023-12-04 02:28:25 +0100338 end
339 device ref pcie_rp2 off end
340 device ref pcie_rp3 off end
341 device ref pcie_rp4 off end
342 device ref pcie_rp5 off end
343 device ref pcie_rp6 off end
344 device ref pcie_rp7 off end
345 device ref pcie_rp8 off end
346 device ref pcie_rp9 off end
347 device ref pcie_rp10 off end
348 device ref pcie_rp11 off end
349 device ref pcie_rp12 off end
350 device ref uart0 on end
351 device ref uart1 off end
352 device ref gspi0 off end
353 device ref gspi1 off end
354 device ref emmc on end
355 device ref sdio off end
356 device ref sdxc on end
357 device ref lpc_espi on
Furquan Shaikh88880722017-05-01 14:23:37 -0700358 chip ec/google/chromeec
359 device pnp 0c09.0 on end
360 end
Marvin Evers059476d2023-12-04 02:28:25 +0100361 end
362 device ref p2sb on end
363 device ref pmc on end
364 device ref hda on end
365 device ref smbus on end
366 device ref fast_spi on end
367 device ref gbe off end
Furquan Shaikh88880722017-05-01 14:23:37 -0700368 end
369end