OK6410 LCD配置
2012-05-22 19:06
274 查看
1:配置与LCD相连的GPIO
GPICON = 0xaaaaaaaa; /* GPI0~GPI15用作lcd_vd[0~15] */
GPJCON = 0xaaaaaaa; /* GPJ0~GPJ7用作lcd_vd[16~23]
GPJ8 HSYNC
GPJ9 VSYNC
GPJ10 VDEN
GPJ11 VCLK
*/
GPFCON &= ~(0x3<<28);
GPFCON |= (1<<28); /* GPF14用作背光使能信号 */
GPECON &= ~(0xf);
GPECON |= (0x1); /* GPE0用作LCD的on/off信号 */
2:配置相关寄存器
2. 初始化6410的display controller
2.1 hsync,vsync,vclk,vden的极性和时间参数
2.2 行数、列数(分辨率),象素颜色的格式
2.3 分配显存(frame buffer),写入display controller
//下面两个由6410手册要求设置
MIFPCON &= ~(1<<3); /* Normal mode */
SPCON &= ~(0x3);
SPCON |= 0x1; /* RGB I/F style */
//配置输出格式和时钟
#if0
VIDCON0 &= ~((3<<26) |(3<<17) | (0xff<<6)); // RGBI/F, RGB Parallel format,
VIDCON0 |= ((2<<6) | (1<<4) |(0x3<<2));
// vclk== 27MHz Ext Clock input /(CLKVAL+1) = 27/3 = 9MHz */
#else
VIDCON0 &= ~((3<<26) |(3<<17) | (0xff<<6) |(3<<2));
//RGB I/F, RGB Parallelformat,
VIDCON0 |= ((14<<6) | (1<<4)); // vclk== HCLK / (CLKVAL+1) = 133/15= 9MHz
#endif
//视频输出及显示控制信号使能
VIDCON0 &= ~(0x3);
//配置时钟HSYNC VSYNC的极性
VIDCON1 &= ~((1<<7) |(1<<4)); /* 在vclk的下降沿获取数据 */
VIDCON1 |= ((1<<6) | (1<<5)); /* HSYNC高电平有效, VSYNC高电平有效 */
//配置时序规则
RGB 接口时序图:
参照4.3寸的LCD “Product Specifications”
定时(时序)规则:
由上面可以得出
VSPW =9
VBPD =1
LINEVAL=271
VFPD =1
HSPW =40
HBPD = 1
HOZVAL =479
HFPD = 1
VIDTCON0= (VBPD << 16) | (VFPD << 8) | (VSPW << 0);
VIDTCON1 = (HBPD << 16) | (HFPD<< 8) | (HSPW << 0);
VIDTCON2 = (LINEVAL << 11) | (HOZVAL<< 0);
//配置窗口0
WINCON0 &= ~(0xf << 2);
WINCON0|= (0xb<<2) | (1<<0);
/* unpacked 24 BPP (non-palletizedR:8-G:8-B:8 ) */
//配置窗口0的位置
LeftTopX =0
LeftTopY =0
RightBotX =479
RightBotY =271
VIDOSD0A = (LeftTopX<<11) |(LeftTopY << 0);
VIDOSD0B = ((RightBotX+1)<<11) |((RightBotY+1) << 0);
//窗口尺寸
VIDOSD0C = (LINEVAL + 1) * (HOZVAL + 1);
//设置显存在内存(帧缓冲地址)的首地址 与 尾地址
VIDW00ADD0B0= FRAME_BUFFER;
VIDW00ADD1B0 = (((HOZVAL + 1)*4 + 0) * (LINEVAL + 1)) &(0xffffff);
/* VBASEL = VBASEU + (LINEWIDTH+OFFSIZE) x(LINEVAL+1)
* = 0 + (480*4 + 0) * 272
* 注意只取了前24位
*/
VIDW00ADD2 = HOZVAL + 1;//可以不用
GPICON = 0xaaaaaaaa; /* GPI0~GPI15用作lcd_vd[0~15] */
GPJCON = 0xaaaaaaa; /* GPJ0~GPJ7用作lcd_vd[16~23]
GPJ8 HSYNC
GPJ9 VSYNC
GPJ10 VDEN
GPJ11 VCLK
*/
GPFCON &= ~(0x3<<28);
GPFCON |= (1<<28); /* GPF14用作背光使能信号 */
GPECON &= ~(0xf);
GPECON |= (0x1); /* GPE0用作LCD的on/off信号 */
2:配置相关寄存器
2. 初始化6410的display controller
2.1 hsync,vsync,vclk,vden的极性和时间参数
2.2 行数、列数(分辨率),象素颜色的格式
2.3 分配显存(frame buffer),写入display controller
//下面两个由6410手册要求设置
MIFPCON &= ~(1<<3); /* Normal mode */
SPCON &= ~(0x3);
SPCON |= 0x1; /* RGB I/F style */
//配置输出格式和时钟
#if0
VIDCON0 &= ~((3<<26) |(3<<17) | (0xff<<6)); // RGBI/F, RGB Parallel format,
VIDCON0 |= ((2<<6) | (1<<4) |(0x3<<2));
// vclk== 27MHz Ext Clock input /(CLKVAL+1) = 27/3 = 9MHz */
#else
VIDCON0 &= ~((3<<26) |(3<<17) | (0xff<<6) |(3<<2));
//RGB I/F, RGB Parallelformat,
VIDCON0 |= ((14<<6) | (1<<4)); // vclk== HCLK / (CLKVAL+1) = 133/15= 9MHz
#endif
//视频输出及显示控制信号使能
VIDCON0 &= ~(0x3);
//配置时钟HSYNC VSYNC的极性
VIDCON1 &= ~((1<<7) |(1<<4)); /* 在vclk的下降沿获取数据 */
VIDCON1 |= ((1<<6) | (1<<5)); /* HSYNC高电平有效, VSYNC高电平有效 */
//配置时序规则
RGB 接口时序图:
参照4.3寸的LCD “Product Specifications”
定时(时序)规则:
由上面可以得出
VSPW =9
VBPD =1
LINEVAL=271
VFPD =1
HSPW =40
HBPD = 1
HOZVAL =479
HFPD = 1
VIDTCON0= (VBPD << 16) | (VFPD << 8) | (VSPW << 0);
VIDTCON1 = (HBPD << 16) | (HFPD<< 8) | (HSPW << 0);
VIDTCON2 = (LINEVAL << 11) | (HOZVAL<< 0);
//配置窗口0
WINCON0 &= ~(0xf << 2);
WINCON0|= (0xb<<2) | (1<<0);
/* unpacked 24 BPP (non-palletizedR:8-G:8-B:8 ) */
//配置窗口0的位置
LeftTopX =0
LeftTopY =0
RightBotX =479
RightBotY =271
VIDOSD0A = (LeftTopX<<11) |(LeftTopY << 0);
VIDOSD0B = ((RightBotX+1)<<11) |((RightBotY+1) << 0);
//窗口尺寸
VIDOSD0C = (LINEVAL + 1) * (HOZVAL + 1);
//设置显存在内存(帧缓冲地址)的首地址 与 尾地址
VIDW00ADD0B0= FRAME_BUFFER;
VIDW00ADD1B0 = (((HOZVAL + 1)*4 + 0) * (LINEVAL + 1)) &(0xffffff);
/* VBASEL = VBASEU + (LINEWIDTH+OFFSIZE) x(LINEVAL+1)
* = 0 + (480*4 + 0) * 272
* 注意只取了前24位
*/
VIDW00ADD2 = HOZVAL + 1;//可以不用
相关文章推荐
- ok6410的LCD裸机范例
- ok6410的LCD驱动
- 嵌入式成长轨迹62【智能家居项目】【ARM 飞凌ok6410】【QT&QWT&sqlite3安装配置】
- 移植ok6410 LCD驱动
- OK6410 LCD驱动移植
- UBOOT-2012-10在OK6410平台的移植(三)uboot 2012.10编译配置
- 基于飞淩OK6410开发板与Ubuntu 10.04 的NFS的配置
- OK6410启动配置过程(详细信息)
- LCD configuration of OK6410
- UBOOT-2012-10在OK6410平台的移植(三)uboot 2012.10编译配置
- 下篇--ARM时钟初始化--配置时钟(基于ok6410)--国嵌第三季-专题7
- OK6410 u-boot-2012.04.01移植一配置编译单板
- linux_ok6410配置usb摄像头ZC3XX并在网页使用流媒体显示
- ok6410之lcd驱动程序设计
- 飞凌ok6410_wince_2Gflash_256ddr操作系统开发环境配置及烧写自己定制的内核
- Linux3.8.3在OK6410平台的移植LCD驱动
- OK6410 uboot2013.04-rc1 DM9000移植及tftp配置使用
- OK6410与Ubuntu 11.10 NFS配置与运行第一个程序
- CentOS 6.3配置开发OK6410
- ok6410LCD测试程序