打印
[i.MX]

i.MX 6Quad实现rgb接口lcd显示

[复制链接]
楼主: a151937404
手机看帖
扫描二维码
随时随地手机跟帖
21
a151937404 发表于 2014-4-29 08:33
请问这个原因是什么 ? pclk,hs,vs都有信号的。

从你的屏幕截图来看,一般来说就是pixel clock没有设置正确,设置正确就ok了

使用特权

评论回复
22
a151937404|  楼主 | 2014-5-8 12:57 | 只看该作者
试了 还是不行,这是我boot的参数
bootdelay=3
baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
loadaddr=0x10800000
rd_loadaddr=0x11000000
netdev=eth0
ethprime=FEC0
fastboot_dev=mmc3
splashimage=0x30000000
splashpos=m,m
lvds_num=1
ethact=FEC0
bootcmd=booti mmc3
bootargs=console=ttymxc0,115200 init=/init video=mxcfb0:dev=lcd,WUZRLCD,if=RGB24,bpp=24 video=mxcfb1:off video=kxcfb2:off fbmen=10M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale
stdin=serial
stdout=serial
stderr=serial

Environment size: 524/8188 bytes

使用特权

评论回复
23
a151937404|  楼主 | 2014-5-8 12:58 | 只看该作者
board-mx6q_sabresd.c
文件中修改如下:
static struct ipuv3_fb_platform_data sabresd_fb_data[] = {
        { /*fb0*/
        .disp_dev = "lcd",
        .interface_pix_fmt = IPU_PIX_FMT_RGB24,
        .mode_str = "WUZRLCD",
        .default_bpp = 24,
        .int_clk = false,
        .late_init = false,
        }, /*{
        .disp_dev = "hdmi",
        .interface_pix_fmt = IPU_PIX_FMT_RGB24,
        .mode_str = "1920x1080M@60",
        .default_bpp = 32,
        .int_clk = false,
        .late_init = false,
        }, {
        .disp_dev = "ldb",
        .interface_pix_fmt = IPU_PIX_FMT_RGB666,
        .mode_str = "LDB-XGA",
        .default_bpp = 16,
        .int_clk = false,
        .late_init = false,
        },*/
};

static struct fsl_mxc_lcd_platform_data lcdif_data = {
        .ipu_id = 0,
        .disp_id = 0,
        .default_ifmt = IPU_PIX_FMT_RGB24,
};

使用特权

评论回复
24
a151937404|  楼主 | 2014-5-8 13:01 | 只看该作者
hs vs de 都有信号,但是rgb线没有信号,我的复用引脚如下
        /* DISPLAY */
        MX6Q_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK,
        MX6Q_PAD_DI0_PIN15__IPU1_DI0_PIN15,                /* DE */
        //MX6Q_PAD_DI0_PIN15__GPIO_4_17,
        MX6Q_PAD_EIM_DA8__GPIO_3_8,
        MX6Q_PAD_DI0_PIN2__IPU1_DI0_PIN2,                /* HSync */
        MX6Q_PAD_DI0_PIN3__IPU1_DI0_PIN3,                /* VSync */
        //MX6Q_PAD_DI0_PIN4__IPU1_DI0_PIN4,                /* Contrast */
        MX6Q_PAD_DISP0_DAT0__IPU1_DISP0_DAT_0,
        MX6Q_PAD_DISP0_DAT1__IPU1_DISP0_DAT_1,
        MX6Q_PAD_DISP0_DAT2__IPU1_DISP0_DAT_2,
        MX6Q_PAD_DISP0_DAT3__IPU1_DISP0_DAT_3,
        MX6Q_PAD_DISP0_DAT4__IPU1_DISP0_DAT_4,
        MX6Q_PAD_DISP0_DAT5__IPU1_DISP0_DAT_5,
        MX6Q_PAD_DISP0_DAT6__IPU1_DISP0_DAT_6,
        MX6Q_PAD_DISP0_DAT7__IPU1_DISP0_DAT_7,
        MX6Q_PAD_DISP0_DAT8__IPU1_DISP0_DAT_8,
        MX6Q_PAD_DISP0_DAT9__IPU1_DISP0_DAT_9,
        MX6Q_PAD_DISP0_DAT10__IPU1_DISP0_DAT_10,
        MX6Q_PAD_DISP0_DAT11__IPU1_DISP0_DAT_11,
        MX6Q_PAD_DISP0_DAT12__IPU1_DISP0_DAT_12,
        MX6Q_PAD_DISP0_DAT13__IPU1_DISP0_DAT_13,
        MX6Q_PAD_DISP0_DAT14__IPU1_DISP0_DAT_14,
        MX6Q_PAD_DISP0_DAT15__IPU1_DISP0_DAT_15,
        MX6Q_PAD_DISP0_DAT16__IPU1_DISP0_DAT_16,
        MX6Q_PAD_DISP0_DAT17__IPU1_DISP0_DAT_17,
        MX6Q_PAD_DISP0_DAT18__IPU1_DISP0_DAT_18,
        MX6Q_PAD_DISP0_DAT19__IPU1_DISP0_DAT_19,
        MX6Q_PAD_DISP0_DAT20__IPU1_DISP0_DAT_20,
        MX6Q_PAD_DISP0_DAT21__IPU1_DISP0_DAT_21,
        MX6Q_PAD_DISP0_DAT22__IPU1_DISP0_DAT_22,
        MX6Q_PAD_DISP0_DAT23__IPU1_DISP0_DAT_23,

使用特权

评论回复
25
uwyyk28| | 2014-5-8 13:14 | 只看该作者
怀疑你的硬件接的有问题

使用特权

评论回复
26
FSL_TICS_Rita| | 2014-5-8 18:17 | 只看该作者
a151937404 发表于 2014-5-8 12:25
参考的是imx6q,我传一个屏的datasheet给你看看,有些参数我找不到,像那个刷新率。 ...

你好,数据手册里没有提到的话,那你设置为60应该也是没有影响的,现在就是你的最后三位设置的有问题,
0,---------------  这一位不能是0,你试一下使用FB_SYNC_OE_LOW_ACT或者FB_SYNC_CLK_LAT_FALL这两个我不知道哪个适合你,你试一下。
FB_VMODE_NONINTERLACED------------------这个是正确的
FB_MODE_IS_DETAILED  -----------------这一位应该是0
你改好了以后再试一下,看可不可以。

使用特权

评论回复
27
a151937404|  楼主 | 2014-5-9 09:07 | 只看该作者
试了好多选项了,对着代码和寄存器改了好几下,rgb线总是没有信号,请问数据是怎么写到freambuff里面的 ?

使用特权

评论回复
28
FSL_TICS_Rita| | 2014-5-9 13:53 | 只看该作者
a151937404 发表于 2014-5-9 09:07
试了好多选项了,对着代码和寄存器改了好几下,rgb线总是没有信号,请问数据是怎么写到freambuff里面的 ? ...

楼主你好,请问你有试过26楼我给你的lcd参数设置,可以实现正常显示的吗?

使用特权

评论回复
29
a151937404|  楼主 | 2014-5-9 14:01 | 只看该作者
都试过咯,我把ipu ip 和di ip都换过了,还是木有显示。

使用特权

评论回复
30
FSL_TICS_Rita| | 2014-5-9 14:14 | 只看该作者
a151937404 发表于 2014-5-9 14:01
都试过咯,我把ipu ip 和di ip都换过了,还是木有显示。


ipu你使用ipu0 就好。

使用特权

评论回复
31
FSL_TICS_Rita| | 2014-5-9 14:15 | 只看该作者
a151937404 发表于 2014-5-9 14:01
都试过咯,我把ipu ip 和di ip都换过了,还是木有显示。

请问你板子上使用的BSP是哪个版本的?

使用特权

评论回复
32
a151937404|  楼主 | 2014-5-9 14:34 | 只看该作者
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.2
TARGET_PRODUCT=sabresd_6dq
TARGET_BUILD_VARIANT=user
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.2.0-55-generic-x86_64-with-Ubuntu-12.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=1.1.0-rc3
OUT_DIR=out

使用特权

评论回复
33
a151937404|  楼主 | 2014-5-9 14:36 | 只看该作者
按照这个文档来下载源码和编译的。

Android_User_Guide.pdf

228.09 KB

使用特权

评论回复
34
FSL_TICS_Rita| | 2014-5-12 11:11 | 只看该作者
a151937404 发表于 2014-5-9 14:36
按照这个文档来下载源码和编译的。

楼主你好,你把你BSP中关于LCD修改的所有内容以及boot参数都发给我看一下。

使用特权

评论回复
35
a151937404|  楼主 | 2014-5-12 13:21 | 只看该作者
boot参数:
bootdelay=3
baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
loadaddr=0x10800000
rd_loadaddr=0x11000000
netdev=eth0
ethprime=FEC0
fastboot_dev=mmc3
splashimage=0x30000000
splashpos=m,m
lvds_num=1
ethact=FEC0
bootcmd=booti mmc3
bootargs=console=ttymxc0,115200 init=/init video=mxcfb0:dev=lcd,800x480,if=RGB24,bpp=24 video=mxcfb1ff video=kxcfb2ff fbmen=10M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale
stdin=serial
stdout=serial
stderr=serial

Environment size: 524/8188 bytes

board-mx6q_sabresd.c:

static struct ipuv3_fb_platform_data sabresd_fb_data[] = {
        { /*fb0*/
        .disp_dev = "lcd",
        .interface_pix_fmt = IPU_PIX_FMT_RGB24,
        .mode_str = "800x480",
        .default_bpp = 24,
        .int_clk = false,
        .late_init = false,
        }, /*{
        .disp_dev = "hdmi",
        .interface_pix_fmt = IPU_PIX_FMT_RGB24,
        .mode_str = "1920x1080M@60",
        .default_bpp = 32,
        .int_clk = false,
        .late_init = false,
        }, {
        .disp_dev = "ldb",
        .interface_pix_fmt = IPU_PIX_FMT_RGB666,
        .mode_str = "LDB-XGA",
        .default_bpp = 16,
        .int_clk = false,
        .late_init = false,
        },*/
};

static struct fsl_mxc_lcd_platform_data lcdif_data = {
        .ipu_id = 0,
        .disp_id = 0,
        .default_ifmt = IPU_PIX_FMT_RGB24,
};

mxc_lcdif.c:
static struct fb_videomode lcdif_modedb[] =
{
    {
        "800x480", 60, 800, 480,37037, 16, 46, 7, 23, 10, 10,
        FB_SYNC_CLK_LAT_FALL,
        FB_VMODE_NONINTERLACED,
        0,
    },

    /*  {
         // 800x480 @ 57 Hz , pixel clk @ 27MHz
          "CLAA-WVGA", 57, 800, 480, 37037, 40, 60, 10, 10, 20, 10,
          FB_SYNC_CLK_LAT_FALL,
          FB_VMODE_NONINTERLACED,
          0,
      },
      {
          // 800x480 @ 60 Hz , pixel clk @ 32MHz
          "SEIKO-WVGA", 60, 800, 480, 29850, 89, 164, 23, 10, 10, 10,
          FB_SYNC_CLK_LAT_FALL,
          FB_VMODE_NONINTERLACED,
          0,
      },*/
};

复用引脚;
MX6Q_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK,
        MX6Q_PAD_DI0_PIN15__IPU1_DI0_PIN15,                /* DE */
        //MX6Q_PAD_DI0_PIN15__GPIO_4_17,
        MX6Q_PAD_EIM_DA8__GPIO_3_8,
        MX6Q_PAD_DI0_PIN2__IPU1_DI0_PIN2,                /* HSync */
        MX6Q_PAD_DI0_PIN3__IPU1_DI0_PIN3,                /* VSync */
        //MX6Q_PAD_DI0_PIN4__IPU1_DI0_PIN4,                /* Contrast */
        MX6Q_PAD_DISP0_DAT0__IPU1_DISP0_DAT_0,
        MX6Q_PAD_DISP0_DAT1__IPU1_DISP0_DAT_1,
        MX6Q_PAD_DISP0_DAT2__IPU1_DISP0_DAT_2,
        MX6Q_PAD_DISP0_DAT3__IPU1_DISP0_DAT_3,
        MX6Q_PAD_DISP0_DAT4__IPU1_DISP0_DAT_4,
        MX6Q_PAD_DISP0_DAT5__IPU1_DISP0_DAT_5,
        MX6Q_PAD_DISP0_DAT6__IPU1_DISP0_DAT_6,
        MX6Q_PAD_DISP0_DAT7__IPU1_DISP0_DAT_7,
        MX6Q_PAD_DISP0_DAT8__IPU1_DISP0_DAT_8,
        MX6Q_PAD_DISP0_DAT9__IPU1_DISP0_DAT_9,
        MX6Q_PAD_DISP0_DAT10__IPU1_DISP0_DAT_10,
        MX6Q_PAD_DISP0_DAT11__IPU1_DISP0_DAT_11,
        MX6Q_PAD_DISP0_DAT12__IPU1_DISP0_DAT_12,
        MX6Q_PAD_DISP0_DAT13__IPU1_DISP0_DAT_13,
        MX6Q_PAD_DISP0_DAT14__IPU1_DISP0_DAT_14,
        MX6Q_PAD_DISP0_DAT15__IPU1_DISP0_DAT_15,
        MX6Q_PAD_DISP0_DAT16__IPU1_DISP0_DAT_16,
        MX6Q_PAD_DISP0_DAT17__IPU1_DISP0_DAT_17,
        MX6Q_PAD_DISP0_DAT18__IPU1_DISP0_DAT_18,
        MX6Q_PAD_DISP0_DAT19__IPU1_DISP0_DAT_19,
        MX6Q_PAD_DISP0_DAT20__IPU1_DISP0_DAT_20,
        MX6Q_PAD_DISP0_DAT21__IPU1_DISP0_DAT_21,
        MX6Q_PAD_DISP0_DAT22__IPU1_DISP0_DAT_22,
        MX6Q_PAD_DISP0_DAT23__IPU1_DISP0_DAT_23,


其中 Contrast 引脚硬件没有连接 我去掉了

使用特权

评论回复
36
FSL_TICS_Rita| | 2014-5-12 15:14 | 只看该作者
你好,请问mxc_lcdif.c中的37037你是怎么来的?不应该是30030的吗?

使用特权

评论回复
37
FSL_TICS_Rita| | 2014-5-12 16:16 | 只看该作者
应该是30030,你该成应该是30030试一下,如果不可以的话,就应该是硬件连接的问题了。

使用特权

评论回复
38
FSL_TICS_Rita| | 2014-5-12 16:17 | 只看该作者
还有在启动过程中会出现企鹅么?还是一直出现你之前图中的现象呢?

使用特权

评论回复
39
a151937404|  楼主 | 2014-5-12 17:13 | 只看该作者
我pcl设置的是27M,1000000除以27M 是30030 。从启动开始一直是这样。

使用特权

评论回复
40
FSL_TICS_Rita| | 2014-5-13 10:51 | 只看该作者
a151937404 发表于 2014-5-12 17:13
我pcl设置的是27M,1000000除以27M 是30030 。从启动开始一直是这样。

mxc_lcdif.c:中你设置的是37037,你的pcl是33.3M不是27,并且1000000除以27是37037,不是30030。你把这个参数修改好了以后试一下,看是否可以,然后截个图给我看一下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则