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