This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Ways to enable and drive Dual Display independently!!

Other Parts Discussed in Thread: TFP410

Hi All,

What are the ways available to enable dual display (e.g. LVDS/HDMI and LCD) and drive them independently using OMAP5 and linux?

Driving independently means running two different graphics application (e.g X client, HTML , OS UI etc) and displaying it simultaneously.

Thanks,

Viks

  • Hello Viks,

    There are some tutorials for displays on omappedia and processors wiki:

    http://omappedia.org/wiki/Bootargs_for_enabling_display

    http://omappedia.org/wiki/Display_Drivers_Domain_Wiki

    http://processors.wiki.ti.com/index.php/UserGuideDisplayDrivers_PSP_04.02.00.07

    Hope this helps.

    Best Regards,

    Yordan

  • Hi Yordan,

    Thanks for the reply. I have gone through the links you mentioned and yes it helped in understanding OMAP DSS. However it is based on OMAP3 and OMAP4 not OMAP5. Also I think it is based on omapfb driver. Does all the information remains valid for OMAP5 with omapdrm driver?

    I am using custom board based on OMAP5432evm and wants to connect a display on DPI interface. What all things I need to change to add support for DPI interface? or Enabling the DPI support and generic DPI panel in kernel config will make it working? My omap_dss_device structure lists only one device (i.e. hdmi_device @ arch/arm/mach-omap2/board-omap5.c)

    Thanks once again.

    Regards,
    Vikash

  • Hi,

    I am referring to the configurations in GLP1.6.8 source files and OMAP5 uEVM board.

    Here the default omap_dss device structure lists  &omap5evm_lcd_device and &omap5evm_hdmi_device connected for dsi and hdmi interface respectively.

    In order to make your DPI interface work you need to:

    Enable DPI panel in kernel config.

    Add your dpi interface in the omap_dss_device structure (you should have a generic dpi driver in your sources).

    Add a structure for your dpi interface, which holds its parameters, something like:

    struct omap_dss_device omap4_panda_dvi_device = {
        .type            = OMAP_DISPLAY_TYPE_DPI,
        .name            = "dvi",
        .driver_name        = "tfp410",
        .data            = &omap4_dvi_panel,
        .phy.dpi.data_lines    = 24,
        .reset_gpio        = PANDA_DVI_TFP410_POWER_DOWN_GPIO,
        .channel        = OMAP_DSS_CHANNEL_LCD2,
        .clocks.fck_div        = 9,
        .clocks.dispc.channel.lcd_clk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC,
        .clocks.dispc.dispc_fclk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC,
    };

    Regards,

    Yordan

     

  • Thanks Yordan.

    From where can I get GLP1.6.8 release source?

    Thanks & Regards,

    Vikash

  • Hi Vikash,

    I was using the release as a reference, it is not the latest linux supporting OMAP5. Here is what is available for OMAP5:

    http://processors.wiki.ti.com/index.php/OMAP5_GLSDK_Software_Developers_Guide

    http://software-dl.ti.com/dsps/dsps_public_sw/glsdk/latest/index_FDS.html

    Best Regards,

    Yordan

  • Hi Yordan,

    Thanks for the reply.
    I want to use LCD channel with DPI interface. I want to use panel-generic-dpi.c driver from video/omap2/displays. For this I have added the following structure and code to my board-omap5evm.c and also set this to the default DSS device. Does this looks the sufficient code or I am missing something?

    static void omap5evm_lcd_init(void)
    {
        pr_info("omap5evm_lcd_init\n");
    }

    static int omap5evm_panel_enable_lcd(struct omap_dss_device *dssdev)
    {
        pr_info("omap5evm_panel_enable_lcd\n");
        return 0;
    }

    static void omap5evm_panel_disable_lcd(struct omap_dss_device *dssdev)
    {
        pr_info("omap5evm_panel_disable_lcd\n");

    }

    static struct panel_generic_dpi_data omap5evm_dpi_data = {
        .name = "generic_dpi_panel",
        .platform_enable  = omap5evm_panel_enable_lcd,
        .platform_disable = omap5evm_panel_disable_lcd,
    };

    static struct omap_dss_device omap5evm_lcd_device = {
        .name = "lcd",
        .driver_name = "generic_dpi_panel",
        .type = OMAP_DISPLAY_TYPE_DPI,
        .channel = OMAP_DSS_CHANNEL_LCD,
        .data = &omap5evm_dpi_data,
    };


    static struct omap_dss_device *omap5evm_dss_devices[] = {
        &omap5evm_hdmi_device,
        &omap5evm_lcd_device,
    };

    Thanks & Regards,

    Viks

  • Hi,

    I am getting following errror on kernel boot. Does DPI LCD panel needs to be connected ? or later we can connect once generic_dpi_driver initialized?

    [    1.478393] omapdss CORE error: driver probe failed: -22
    [    1.483978] generic_dpi_panel: probe of display0 failed with error -22

    Thanks & Regards,

    Viks

  • Hi,

    I am getting following error on kernel boot. Does DPI LCD panel needs to be connected ? or later we can connect once generic_dpi_driver initialized?

    [    1.478393] omapdss CORE error: driver probe failed: -22
    [    1.483978] generic_dpi_panel: probe of display0 failed with error -22

    Thanks & Regards,

    Viks

  • Hi Viks,

    Yes, when booting the board your DPI LCD panel needs to be connected to properly initialize.

    Best Regards,

    Yordan