blob: aa70616a941880fcd0c27452f193174b8a971efe [file] [log] [blame]
Raul E Rangelb3c41322020-05-20 14:07:41 -06001# SPDX-License-Identifier: GPL-2.0-or-later
Kane Chen807ce622021-03-05 17:57:21 +08002fw_config
3 field TOUCHPAD 26
4 option REGULAR_TOUCHPAD 1
5 option NUMPAD_TOUCHPAD 0
6 end
7end
8
Raul E Rangelb3c41322020-05-20 14:07:41 -06009chip soc/amd/picasso
10
11 # Set FADT Configuration
Raul E Rangel1c88b102021-02-11 10:35:32 -070012 register "common_config.fadt_boot_arch" = "ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042"
Felix Held5ad4dcb2020-08-13 01:27:39 +020013 # See table 5-34 ACPI 6.3 spec
Raul E Rangel1c88b102021-02-11 10:35:32 -070014 register "common_config.fadt_flags" = "ACPI_FADT_SLEEP_BUTTON | ACPI_FADT_SEALED_CASE"
Raul E Rangelb3c41322020-05-20 14:07:41 -060015
Karthikeyan Ramasubramanian4520aa22021-04-23 11:42:19 -060016 # ACP Configuration
17 register "common_config.acp_config" = "{
18 .acp_pin_cfg = I2S_PINS_I2S_TDM,
19 .acp_i2s_wake_enable = 0,
20 .acp_pme_enable = 0,
21 }"
Raul E Rangelb3c41322020-05-20 14:07:41 -060022
23 # Start : OPN Performance Configuration
24 # (Configuratin that is common for all variants)
25 # For the below fields, 0 indicates use SOC default
26
27 # PROCHOT_L de-assertion Ramp Time
Zheng Bao795d73c2020-10-27 15:36:55 +080028 register "prochot_l_deassertion_ramp_time_ms" = "20"
Raul E Rangelb3c41322020-05-20 14:07:41 -060029
30 # Lower die temperature limit
Zheng Bao795d73c2020-10-27 15:36:55 +080031 register "thermctl_limit_degreeC" = "100"
Raul E Rangelb3c41322020-05-20 14:07:41 -060032
33 # FP5 Processor Voltage Supply PSI Currents
Zheng Bao795d73c2020-10-27 15:36:55 +080034 register "psi0_current_limit_mA" = "18000"
35 register "psi0_soc_current_limit_mA" = "12000"
36 register "vddcr_soc_voltage_margin_mV" = "0"
37 register "vddcr_vdd_voltage_margin_mV" = "0"
Raul E Rangelb3c41322020-05-20 14:07:41 -060038
39 # VRM Limits
Zheng Bao795d73c2020-10-27 15:36:55 +080040 register "vrm_maximum_current_limit_mA" = "0"
41 register "vrm_soc_maximum_current_limit_mA" = "0"
42 register "vrm_current_limit_mA" = "0"
43 register "vrm_soc_current_limit_mA" = "0"
Raul E Rangelb3c41322020-05-20 14:07:41 -060044
45 # Misc SMU settings
46 register "sb_tsi_alert_comparator_mode_en" = "0"
47 register "core_dldo_bypass" = "1"
48 register "min_soc_vid_offset" = "0"
49 register "aclk_dpm0_freq_400MHz" = "0"
50
51 # End : OPN Performance Configuration
52
Raul E Rangel7c79d832020-09-03 14:30:33 -060053 register "emmc_config" = "{
54 .timing = SD_EMMC_EMMC_HS400,
Raul E Rangel94be1f72020-09-03 15:46:56 -060055 .sdr104_hs400_driver_strength = SD_EMMC_DRIVE_STRENGTH_A,
56 /*
57 * The reference design was missing a pull-up on the CMD line.
58 * This means we can't run at the full 400 kHz. By setting this
59 * to 1 we run at the slowest frequency possible by the
60 * controller (~97 kHz).
61 *
62 * Boards that have the pull-up should correctly set this.
63 */
64 .init_khz_preset = 1,
Raul E Rangel7c79d832020-09-03 14:30:33 -060065 }"
Raul E Rangelb3c41322020-05-20 14:07:41 -060066
Felix Held1d0154c2020-07-23 19:37:42 +020067 register "has_usb2_phy_tune_params" = "1"
68
Chris Wang1e3e5282020-06-23 21:10:57 +080069 # Controller0 Port0 Default
Felix Held3a7389e2020-07-23 18:22:30 +020070 register "usb_2_port_tune_params[0]" = "{
Julian Schroedere286ef92021-03-04 15:50:41 -060071 .com_pds_tune = 0x07,
Chris Wang1e3e5282020-06-23 21:10:57 +080072 .sq_rx_tune = 0x3,
73 .tx_fsls_tune = 0x3,
74 .tx_pre_emp_amp_tune = 0x03,
75 .tx_pre_emp_pulse_tune = 0x0,
76 .tx_rise_tune = 0x1,
Kevin Chiude20b282020-11-19 14:09:47 +080077 .tx_vref_tune = 0x6,
Chris Wang1e3e5282020-06-23 21:10:57 +080078 .tx_hsxv_tune = 0x3,
79 .tx_res_tune = 0x01,
80 }"
81
82 # Controller0 Port1 Default
Felix Held3a7389e2020-07-23 18:22:30 +020083 register "usb_2_port_tune_params[1]" = "{
Julian Schroedere286ef92021-03-04 15:50:41 -060084 .com_pds_tune = 0x07,
Chris Wang1e3e5282020-06-23 21:10:57 +080085 .sq_rx_tune = 0x3,
86 .tx_fsls_tune = 0x3,
87 .tx_pre_emp_amp_tune = 0x03,
88 .tx_pre_emp_pulse_tune = 0x0,
89 .tx_rise_tune = 0x1,
Kevin Chiude20b282020-11-19 14:09:47 +080090 .tx_vref_tune = 0x6,
Chris Wang1e3e5282020-06-23 21:10:57 +080091 .tx_hsxv_tune = 0x3,
92 .tx_res_tune = 0x01,
93 }"
94
95 # Controller0 Port2 Default
Felix Held3a7389e2020-07-23 18:22:30 +020096 register "usb_2_port_tune_params[2]" = "{
Julian Schroedere286ef92021-03-04 15:50:41 -060097 .com_pds_tune = 0x07,
Chris Wang1e3e5282020-06-23 21:10:57 +080098 .sq_rx_tune = 0x3,
99 .tx_fsls_tune = 0x3,
100 .tx_pre_emp_amp_tune = 0x03,
101 .tx_pre_emp_pulse_tune = 0x0,
102 .tx_rise_tune = 0x1,
Kevin Chiude20b282020-11-19 14:09:47 +0800103 .tx_vref_tune = 0x6,
Chris Wang1e3e5282020-06-23 21:10:57 +0800104 .tx_hsxv_tune = 0x3,
105 .tx_res_tune = 0x01,
106 }"
107
108 # Controller0 Port3 Default
Felix Held3a7389e2020-07-23 18:22:30 +0200109 register "usb_2_port_tune_params[3]" = "{
Julian Schroedere286ef92021-03-04 15:50:41 -0600110 .com_pds_tune = 0x07,
Chris Wang1e3e5282020-06-23 21:10:57 +0800111 .sq_rx_tune = 0x3,
112 .tx_fsls_tune = 0x3,
113 .tx_pre_emp_amp_tune = 0x03,
114 .tx_pre_emp_pulse_tune = 0x0,
115 .tx_rise_tune = 0x1,
Kevin Chiude20b282020-11-19 14:09:47 +0800116 .tx_vref_tune = 0x6,
Chris Wang1e3e5282020-06-23 21:10:57 +0800117 .tx_hsxv_tune = 0x3,
118 .tx_res_tune = 0x01,
119 }"
120
121 # Controller1 Port0 Default
Felix Held3a7389e2020-07-23 18:22:30 +0200122 register "usb_2_port_tune_params[4]" = "{
Julian Schroedere286ef92021-03-04 15:50:41 -0600123 .com_pds_tune = 0x07,
Chris Wang1e3e5282020-06-23 21:10:57 +0800124 .sq_rx_tune = 0x3,
125 .tx_fsls_tune = 0x3,
126 .tx_pre_emp_amp_tune = 0x02,
127 .tx_pre_emp_pulse_tune = 0x0,
128 .tx_rise_tune = 0x1,
Kevin Chiude20b282020-11-19 14:09:47 +0800129 .tx_vref_tune = 0x5,
Chris Wang1e3e5282020-06-23 21:10:57 +0800130 .tx_hsxv_tune = 0x3,
131 .tx_res_tune = 0x01,
132 }"
133
134 # Controller1 Port1 Default
Felix Held3a7389e2020-07-23 18:22:30 +0200135 register "usb_2_port_tune_params[5]" = "{
Julian Schroedere286ef92021-03-04 15:50:41 -0600136 .com_pds_tune = 0x07,
Chris Wang1e3e5282020-06-23 21:10:57 +0800137 .sq_rx_tune = 0x3,
138 .tx_fsls_tune = 0x3,
139 .tx_pre_emp_amp_tune = 0x02,
140 .tx_pre_emp_pulse_tune = 0x0,
141 .tx_rise_tune = 0x1,
Kevin Chiude20b282020-11-19 14:09:47 +0800142 .tx_vref_tune = 0x5,
Chris Wang1e3e5282020-06-23 21:10:57 +0800143 .tx_hsxv_tune = 0x3,
144 .tx_res_tune = 0x01,
145 }"
146
Chris Wang68d68f12021-02-03 04:32:06 +0800147 # Start RV2 USB3 PHY Parameters
148 register "usb3_phy_override" = "0"
149
150 # USB3 Port0 Default
151 register "usb3_phy_tune_params[0]" = "{
152 .rx_eq_delta_iq_ovrd_val = 0x0,
153 .rx_eq_delta_iq_ovrd_en = 0x0,
154 }"
155
156 # USB3 Port1 Default
157 register "usb3_phy_tune_params[1]" = "{
158 .rx_eq_delta_iq_ovrd_val = 0x0,
159 .rx_eq_delta_iq_ovrd_en = 0x0,
160 }"
161
162 # USB3 Port2 Default
163 register "usb3_phy_tune_params[2]" = "{
164 .rx_eq_delta_iq_ovrd_val = 0x0,
165 .rx_eq_delta_iq_ovrd_en = 0x0,
166 }"
167
168 # USB3 Port3 Default
169 register "usb3_phy_tune_params[3]" = "{
170 .rx_eq_delta_iq_ovrd_val = 0x0,
171 .rx_eq_delta_iq_ovrd_en = 0x0,
172 }"
173
174 # SUP_DIG_LVL_OVRD_IN Default
175 register "usb3_rx_vref_ctrl" = "0x10"
176 register "usb3_rx_vref_ctrl_en" = "0x00"
177 register "usb_3_tx_vboost_lvl" = "0x07"
178 register "usb_3_tx_vboost_lvl_en" = "0x00"
179
180 # SUPX_DIG_LVL_OVRD_IN Default
181 register "usb_3_rx_vref_ctrl_x" = "0x10"
182 register "usb_3_rx_vref_ctrl_en_x" = "0x00"
183 register "usb_3_tx_vboost_lvl_x" = "0x07"
184 register "usb_3_tx_vboost_lvl_en_x" = "0x00"
185
186 # End RV2 USB3 phy setting
187
Felix Helde2379962020-07-29 01:02:38 +0200188 # USB OC pin mapping
189 register "usb_port_overcurrent_pin[0]" = "USB_OC_PIN_0" # USB C0
190 register "usb_port_overcurrent_pin[1]" = "USB_OC_PIN_1" # USB C1
191 register "usb_port_overcurrent_pin[2]" = "USB_OC_PIN_0" # USB A0
192 register "usb_port_overcurrent_pin[3]" = "USB_OC_PIN_1" # USB A1
193 register "usb_port_overcurrent_pin[4]" = "USB_OC_NONE" # Camera
194 register "usb_port_overcurrent_pin[5]" = "USB_OC_NONE" # Bluetooth
195
Raul E Rangelb3c41322020-05-20 14:07:41 -0600196 # SPI Configuration
197 register "common_config.spi_config" = "{
Rob Barnes13ec6a02020-07-14 13:23:43 -0600198 .normal_speed = SPI_SPEED_33M, /* MHz */
199 .fast_speed = SPI_SPEED_66M, /* MHz */
Raul E Rangelb3c41322020-05-20 14:07:41 -0600200 .altio_speed = SPI_SPEED_66M, /* MHz */
201 .tpm_speed = SPI_SPEED_66M, /* MHz */
Martin Roth637f9412020-07-06 20:02:36 -0600202 .read_mode = SPI_READ_MODE_DUAL122,
Raul E Rangelb3c41322020-05-20 14:07:41 -0600203 }"
204
205 # eSPI Configuration
206 register "common_config.espi_config" = "{
207 .std_io_decode_bitmap = ESPI_DECODE_IO_0x80_EN | ESPI_DECODE_IO_0X60_0X64_EN,
208 .generic_io_range[0] = {
209 .base = 0x62,
210 /*
211 * Only 0x62 and 0x66 are required. But, this is not supported by
212 * standard IO decodes and there are only 4 generic I/O windows
213 * available. Hence, open a window from 0x62-0x67.
214 */
215 .size = 5,
216 },
217 .generic_io_range[1] = {
218 .base = 0x800, /* EC_HOST_CMD_REGION0 */
219 .size = 256, /* EC_HOST_CMD_REGION_SIZE * 2 */
220 },
221 .generic_io_range[2] = {
222 .base = 0x900, /* EC_LPC_ADDR_MEMMAP */
223 .size = 255, /* EC_MEMMAP_SIZE */
224 },
225 .generic_io_range[3] = {
226 .base = 0x200, /* EC_LPC_ADDR_HOST_DATA */
227 .size = 8, /* 0x200 - 0x207 */
228 },
229
230 .io_mode = ESPI_IO_MODE_QUAD,
231 .op_freq_mhz = ESPI_OP_FREQ_33_MHZ,
232 .crc_check_enable = 1,
Raul E Rangel8317e722021-05-05 13:38:27 -0600233 .alert_pin = ESPI_ALERT_PIN_PUSH_PULL,
Raul E Rangelb3c41322020-05-20 14:07:41 -0600234 .periph_ch_en = 1,
235 .vw_ch_en = 1,
236 .oob_ch_en = 0,
237 .flash_ch_en = 0,
238
Aaron Durbin76fcf8292020-07-02 11:08:21 -0600239 .vw_irq_polarity = ESPI_VW_IRQ_LEVEL_HIGH(1) | ESPI_VW_IRQ_LEVEL_HIGH(12),
Raul E Rangelb3c41322020-05-20 14:07:41 -0600240 }"
241
242 register "i2c_scl_reset" = "GPIO_I2C2_SCL | GPIO_I2C3_SCL"
243
Felix Heldd555d6a2020-08-28 02:12:52 +0200244 # genral purpose PCIe clock output configuration
245 register "gpp_clk_config[0]" = "GPP_CLK_REQ" # WLAN
246 register "gpp_clk_config[1]" = "GPP_CLK_REQ" # SD Reader
247 register "gpp_clk_config[2]" = "GPP_CLK_REQ" # NVME SSD
248 register "gpp_clk_config[3]" = "GPP_CLK_OFF"
249 register "gpp_clk_config[4]" = "GPP_CLK_OFF"
250 register "gpp_clk_config[5]" = "GPP_CLK_OFF"
251 register "gpp_clk_config[6]" = "GPP_CLK_OFF"
252
Felix Held0fec8672021-05-25 21:07:23 +0200253 register "pspp_policy" = "DXIO_PSPP_POWERSAVE"
254
Raul E Rangelb3c41322020-05-20 14:07:41 -0600255 # See AMD 55570-B1 Table 13: PCI Device ID Assignments.
256 device domain 0 on
257 subsystemid 0x1022 0x1510 inherit
Felix Held4fbab542021-05-31 19:44:46 +0200258 device ref iommu on end
259 device ref gpp_bridge_1 on # Wifi
Rob Barnesd1095c72020-09-25 14:16:46 -0600260 chip drivers/wifi/generic
261 register "wake" = "GEVENT_8"
262 device pci 00.0 on end
263 end
264 end
Felix Held4fbab542021-05-31 19:44:46 +0200265 device ref gpp_bridge_2 on end # SD
266 device ref internal_bridge_a on
Felix Held5fd63bd2021-05-31 20:07:02 +0200267 device ref gfx on end # Internal GPU
268 device ref gfx_hda on end # Display HDA
269 device ref crypto on end # Crypto Coprocessor
270 device ref xhci_0 on # USB 3.1
Rob Barnesf0d1c9a2020-06-24 09:42:02 -0600271 chip drivers/usb/acpi
272 register "desc" = ""Root Hub""
273 register "type" = "UPC_TYPE_HUB"
274 device usb 0.0 on
275 chip drivers/usb/acpi
276 register "desc" = ""Left Type-C Port""
277 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
278 register "group" = "ACPI_PLD_GROUP(1, 1)"
279 device usb 2.0 on end
280 end
281 chip drivers/usb/acpi
282 register "desc" = ""Right Type-C Port""
283 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
284 register "group" = "ACPI_PLD_GROUP(2, 2)"
285 device usb 2.1 on end
286 end
287 chip drivers/usb/acpi
288 register "desc" = ""Left Type-A Port""
289 register "type" = "UPC_TYPE_USB3_A"
290 register "group" = "ACPI_PLD_GROUP(1, 2)"
291 device usb 2.2 on end
292 end
293 chip drivers/usb/acpi
294 register "desc" = ""Right Type-A Port""
295 register "type" = "UPC_TYPE_USB3_A"
296 register "group" = "ACPI_PLD_GROUP(2, 1)"
297 device usb 2.3 on end
298 end
299 chip drivers/usb/acpi
300 register "desc" = ""User-Facing Camera""
301 register "type" = "UPC_TYPE_INTERNAL"
302 device usb 2.4 on end
303 end
304 chip drivers/usb/acpi
305 register "desc" = ""Bluetooth""
306 register "type" = "UPC_TYPE_INTERNAL"
Rob Barnes56e889c2020-07-23 14:21:23 -0600307 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_143)"
Rob Barnesf0d1c9a2020-06-24 09:42:02 -0600308 device usb 2.5 on end
309 end
310 chip drivers/usb/acpi
311 register "desc" = ""Left Type-C Port""
312 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
313 register "group" = "ACPI_PLD_GROUP(1, 1)"
314 device usb 3.0 on end
315 end
316 chip drivers/usb/acpi
317 register "desc" = ""Right Type-C Port""
318 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
319 register "group" = "ACPI_PLD_GROUP(2, 2)"
320 device usb 3.1 on end
321 end
322 chip drivers/usb/acpi
323 register "desc" = ""Left Type-A Port""
324 register "type" = "UPC_TYPE_USB3_A"
325 register "group" = "ACPI_PLD_GROUP(1, 2)"
326 device usb 3.2 on end
327 end
328 chip drivers/usb/acpi
329 register "desc" = ""Right Type-A Port""
330 register "type" = "UPC_TYPE_USB3_A"
331 register "group" = "ACPI_PLD_GROUP(2, 1)"
332 device usb 3.3 on end
333 end
334 end
335 end
336 end
Felix Held5fd63bd2021-05-31 20:07:02 +0200337 device ref acp on
Furquan Shaikh24ec79c2020-07-16 13:40:28 -0700338 chip drivers/amd/i2s_machine_dev
339 register "hid" = ""AMDI5682""
340 # DMIC select GPIO for ACP machine device
341 # This GPIO is used to select DMIC0 or DMIC1 by the
342 # kernel driver. It does not really have a polarity
343 # since low and high control the selection of DMIC and
344 # hence does not have an active polarity.
345 # Kernel driver does not use the polarity field and
346 # instead treats the GPIO selection as follows:
347 # Set low (0) = Select DMIC0
348 # Set high (1) = Select DMIC1
349 register "dmic_select_gpio" = "ACPI_GPIO_OUTPUT(GPIO_67)"
350 device generic 0.0 on end
351 end
352 end # Audio
Felix Held5fd63bd2021-05-31 20:07:02 +0200353 device ref hda off end # HDA
354 device ref mp2 on end # non-Sensor Fusion Hub device
Raul E Rangelb3c41322020-05-20 14:07:41 -0600355 end
Felix Held4fbab542021-05-31 19:44:46 +0200356 device ref lpc_bridge on
Raul E Rangelb3c41322020-05-20 14:07:41 -0600357 chip ec/google/chromeec
358 device pnp 0c09.0 on
359 chip ec/google/chromeec/i2c_tunnel
360 register "uid" = "1"
361 register "remote_bus" = "8"
362 device generic 0.0 on
363 chip drivers/i2c/generic
364 register "hid" = ""10EC5682""
365 register "name" = ""RT58""
366 register "uid" = "1"
367 register "desc" = ""Realtek RT5682""
Josie Nordrumcc72e152020-08-03 11:39:41 -0600368 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPIO_84)"
Akshu Agrawalc7d6d7a2020-07-06 19:39:51 +0530369 register "property_count" = "2"
Raul E Rangelb3c41322020-05-20 14:07:41 -0600370 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
371 register "property_list[0].name" = ""realtek,jd-src""
372 register "property_list[0].integer" = "1"
Akshu Agrawalc7d6d7a2020-07-06 19:39:51 +0530373 register "property_list[1].type" = "ACPI_DP_TYPE_STRING"
374 register "property_list[1].name" = ""realtek,mclk-name""
375 register "property_list[1].string" = ""oscout1""
Raul E Rangelb3c41322020-05-20 14:07:41 -0600376 device i2c 1a on end
377 end
378 end
379 end
Furquan Shaikhe284bff2020-07-02 16:03:06 -0700380 chip ec/google/chromeec/audio_codec
381 register "uid" = "1"
382 device generic 0 on end
383 end
Raul E Rangelb3c41322020-05-20 14:07:41 -0600384 end
385 end
386 end
Raul E Rangelb3c41322020-05-20 14:07:41 -0600387 end # domain
388
Felix Held97fc0542021-06-15 20:02:27 +0200389 device ref i2c_3 on
Raul E Rangelb3c41322020-05-20 14:07:41 -0600390 chip drivers/i2c/tpm
391 register "hid" = ""GOOG0005""
392 register "desc" = ""Cr50 TPM""
393 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_3)"
394 device i2c 50 on end
395 end
396 end
397
Raul E Rangel5e29c0e2020-06-12 11:41:16 -0600398 device mmio 0xfedca000 off end # UART1
399 device mmio 0xfedce000 off end # UART2
400 device mmio 0xfedcf000 off end # UART3
401
Raul E Rangelb3c41322020-05-20 14:07:41 -0600402end # chip soc/amd/picasso