blob: 8fbed5a8536179dfd9bab9d6c78f5e4efbe1ee01 [file] [log] [blame]
Furquan Shaikh06cd9032016-12-14 12:10:21 -08001chip soc/intel/skylake
2
Matt DeVillier8f424722019-11-27 22:55:43 -06003 # IGD Displays
4 register "gfx" = "GMA_STATIC_DISPLAYS(0)"
5
Furquan Shaikh2eb08372017-02-22 16:42:04 -08006 # Deep Sx states
Duncan Laurie1fe32d62017-04-10 21:02:13 -07007 register "deep_s3_enable_ac" = "0"
Furquan Shaikhd37107e2017-11-08 11:28:10 -08008 register "deep_s3_enable_dc" = "0"
Duncan Laurie1fe32d62017-04-10 21:02:13 -07009 register "deep_s5_enable_ac" = "1"
10 register "deep_s5_enable_dc" = "1"
Furquan Shaikh9d867af2017-12-03 21:45:47 -080011 register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN | DSX_EN_WAKE_PIN | DSX_DIS_AC_PRESENT_PD"
Furquan Shaikh06cd9032016-12-14 12:10:21 -080012
13 # GPE configuration
14 # Note that GPE events called out in ASL code rely on this
15 # route. i.e. If this route changes then the affected GPE
16 # offset bits also need to be changed.
17 register "gpe0_dw0" = "GPP_B"
18 register "gpe0_dw1" = "GPP_D"
19 register "gpe0_dw2" = "GPP_E"
20
21 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
22 register "gen1_dec" = "0x00fc0801"
23 register "gen2_dec" = "0x000c0201"
24 # EC memory map range is 0x900-0x9ff
25 register "gen3_dec" = "0x00fc0901"
26
Sumeet Pawnikard56fae12017-02-20 10:34:01 +053027 # Enable DPTF
28 register "dptf_enable" = "1"
29
Rajat Jain2671afc2017-07-20 19:31:01 -070030 # Enable S0ix
Felix Singer743242b2023-06-16 01:33:25 +020031 register "s0ix_enable" = true
Rajat Jain2671afc2017-07-20 19:31:01 -070032
Furquan Shaikh06cd9032016-12-14 12:10:21 -080033 # FSP Configuration
Furquan Shaikh06cd9032016-12-14 12:10:21 -080034 register "DspEnable" = "1"
35 register "IoBufferOwnership" = "3"
Furquan Shaikh06cd9032016-12-14 12:10:21 -080036 register "ScsEmmcHs400Enabled" = "1"
Furquan Shaikh06cd9032016-12-14 12:10:21 -080037 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020038 register "SaGv" = "SaGv_Enabled"
Furquan Shaikh06cd9032016-12-14 12:10:21 -080039 register "PmConfigSlpS3MinAssert" = "2" # 50ms
40 register "PmConfigSlpS4MinAssert" = "1" # 1s
41 register "PmConfigSlpSusMinAssert" = "1" # 500ms
42 register "PmConfigSlpAMinAssert" = "3" # 2s
Furquan Shaikh06cd9032016-12-14 12:10:21 -080043
Duncan Laurie4fa8a6f2017-03-14 16:37:55 -070044 # VR Settings Configuration for 4 Domains
45 #+----------------+-------+-------+-------+-------+
46 #| Domain/Setting | SA | IA | GTUS | GTS |
47 #+----------------+-------+-------+-------+-------+
48 #| Psi1Threshold | 20A | 20A | 20A | 20A |
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070049 #| Psi2Threshold | 2A | 2A | 2A | 2A |
Duncan Laurie4fa8a6f2017-03-14 16:37:55 -070050 #| Psi3Threshold | 1A | 1A | 1A | 1A |
51 #| Psi3Enable | 1 | 1 | 1 | 1 |
52 #| Psi4Enable | 1 | 1 | 1 | 1 |
53 #| ImonSlope | 0 | 0 | 0 | 0 |
54 #| ImonOffset | 0 | 0 | 0 | 0 |
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070055 #| IccMax | 5A | 24A | 24A | 24A |
Duncan Laurie4fa8a6f2017-03-14 16:37:55 -070056 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070057 #| AcLoadline | 15 | 5.7 | 5.5 | 5.5 |
58 #| DcLoadline | 14.3 | 4.83 | 4.2 | 4.2 |
Duncan Laurie4fa8a6f2017-03-14 16:37:55 -070059 #+----------------+-------+-------+-------+-------+
Furquan Shaikh06cd9032016-12-14 12:10:21 -080060 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
61 .vr_config_enable = 1,
62 .psi1threshold = VR_CFG_AMP(20),
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070063 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080064 .psi3threshold = VR_CFG_AMP(1),
65 .psi3enable = 1,
66 .psi4enable = 1,
67 .imon_slope = 0x0,
68 .imon_offset = 0x0,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070069 .icc_max = VR_CFG_AMP(5),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080070 .voltage_limit = 1520,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070071 .ac_loadline = 1500,
72 .dc_loadline = 1430,
Furquan Shaikh06cd9032016-12-14 12:10:21 -080073 }"
74
75 register "domain_vr_config[VR_IA_CORE]" = "{
76 .vr_config_enable = 1,
77 .psi1threshold = VR_CFG_AMP(20),
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070078 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080079 .psi3threshold = VR_CFG_AMP(1),
80 .psi3enable = 1,
81 .psi4enable = 1,
82 .imon_slope = 0x0,
83 .imon_offset = 0x0,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070084 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080085 .voltage_limit = 1520,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070086 .ac_loadline = 570,
87 .dc_loadline = 483,
Furquan Shaikh06cd9032016-12-14 12:10:21 -080088 }"
89
Furquan Shaikh06cd9032016-12-14 12:10:21 -080090 register "domain_vr_config[VR_GT_UNSLICED]" = "{
91 .vr_config_enable = 1,
92 .psi1threshold = VR_CFG_AMP(20),
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070093 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080094 .psi3threshold = VR_CFG_AMP(1),
95 .psi3enable = 1,
96 .psi4enable = 1,
97 .imon_slope = 0x0,
98 .imon_offset = 0x0,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070099 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800100 .voltage_limit = 1520,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -0700101 .ac_loadline = 550,
102 .dc_loadline = 420,
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800103 }"
104
105 register "domain_vr_config[VR_GT_SLICED]" = "{
106 .vr_config_enable = 1,
107 .psi1threshold = VR_CFG_AMP(20),
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -0700108 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800109 .psi3threshold = VR_CFG_AMP(1),
110 .psi3enable = 1,
111 .psi4enable = 1,
112 .imon_slope = 0x0,
113 .imon_offset = 0x0,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -0700114 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800115 .voltage_limit = 1520,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -0700116 .ac_loadline = 550,
117 .dc_loadline = 420,
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800118 }"
119
120 # Enable Root port 1.
121 register "PcieRpEnable[0]" = "1"
122 # Enable CLKREQ#
123 register "PcieRpClkReqSupport[0]" = "1"
124 # RP 1 uses SRCCLKREQ1#
125 register "PcieRpClkReqNumber[0]" = "1"
Rizwan Qureshiea4649f2017-09-06 19:08:23 +0530126 # RP 1, Enable Advanced Error Reporting
Rizwan Qureshi09703f62017-09-16 02:01:13 +0530127 register "PcieRpAdvancedErrorReporting[0]" = "1"
128 # RP 1, Enable Latency Tolerance Reporting Mechanism
129 register "PcieRpLtrEnable[0]" = "1"
Alexander Goncharov893c3ae82023-02-04 15:20:37 +0400130 # RP 1 uses CLK SRC 1
Divya Chellape7fb7ce2017-12-19 20:16:50 +0530131 register "PcieRpClkSrcNumber[0]" = "1"
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800132
Subrata Banikc4986eb2018-05-09 14:55:09 +0530133 # Intel Common SoC Config
134 #+-------------------+---------------------------+
135 #| Field | Value |
136 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530137 #| I2C0 | Touchscreen |
138 #| I2C1 | H1 |
139 #| I2C2 | Camera |
140 #| I2C3 | Pen |
141 #| I2C4 | Camera |
142 #| I2C5 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530143 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530144 #+-------------------+---------------------------+
145 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530146 .i2c[0] = {
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700147 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530148 .speed_config[0] = {
149 .speed = I2C_SPEED_FAST,
150 .scl_lcnt = 185,
151 .scl_hcnt = 90,
152 .sda_hold = 36,
153 },
154 },
155 .i2c[1] = {
156 .speed = I2C_SPEED_FAST,
157 .speed_config[0] = {
158 .speed = I2C_SPEED_FAST,
159 .scl_lcnt = 190,
160 .scl_hcnt = 100,
161 .sda_hold = 36,
162 },
163 .early_init = 1,
164 },
165 .i2c[2] = {
166 .speed = I2C_SPEED_FAST,
167 .speed_config[0] = {
168 .speed = I2C_SPEED_FAST,
169 .scl_lcnt = 190,
170 .scl_hcnt = 97,
171 .sda_hold = 36,
172 },
173 },
174 .i2c[4] = {
175 .speed = I2C_SPEED_FAST,
176 .speed_config[0] = {
177 .speed = I2C_SPEED_FAST,
178 .scl_lcnt = 190,
179 .scl_hcnt = 97,
180 .sda_hold = 36,
181 },
182 },
183 .i2c[5] = {
184 .speed = I2C_SPEED_FAST,
185 .speed_config[0] = {
186 .speed = I2C_SPEED_FAST,
187 .scl_lcnt = 190,
188 .scl_hcnt = 98,
189 .sda_hold = 36,
190 },
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700191 },
Subrata Banikc077b222019-08-01 10:50:35 +0530192 .pch_thermal_trip = 75,
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700193 }"
194
Subrata Banikc4986eb2018-05-09 14:55:09 +0530195 # Touchscreen
196 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
197
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700198 # H1
199 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700200
201 # Camera
202 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700203
204 # Pen
205 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
206
207 # Camera
208 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700209
210 # Audio
211 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800212
213 # Must leave UART0 enabled or SD/eMMC will not work as PCI
214 register "SerialIoDevMode" = "{
215 [PchSerialIoIndexI2C0] = PchSerialIoPci,
216 [PchSerialIoIndexI2C1] = PchSerialIoPci,
217 [PchSerialIoIndexI2C2] = PchSerialIoPci,
218 [PchSerialIoIndexI2C3] = PchSerialIoPci,
219 [PchSerialIoIndexI2C4] = PchSerialIoPci,
220 [PchSerialIoIndexI2C5] = PchSerialIoPci,
Furquan Shaikhbea9b472017-12-04 12:16:22 -0800221 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
Furquan Shaikh296c79c2017-06-09 18:41:39 -0700222 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Angel Pons08564942021-06-04 18:55:03 +0200223 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800224 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
225 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
226 }"
227
Sumeet Pawnikarb4411d32017-08-10 18:55:12 +0530228 # PL2 override 15W for KBL-Y
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +0530229 register "power_limits_config" = "{
230 .tdp_pl2_override = 15,
231 .psys_pmax = 45,
232 }"
Sumeet Pawnikard56fae12017-02-20 10:34:01 +0530233 register "tcc_offset" = "10" # TCC of 90C
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800234
Furquan Shaikhd093e4a2017-01-13 17:27:36 -0800235 # Use default SD card detect GPIO configuration
Angel Pons6bd99f92021-02-20 00:16:47 +0100236 register "sdcard_cd_gpio" = "GPP_E15"
Furquan Shaikhd093e4a2017-01-13 17:27:36 -0800237
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800238 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100239 device ref system_agent on end
240 device ref igpu on end
241 device ref sa_thermal on end
242 device ref imgu on end
Felix Singer6c83a712024-06-23 00:25:18 +0200243 device ref south_xhci on
244 register "usb2_ports" = "{
245 [0] = USB2_PORT_LONG(OC0), // Type-C Port 1
246 [1] = USB2_PORT_MID(OC_SKIP), // Type-A Port
247 [2] = USB2_PORT_MID(OC_SKIP), // Bluetooth
248 [4] = USB2_PORT_LONG(OC1), // Type-C Port 2
249 [6] = USB2_PORT_MID(OC_SKIP), // Type-A Port
250 [8] = USB2_PORT_MID(OC_SKIP), // Type-A Port
251 }"
252
253 register "usb3_ports" = "{
254 [0] = USB3_PORT_DEFAULT(OC0), // Type-C Port 1
255 [1] = USB3_PORT_DEFAULT(OC1), // Type-C Port 2
256 [2] = USB3_PORT_DEFAULT(OC_SKIP), // Type-A Port
257 }"
258 end
Marvin Evers059476d2023-12-04 02:28:25 +0100259 device ref south_xdci on end
260 device ref thermal on end
261 device ref cio on end
262 device ref i2c0 on
Furquan Shaikh13dae932017-01-12 02:06:47 -0800263 chip drivers/i2c/generic
Furquan Shaikh5677e7d2017-06-05 09:19:29 -0700264 register "hid" = ""ELAN0001""
265 register "desc" = ""ELAN Touchscreen""
Matt DeVillier1c2f5ce2019-11-28 01:45:11 -0600266 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500267 register "detect" = "1"
Furquan Shaikh5677e7d2017-06-05 09:19:29 -0700268 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E3)"
269 register "reset_delay_ms" = "20"
270 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
271 register "enable_delay_ms" = "1"
272 register "has_power_resource" = "1"
273 device i2c 10 on end
274 end
275 chip drivers/i2c/generic
Furquan Shaikh13dae932017-01-12 02:06:47 -0800276 register "hid" = ""ATML0001""
277 register "desc" = ""Atmel Touchscreen""
Furquan Shaikh61335082017-02-21 15:52:57 -0800278 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500279 register "detect" = "1"
Furquan Shaikh73108de2017-05-23 11:56:09 -0700280 register "has_power_resource" = "1"
Furquan Shaikh73108de2017-05-23 11:56:09 -0700281 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
282 register "enable_delay_ms" = "250"
Furquan Shaikh13dae932017-01-12 02:06:47 -0800283 device i2c 4b on end
284 end
Marvin Evers059476d2023-12-04 02:28:25 +0100285 end
286 device ref i2c1 on
Furquan Shaikh15815432017-05-23 22:46:52 -0700287 chip drivers/i2c/tpm
288 register "hid" = ""GOOG0005""
289 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
290 device i2c 50 on end
291 end
Marvin Evers059476d2023-12-04 02:28:25 +0100292 end
293 device ref i2c2 on end
294 device ref i2c3 on
Furquan Shaikh5360c7e2017-02-19 01:18:09 -0800295 chip drivers/i2c/hid
296 register "generic.hid" = ""WCOM50C1""
297 register "generic.desc" = ""WCOM Digitizer""
Furquan Shaikh5b9b5932017-02-21 13:16:30 -0800298 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D1_IRQ)"
Furquan Shaikh2d12a902017-12-17 21:01:54 -0800299 register "generic.wake" = "GPE0_DW1_12"
Furquan Shaikhc57c48b2017-02-15 09:53:50 -0800300 register "hid_desc_reg_offset" = "0x1"
301 device i2c 0x9 on end
302 end
Nicolas Boichat3bfd7342018-03-14 15:46:15 +0800303 chip drivers/generic/gpio_keys
304 register "name" = ""PENH""
305 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_D8)"
306 register "key.dev_name" = ""EJCT""
307 register "key.linux_code" = "SW_PEN_INSERTED"
308 register "key.linux_input_type" = "EV_SW"
309 register "key.label" = ""pen_eject""
Furquan Shaikhfa8b75f2020-06-26 01:19:46 -0700310 register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED"
Nicolas Boichat3bfd7342018-03-14 15:46:15 +0800311 device generic 0 on end
312 end
Marvin Evers059476d2023-12-04 02:28:25 +0100313 end
314 device ref heci1 on end
315 device ref heci2 off end
316 device ref csme_ider off end
317 device ref csme_ktr off end
318 device ref heci3 off end
319 device ref sata off end
320 device ref uart2 on end
321 device ref i2c5 on
Rizwan Qureshi7ed1eff2017-01-13 22:22:42 +0530322 chip drivers/i2c/max98927
323 register "interleave_mode" = "1"
Harsha Priya130b4a22017-08-24 14:40:04 -0700324 register "vmon_slot_no" = "4"
325 register "imon_slot_no" = "5"
Rizwan Qureshi7ed1eff2017-01-13 22:22:42 +0530326 register "uid" = "0"
327 register "desc" = ""SSM4567 Right Speaker Amp""
328 register "name" = ""MAXR""
329 device i2c 39 on end
330 end
331 chip drivers/i2c/max98927
332 register "interleave_mode" = "1"
Harsha Priya130b4a22017-08-24 14:40:04 -0700333 register "vmon_slot_no" = "6"
334 register "imon_slot_no" = "7"
Rizwan Qureshi7ed1eff2017-01-13 22:22:42 +0530335 register "uid" = "1"
336 register "desc" = ""SSM4567 Left Speaker Amp""
337 register "name" = ""MAXL""
338 device i2c 3A on end
339 end
Rizwan Qureshia04ceaa2017-02-07 21:11:45 +0530340 chip drivers/i2c/generic
341 register "hid" = ""10EC5663""
342 register "name" = ""RT53""
343 register "desc" = ""Realtek RT5663""
Rizwan Qureshi6a1503e2017-03-16 13:19:22 +0530344 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D9)"
Rizwan Qureshia04ceaa2017-02-07 21:11:45 +0530345 register "probed" = "1"
346 device i2c 13 on end
347 end
Marvin Evers059476d2023-12-04 02:28:25 +0100348 end
349 device ref i2c4 on end
350 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700351 chip drivers/wifi/generic
Furquan Shaikh5e9ba6e2017-12-18 01:17:08 -0800352 register "wake" = "GPE0_DW0_00"
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800353 device pci 00.0 on end
354 end
Marvin Evers059476d2023-12-04 02:28:25 +0100355 end
356 device ref pcie_rp2 off end
357 device ref pcie_rp3 off end
358 device ref pcie_rp4 off end
359 device ref pcie_rp5 off end
360 device ref pcie_rp6 off end
361 device ref pcie_rp7 off end
362 device ref pcie_rp8 off end
363 device ref pcie_rp9 off end
364 device ref pcie_rp10 off end
365 device ref pcie_rp11 off end
366 device ref pcie_rp12 off end
367 device ref uart0 on end
368 device ref uart1 off end
369 device ref gspi0 off end
370 device ref gspi1 off end
371 device ref emmc on end
372 device ref sdio off end
373 device ref sdxc on end
374 device ref lpc_espi on
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800375 chip ec/google/chromeec
376 device pnp 0c09.0 on end
377 end
Marvin Evers059476d2023-12-04 02:28:25 +0100378 end
379 device ref p2sb on end
380 device ref pmc on end
381 device ref hda on end
382 device ref smbus on end
383 device ref fast_spi on end
384 device ref gbe off end
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800385 end
386end