日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DM365 使用BT656协议驱动LCD的实现

發布時間:2023/12/10 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DM365 使用BT656协议驱动LCD的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?? 前兩天已經調好了,主要是對davinci_platform.c的修改

?? 因為輸入輸出都為pal的制式,所以就在pal的函數中進行了修改。

??在PAL設置的函數中,修改如下:

/*

?* setting PAL mode

?*/

static void davinci_enc_set_pal(struct vid_enc_mode_info *mode_info)

{

?????? enableDigitalOutput(0); //gjx orignal : 0

?

?????? if (cpu_is_davinci_dm355()) {

????????????? dispc_reg_out(VENC_CLKCTL, 0x1);

????????????? dispc_reg_out(VENC_VIDCTL, 0);

????????????? /* DM350 Configure VDAC_CONFIG? */

????????????? davinci_writel(0x0E21A6B6, DM3XX_VDAC_CONFIG);

?????? } else if (cpu_is_davinci_dm365()) {

????????????? dispc_reg_out(VENC_VMOD,0x1043);//gjx? 1:YCC8; 0: ;4:PAL; 3:Composite output enable.Video encoder enable.

????????????? dispc_reg_out(VENC_CLKCTL, 0x11); //gjx enable digital lcd clock;orignal:0x1

????????????? dispc_reg_out(VENC_VIDCTL, 0x6000); //gjx? vclk pin output enable & vclk polarity inverse(6000)

????????????? dispc_reg_out(VENC_YCCCTL, 0x1); //gjx bt656

?

????????????? /* Set OSD clock and OSD Sync Adavance registers */

????????????? dispc_reg_out(VENC_OSDCLK0, 1); //gjx

????????????? dispc_reg_out(VENC_OSDCLK1, 2); //gjx

dispc_reg_out(VENC_VDPRO, 0x20);//xjx

????????????? davinci_writel(0x081141CF, DM3XX_VDAC_CONFIG);

?????? } else {

????????????? /* to set VENC CLK DIV to 1 - final clock is 54 MHz */

????????????? dispc_reg_merge(VENC_VIDCTL, 0, 1 << 1);

????????????? /* Set REC656 Mode */

????????????? dispc_reg_out(VENC_YCCCTL, 0x1);

?????? }

?

?????? dispc_reg_out(VENC_SYNCCTL,0);//gjx

?

?????? if (cpu_is_davinci_dm355()) {

????????????? davinci_writel(mode_info->left_margin,

???????????????????? ?????? (DM355_OSD_REG_BASE + OSD_BASEPX));

????????????? davinci_writel(mode_info->upper_margin,

???????????????????? ?????? (DM355_OSD_REG_BASE + OSD_BASEPY));

?????? } else if (cpu_is_davinci_dm365()) {

????????????? davinci_writel(mode_info->left_margin,

???????????????????? ?????? (DM365_OSD_REG_BASE + OSD_BASEPX));

????????????? /* PAL display shows shakiness in the OSD0 when

????????????? ?* this is set to upper margin. Need to bump it

????????????? ?* by 2

????????????? ?*/

????????????? davinci_writel((mode_info->upper_margin + 2),

???????????????????? ??? ???(DM365_OSD_REG_BASE + OSD_BASEPY));

?????? } else {

????????????? davinci_writel(mode_info->left_margin,

???????????????????? ?????? (DM644X_OSD_REG_BASE + OSD_BASEPX));

????????????? davinci_writel(mode_info->upper_margin,

???????????????????? ?????? (DM644X_OSD_REG_BASE + OSD_BASEPY));

?????? }

?

?????? dispc_reg_merge(VENC_VMOD, VENC_VMOD_VENC, VENC_VMOD_VENC);

?????? dispc_reg_out(VENC_DACTST, 0x0);

? ??dispc_reg_out(VENC_CMPNT, 0);

??????

}

環境變量

setenv bootargs mem=70M console=ttyS0,115200n8 root=/dev/nfs rw nfsroot=192.168.0.168:/home/gjx/workdir/filesys ip=192.168.0.3:192.168.0.168:192.168.0.1:255.255.255.0::eth0:off eth=00:40:01:2B:64:60 video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=1 davinci_enc_mngr.ch0_mode=pal

這樣重新編譯內核就直接可以輸出bt656的視頻了,直接接支持BT656的LCD就顯示成功了。

總結

以上是生活随笔為你收集整理的DM365 使用BT656协议驱动LCD的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。