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.

WinCE 7 on AM3517 using LCD-6.4-VGA-10R

Other Parts Discussed in Thread: AM3517, TSC2004

Hello,

Anyone successfully connected the LCD-6.4-VGA-10R display variant to its AM3517 EVK, running WinCE 7 and BSP_WINCE_ARM_A8_02_00_00?

Need help on making the required changes in code.

 

Regards

palsson

  • You will probably need to adapt the display driver to this new display. You should start by creating a new panel in the following library:

    WINCE700\PLATFORM\AM35x_BSP\SRC\BSP_COMMON\DISPLAY

    and have some environment variable select between the default display and this new one. Please provide more information on the LCD display reference and connection to the board if you need some help configuring this new panel.

  • Hello there,

    Thanks for your reply.

    I got some support info regarding the display integration, that defines the following register values:

    DISPC_CONTROL: 0x00018109

    DISPC_SIZE_LCD: 0x01df027f

    DISPC_GFX_SIZE: 0x01df027f

    DISPC_TIMING_H: 0x01908931

    DISPC_TIMING_V: 0x02302002

    DISPC_DIVISOR: 0x00010004

    DISPC_CONFIG:  0x00000000

    DISPC_POL_FREQ: 0x00000000

    CM_CLKSEL_DSS: 0x00001009

     

    This is taken from a Linux implementation, running on the same platform AM3517 EVK with this very same display.

    By parsing these values above I can create create a new panel, found in lcd_vga.c in WINCE700\PLATFORM\AM35x_BSP\SRC\BSP_COMMON\DISPLAY

    DISPC_PIXELFORMAT_RGB16,            //pixelFmt;

    640,                                //width;

    480,                                //height;

    0x31,                               //hsw;

    0x89,                               //hfp;

    0x19,                               //hbp;

    0x02,                               //vsw;

    0x20,                               //vfp;

    0x23,                               //vbp;

    0x01,                               //logClkDiv;

    0x04,                               //pixelClkDiv;

    (9 << 0),                          //dss1ClkSel;   

    0,                                    //loadMode;

    0x00000000,                  //polFreq;

    0x00000000,                  //lcdDefaultColor;

    0x00000000,                  //lcdTransColor;

    0x00000000,                  //tvDefaultColor;

    0x00000000,                  //tvTransColor;   

     

    According to this discussion: http://e2e.ti.com/support/embedded/wince/f/353/t/102398.aspx 

    this is the display: Sharp-LQ64D343 and the parameter combination, given, is somewhat different from what I have extracted.

    It is also WinCE 6 in play with BSP_WINCE_ARM_A8_01_01_00, so nothing strange there maybe.

    But I've tried with both combinations, without success. Display is flimmering and obviously incorrect parameters :-)

     

    Any advice?

     

    Regards

    Palsson

  • The fact that the picture is not stable indeed shows a misconfiguration of your display's timings. You could try to dump the registers values of the DISPC by calling the Dump_DISPC_LCD function from somewhere in the driver after the configuration is applied (this function only works in debug builds). It will give you the values of the registers that you can compare with the ones you got from the Linux BSP. If you see some differences there, then you might want to adjust your settings to match the expected register values.

  • Hi there,

    I managed to get the boot-loader image to show up on display.

    The parameters are OK, and creating this new display panel in lcd_vga.c as well as adding new menu choice for display resolution is OK.

    I just had to locate 'all the places' in bootloader code (EBOOT), where it checks if display-choice is not-equal to default choice. Like, if not-equal then enable DVI interface type. I added my new choice of display to that condition!

     

    It shows my splash image, during bootloader, but goes black again when kernel takes over.

    So the remaining issue is, why is that, and where do you tell the kernel about new display configs?

     

    Regards

    Palsson

  • The kernel uses the same parameters you defined in lcd_vga.c, whose code is shared by the bootloader and the kernel. The only problem I can see in your case is that the display driver in the kernel might use the wrong panel from the supported list. This panel is chosen from the bootloader and passed as a boot argument, you should double check if this parameter matches the index of the panel you modified inside the "lcd_res_params" structure (lcd_vga.c).

  • Thanks for your reply.

    I'm with you so far, that the kernel and bootloader share display parameters.

     

    Without changing anything on kernel side, I can get my desktop to show on display after boot.

    But touch is not working!

     

    I'm having issues, figuring out how this is merged...

     

    Any ideas regarding the touch part?

     

    Regards

    Palsson

  • Regarding the touchscreen that comes with your display, this one might be different than the one originially mounted on the AM3517 EVK. For your information, the original display uses a resistive touchscreen connected to a TSC2004 ADC interfaced over I2C to the AM3517 CPU. You need to figure out how your touchscreen is handled on your board and adapt/modify/create the appropriate driver.