使用 spi-config设置 -b和-r无效,log如下
# spi-config -d /dev/spidev0.1 -b 16
Unable to set bits to 16
SPI_IOC_WR_BITS_PER_WORD: Invalid argument
# spi-config -d /dev/spidev0.1 -r 1
spidev spidev0.1: setup: unsupport mode bits 80
SPI_IOC_WR_WORD: Invalid argument
2023/03/17 13:52
可以通过修改以下代码问题修复:
1.-r问题:
修改MA35D1_Buildroot/output/build/linux-custom/drivers/spi/spi.c
spi_setup()函数里面 添加SPI_READY bad_bits = spi->mode & ~(spi->controller->mode_bits | SPI_CS_WORD | SPI_LSB_FIRST | SPI_READY);
2.-b问题 :
MA35D1_Buildroot/output/build/linux-custom/drivers/spi/spi-ma35d1-qspi.c
修改master->bits_per_word_mask = SPI_BPW_MASK(8); 为 master->bits_per_word_mask = SPI_BPW_RANGE_MASK(8,32);