Skip to content

Commit ad2775d

Browse files
vadvelbroonie
authored andcommitted
spi: cadence-quadspi: Disable the DAC for Intel LGM SoC
On Intel Lightning Mountain(LGM) SoCs QSPI controller do not use Direct Access Controller(DAC). This patch adds a quirk to disable the Direct Access Controller for data transfer instead it uses indirect data transfe DAC bit resets to 1 so there is no need to explicitly set it. Signed-off-by: Ramuthevar Vadivel Murugan <[email protected]> Link: https://lore.kernel.org/r/20201124041840.31066-3-vadivel.muruganx.ramuthevar@linux.intel.com Signed-off-by: Mark Brown <[email protected]>
1 parent ab2d287 commit ad2775d

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

drivers/spi/spi-cadence-quadspi.c

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1384,10 +1384,12 @@ static void cqspi_controller_init(struct cqspi_st *cqspi)
13841384
writel(cqspi->fifo_depth * cqspi->fifo_width / 8,
13851385
cqspi->iobase + CQSPI_REG_INDIRECTWRWATERMARK);
13861386

1387-
/* Enable Direct Access Controller */
1388-
reg = readl(cqspi->iobase + CQSPI_REG_CONFIG);
1389-
reg |= CQSPI_REG_CONFIG_ENB_DIR_ACC_CTRL;
1390-
writel(reg, cqspi->iobase + CQSPI_REG_CONFIG);
1387+
/* Disable direct access controller */
1388+
if (!cqspi->use_direct_mode) {
1389+
reg = readl(cqspi->iobase + CQSPI_REG_CONFIG);
1390+
reg &= ~CQSPI_REG_CONFIG_ENB_DIR_ACC_CTRL;
1391+
writel(reg, cqspi->iobase + CQSPI_REG_CONFIG);
1392+
}
13911393

13921394
cqspi_controller_enable(cqspi, 1);
13931395
}
@@ -1675,6 +1677,10 @@ static const struct cqspi_driver_platdata am654_ospi = {
16751677
.quirks = CQSPI_NEEDS_WR_DELAY,
16761678
};
16771679

1680+
static const struct cqspi_driver_platdata intel_lgm_qspi = {
1681+
.quirks = CQSPI_DISABLE_DAC_MODE,
1682+
};
1683+
16781684
static const struct of_device_id cqspi_dt_ids[] = {
16791685
{
16801686
.compatible = "cdns,qspi-nor",
@@ -1690,6 +1696,7 @@ static const struct of_device_id cqspi_dt_ids[] = {
16901696
},
16911697
{
16921698
.compatible = "intel,lgm-qspi",
1699+
.data = &intel_lgm_qspi,
16931700
},
16941701
{ /* end of table */ }
16951702
};

0 commit comments

Comments
 (0)