Hello,
I am trying to put in place in u-boot a splashscreen by using the omap dss. I read that there are 3 pipelines (graphics, video1, video2) and I have some questions.
Here are the questions:
1/ Which pipeline to use knowing that I have in the input frame buffer 24bpp pixels and I don't specially want to do any processing or conversion?
2/ For me, I think that the graphics pipeline can do the job but can we disable the use of palette or gamma processing knowing that I just want the display controller to fetch pixel from frame buffer without processing and sent them to the LCD output?
I ask these questions because I tried to configure the DSS registers but without success. When I just set the display controller to send a background color to the LCD output, it works. But when I tried to set the graphics pipeline, I don't have any good result at the output.
Any helps are welcome. Thanks!
Here is my code:
// Configure of the DSS clocks and soft reset
...
// Graphics pipeline registers
writel(0x80200000, (u32)DISPC_GFX_BA0); // Arbitary address
writel(0x0 << 1 | 0x9 << 10, (u32)DISPC_GFX_ATTRIBUTES);
writel(0x1DF | 0x10F << 16 , (u32)DISPC_GFX_SIZE);
writel(0 | 0 << 16 , (u32)DISPC_GFX_POSITION);
writel(0x1 , (u32)DISPC_GFX_PIXEL_INC); // go to next pixel
writel(0x1 , (u32)DISPC_GFX_ROW_INC); // go to next pixel
/// LCD-specific control registers
writel(0x1DF | 0x10F << 16, (u32)DISPC_SIZE_LCD);
// TFT | TFTLines | Bypass mode | LCDENABLEPOL High
u32 controlConfig = 0x1 << 3 | 0x3 << 8 | 0x3 << 15 | 0x1 << 29;
writel(controlConfig, (u32)OMAP3_DISPC_BASE);
writel(0x3 << 1, (u32)DISPC_CONFIG);
writel(0x00EE00EE, (u32)DISPC_DEFAULT_COLOR_0);
writel(0x29 | 0x2 << 8 | 0x2 << 20, (u32)DISPC_TIMING_H);
writel(0x0A | 0x2 << 8 | 0x2 << 20, (u32)DISPC_TIMING_V);
...
// After I enable LCD, GOLCD...