blob: e2d918331180aa2c015f2aeba9fac02ba3aeda8f [file] [log] [blame]
Raul E Rangelb3c41322020-05-20 14:07:41 -06001# SPDX-License-Identifier: GPL-2.0-or-later
2chip soc/amd/picasso
3
4 # Set FADT Configuration
Raul E Rangelb3c41322020-05-20 14:07:41 -06005 register "fadt_boot_arch" = "ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042"
6 register "fadt_flags" = "ACPI_FADT_WBINVD | /* See table 5-34 ACPI 6.3 spec */
7 ACPI_FADT_C1_SUPPORTED |
8 ACPI_FADT_SLEEP_BUTTON |
9 ACPI_FADT_S4_RTC_WAKE |
10 ACPI_FADT_32BIT_TIMER |
Raul E Rangelb3c41322020-05-20 14:07:41 -060011 ACPI_FADT_SEALED_CASE |
12 ACPI_FADT_PCI_EXPRESS_WAKE |
13 ACPI_FADT_REMOTE_POWER_ON"
14
15 register "acp_pin_cfg" = "I2S_PINS_I2S_TDM"
Furquan Shaikha4697362020-07-15 21:25:14 -070016 register "acp_i2s_wake_enable" = "1"
17 register "acpi_pme_enable" = "1"
Raul E Rangelb3c41322020-05-20 14:07:41 -060018
19 # Start : OPN Performance Configuration
20 # (Configuratin that is common for all variants)
21 # For the below fields, 0 indicates use SOC default
22
23 # PROCHOT_L de-assertion Ramp Time
24 register "prochot_l_deassertion_ramp_time" = "20" #mS
25
26 # Lower die temperature limit
27 register "thermctl_limit" = "100" #degrees C
28
29 # FP5 Processor Voltage Supply PSI Currents
30 register "psi0_current_limit" = "18000" #mA
31 register "psi0_soc_current_limit" = "12000" #mA
32 register "vddcr_soc_voltage_margin" = "0" #mV
33 register "vddcr_vdd_voltage_margin" = "0" #mV
34
35 # VRM Limits
36 register "vrm_maximum_current_limit" = "0" #mA
37 register "vrm_soc_maximum_current_limit" = "0" #mA
38 register "vrm_current_limit" = "0" #mA
39 register "vrm_soc_current_limit" = "0" #mA
40
41 # Misc SMU settings
42 register "sb_tsi_alert_comparator_mode_en" = "0"
43 register "core_dldo_bypass" = "1"
44 register "min_soc_vid_offset" = "0"
45 register "aclk_dpm0_freq_400MHz" = "0"
46
47 # End : OPN Performance Configuration
48
49 register "sd_emmc_config" = "SD_EMMC_EMMC_HS400"
50
Lucas Chenc1bb32f2020-05-26 19:31:48 +080051 register "xhci0_force_gen1" = "0"
52
Felix Held1d0154c2020-07-23 19:37:42 +020053 register "has_usb2_phy_tune_params" = "1"
54
Chris Wang1e3e5282020-06-23 21:10:57 +080055 # Controller0 Port0 Default
Felix Held3a7389e2020-07-23 18:22:30 +020056 register "usb_2_port_tune_params[0]" = "{
Chris Wang1e3e5282020-06-23 21:10:57 +080057 .com_pds_tune = 0x03,
58 .sq_rx_tune = 0x3,
59 .tx_fsls_tune = 0x3,
60 .tx_pre_emp_amp_tune = 0x03,
61 .tx_pre_emp_pulse_tune = 0x0,
62 .tx_rise_tune = 0x1,
63 .rx_vref_tune = 0x6,
64 .tx_hsxv_tune = 0x3,
65 .tx_res_tune = 0x01,
66 }"
67
68 # Controller0 Port1 Default
Felix Held3a7389e2020-07-23 18:22:30 +020069 register "usb_2_port_tune_params[1]" = "{
Chris Wang1e3e5282020-06-23 21:10:57 +080070 .com_pds_tune = 0x03,
71 .sq_rx_tune = 0x3,
72 .tx_fsls_tune = 0x3,
73 .tx_pre_emp_amp_tune = 0x03,
74 .tx_pre_emp_pulse_tune = 0x0,
75 .tx_rise_tune = 0x1,
76 .rx_vref_tune = 0x6,
77 .tx_hsxv_tune = 0x3,
78 .tx_res_tune = 0x01,
79 }"
80
81 # Controller0 Port2 Default
Felix Held3a7389e2020-07-23 18:22:30 +020082 register "usb_2_port_tune_params[2]" = "{
Chris Wang1e3e5282020-06-23 21:10:57 +080083 .com_pds_tune = 0x03,
84 .sq_rx_tune = 0x3,
85 .tx_fsls_tune = 0x3,
86 .tx_pre_emp_amp_tune = 0x03,
87 .tx_pre_emp_pulse_tune = 0x0,
88 .tx_rise_tune = 0x1,
89 .rx_vref_tune = 0x6,
90 .tx_hsxv_tune = 0x3,
91 .tx_res_tune = 0x01,
92 }"
93
94 # Controller0 Port3 Default
Felix Held3a7389e2020-07-23 18:22:30 +020095 register "usb_2_port_tune_params[3]" = "{
Chris Wang1e3e5282020-06-23 21:10:57 +080096 .com_pds_tune = 0x03,
97 .sq_rx_tune = 0x3,
98 .tx_fsls_tune = 0x3,
99 .tx_pre_emp_amp_tune = 0x03,
100 .tx_pre_emp_pulse_tune = 0x0,
101 .tx_rise_tune = 0x1,
102 .rx_vref_tune = 0x6,
103 .tx_hsxv_tune = 0x3,
104 .tx_res_tune = 0x01,
105 }"
106
107 # Controller1 Port0 Default
Felix Held3a7389e2020-07-23 18:22:30 +0200108 register "usb_2_port_tune_params[4]" = "{
Chris Wang1e3e5282020-06-23 21:10:57 +0800109 .com_pds_tune = 0x03,
110 .sq_rx_tune = 0x3,
111 .tx_fsls_tune = 0x3,
112 .tx_pre_emp_amp_tune = 0x02,
113 .tx_pre_emp_pulse_tune = 0x0,
114 .tx_rise_tune = 0x1,
115 .rx_vref_tune = 0x5,
116 .tx_hsxv_tune = 0x3,
117 .tx_res_tune = 0x01,
118 }"
119
120 # Controller1 Port1 Default
Felix Held3a7389e2020-07-23 18:22:30 +0200121 register "usb_2_port_tune_params[5]" = "{
Chris Wang1e3e5282020-06-23 21:10:57 +0800122 .com_pds_tune = 0x03,
123 .sq_rx_tune = 0x3,
124 .tx_fsls_tune = 0x3,
125 .tx_pre_emp_amp_tune = 0x02,
126 .tx_pre_emp_pulse_tune = 0x0,
127 .tx_rise_tune = 0x1,
128 .rx_vref_tune = 0x5,
129 .tx_hsxv_tune = 0x3,
130 .tx_res_tune = 0x01,
131 }"
132
Raul E Rangelb3c41322020-05-20 14:07:41 -0600133 # SPI Configuration
134 register "common_config.spi_config" = "{
Rob Barnes13ec6a02020-07-14 13:23:43 -0600135 .normal_speed = SPI_SPEED_33M, /* MHz */
136 .fast_speed = SPI_SPEED_66M, /* MHz */
Raul E Rangelb3c41322020-05-20 14:07:41 -0600137 .altio_speed = SPI_SPEED_66M, /* MHz */
138 .tpm_speed = SPI_SPEED_66M, /* MHz */
Martin Roth637f9412020-07-06 20:02:36 -0600139 .read_mode = SPI_READ_MODE_DUAL122,
Raul E Rangelb3c41322020-05-20 14:07:41 -0600140 }"
141
142 # eSPI Configuration
143 register "common_config.espi_config" = "{
144 .std_io_decode_bitmap = ESPI_DECODE_IO_0x80_EN | ESPI_DECODE_IO_0X60_0X64_EN,
145 .generic_io_range[0] = {
146 .base = 0x62,
147 /*
148 * Only 0x62 and 0x66 are required. But, this is not supported by
149 * standard IO decodes and there are only 4 generic I/O windows
150 * available. Hence, open a window from 0x62-0x67.
151 */
152 .size = 5,
153 },
154 .generic_io_range[1] = {
155 .base = 0x800, /* EC_HOST_CMD_REGION0 */
156 .size = 256, /* EC_HOST_CMD_REGION_SIZE * 2 */
157 },
158 .generic_io_range[2] = {
159 .base = 0x900, /* EC_LPC_ADDR_MEMMAP */
160 .size = 255, /* EC_MEMMAP_SIZE */
161 },
162 .generic_io_range[3] = {
163 .base = 0x200, /* EC_LPC_ADDR_HOST_DATA */
164 .size = 8, /* 0x200 - 0x207 */
165 },
166
167 .io_mode = ESPI_IO_MODE_QUAD,
168 .op_freq_mhz = ESPI_OP_FREQ_33_MHZ,
169 .crc_check_enable = 1,
170 .dedicated_alert_pin = 1,
171 .periph_ch_en = 1,
172 .vw_ch_en = 1,
173 .oob_ch_en = 0,
174 .flash_ch_en = 0,
175
Aaron Durbin76fcf8292020-07-02 11:08:21 -0600176 .vw_irq_polarity = ESPI_VW_IRQ_LEVEL_HIGH(1) | ESPI_VW_IRQ_LEVEL_HIGH(12),
Raul E Rangelb3c41322020-05-20 14:07:41 -0600177 }"
178
179 register "i2c_scl_reset" = "GPIO_I2C2_SCL | GPIO_I2C3_SCL"
180
Raul E Rangelb3c41322020-05-20 14:07:41 -0600181 device cpu_cluster 0 on
182 device lapic 0 on end
183 end
184
185 # See AMD 55570-B1 Table 13: PCI Device ID Assignments.
186 device domain 0 on
187 subsystemid 0x1022 0x1510 inherit
188 device pci 0.0 on end # Root Complex
189 device pci 0.2 on end # IOMMU
190 device pci 1.0 on end # Dummy Host Bridge, must be enabled
191 device pci 1.1 off end # GPP Bridge 0
192 device pci 1.2 on end # GPP Bridge 1 - Wifi
193 device pci 1.3 on end # GPP Bridge 2 - SD
194 device pci 1.4 off end # GPP Bridge 3
195 device pci 1.5 off end # GPP Bridge 4
196 device pci 8.0 on end # Dummy Host Bridge, must be enabled
197 device pci 8.1 on # Internal GPP Bridge 0 to Bus A
198 device pci 0.0 on end # Internal GPU
199 device pci 0.1 on end # Display HDA
200 device pci 0.2 on end # Crypto Coprocesor
Rob Barnesf0d1c9a2020-06-24 09:42:02 -0600201 device pci 0.3 on # USB 3.1
202 chip drivers/usb/acpi
203 register "desc" = ""Root Hub""
204 register "type" = "UPC_TYPE_HUB"
205 device usb 0.0 on
206 chip drivers/usb/acpi
207 register "desc" = ""Left Type-C Port""
208 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
209 register "group" = "ACPI_PLD_GROUP(1, 1)"
210 device usb 2.0 on end
211 end
212 chip drivers/usb/acpi
213 register "desc" = ""Right Type-C Port""
214 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
215 register "group" = "ACPI_PLD_GROUP(2, 2)"
216 device usb 2.1 on end
217 end
218 chip drivers/usb/acpi
219 register "desc" = ""Left Type-A Port""
220 register "type" = "UPC_TYPE_USB3_A"
221 register "group" = "ACPI_PLD_GROUP(1, 2)"
222 device usb 2.2 on end
223 end
224 chip drivers/usb/acpi
225 register "desc" = ""Right Type-A Port""
226 register "type" = "UPC_TYPE_USB3_A"
227 register "group" = "ACPI_PLD_GROUP(2, 1)"
228 device usb 2.3 on end
229 end
230 chip drivers/usb/acpi
231 register "desc" = ""User-Facing Camera""
232 register "type" = "UPC_TYPE_INTERNAL"
233 device usb 2.4 on end
234 end
235 chip drivers/usb/acpi
236 register "desc" = ""Bluetooth""
237 register "type" = "UPC_TYPE_INTERNAL"
Rob Barnes56e889c2020-07-23 14:21:23 -0600238 register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_143)"
Rob Barnesf0d1c9a2020-06-24 09:42:02 -0600239 device usb 2.5 on end
240 end
241 chip drivers/usb/acpi
242 register "desc" = ""Left Type-C Port""
243 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
244 register "group" = "ACPI_PLD_GROUP(1, 1)"
245 device usb 3.0 on end
246 end
247 chip drivers/usb/acpi
248 register "desc" = ""Right Type-C Port""
249 register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
250 register "group" = "ACPI_PLD_GROUP(2, 2)"
251 device usb 3.1 on end
252 end
253 chip drivers/usb/acpi
254 register "desc" = ""Left Type-A Port""
255 register "type" = "UPC_TYPE_USB3_A"
256 register "group" = "ACPI_PLD_GROUP(1, 2)"
257 device usb 3.2 on end
258 end
259 chip drivers/usb/acpi
260 register "desc" = ""Right Type-A Port""
261 register "type" = "UPC_TYPE_USB3_A"
262 register "group" = "ACPI_PLD_GROUP(2, 1)"
263 device usb 3.3 on end
264 end
265 end
266 end
267 end
Furquan Shaikh24ec79c2020-07-16 13:40:28 -0700268 device pci 0.5 on
269 chip drivers/amd/i2s_machine_dev
270 register "hid" = ""AMDI5682""
271 # DMIC select GPIO for ACP machine device
272 # This GPIO is used to select DMIC0 or DMIC1 by the
273 # kernel driver. It does not really have a polarity
274 # since low and high control the selection of DMIC and
275 # hence does not have an active polarity.
276 # Kernel driver does not use the polarity field and
277 # instead treats the GPIO selection as follows:
278 # Set low (0) = Select DMIC0
279 # Set high (1) = Select DMIC1
280 register "dmic_select_gpio" = "ACPI_GPIO_OUTPUT(GPIO_67)"
281 device generic 0.0 on end
282 end
283 end # Audio
Raul E Rangelb3c41322020-05-20 14:07:41 -0600284 device pci 0.6 on end # HDA
285 device pci 0.7 on end # non-Sensor Fusion Hub device
286 end
287 device pci 8.2 on # Internal GPP Bridge 0 to Bus B
288 device pci 0.0 on end # AHCI
289 end
290 device pci 14.0 on end # SM
291 device pci 14.3 on # - D14F3 bridge
292 chip ec/google/chromeec
293 device pnp 0c09.0 on
294 chip ec/google/chromeec/i2c_tunnel
295 register "uid" = "1"
296 register "remote_bus" = "8"
297 device generic 0.0 on
298 chip drivers/i2c/generic
299 register "hid" = ""10EC5682""
300 register "name" = ""RT58""
301 register "uid" = "1"
302 register "desc" = ""Realtek RT5682""
303 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(62)"
304 register "property_count" = "1"
305 register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
306 register "property_list[0].name" = ""realtek,jd-src""
307 register "property_list[0].integer" = "1"
308 device i2c 1a on end
309 end
310 end
311 end
312 chip ec/google/chromeec/i2c_tunnel
313 register "name" = ""MSTH""
314 register "uid" = "1"
315 register "remote_bus" = "9"
316 device generic 1.0 on end
317 end
Furquan Shaikhe284bff2020-07-02 16:03:06 -0700318 chip ec/google/chromeec/audio_codec
319 register "uid" = "1"
320 device generic 0 on end
321 end
Raul E Rangelb3c41322020-05-20 14:07:41 -0600322 end
323 end
324 end
325 device pci 18.0 on end # Data fabric [0-7]
326 device pci 18.1 on end
327 device pci 18.2 on end
328 device pci 18.3 on end
329 device pci 18.4 on end
330 device pci 18.5 on end
331 device pci 18.6 on end
332 end # domain
333
334 chip drivers/generic/max98357a
Raul E Rangel19704cd2020-06-02 10:43:20 -0600335 register "hid" = ""MX98357A""
Raul E Rangelb3c41322020-05-20 14:07:41 -0600336 register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_91)"
337 register "sdmode_delay" = "5"
338 device generic 0.1 on end
339 end
340
341 device mmio 0xfedc5000 on
342 chip drivers/i2c/tpm
343 register "hid" = ""GOOG0005""
344 register "desc" = ""Cr50 TPM""
345 register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_3)"
346 device i2c 50 on end
347 end
348 end
349
Raul E Rangel5e29c0e2020-06-12 11:41:16 -0600350 device mmio 0xfedca000 off end # UART1
351 device mmio 0xfedce000 off end # UART2
352 device mmio 0xfedcf000 off end # UART3
353
Raul E Rangelb3c41322020-05-20 14:07:41 -0600354end # chip soc/amd/picasso