aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Cvek <petr.cvek@tul.cz>2015-09-28 17:15:57 -0400
committerRobert Jarzmik <robert.jarzmik@free.fr>2015-10-14 17:06:54 -0400
commit6001ae70ea2ed592c45ab927bac21d881747e42a (patch)
tree674a82461b89ed8535acedda3c52d4a5439f0f02
parent02b0d34f297ea60554b8de9567927f7d55e595a8 (diff)
ARM: pxa: magician: Rename abstract LCD GPIOs
This patch renames GPIOs, which are used to control the power lines to the LCD screen. New names correspond to a real functionality, which was measured on the HTC Magician board_id 0x3a. Signed-off-by: Petr Cvek <petr.cvek@tul.cz> Acked-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
-rw-r--r--arch/arm/mach-pxa/include/mach/magician.h6
-rw-r--r--arch/arm/mach-pxa/magician.c33
2 files changed, 21 insertions, 18 deletions
diff --git a/arch/arm/mach-pxa/include/mach/magician.h b/arch/arm/mach-pxa/include/mach/magician.h
index 3f8922a1e427..af4cdc2172d5 100644
--- a/arch/arm/mach-pxa/include/mach/magician.h
+++ b/arch/arm/mach-pxa/include/mach/magician.h
@@ -52,9 +52,9 @@
52#define GPIO101_MAGICIAN_KEY_VOL_DOWN 101 52#define GPIO101_MAGICIAN_KEY_VOL_DOWN 101
53#define GPIO102_MAGICIAN_KEY_PHONE 102 53#define GPIO102_MAGICIAN_KEY_PHONE 102
54#define GPIO103_MAGICIAN_LED_KP 103 54#define GPIO103_MAGICIAN_LED_KP 103
55#define GPIO104_MAGICIAN_LCD_POWER_1 104 55#define GPIO104_MAGICIAN_LCD_VOFF_EN 104
56#define GPIO105_MAGICIAN_LCD_POWER_2 105 56#define GPIO105_MAGICIAN_LCD_VON_EN 105
57#define GPIO106_MAGICIAN_LCD_POWER_3 106 57#define GPIO106_MAGICIAN_LCD_DCDC_NRESET 106
58#define GPIO107_MAGICIAN_DS1WM_IRQ 107 58#define GPIO107_MAGICIAN_DS1WM_IRQ 107
59#define GPIO108_MAGICIAN_GSM_READY 108 59#define GPIO108_MAGICIAN_GSM_READY 108
60#define GPIO114_MAGICIAN_UNKNOWN 114 60#define GPIO114_MAGICIAN_UNKNOWN 114
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c
index 6fd8096d3a6f..f52351a389ef 100644
--- a/arch/arm/mach-pxa/magician.c
+++ b/arch/arm/mach-pxa/magician.c
@@ -270,22 +270,22 @@ static void toppoly_lcd_power(int on, struct fb_var_screeninfo *si)
270 270
271 if (on) { 271 if (on) {
272 gpio_set_value(EGPIO_MAGICIAN_TOPPOLY_POWER, 1); 272 gpio_set_value(EGPIO_MAGICIAN_TOPPOLY_POWER, 1);
273 gpio_set_value(GPIO106_MAGICIAN_LCD_POWER_3, 1); 273 gpio_set_value(GPIO106_MAGICIAN_LCD_DCDC_NRESET, 1);
274 udelay(2000); 274 udelay(2000);
275 gpio_set_value(EGPIO_MAGICIAN_LCD_POWER, 1); 275 gpio_set_value(EGPIO_MAGICIAN_LCD_POWER, 1);
276 udelay(2000); 276 udelay(2000);
277 /* FIXME: enable LCDC here */ 277 /* FIXME: enable LCDC here */
278 udelay(2000); 278 udelay(2000);
279 gpio_set_value(GPIO104_MAGICIAN_LCD_POWER_1, 1); 279 gpio_set_value(GPIO104_MAGICIAN_LCD_VOFF_EN, 1);
280 udelay(2000); 280 udelay(2000);
281 gpio_set_value(GPIO105_MAGICIAN_LCD_POWER_2, 1); 281 gpio_set_value(GPIO105_MAGICIAN_LCD_VON_EN, 1);
282 } else { 282 } else {
283 msleep(15); 283 msleep(15);
284 gpio_set_value(GPIO105_MAGICIAN_LCD_POWER_2, 0); 284 gpio_set_value(GPIO105_MAGICIAN_LCD_VON_EN, 0);
285 udelay(500); 285 udelay(500);
286 gpio_set_value(GPIO104_MAGICIAN_LCD_POWER_1, 0); 286 gpio_set_value(GPIO104_MAGICIAN_LCD_VOFF_EN, 0);
287 udelay(1000); 287 udelay(1000);
288 gpio_set_value(GPIO106_MAGICIAN_LCD_POWER_3, 0); 288 gpio_set_value(GPIO106_MAGICIAN_LCD_DCDC_NRESET, 0);
289 gpio_set_value(EGPIO_MAGICIAN_LCD_POWER, 0); 289 gpio_set_value(EGPIO_MAGICIAN_LCD_POWER, 0);
290 } 290 }
291} 291}
@@ -300,19 +300,19 @@ static void samsung_lcd_power(int on, struct fb_var_screeninfo *si)
300 else 300 else
301 gpio_set_value(EGPIO_MAGICIAN_LCD_POWER, 1); 301 gpio_set_value(EGPIO_MAGICIAN_LCD_POWER, 1);
302 mdelay(10); 302 mdelay(10);
303 gpio_set_value(GPIO106_MAGICIAN_LCD_POWER_3, 1); 303 gpio_set_value(GPIO106_MAGICIAN_LCD_DCDC_NRESET, 1);
304 mdelay(10); 304 mdelay(10);
305 gpio_set_value(GPIO104_MAGICIAN_LCD_POWER_1, 1); 305 gpio_set_value(GPIO104_MAGICIAN_LCD_VOFF_EN, 1);
306 mdelay(30); 306 mdelay(30);
307 gpio_set_value(GPIO105_MAGICIAN_LCD_POWER_2, 1); 307 gpio_set_value(GPIO105_MAGICIAN_LCD_VON_EN, 1);
308 mdelay(10); 308 mdelay(10);
309 } else { 309 } else {
310 mdelay(10); 310 mdelay(10);
311 gpio_set_value(GPIO105_MAGICIAN_LCD_POWER_2, 0); 311 gpio_set_value(GPIO105_MAGICIAN_LCD_VON_EN, 0);
312 mdelay(30); 312 mdelay(30);
313 gpio_set_value(GPIO104_MAGICIAN_LCD_POWER_1, 0); 313 gpio_set_value(GPIO104_MAGICIAN_LCD_VOFF_EN, 0);
314 mdelay(10); 314 mdelay(10);
315 gpio_set_value(GPIO106_MAGICIAN_LCD_POWER_3, 0); 315 gpio_set_value(GPIO106_MAGICIAN_LCD_DCDC_NRESET, 0);
316 mdelay(10); 316 mdelay(10);
317 if (system_rev < 3) 317 if (system_rev < 3)
318 gpio_set_value(GPIO75_MAGICIAN_SAMSUNG_POWER, 0); 318 gpio_set_value(GPIO75_MAGICIAN_SAMSUNG_POWER, 0);
@@ -721,9 +721,11 @@ static struct platform_device *devices[] __initdata = {
721static struct gpio magician_global_gpios[] = { 721static struct gpio magician_global_gpios[] = {
722 { GPIO13_MAGICIAN_CPLD_IRQ, GPIOF_IN, "CPLD_IRQ" }, 722 { GPIO13_MAGICIAN_CPLD_IRQ, GPIOF_IN, "CPLD_IRQ" },
723 { GPIO107_MAGICIAN_DS1WM_IRQ, GPIOF_IN, "DS1WM_IRQ" }, 723 { GPIO107_MAGICIAN_DS1WM_IRQ, GPIOF_IN, "DS1WM_IRQ" },
724 { GPIO104_MAGICIAN_LCD_POWER_1, GPIOF_OUT_INIT_LOW, "LCD power 1" }, 724
725 { GPIO105_MAGICIAN_LCD_POWER_2, GPIOF_OUT_INIT_LOW, "LCD power 2" }, 725 /* NOTICE valid LCD init sequence */
726 { GPIO106_MAGICIAN_LCD_POWER_3, GPIOF_OUT_INIT_LOW, "LCD power 3" }, 726 { GPIO106_MAGICIAN_LCD_DCDC_NRESET, GPIOF_OUT_INIT_LOW, "LCD DCDC nreset" },
727 { GPIO104_MAGICIAN_LCD_VOFF_EN, GPIOF_OUT_INIT_LOW, "LCD VOFF enable" },
728 { GPIO105_MAGICIAN_LCD_VON_EN, GPIOF_OUT_INIT_LOW, "LCD VON enable" },
727 { GPIO83_MAGICIAN_nIR_EN, GPIOF_OUT_INIT_HIGH, "nIR_EN" }, 729 { GPIO83_MAGICIAN_nIR_EN, GPIOF_OUT_INIT_HIGH, "nIR_EN" },
728}; 730};
729 731
@@ -761,6 +763,7 @@ static void __init magician_init(void)
761 lcd_select = board_id & 0x8; 763 lcd_select = board_id & 0x8;
762 pr_info("LCD type: %s\n", lcd_select ? "Samsung" : "Toppoly"); 764 pr_info("LCD type: %s\n", lcd_select ? "Samsung" : "Toppoly");
763 if (lcd_select && (system_rev < 3)) 765 if (lcd_select && (system_rev < 3))
766 /* NOTICE valid LCD init sequence */
764 gpio_request_one(GPIO75_MAGICIAN_SAMSUNG_POWER, 767 gpio_request_one(GPIO75_MAGICIAN_SAMSUNG_POWER,
765 GPIOF_OUT_INIT_LOW, "Samsung LCD Power"); 768 GPIOF_OUT_INIT_LOW, "Samsung LCD Power");
766 pxa_set_fb_info(NULL, 769 pxa_set_fb_info(NULL,