x86: apl: Enable SPI flash in TPL with APL_SPI_FLASH_BOOT
authorSimon Glass <sjg@chromium.org>
Sat, 3 Oct 2020 17:31:38 +0000 (11:31 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 29 Oct 2020 20:42:18 +0000 (14:42 -0600)
At present, enabling CONFIG_APL_SPI_FLASH_BOOT does not build since SPI
and SPI flash are not enabled for TPL. Add a condition to fix this and
tidy up a build warning in the SPI-flash driver.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/x86/cpu/apollolake/Kconfig
drivers/spi/ich.c

index 35a425c..c6c1350 100644 (file)
@@ -85,6 +85,8 @@ config APL_SPI_FLASH_BOOT
        bool "Support booting with SPI-flash driver instead memory-mapped SPI"
        select TPL_SPI_FLASH_SUPPORT
        select TPL_SPI_SUPPORT
+       select TPL_DM_SPI
+       select TPL_DM_SPI_FLASH
        help
          This enables SPI and SPI flash in TPL. Without the this only
          available boot method is to use memory-mapped SPI. Since this is
index e1336b8..a91cb78 100644 (file)
@@ -615,6 +615,7 @@ static int ich_spi_exec_op(struct spi_slave *slave, const struct spi_mem_op *op)
        return ret;
 }
 
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
 /**
  * ich_spi_get_basics() - Get basic information about the ICH device
  *
@@ -657,6 +658,7 @@ static int ich_spi_get_basics(struct udevice *bus, bool can_probe,
 
        return ret;
 }
+#endif
 
 /**
  * ich_get_mmap_bus() - Handle the get_mmap() method for a bus
@@ -946,10 +948,10 @@ static int ich_spi_child_pre_probe(struct udevice *dev)
 static int ich_spi_ofdata_to_platdata(struct udevice *dev)
 {
        struct ich_spi_platdata *plat = dev_get_platdata(dev);
-       int ret;
 
 #if !CONFIG_IS_ENABLED(OF_PLATDATA)
        struct ich_spi_priv *priv = dev_get_priv(dev);
+       int ret;
 
        ret = ich_spi_get_basics(dev, true, &priv->pch, &plat->ich_version,
                                 &plat->mmio_base);