[PATCH 00/10] Fix CLCD framebuffer formats and consolidate ARM platform CLCD support

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Feb 17 18:37:36 EST 2011


Any comments on this patch set?

On Thu, Jan 27, 2011 at 12:57:14PM +0000, Russell King - ARM Linux wrote:
> This patch series fixes the framebuffer formatting for the various
> CLCD colour modes - including those which the CLCD doesn't actually
> support.
> 
> PL110 in TFT mode only supports 888 and 5551 connectivity.  Some ARM
> platforms have additional muxing on their outputs which rewire this
> to allow the 5551 output to be used in 565 mode:
> 
> FBMEM bit (RGB)	5551	565
> 0		R0	R0
> 1		R1	R1
> 2		R2	R2
> 3		R3	R3
> 4		R4	R4
> 5		G0	G0
> 6		G1	G1
> 7		G2	G2
> 8		G3	G3
> 9		G4	G4
> 10		B0	G5
> 11		B1	B0
> 12		B2	B1
> 13		B3	B2
> 14		B4	B3
> 15		I	B4
> 
> This means that when BGR mode is selected, it in green mapping to bits
> 0, 9, 8, 7, 6, 5 in the framebuffer, which is not sane.  There appears
> to be no external MUX selection for this format.
> 
> PL111 on the other hand supports 888, 5551, 565 and 444 natively, so it
> can support RGB and BGR pixel formats directly.
> 
> Introduce a set of capabilities one bit for each format (RGB888, BGR888,
> RGB5551, BGR5551 etc) describing what formats the panel itself can support,
> and also what the board can support.  These are combined, and from that
> we select the appropriate 16bpp pixel format which the panel and board can
> support.  Where a panel and board combination supports multiple 16bpp
> formats, pick the closest format to the requested format.
> 
> Implementations which do not supply the capabilities fall back to the old
> way of doing things, which is based on the cntl register to indicate
> whether we should be using RGB or BGR mode.
> 
> This then allows us to unify the CLCD support across Integrator, Versatile,
> Realview and Versatile Express.  This has been successfully tested on:
> 
> Integrator/CP - RGB565, RGB5551, BGR5551.
> Versatile PB926 - RGB565, BGR565, RGB5551, BGR5551.
> Realview EB ARM11MPcore - RGB565, BGR565, RGB5551, BGR5551, RGB444, BGR444.
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list