Toybrick
标题:
rk3399 spi2 增加gpio片选
[打印本页]
作者:
luq67
时间:
2022-1-20 16:54
标题:
rk3399 spi2 增加gpio片选
求助:
我的机器有用到多路spi通讯,其中spi2除cs0片选外还使用了2路gpio做cs1和cs2, 请问是否支持gpio做片选的方式?
看手册似乎一路spi最多只能支持2个片选(通过写SPI_SER bit1选择)?
[attach]2255[/attach]
我有尝试在dts中增加cs-gpios配置,通过gpio操作片选,但还是需要写ROCKCHIP_SPI_SER寄存器才能成功通信,而且同时访问同一总线上的2路spi有概率出现死锁
dts配置:
cs-gpios = <
0
&gpio2 RK_PD3 GPIO_ACTIVE_LOW
&gpio1 RK_PB2 GPIO_ACTIVE_LOW
>;
drivers/spi/spi.c
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);
+ if (spi->master->set_cs)
+ spi->master->set_cs(spi, !enable);
}
else if (spi->master->set_cs)
spi->master->set_cs(spi, !enable);
}
欢迎光临 Toybrick (https://t.rock-chips.com/)
Powered by Discuz! X3.3