From cb4a4321e73918d1ef3c5b9f8737eb92706d20f5 Mon Sep 17 00:00:00 2001 From: Clark Wang Date: Tue, 23 Apr 2019 15:16:35 +0800 Subject: [PATCH] MLK-21520-2 spi: lpspi: add multi SS support in PIO mode Add "fsl,spi-num-chipselects" check to support multi SS function in PIO mode. Signed-off-by: Clark Wang Acked-by: Fugang Duan --- drivers/spi/spi-fsl-lpspi.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c index 38a7a3be4511..b9c2347ec613 100644 --- a/drivers/spi/spi-fsl-lpspi.c +++ b/drivers/spi/spi-fsl-lpspi.c @@ -826,7 +826,7 @@ static int fsl_lpspi_probe(struct platform_device *pdev) struct spi_imx_master *lpspi_platform_info = dev_get_platdata(&pdev->dev); struct resource *res; - int i, ret, irq; + int i, ret, irq, num_cs; u32 temp; if (!np && !lpspi_platform_info) { @@ -849,6 +849,16 @@ static int fsl_lpspi_probe(struct platform_device *pdev) controller->bits_per_word_mask = SPI_BPW_RANGE_MASK(8, 32); controller->bus_num = pdev->id; + ret = of_property_read_u32(np, "fsl,spi-num-chipselects", &num_cs); + if (ret < 0) { + if (lpspi_platform_info) { + num_cs = lpspi_platform_info->num_chipselect; + controller->num_chipselect = num_cs; + } + } else { + controller->num_chipselect = num_cs; + } + fsl_lpspi = spi_controller_get_devdata(controller); fsl_lpspi->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, fsl_lpspi); -- 2.17.1