Skip to content

Commit

Permalink
mtd: spi-nor: cadence-quadspi: Provide a way to disable DAC mode
Browse files Browse the repository at this point in the history
Currently direct access mode is used on platforms that have AHB window
(memory mapped window) larger than flash size. This feature is limited
to TI platforms as non TI platforms have < 1MB of AHB window.
Therefore introduce a driver quirk to disable DAC mode and set it for
non TI compatibles. This is in preparation to move to spi-mem framework
where flash geometry cannot be known.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Acked-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/20200601070444.16923-3-vigneshr@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Vignesh Raghavendra authored and Mark Brown committed Jun 19, 2020
1 parent 834b4e8 commit a997050
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/mtd/spi-nor/controllers/cadence-quadspi.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@

/* Quirks */
#define CQSPI_NEEDS_WR_DELAY BIT(0)
#define CQSPI_DISABLE_DAC_MODE BIT(1)

/* Capabilities mask */
#define CQSPI_BASE_HWCAPS_MASK \
Expand Down Expand Up @@ -1261,7 +1262,8 @@ static int cqspi_setup_flash(struct cqspi_st *cqspi, struct device_node *np)

f_pdata->registered = true;

if (mtd->size <= cqspi->ahb_size) {
if (mtd->size <= cqspi->ahb_size &&
!(ddata->quirks & CQSPI_DISABLE_DAC_MODE)) {
f_pdata->use_direct_mode = true;
dev_dbg(nor->dev, "using direct mode for %s\n",
mtd->name);
Expand Down Expand Up @@ -1457,6 +1459,7 @@ static const struct dev_pm_ops cqspi__dev_pm_ops = {

static const struct cqspi_driver_platdata cdns_qspi = {
.hwcaps_mask = CQSPI_BASE_HWCAPS_MASK,
.quirks = CQSPI_DISABLE_DAC_MODE,
};

static const struct cqspi_driver_platdata k2g_qspi = {
Expand Down

0 comments on commit a997050

Please sign in to comment.