These days, I encounter a struggle question which is in BBB bare metal display!
Following are my condition and question:
I design a raster display for mobile LCM which work in 800x1200@60Hz. (In bare metal)
→ I use TTL 24Bits (RGB) + Hsync + Vsync + PCLK + DE for display timing.
→ I write several pattern on the LCM and it works normally.
Today, I got a 1080x1920 LCM and just want to light on it. But the screen is abnormal.
But I reduce the resolution to 960x1920 and display is success!
Is that the DMA size mis-match? If is so…How to modify it? Some body could guide to me?
BBB NOT support resolution which exceed 960x1920?
Have a nice day~
I think it does not has anything to do with bare metal programming/available computing power but with the HDMI chip. According to http://elinux.org/Beagleboard:BeagleBoneBlack_HDMI#Supported_Resolutions 1920x1080@60 Hz is not possible.
It does not have anything to do with the HDMI chip either. It is quite capable of handling 1080p @ 60 Hz.
The problem, according to other threads is that the LCD clock cannot work at the needed ~150Mhz needed for that interface.
The other issue is that since memory is a 16-bit interface, bandwidth becomes an issue as well.
We have run the interface at 1080p @ 24 & 30 Hz without too much issue as these only need a ~74Mhz clk.
We have also done 1360x768 @ 60 Hz with an 85Mhz clk.
We have not been able to figure out how to do 1080i as the LCD controller does not appear to have native support for interlacing.
Manually doing that would be a real pain. Might as well use the 24 or 30 Hz - essentially the same as far a bandwidth.
So bare metal or not, by all accounts, you are not going to get 1080p @ 60 Hz.
Hope that helps,
No. 1920x1080 at 24HZ is the best the HW can support inside the processor.
Thanks for every’s suggestion and I could share my experience these days.
The first, I just design a Mobile LCM pattern generator. And the LCM used MIPI interface.
So that I use BBB RGB_888+Hsync+Vsync+DE+PCLK to generated pattern to LCM.
(I have a MIPI bridge which converted TTL_RGB to MIPI protocol)
The second, I design above environment in Staterware 2.0001. (Bare Metal)
Original in 800x1200@60 the screen is good, but increase to FHD isn’t. (Even FHD@30Hz)
So I try to trace the raster.c in Starterware.
The RasterHparamConfig function limit the horizontal size! (1008)
And I modify the Horizontal from 1080 to 1088 and display is OK!
(But I still NOT understand what is the root cause…)
Just share to everyone!
void RasterHparamConfig(unsigned int baseAddr, unsigned int numOfppl,
unsigned int hsw, unsigned int hfp,
unsigned int ppl;
unsigned int version;
version = LCDVersionGet();
if(RASTER_REV_AM335X == version)
ppl = numOfppl - 1;
ppl = (ppl & 0x000003f0) | ((ppl & 0x00000400) >> 7);
HWREG(baseAddr + LCDC_RASTER_TIMING_0) = ppl;
fox lin於 2015年11月14日星期六 UTC+8下午9時35分23秒寫道：