coreboot/src
Furquan Shaikh 70063ff565 soc/amd/common/block: Add support for configuring eSPI connection to slave
This change adds a helper function espi_setup() which allows SoCs to
configure connection to slave. Most of the configuration is dependent
upon mainboard settings in espi_config done as part of the device
tree. The general flow for setup involves the following steps:
1. Set initial configuration (lowest operating frequency and single mode).
2. Perform in-band reset and set initial configuration since the
settings would be lost by the reset.
3. Read slave capabilities.
4. Set slave configuration based on mainboard settings.
5. Perform eSPI host controller configuration to match the slave
configuration and set polarities for VW interrupts.
6. Perform VW channel setup and deassert PLTRST#.
7. Perform peripheral channel setup.
8. Perform OOB channel setup.
9. Perform flash channel setup.
10. Enable subtractive decoding if requested by mainboard.

BUG=b:153675913

Signed-off-by: Furquan Shaikh <furquan@google.com>
Change-Id: I872ec09cd92e9bb53f22e38d2773f3491355279e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41272
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-05-13 08:41:20 +00:00
..
acpi treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
arch treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
commonlib treewide: Replace BSD-3-Clause and ISC headers with SPDX headers 2020-05-11 17:12:16 +00:00
console treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cpu treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
device util/sconfig: Add LPC and ESPI buses 2020-05-12 20:12:17 +00:00
drivers Remove new additions of "this file is part of" lines 2020-05-13 08:37:21 +00:00
ec treewide: Convert more license headers to SPDX style 2020-05-11 19:37:19 +00:00
include Remove new additions of "this file is part of" lines 2020-05-13 08:37:21 +00:00
lib espi_debug: Use switch case instead of if-else 2020-05-13 08:37:59 +00:00
mainboard mb/google/volteer: move SPD files to variant directories 2020-05-13 08:38:44 +00:00
northbridge device/pci_device: Extract pci_domain_set_resources from SOC 2020-05-12 20:07:25 +00:00
security treewide: Convert more license headers to SPDX style 2020-05-11 19:37:19 +00:00
soc soc/amd/common/block: Add support for configuring eSPI connection to slave 2020-05-13 08:41:20 +00:00
southbridge southbridge/intel/common: Add Process Call 2020-05-12 20:08:20 +00:00
superio treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
vendorcode treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
Kconfig treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00