Thread (11 messages) 11 messages, 3 authors, 2012-12-23
STALE4911d
Revisions (4)
  1. v1 [diff vs current]
  2. v1 current
  3. v1 [diff vs current]
  4. v2 [diff vs current]

[PATCH 1/3] ARM: pxa: palmtreo: fix lcd initialization on treo680

From: marex@denx.de (Marek Vasut)
Date: 2012-12-23 03:18:49

Dear Mike Dunn,

I think you should Cc Haojian (done)
This patch gets the LCD working on my Palm Treo680.  Changing the Palm
Centro code is avoided (I don't have a Centro for testing at the moment),
but some initialization is shuffled around a bit.
I think I have a spare device somewhere around. I might get it available to you 
somehow eventually -- but that'll need some further discussion. Let's postpone 
it for now.
This basically adds some code that manages the three gpios that interface
to the lcd on the Treo 680.  The precise role of each gpio in the hardware
architecture is not entirely clear to me; this patch is the result of
trial-and-error and observing how the PalmOS code initializes the lcd.
Yay, good old times ;-)
The need for this patch is not evident when Linux is loaded from PalmOS,
because at that point the lcd-related gpios have already been configured. 
But when booting the kernel by other means, this patch is required unless
the bootloader has performed the necessary initialializations.
You mean U-Boot ? Makes sense.
[...]
 static void __init treo680_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
 	palmphone_common_init();
+	treo680_lcd_init();
I think you want to do treo680_gpio_configure() kind of thing and then call 
palm27x_lcd_init() from here.

Even better of course would be to integrate this kind of GPIO fiddling with the 
backlight subsystem, so the LCD can be properly powered down when going LPM.
quoted hunk ↗ jump to hunk
 	palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY,
 			GPIO_NR_TREO680_SD_POWER, 0);
 }
@@ -438,6 +488,7 @@ static void __init centro_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
 	palmphone_common_init();
+	palm27x_lcd_init(GPIO_NR_TREO_BL_POWER, &palm_320x320_new_lcd_mode);
 	palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, -1,
 			GPIO_NR_CENTRO_SD_POWER, 1);
 }
Best regards,
Marek Vasut
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help