|
我在kernel下有个初始化LCD的函数:InitDisplay
在这个函数中首先进行了寄存器设置
然后
#if (LCD_MODULE_TYPE == LCD_MODULE_LTE480WV)
lcd_horizon_value = LTE480_HOZVAL;
lcd_line_value = LTE480_LINEVAL;
lcd_vbpd = LTE480_VBPD;
lcd_vfpd = LTE480_VFPD;
lcd_vspw = LTE480_VSPW;
lcd_hbpd = LTE480_HBPD;
lcd_hfpd = LTE480_HFPD;
lcd_hspw = LTE480_HSPW;
lcd_frame_rate = LTE480_FRAME_RATE;
InitLDI_LTE480();
其中void InitLDI_LTE480(void)
{
volatile S3C2450_IOPORT_REG *s2450IOP = (S3C2450_IOPORT_REG *)OALPAtoVA(S3C2450_BASE_REG_PA_IOPORT, FALSE);
delayLoop(LCD_DELAY_1MS*10);
s2450IOP->GPBDAT |= (1 < <1); // PCI High
}
然后来给LCD填充蓝色:
#if(LCD_COLOR_DEPTH==16)
pFB = (unsigned short *)IMAGE_FRAMEBUFFER_UA_BASE;
for (i=0; i
*pFB++ = 0x001F; // Blue
我的疑问是:
A、对屏的驱动工作都需要做哪些部分呢?
B、是否需要对注册表修改?
C、怎么看屏的所谓时序
D、屏的信号:如行差......都是什么意思啊?我做这个驱动需要了解哪些名词呢
E、IMAGE_FRAMEBUFFER_UA_BASE这个是定义了一个显示缓冲区,这个地址是有特殊要求的吗?
我不用DMA方式是否也可以
F、太多不懂了,现在主要是不知道从哪入手,晕啊!! |
|