(1) kernel
高通的android4.1,我使用的是RGB565的接口,由于kernel里有高通公司提供的其它家IC的代码,同样是以truly的来作为参考的,代码的框架不变。首先就是在kernel/drivers/video\msm下以truly的代码为模板,以东芝的屏幕为例,文件里的内容照着truly的来做。
这里先来把Makefile和Kconfig文件修改好。在kernel/drivers/video/msm文件夹下的Makefile里添加:
在此目录下打开Kconfig文件,在里面添加:
还要在kernel\arch\arm\configs目录下的board config文件里添加:
在lcdc_r61408.c文件里主要就是要写向LCD用SPI发指令和发数据的函数,我们的这个项目里使用的是GPIO口模拟的SPI总线,所以SPI的时序一定要写正确,R61408在用SPI发指令的时候data和command是在写8bit数据前通过SDO口的高和低来判别的,但是有些LCD的IC,比如NT35510,需要在发8bit数据之前要发送R/W,H/L,D/C几个信号来区别接下来发的数据表示什么。所以一定要根据所选用的LCD的IC的spec严格的来写
高通的android4.1,我使用的是RGB565的接口,由于kernel里有高通公司提供的其它家IC的代码,同样是以truly的来作为参考的,代码的框架不变。首先就是在kernel/drivers/video\msm下以truly的代码为模板,以东芝的屏幕为例,文件里的内容照着truly的来做。
这里先来把Makefile和Kconfig文件修改好。在kernel/drivers/video/msm文件夹下的Makefile里添加:
obj-$(CONFIG_FB_MSM_MIPI_TOSHIBA_VIDEO_WVGA_PT) += mipi_toshiba_video_wvga_pt.o
obj-$(CONFIG_FB_MSM_MIPI_TOSHIBA_VIDEO_WSVGA_PT) += mipi_toshiba_video_wsvga_pt.o
obj-$(CONFIG_FB_MSM_MIPI_TOSHIBA_VIDEO_WUXGA) += mipi_toshiba_video_wuxga.o
obj-$(CONFIG_FB_MSM_LCDC_TOSHIBA_WVGA_PT) += lcdc_toshiba_wvga_pt.o
在此目录下打开Kconfig文件,在里面添加:
config FB_MSM_LCDC_TOSHIBA_WVGA_PT
bool
select FB_MSM_LCDC_PANEL
default n
config FB_MSM_LCDC_TOSHIBA_FWVGA_PT
bool
select FB_MSM_LCDC_PANEL
default n
还要在kernel\arch\arm\configs目录下的board config文件里添加:
CONFIG_FB_MSM_LCDC_TOSHIBA_WVGA_PT=y
在lcdc_r61408.c文件里主要就是要写向LCD用SPI发指令和发数据的函数,我们的这个项目里使用的是GPIO口模拟的SPI总线,所以SPI的时序一定要写正确,R61408在用SPI发指令的时候data和command是在写8bit数据前通过SDO口的高和低来判别的,但是有些LCD的IC,比如NT35510,需要在发8bit数据之前要发送R/W,H/L,D/C几个信号来区别接下来发的数据表示什么。所以一定要根据所选用的LCD的IC的spec严格的来写