Commit b436fb7d authored by Ramuthevar Vadivel Murugan's avatar Ramuthevar Vadivel Murugan Committed by Mark Brown

spi: cadence-quadspi: Add multi-chipselect support for Intel LGM SoC

Add multiple chipselect support for Intel LGM SoCs,
currently QSPI-NOR and QSPI-NAND supported.
Signed-off-by: default avatarRamuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com>
Link: https://lore.kernel.org/r/20201124041840.31066-4-vadivel.muruganx.ramuthevar@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent ad2775dc
...@@ -76,6 +76,7 @@ struct cqspi_st { ...@@ -76,6 +76,7 @@ struct cqspi_st {
bool is_decoded_cs; bool is_decoded_cs;
u32 fifo_depth; u32 fifo_depth;
u32 fifo_width; u32 fifo_width;
u32 num_chipselect;
bool rclk_en; bool rclk_en;
u32 trigger_address; u32 trigger_address;
u32 wr_delay; u32 wr_delay;
...@@ -1353,6 +1354,9 @@ static int cqspi_of_get_pdata(struct cqspi_st *cqspi) ...@@ -1353,6 +1354,9 @@ static int cqspi_of_get_pdata(struct cqspi_st *cqspi)
return -ENXIO; return -ENXIO;
} }
if (of_property_read_u32(np, "num-cs", &cqspi->num_chipselect))
cqspi->num_chipselect = CQSPI_MAX_CHIPSELECT;
cqspi->rclk_en = of_property_read_bool(np, "cdns,rclk-en"); cqspi->rclk_en = of_property_read_bool(np, "cdns,rclk-en");
return 0; return 0;
...@@ -1589,6 +1593,8 @@ static int cqspi_probe(struct platform_device *pdev) ...@@ -1589,6 +1593,8 @@ static int cqspi_probe(struct platform_device *pdev)
cqspi->current_cs = -1; cqspi->current_cs = -1;
cqspi->sclk = 0; cqspi->sclk = 0;
master->num_chipselect = cqspi->num_chipselect;
ret = cqspi_setup_flash(cqspi); ret = cqspi_setup_flash(cqspi);
if (ret) { if (ret) {
dev_err(dev, "failed to setup flash parameters %d\n", ret); dev_err(dev, "failed to setup flash parameters %d\n", ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment