This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于DM3730液晶驱动的问题

Other Parts Discussed in Thread: DM3730

各位老师好:

                 小弟最近在做有关DM3730的LCD驱动,所用液晶屏型号为:TFT1P8031(3.5inch)、液晶驱动器型号:HX8238、背光驱动器型号:KTD304。该液晶是通过SPI接口来进行初始化的,我现在把我做的步骤写下来,各位老师看看有什么问题?还有哪里没有写到的请多多指导一下。

                  我现在内核的板级程序文件里linux-2.6.32-devkit8500/arch/arm/mach-omap2/board-omap3devkit8500.c添加了如下的代码:

#if defined(CONFIG_HX8238) || defined(CONFIG_HX8238_MODULE)
#include <plat/mcspi.h>
#include <linux/spi/spi.h>
static struct omap2_mcspi_device_config hx8238_spi_chip_info = {
.turbo_mode = 0,
.single_channel = 1, /* 0:slave, 1:master */
}
static struct spi_board_info omap3devkit8500_zippy2_spi-board_info[ ] __initdata = {
{
.modalias = "HX8238",
.bus_num = 4,
.chip_select = 0,
.max_speed_hz = 36000000,
.controller_data = &hx8238_spi_chip_info,
}
} ;
static void __init omap3devkit8500_HX8238_init(void)
{
/*这部分代码主要是用于对液晶进行初始化*/
mcspi_write_reg(1,0x700001,0x72633F);
mcspi_write_reg(1,0x700002,0x720720);
mcspi_write_reg(1,0x700003,0x727184);
usleep(20000);
mcspi_write_reg(1,0x700004,0x720447);
mcspi_write_reg(1,0x700005,0x72B4B4);
mcspi_write_reg(1,0x70000A,0x724008);
usleep(20000);
mcspi_write_reg(1,0x70000B,0x72D400);
mcspi_write_reg(1,0x70000D,0x721235);
usleep(40000);
mcspi_write_reg(1,0x70000E,0x723000);
usleep(40000);
mcspi_write_reg(1,0x70000F,0x720000);
mcspi_write_reg(1,0x700016,0x729F80);
mcspi_write_reg(1,0x700017,0x722212);
usleep(40000);
mcspi_write_reg(1,0x70001E,0x7200D8);
usleep(40000);
mcspi_write_reg(1,0x700030,0x720507);
mcspi_write_reg(1,0x700031,0x720004);
mcspi_write_reg(1,0x700032,0x720707);
mcspi_write_reg(1,0x700033,0x720000);
mcspi_write_reg(1,0x700034,0x720000);
mcspi_write_reg(1,0x700035,0x720307);
mcspi_write_reg(1,0x700036,0x720700);
mcspi_write_reg(1,0x700037,0x720000);
mcspi_write_reg(1,0x70003A,0x720000);
mcspi_write_reg(1,0x70003B,0x720000);
usleep(30000);
spi_register_board_info(omap3devkit8500_zippy2_spi_board_info,ARRAY_SIZE(omap3devkit8500_zippy2_spi_board_info));
#else
static inline void __init omap3devkit8500_hx8238_init(void) {return ;}
#endif
}
 
然后再linux-2.6.32-devkit8500/drivers/video/omap2/displays/panel-omap3-devkit8500.c文件中添加如下代码,主要是增加液晶的参数:
 
#elif defined(CONFIG_LCD_35inch)
          .x_res      =  320,
          .y_res      =  240,
          .pixel_clock   =  6000,
          .hsw        =  1,
          .hfp          =  19,
          .hbp        =  67,
          .vsw        =  1,
          .vfp          =  4,
          .vbp        =  18,
我就做了这些,但是在板子上跑起来,发现液晶并没有被点亮,使能液晶亮度的信号我们一直是开启的,而且用示波器量spi管教发现并没有信号输出,不知道我所以使用的mcspi_write_reg函数是否是正确,请各位老师指点指点,谢谢了