最近在用sprd 9820e 做4G功能机, 调试时发现spi 屏都点不亮,然后和lcm模组对了一下pin脚定义,发现并没有什么问题。
首先通过read ID 去判断一下lcm spi 通信是否ok,发现read 不了。说明9820 和lcm spi通信没有成功,然后和lcm 模组厂对一下spi 内部采用的哪种通信方式,模组厂采用的是3线9bit模式,但是展讯代码默认采用的是4WIRE_8BIT_SDA模式,从下面code里面可以得知。
idh.code\u-boot15\drivers\video\sprdfb\sprdfb_spi.c
BOOLEAN sprdfb_sprd_spi_init(struct sprdfb_device *dev)
{
unsigned int reg_val;
sprd_gpio_request(NULL,138);
sprd_gpio_direction_output(NULL,138,1);
sprd_spi_enable(1);
sprd_spi_clk_set(1,3,0);
sprd_spi_init( spi_int_parm);
#ifdef CONFIG_SPIMODE_4WIRE_8BIT_SDIO
sprd_spi_set_spi_mode(SPIMODE_4WIRE_8BIT_SDIO);
#else
sprd_spi_set_spi_mode(SPIMODE_4WIRE_8BIT_SDA);
#endif
return TRUE;
}
然后spi改为4线8bit sda模式就可以点亮了。