Hi,
I have a question related to the request/configure mechanism in the AM35x_BSP.
Our am3517 system has 2 screens ( DVI,LCD ) driven from the DSS video Interface.
Switching between the screens shuld be done by several gpios.
I use an animated logo in eboot, so I have made the required changes in lcd_support.c an lcd_vga.c
That is already working fine.
While further booting screen flickers.
So far I located the problem in OALLIB\init.c -> configure pin mux
Here are the calls
1.) ConfigurePadArray(BSPGetAllPadsInfo());
and
2.) ConfigurePadArray(BSPGetDevicePadInfo(OMAP_DEVICE_DSS));
in bsp_padcfg.h I found:
#define ALL_ALLOWED_PADS \ ... PAD_ENTRY(DSS_DATAxx,RELEASED_PAD_DEFAULT_CONFIG) \
and
#define DSS_PADS \ ... PAD_ENTRY(DSS_DATAxx,INPUT_DISABLED| MUXMODE(0)) \
With the first call data lines are switched back into input state,
so data signalling to the screens is stopped.
With the second call data lines are switched back into the correct state,
so data signalling will go on.
So it must flicker.
Now the questions:
------------------
- Can some one explain to me what means "ALL_ALLOWED_PADS" in bsp_padcfg.h
( for me it's like most safe mux configuration? )
- If I use a pad as a GPIO only - has it to be defined in the #define GPIO_PADS group
or ( because it is used for display control ) in the #define DSS_PADS group?
- I know the Backlight is ON (signal must be 1)
Trying to debug the GPIO-state at the end of OEMinit:
g_hGPIO = GPIOOpen();
RETAILMSG(1,(TEXT("LCD_BACK_ON=%d\r\n"),GPIOGetBit(g_hGPIO,LCD_BACK_ON)));
GPIOClose(g_hGPIO);
I got
LCD_BACK_ON=0
So what could be wrong?
advanced thanks,
Hannes