AnsweredAssumed Answered

FB0 on LVDS0, and FB2 on LVDS1

Question asked by muthuswamydikshit on Jun 3, 2014
Latest reply on Jul 2, 2014 by jimmychan
Branched to a new discussion

We are using two displays. The requirement is:

LVDS0 - fb0 and fb1

LVDS1 - fb2 and fb3

 

 

Kernel version : L3.0.35_4.1.0_130816_source

In SABREAUTO EVK, we tried with HDMI for 1st display and LVDS0 for 2nd display and it worked. But in our board, as per the requirement stated above, it does not work.

 

 

I run the following in SABREAUTO EVK and our board with the follwing results:

cat /proc/cmdline ; for i in /sys/class/graphics/fb?; do echo "------------ $i"; cat $i/name; cat $i/mode; cat $i/fsl_disp_*; done

 

 

in EVK:

console=ttymxc3,115200 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 enable_wait_mode=off arm_freq=800 nosmp root=/dev/mmcblk0p1 rootwait

------------ /sys/class/graphics/fb0

DISP3 BG

hdmi

2-layer-fb-bg

------------ /sys/class/graphics/fb1

DISP3 FG

overlay

2-layer-fb-fg

------------ /sys/class/graphics/fb2

DISP4 BG

D:1024x768p-60

ldb

2-layer-fb-bg

------------ /sys/class/graphics/fb3

DISP4 FG

overlay

2-layer-fb-fg

 

 

in our BOARD:

noinitrd console=ttymxc1,115200n8 video=mxcfb0:dev=ldb,LDB-JDIONE-16@51,if=RGB24,fbpix=RGB565 video=mxcfb2:dev=ldb,LDB-JDITWO-16@51,if=RGB24,fbpix=RGB565 ldb=sep0 enable_wait_mode=off arm_freq=800 ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs rootwait rw mtdparts=gpmi-nand:16m(boot),16m(kernel),1500m(rootfs)

------------ /sys/class/graphics/fb0

DISP3 BG

D:1920x720p-51

ldb

2-layer-fb-bg

------------ /sys/class/graphics/fb1

DISP3 FG

overlay

2-layer-fb-fg

------------ /sys/class/graphics/fb2

DISP3 BG - DI1

D:800x480p-51

ldb

1-layer-fb

root@freescale /$

 

 

LDB-JDIONE and LDB-JDITWO are defined in struct fb_videomode ldb_modedb[] in ldb.c.

We have removed hdmi code in our board. Here is the value of related strcuts:

 

 

static struct ipuv3_fb_platform_data sabr_fb_data[] = {

        { /*fb0*/

                .disp_dev               = "ldb",

                .interface_pix_fmt      = IPU_PIX_FMT_RGB24,

                .mode_str               = "LDB-JDIONE",

                .default_bpp            = 16,

                .int_clk                = false,

        }, {

                .disp_dev               = "ldb",

                .interface_pix_fmt      = IPU_PIX_FMT_RGB24,

                .mode_str               = "LDB-JDITWO",

                .default_bpp            = 16,

                .int_clk                = false,

        },

};

 

 

static struct imx_ipuv3_platform_data ipu_data[] = {

        {

                .rev            = 4,

                .csi_clk[0]     = "clko_clk",

        }, {

                .rev            = 4,

                .csi_clk[0]     = "clko_clk",

        },

};

 

 

static struct fsl_mxc_ldb_platform_data ldb_data = {

        .ipu_id         = 0,

        .disp_id        = 0,

        .ext_ref        = 1,

        .mode           = LDB_SEP0,

        .sec_ipu_id     = 0,

        .sec_disp_id    = 1,

};

 

 

In our board if I change the boots args to ldb=sep1, I can see the contents of fb0/1 via LVDS1 in 2nd display correctly. But I am never able to see fb2 in either 1st or the 2nd display.

Any pointers will be very helpful.

Outcomes