The CS line might be disconneced ("broken"), therefore unused.
In this case, the device doesn't need to wait for the user to
handle the CS line for selecting the slave. The data will then be
automatically transferred without taking the CS line status into
account.
Change-Id: Ibddf87721b7d882efbdad9c978b79a3e19189b3e
Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
- cs-gpios: should specify GPIOs used for chipselects (see spi-bus.txt)
+- broken-cs: the CS line is disconnected, therefore the device should not wait
+ for the CS protocol to be established
+
SPI Controller specific data in SPI slave nodes:
- The spi slave nodes should provide the following information which is required
enable_datapath(sdd, spi, xfer, use_dma);
/* Start the signals */
- if (!(sdd->port_conf->quirks & S3C64XX_SPI_QUIRK_CS_AUTO))
+ if (!(sdd->port_conf->quirks & S3C64XX_SPI_QUIRK_CS_AUTO) ||
+ sdd->cntrlr_info->broken_cs)
writel(0, sdd->regs + S3C64XX_SPI_SLAVE_SEL);
else
writel(readl(sdd->regs + S3C64XX_SPI_SLAVE_SEL)
sci->num_cs = temp;
}
+ sci->broken_cs = of_property_read_bool(dev->of_node, "broken-cs");
+
return sci;
}
#else
struct s3c64xx_spi_info {
int src_clk_nr;
int num_cs;
+ bool broken_cs;
int (*cfg_gpio)(void);
dma_filter_fn filter;
};