summaryrefslogtreecommitdiffstats
path: root/src/soc/intel/cannonlake/spi.c
diff options
context:
space:
mode:
authorSubrata Banik <subrata.banik@intel.com>2017-11-09 12:16:36 +0530
committerAaron Durbin <adurbin@chromium.org>2017-11-11 18:19:31 +0000
commit09564fce556558dfe9c14dd756513545ffeb1914 (patch)
treed1efa710c16026bc310115b7a70d2b1d2cdf3be5 /src/soc/intel/cannonlake/spi.c
parent6c4b5916fcd4844410a709320ab7bf5a06a45596 (diff)
downloadcoreboot-09564fce556558dfe9c14dd756513545ffeb1914.tar.gz
coreboot-09564fce556558dfe9c14dd756513545ffeb1914.tar.bz2
coreboot-09564fce556558dfe9c14dd756513545ffeb1914.zip
soc/intel/{cannonlake,skylake}: Add _soc_ prefix in spi soc routine
This ensures that function callback into the SoC code. Change-Id: Idc16d315ba25d17a2ab537fcdf0c2b51c8802a67 Signed-off-by: Subrata Banik <subrata.banik@intel.com> Reviewed-on: https://review.coreboot.org/22392 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/soc/intel/cannonlake/spi.c')
-rw-r--r--src/soc/intel/cannonlake/spi.c33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/soc/intel/cannonlake/spi.c b/src/soc/intel/cannonlake/spi.c
index 1d65dee31a6c..a86f760ec8b4 100644
--- a/src/soc/intel/cannonlake/spi.c
+++ b/src/soc/intel/cannonlake/spi.c
@@ -22,10 +22,41 @@
#include <device/spi.h>
#include <intelblocks/fast_spi.h>
#include <intelblocks/gspi.h>
+#include <intelblocks/spi.h>
#include <soc/ramstage.h>
#include <soc/pci_devs.h>
#include <spi-generic.h>
+int spi_soc_devfn_to_bus(unsigned int devfn)
+{
+ switch (devfn) {
+ case PCH_DEVFN_SPI:
+ return 0;
+ case PCH_DEVFN_GSPI0:
+ return 1;
+ case PCH_DEVFN_GSPI1:
+ return 2;
+ case PCH_DEVFN_GSPI2:
+ return 3;
+ }
+ return -1;
+}
+
+int spi_soc_bus_to_devfn(unsigned int bus)
+{
+ switch (bus) {
+ case 0:
+ return PCH_DEVFN_SPI;
+ case 1:
+ return PCH_DEVFN_GSPI0;
+ case 2:
+ return PCH_DEVFN_GSPI1;
+ case 3:
+ return PCH_DEVFN_GSPI2;
+ }
+ return -1;
+}
+
const struct spi_ctrlr_buses spi_ctrlr_bus_map[] = {
{ .ctrlr = &fast_spi_flash_ctrlr, .bus_start = 0, .bus_end = 0 },
#if !ENV_SMM
@@ -40,7 +71,7 @@ const size_t spi_ctrlr_bus_map_count = ARRAY_SIZE(spi_ctrlr_bus_map);
static int spi_dev_to_bus(struct device *dev)
{
- return spi_devfn_to_bus(dev->path.pci.devfn);
+ return spi_soc_devfn_to_bus(dev->path.pci.devfn);
}
static struct spi_bus_operations spi_bus_ops = {