1、在kernei中,spi-cs在传输中会被一直拉低,这样会非常消耗总线资源,对于同一个bus,多个cs的设备来说非常不友好
处理办法:在dts中加上
spi-cs-high即可解决
code表现:
if (of_find_property(nc, “spi-cs-high”, NULL))
spi->mode |= SPI_CS_HIGH;
||
/
static void spi_set_cs(struct spi_device *spi, bool enable)
{
if (spi->mode & SPI_CS_HIGH)
enable = !enable;
if (gpio_is_valid(spi->cs_gpio))
gpio_set_value(spi->cs_gpio, !enable);
else if (spi->master->set_cs)
spi->master->set_cs(spi, !enable);
}
实际就是传输完成后将cs拉低