blob: c44b380d9f11490141aa349f976098f9f4549ae0 [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
Sumeet Pawnikard56fae12017-02-20 10:34:01 +053021 # Enable DPTF
22 register "dptf_enable" = "1"
23
Rajat Jain2671afc2017-07-20 19:31:01 -070024 # Enable S0ix
Felix Singer743242b2023-06-16 01:33:25 +020025 register "s0ix_enable" = true
Rajat Jain2671afc2017-07-20 19:31:01 -070026
Furquan Shaikh06cd9032016-12-14 12:10:21 -080027 # FSP Configuration
Furquan Shaikh06cd9032016-12-14 12:10:21 -080028 register "DspEnable" = "1"
29 register "IoBufferOwnership" = "3"
Furquan Shaikh06cd9032016-12-14 12:10:21 -080030 register "ScsEmmcHs400Enabled" = "1"
Furquan Shaikh06cd9032016-12-14 12:10:21 -080031 register "SkipExtGfxScan" = "1"
Angel Pons6fadde02021-04-04 16:11:53 +020032 register "SaGv" = "SaGv_Enabled"
Furquan Shaikh06cd9032016-12-14 12:10:21 -080033 register "PmConfigSlpS3MinAssert" = "2" # 50ms
34 register "PmConfigSlpS4MinAssert" = "1" # 1s
35 register "PmConfigSlpSusMinAssert" = "1" # 500ms
36 register "PmConfigSlpAMinAssert" = "3" # 2s
Furquan Shaikh06cd9032016-12-14 12:10:21 -080037
Duncan Laurie4fa8a6f2017-03-14 16:37:55 -070038 # VR Settings Configuration for 4 Domains
39 #+----------------+-------+-------+-------+-------+
40 #| Domain/Setting | SA | IA | GTUS | GTS |
41 #+----------------+-------+-------+-------+-------+
42 #| Psi1Threshold | 20A | 20A | 20A | 20A |
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070043 #| Psi2Threshold | 2A | 2A | 2A | 2A |
Duncan Laurie4fa8a6f2017-03-14 16:37:55 -070044 #| Psi3Threshold | 1A | 1A | 1A | 1A |
45 #| Psi3Enable | 1 | 1 | 1 | 1 |
46 #| Psi4Enable | 1 | 1 | 1 | 1 |
47 #| ImonSlope | 0 | 0 | 0 | 0 |
48 #| ImonOffset | 0 | 0 | 0 | 0 |
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070049 #| IccMax | 5A | 24A | 24A | 24A |
Duncan Laurie4fa8a6f2017-03-14 16:37:55 -070050 #| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070051 #| AcLoadline | 15 | 5.7 | 5.5 | 5.5 |
52 #| DcLoadline | 14.3 | 4.83 | 4.2 | 4.2 |
Duncan Laurie4fa8a6f2017-03-14 16:37:55 -070053 #+----------------+-------+-------+-------+-------+
Furquan Shaikh06cd9032016-12-14 12:10:21 -080054 register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
55 .vr_config_enable = 1,
56 .psi1threshold = VR_CFG_AMP(20),
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070057 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080058 .psi3threshold = VR_CFG_AMP(1),
59 .psi3enable = 1,
60 .psi4enable = 1,
61 .imon_slope = 0x0,
62 .imon_offset = 0x0,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070063 .icc_max = VR_CFG_AMP(5),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080064 .voltage_limit = 1520,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070065 .ac_loadline = 1500,
66 .dc_loadline = 1430,
Furquan Shaikh06cd9032016-12-14 12:10:21 -080067 }"
68
69 register "domain_vr_config[VR_IA_CORE]" = "{
70 .vr_config_enable = 1,
71 .psi1threshold = VR_CFG_AMP(20),
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070072 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080073 .psi3threshold = VR_CFG_AMP(1),
74 .psi3enable = 1,
75 .psi4enable = 1,
76 .imon_slope = 0x0,
77 .imon_offset = 0x0,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070078 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080079 .voltage_limit = 1520,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070080 .ac_loadline = 570,
81 .dc_loadline = 483,
Furquan Shaikh06cd9032016-12-14 12:10:21 -080082 }"
83
Furquan Shaikh06cd9032016-12-14 12:10:21 -080084 register "domain_vr_config[VR_GT_UNSLICED]" = "{
85 .vr_config_enable = 1,
86 .psi1threshold = VR_CFG_AMP(20),
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070087 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080088 .psi3threshold = VR_CFG_AMP(1),
89 .psi3enable = 1,
90 .psi4enable = 1,
91 .imon_slope = 0x0,
92 .imon_offset = 0x0,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070093 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh06cd9032016-12-14 12:10:21 -080094 .voltage_limit = 1520,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -070095 .ac_loadline = 550,
96 .dc_loadline = 420,
Furquan Shaikh06cd9032016-12-14 12:10:21 -080097 }"
98
99 register "domain_vr_config[VR_GT_SLICED]" = "{
100 .vr_config_enable = 1,
101 .psi1threshold = VR_CFG_AMP(20),
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -0700102 .psi2threshold = VR_CFG_AMP(2),
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800103 .psi3threshold = VR_CFG_AMP(1),
104 .psi3enable = 1,
105 .psi4enable = 1,
106 .imon_slope = 0x0,
107 .imon_offset = 0x0,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -0700108 .icc_max = VR_CFG_AMP(24),
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800109 .voltage_limit = 1520,
Furquan Shaikh3f09b0f2017-08-18 17:26:27 -0700110 .ac_loadline = 550,
111 .dc_loadline = 420,
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800112 }"
113
114 # Enable Root port 1.
115 register "PcieRpEnable[0]" = "1"
116 # Enable CLKREQ#
117 register "PcieRpClkReqSupport[0]" = "1"
118 # RP 1 uses SRCCLKREQ1#
119 register "PcieRpClkReqNumber[0]" = "1"
Rizwan Qureshiea4649f2017-09-06 19:08:23 +0530120 # RP 1, Enable Advanced Error Reporting
Rizwan Qureshi09703f62017-09-16 02:01:13 +0530121 register "PcieRpAdvancedErrorReporting[0]" = "1"
122 # RP 1, Enable Latency Tolerance Reporting Mechanism
123 register "PcieRpLtrEnable[0]" = "1"
Alexander Goncharov893c3ae82023-02-04 15:20:37 +0400124 # RP 1 uses CLK SRC 1
Divya Chellape7fb7ce2017-12-19 20:16:50 +0530125 register "PcieRpClkSrcNumber[0]" = "1"
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800126
Subrata Banikc4986eb2018-05-09 14:55:09 +0530127 # Intel Common SoC Config
128 #+-------------------+---------------------------+
129 #| Field | Value |
130 #+-------------------+---------------------------+
Subrata Banikc4986eb2018-05-09 14:55:09 +0530131 #| I2C0 | Touchscreen |
132 #| I2C1 | H1 |
133 #| I2C2 | Camera |
134 #| I2C3 | Pen |
135 #| I2C4 | Camera |
136 #| I2C5 | Audio |
Subrata Banikc077b222019-08-01 10:50:35 +0530137 #| pch_thermal_trip | PCH Trip Temperature |
Subrata Banikc4986eb2018-05-09 14:55:09 +0530138 #+-------------------+---------------------------+
139 register "common_soc_config" = "{
Subrata Banikc4986eb2018-05-09 14:55:09 +0530140 .i2c[0] = {
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700141 .speed = I2C_SPEED_FAST,
Subrata Banikc4986eb2018-05-09 14:55:09 +0530142 .speed_config[0] = {
143 .speed = I2C_SPEED_FAST,
144 .scl_lcnt = 185,
145 .scl_hcnt = 90,
146 .sda_hold = 36,
147 },
148 },
149 .i2c[1] = {
150 .speed = I2C_SPEED_FAST,
151 .speed_config[0] = {
152 .speed = I2C_SPEED_FAST,
153 .scl_lcnt = 190,
154 .scl_hcnt = 100,
155 .sda_hold = 36,
156 },
157 .early_init = 1,
158 },
159 .i2c[2] = {
160 .speed = I2C_SPEED_FAST,
161 .speed_config[0] = {
162 .speed = I2C_SPEED_FAST,
163 .scl_lcnt = 190,
164 .scl_hcnt = 97,
165 .sda_hold = 36,
166 },
167 },
168 .i2c[4] = {
169 .speed = I2C_SPEED_FAST,
170 .speed_config[0] = {
171 .speed = I2C_SPEED_FAST,
172 .scl_lcnt = 190,
173 .scl_hcnt = 97,
174 .sda_hold = 36,
175 },
176 },
177 .i2c[5] = {
178 .speed = I2C_SPEED_FAST,
179 .speed_config[0] = {
180 .speed = I2C_SPEED_FAST,
181 .scl_lcnt = 190,
182 .scl_hcnt = 98,
183 .sda_hold = 36,
184 },
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700185 },
Subrata Banikc077b222019-08-01 10:50:35 +0530186 .pch_thermal_trip = 75,
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700187 }"
188
Subrata Banikc4986eb2018-05-09 14:55:09 +0530189 # Touchscreen
190 register "i2c_voltage[0]" = "I2C_VOLTAGE_3V3"
191
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700192 # H1
193 register "i2c_voltage[1]" = "I2C_VOLTAGE_3V3"
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700194
195 # Camera
196 register "i2c_voltage[2]" = "I2C_VOLTAGE_1V8"
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700197
198 # Pen
199 register "i2c_voltage[3]" = "I2C_VOLTAGE_1V8"
200
201 # Camera
202 register "i2c_voltage[4]" = "I2C_VOLTAGE_1V8"
Furquan Shaikhc3e4f632017-08-25 09:50:15 -0700203
204 # Audio
205 register "i2c_voltage[5]" = "I2C_VOLTAGE_1V8"
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800206
207 # Must leave UART0 enabled or SD/eMMC will not work as PCI
208 register "SerialIoDevMode" = "{
209 [PchSerialIoIndexI2C0] = PchSerialIoPci,
210 [PchSerialIoIndexI2C1] = PchSerialIoPci,
211 [PchSerialIoIndexI2C2] = PchSerialIoPci,
212 [PchSerialIoIndexI2C3] = PchSerialIoPci,
213 [PchSerialIoIndexI2C4] = PchSerialIoPci,
214 [PchSerialIoIndexI2C5] = PchSerialIoPci,
Furquan Shaikhbea9b472017-12-04 12:16:22 -0800215 [PchSerialIoIndexSpi0] = PchSerialIoDisabled,
Furquan Shaikh296c79c2017-06-09 18:41:39 -0700216 [PchSerialIoIndexSpi1] = PchSerialIoDisabled,
Angel Pons08564942021-06-04 18:55:03 +0200217 [PchSerialIoIndexUart0] = PchSerialIoSkipInit,
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800218 [PchSerialIoIndexUart1] = PchSerialIoDisabled,
219 [PchSerialIoIndexUart2] = PchSerialIoSkipInit,
220 }"
221
Sumeet Pawnikarb4411d32017-08-10 18:55:12 +0530222 # PL2 override 15W for KBL-Y
Sumeet R Pawnikar97c54642020-05-10 01:24:11 +0530223 register "power_limits_config" = "{
224 .tdp_pl2_override = 15,
225 .psys_pmax = 45,
226 }"
Sumeet Pawnikard56fae12017-02-20 10:34:01 +0530227 register "tcc_offset" = "10" # TCC of 90C
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800228
Furquan Shaikhd093e4a2017-01-13 17:27:36 -0800229 # Use default SD card detect GPIO configuration
Angel Pons6bd99f92021-02-20 00:16:47 +0100230 register "sdcard_cd_gpio" = "GPP_E15"
Furquan Shaikhd093e4a2017-01-13 17:27:36 -0800231
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800232 device domain 0 on
Marvin Evers059476d2023-12-04 02:28:25 +0100233 device ref system_agent on end
234 device ref igpu on end
235 device ref sa_thermal on end
236 device ref imgu on end
Felix Singer6c83a712024-06-23 00:25:18 +0200237 device ref south_xhci on
238 register "usb2_ports" = "{
239 [0] = USB2_PORT_LONG(OC0), // Type-C Port 1
240 [1] = USB2_PORT_MID(OC_SKIP), // Type-A Port
241 [2] = USB2_PORT_MID(OC_SKIP), // Bluetooth
242 [4] = USB2_PORT_LONG(OC1), // Type-C Port 2
243 [6] = USB2_PORT_MID(OC_SKIP), // Type-A Port
244 [8] = USB2_PORT_MID(OC_SKIP), // Type-A Port
245 }"
246
247 register "usb3_ports" = "{
248 [0] = USB3_PORT_DEFAULT(OC0), // Type-C Port 1
249 [1] = USB3_PORT_DEFAULT(OC1), // Type-C Port 2
250 [2] = USB3_PORT_DEFAULT(OC_SKIP), // Type-A Port
251 }"
252 end
Marvin Evers059476d2023-12-04 02:28:25 +0100253 device ref south_xdci on end
254 device ref thermal on end
255 device ref cio on end
256 device ref i2c0 on
Furquan Shaikh13dae932017-01-12 02:06:47 -0800257 chip drivers/i2c/generic
Furquan Shaikh5677e7d2017-06-05 09:19:29 -0700258 register "hid" = ""ELAN0001""
259 register "desc" = ""ELAN Touchscreen""
Matt DeVillier1c2f5ce2019-11-28 01:45:11 -0600260 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500261 register "detect" = "1"
Furquan Shaikh5677e7d2017-06-05 09:19:29 -0700262 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E3)"
263 register "reset_delay_ms" = "20"
264 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
265 register "enable_delay_ms" = "1"
266 register "has_power_resource" = "1"
267 device i2c 10 on end
268 end
269 chip drivers/i2c/generic
Furquan Shaikh13dae932017-01-12 02:06:47 -0800270 register "hid" = ""ATML0001""
271 register "desc" = ""Atmel Touchscreen""
Furquan Shaikh61335082017-02-21 15:52:57 -0800272 register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
Matt DeVillier86425c82022-03-28 23:45:14 -0500273 register "detect" = "1"
Furquan Shaikh73108de2017-05-23 11:56:09 -0700274 register "has_power_resource" = "1"
Furquan Shaikh73108de2017-05-23 11:56:09 -0700275 register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C22)"
276 register "enable_delay_ms" = "250"
Furquan Shaikh13dae932017-01-12 02:06:47 -0800277 device i2c 4b on end
278 end
Marvin Evers059476d2023-12-04 02:28:25 +0100279 end
280 device ref i2c1 on
Furquan Shaikh15815432017-05-23 22:46:52 -0700281 chip drivers/i2c/tpm
282 register "hid" = ""GOOG0005""
283 register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E0_IRQ)"
284 device i2c 50 on end
285 end
Marvin Evers059476d2023-12-04 02:28:25 +0100286 end
287 device ref i2c2 on end
288 device ref i2c3 on
Furquan Shaikh5360c7e2017-02-19 01:18:09 -0800289 chip drivers/i2c/hid
290 register "generic.hid" = ""WCOM50C1""
291 register "generic.desc" = ""WCOM Digitizer""
Furquan Shaikh5b9b5932017-02-21 13:16:30 -0800292 register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D1_IRQ)"
Furquan Shaikh2d12a902017-12-17 21:01:54 -0800293 register "generic.wake" = "GPE0_DW1_12"
Furquan Shaikhc57c48b2017-02-15 09:53:50 -0800294 register "hid_desc_reg_offset" = "0x1"
295 device i2c 0x9 on end
296 end
Nicolas Boichat3bfd7342018-03-14 15:46:15 +0800297 chip drivers/generic/gpio_keys
298 register "name" = ""PENH""
299 register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_D8)"
300 register "key.dev_name" = ""EJCT""
301 register "key.linux_code" = "SW_PEN_INSERTED"
302 register "key.linux_input_type" = "EV_SW"
303 register "key.label" = ""pen_eject""
Furquan Shaikhfa8b75f2020-06-26 01:19:46 -0700304 register "key.wakeup_route" = "WAKEUP_ROUTE_DISABLED"
Nicolas Boichat3bfd7342018-03-14 15:46:15 +0800305 device generic 0 on end
306 end
Marvin Evers059476d2023-12-04 02:28:25 +0100307 end
308 device ref heci1 on end
309 device ref heci2 off end
310 device ref csme_ider off end
311 device ref csme_ktr off end
312 device ref heci3 off end
313 device ref sata off end
314 device ref uart2 on end
315 device ref i2c5 on
Rizwan Qureshi7ed1eff2017-01-13 22:22:42 +0530316 chip drivers/i2c/max98927
317 register "interleave_mode" = "1"
Harsha Priya130b4a22017-08-24 14:40:04 -0700318 register "vmon_slot_no" = "4"
319 register "imon_slot_no" = "5"
Rizwan Qureshi7ed1eff2017-01-13 22:22:42 +0530320 register "uid" = "0"
321 register "desc" = ""SSM4567 Right Speaker Amp""
322 register "name" = ""MAXR""
323 device i2c 39 on end
324 end
325 chip drivers/i2c/max98927
326 register "interleave_mode" = "1"
Harsha Priya130b4a22017-08-24 14:40:04 -0700327 register "vmon_slot_no" = "6"
328 register "imon_slot_no" = "7"
Rizwan Qureshi7ed1eff2017-01-13 22:22:42 +0530329 register "uid" = "1"
330 register "desc" = ""SSM4567 Left Speaker Amp""
331 register "name" = ""MAXL""
332 device i2c 3A on end
333 end
Rizwan Qureshia04ceaa2017-02-07 21:11:45 +0530334 chip drivers/i2c/generic
335 register "hid" = ""10EC5663""
336 register "name" = ""RT53""
337 register "desc" = ""Realtek RT5663""
Rizwan Qureshi6a1503e2017-03-16 13:19:22 +0530338 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D9)"
Rizwan Qureshia04ceaa2017-02-07 21:11:45 +0530339 register "probed" = "1"
340 device i2c 13 on end
341 end
Marvin Evers059476d2023-12-04 02:28:25 +0100342 end
343 device ref i2c4 on end
344 device ref pcie_rp1 on
Furquan Shaikha266d1e2020-10-04 12:52:54 -0700345 chip drivers/wifi/generic
Furquan Shaikh5e9ba6e2017-12-18 01:17:08 -0800346 register "wake" = "GPE0_DW0_00"
Furquan Shaikh06cd9032016-12-14 12:10:21 -0800347 device pci 00.0 on end
348 end
Marvin Evers059476d2023-12-04 02:28:25 +0100349 end
350 device ref pcie_rp2 off end
351 device ref pcie_rp3 off end
352 device ref pcie_rp4 off end
353 device ref pcie_rp5 off end
354 device ref pcie_rp6 off end
355 device ref pcie_rp7 off end
356 device ref pcie_rp8 off end
357 device ref pcie_rp9 off end
358 device ref pcie_rp10 off end
359 device ref pcie_rp11 off end
360 device ref pcie_rp12 off end
361 device ref uart0 on end
362 device ref uart1 off end
363 device ref gspi0 off end
364 device ref gspi1 off end
365 device ref emmc on end
366 device ref sdio off end
367 device ref sdxc on end
368 device ref lpc_espi on
Felix Singerdcddc53f2024-06-23 03:39:24 +0200369 # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f
370 register "gen1_dec" = "0x00fc0801"
371 register "gen2_dec" = "0x000c0201"
372 # EC memory map range is 0x900-0x9ff
373 register "gen3_dec" = "0x00fc0901"
374
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