diff options
Diffstat (limited to 'drivers/spi/fsl_qspi.c')
-rw-r--r-- | drivers/spi/fsl_qspi.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c index b2a0583..cdbe5d9 100644 --- a/drivers/spi/fsl_qspi.c +++ b/drivers/spi/fsl_qspi.c @@ -15,6 +15,7 @@ #include <errno.h> #include <watchdog.h> #include "fsl_qspi.h" +#include <asm/arch/sys_proto.h> DECLARE_GLOBAL_DATA_PTR; @@ -873,6 +874,13 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, if (bus >= ARRAY_SIZE(spi_bases)) return NULL; +#ifdef CONFIG_MX6 + if (mx6_qspi_fused(spi_bases[bus])) { + printf("QSPI@0x%lx is fused, disable it\n", spi_bases[bus]); + return NULL; + } +#endif + if (cs >= FSL_QSPI_FLASH_NUM) return NULL; @@ -985,6 +993,13 @@ static int fsl_qspi_probe(struct udevice *bus) struct dm_spi_bus *dm_spi_bus; int i; +#ifdef CONFIG_MX6 + if (mx6_qspi_fused(plat->reg_base)) { + printf("QSPI@0x%lx is fused, disable it\n", plat->reg_base); + return -ENODEV; + } +#endif + dm_spi_bus = bus->uclass_priv; dm_spi_bus->max_hz = plat->speed_hz; |