Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4774e226 authored by Russell King's avatar Russell King
Browse files

[PATCH] ARM: IntegratorCP: Fix CLCD MUX selection values



The documentation on these values seems to be rather wrong.
These values have been determined by mere trial and error.

Signed-off-by: default avatarRussell King <rmk@arm.linux.org.uk>
parent ed562ab1
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -420,7 +420,22 @@ static struct clcd_panel vga = {
 */
static void cp_clcd_enable(struct clcd_fb *fb)
{
	cm_control(CM_CTRL_LCDMUXSEL_MASK, CM_CTRL_LCDMUXSEL_VGA);
	u32 val;

	if (fb->fb.var.bits_per_pixel <= 8)
		val = CM_CTRL_LCDMUXSEL_VGA_8421BPP;
	else if (fb->fb.var.bits_per_pixel <= 16)
		val = CM_CTRL_LCDMUXSEL_VGA_16BPP;
	else
		val = 0; /* no idea for this, don't trust the docs */

	cm_control(CM_CTRL_LCDMUXSEL_MASK|
		   CM_CTRL_LCDEN0|
		   CM_CTRL_LCDEN1|
		   CM_CTRL_STATIC1|
		   CM_CTRL_STATIC2|
		   CM_CTRL_STATIC|
		   CM_CTRL_n24BITEN, val);
}

static unsigned long framesize = SZ_1M;
+3 −3
Original line number Diff line number Diff line
@@ -24,9 +24,9 @@ void cm_control(u32, u32);
#define CM_CTRL_LCDBIASDN		(1 << 10)
#define CM_CTRL_LCDMUXSEL_MASK		(7 << 11)
#define CM_CTRL_LCDMUXSEL_GENLCD	(1 << 11)
#define CM_CTRL_LCDMUXSEL_SHARPLCD1	(3 << 11)
#define CM_CTRL_LCDMUXSEL_SHARPLCD2	(4 << 11)
#define CM_CTRL_LCDMUXSEL_VGA		(7 << 11)
#define CM_CTRL_LCDMUXSEL_VGA_16BPP	(2 << 11)
#define CM_CTRL_LCDMUXSEL_SHARPLCD	(3 << 11)
#define CM_CTRL_LCDMUXSEL_VGA_8421BPP	(4 << 11)
#define CM_CTRL_LCDEN0			(1 << 14)
#define CM_CTRL_LCDEN1			(1 << 15)
#define CM_CTRL_STATIC1			(1 << 16)