versatilepb: Implement SYS_CLCD mux control register bits
commit242ea2c6bc96473d37894b258a28a2162208228c
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 22 Jul 2011 13:42:39 +0000 (22 13:42 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 17 Aug 2011 23:01:21 +0000 (17 23:01 +0000)
treeeb38f2714b260eddfd688ae3e2319e5314ef4037
parent4fbf55568bb53a27a8c6270f1d3e2f6daf05c705
versatilepb: Implement SYS_CLCD mux control register bits

On the Versatile PB, PL110 graphics adaptor only natively supports
5551 pixel format; an external mux swaps bits around to allow
RGB565 and BGR565, under the control of bits [1:0] in the SYS_CLCD
system register.

Implement these SYS_CLCD register bits, and use a gpio line to
feed them out of the system register model, across the versatilepb
board and into the pl110 so we can select the right format.

This is necessary as recent Linux versatile kernels default to
programming the CLCD and mux for 16 bit BGR rather than 16 bit RGB.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm_sysctl.c
hw/pl110.c
hw/versatilepb.c