On Wed, 3 Oct 2018 22:26:03 +0530 Vignesh R <vigneshr@xxxxxx> wrote: > Cadence OSPI controller IP supports Octal IO (x8 IO lines), > It also has an integrated PHY. IP register layout is very > similar to existing QSPI IP except for additional bits to support Octal > and Octal DDR mode. Therefore, extend current driver to support Octal > mode. > > Signed-off-by: Vignesh R <vigneshr@xxxxxx> > --- > drivers/mtd/spi-nor/cadence-quadspi.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c > index e24db817154e..48b00e75a879 100644 > --- a/drivers/mtd/spi-nor/cadence-quadspi.c > +++ b/drivers/mtd/spi-nor/cadence-quadspi.c > @@ -101,6 +101,7 @@ struct cqspi_st { > #define CQSPI_INST_TYPE_SINGLE 0 > #define CQSPI_INST_TYPE_DUAL 1 > #define CQSPI_INST_TYPE_QUAD 2 > +#define CQSPI_INST_TYPE_OCTAL 3 > > #define CQSPI_DUMMY_CLKS_PER_BYTE 8 > #define CQSPI_DUMMY_BYTES_MAX 4 > @@ -898,6 +899,9 @@ static int cqspi_set_protocol(struct spi_nor *nor, const int read) > case SNOR_PROTO_1_1_4: > f_pdata->data_width = CQSPI_INST_TYPE_QUAD; > break; > + case SNOR_PROTO_1_1_8: > + f_pdata->data_width = CQSPI_INST_TYPE_OCTAL; > + break; > default: > return -EINVAL; > } > @@ -1205,6 +1209,7 @@ static int cqspi_setup_flash(struct cqspi_st *cqspi, struct device_node *np) > SNOR_HWCAPS_READ_FAST | > SNOR_HWCAPS_READ_1_1_2 | > SNOR_HWCAPS_READ_1_1_4 | > + SNOR_HWCAPS_READ_1_1_8 | Is this really supported on qspi versions of this IP? I guess not given the description in the commit message and the name of the new compatible (ospi instead of qspi). > SNOR_HWCAPS_PP, > }; > struct platform_device *pdev = cqspi->pdev; > @@ -1456,6 +1461,10 @@ static const struct of_device_id cqspi_dt_ids[] = { > .compatible = "ti,k2g-qspi", > .data = (void *)CQSPI_NEEDS_WR_DELAY, > }, > + { > + .compatible = "ti,am654-ospi", > + .data = (void *)CQSPI_NEEDS_WR_DELAY, > + }, > { /* end of table */ } > }; >