diff options
author | Petr Cvek <petr.cvek@tul.cz> | 2015-09-28 17:15:57 -0400 |
---|---|---|
committer | Robert Jarzmik <robert.jarzmik@free.fr> | 2015-10-14 17:06:54 -0400 |
commit | 6001ae70ea2ed592c45ab927bac21d881747e42a (patch) | |
tree | 674a82461b89ed8535acedda3c52d4a5439f0f02 | |
parent | 02b0d34f297ea60554b8de9567927f7d55e595a8 (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.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/magician.c | 33 |
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 = { | |||
721 | static struct gpio magician_global_gpios[] = { | 721 | static 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, |