diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-07-02 17:14:29 -0400 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-07-02 17:14:29 -0400 |
| commit | d19550e5b8aecf6e4b93bfeeb3e8be70e49f5b0e (patch) | |
| tree | d8bd3492313c8b9e51c97cc72293ef9a71de3f29 | |
| parent | 6887a4131da3adaab011613776d865f4bcfb5678 (diff) | |
| parent | 6416c0409dda00aa66b2a4615044fb59d80f6bb2 (diff) | |
Merge branch 'fixes' of git://github.com/hzhuang1/linux into fixes
* 'fixes' of git://github.com/hzhuang1/linux:
ARM: pxa: hx4700: Fix basic suspend/resume
| -rw-r--r-- | arch/arm/mach-pxa/hx4700.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c index d09da6a746b8..d3de84b0dcbe 100644 --- a/arch/arm/mach-pxa/hx4700.c +++ b/arch/arm/mach-pxa/hx4700.c | |||
| @@ -127,7 +127,11 @@ static unsigned long hx4700_pin_config[] __initdata = { | |||
| 127 | GPIO19_SSP2_SCLK, | 127 | GPIO19_SSP2_SCLK, |
| 128 | GPIO86_SSP2_RXD, | 128 | GPIO86_SSP2_RXD, |
| 129 | GPIO87_SSP2_TXD, | 129 | GPIO87_SSP2_TXD, |
| 130 | GPIO88_GPIO, | 130 | GPIO88_GPIO | MFP_LPM_DRIVE_HIGH, /* TSC2046_CS */ |
| 131 | |||
| 132 | /* BQ24022 Regulator */ | ||
| 133 | GPIO72_GPIO | MFP_LPM_KEEP_OUTPUT, /* BQ24022_nCHARGE_EN */ | ||
| 134 | GPIO96_GPIO | MFP_LPM_KEEP_OUTPUT, /* BQ24022_ISET2 */ | ||
| 131 | 135 | ||
| 132 | /* HX4700 specific input GPIOs */ | 136 | /* HX4700 specific input GPIOs */ |
| 133 | GPIO12_GPIO | WAKEUP_ON_EDGE_RISE, /* ASIC3_IRQ */ | 137 | GPIO12_GPIO | WAKEUP_ON_EDGE_RISE, /* ASIC3_IRQ */ |
| @@ -135,6 +139,10 @@ static unsigned long hx4700_pin_config[] __initdata = { | |||
| 135 | GPIO14_GPIO, /* nWLAN_IRQ */ | 139 | GPIO14_GPIO, /* nWLAN_IRQ */ |
| 136 | 140 | ||
| 137 | /* HX4700 specific output GPIOs */ | 141 | /* HX4700 specific output GPIOs */ |
| 142 | GPIO61_GPIO | MFP_LPM_DRIVE_HIGH, /* W3220_nRESET */ | ||
| 143 | GPIO71_GPIO | MFP_LPM_DRIVE_HIGH, /* ASIC3_nRESET */ | ||
| 144 | GPIO81_GPIO | MFP_LPM_DRIVE_HIGH, /* CPU_GP_nRESET */ | ||
| 145 | GPIO116_GPIO | MFP_LPM_DRIVE_HIGH, /* CPU_HW_nRESET */ | ||
| 138 | GPIO102_GPIO | MFP_LPM_DRIVE_LOW, /* SYNAPTICS_POWER_ON */ | 146 | GPIO102_GPIO | MFP_LPM_DRIVE_LOW, /* SYNAPTICS_POWER_ON */ |
| 139 | 147 | ||
| 140 | GPIO10_GPIO, /* GSM_IRQ */ | 148 | GPIO10_GPIO, /* GSM_IRQ */ |
| @@ -872,14 +880,19 @@ static struct gpio global_gpios[] = { | |||
| 872 | { GPIO110_HX4700_LCD_LVDD_3V3_ON, GPIOF_OUT_INIT_HIGH, "LCD_LVDD" }, | 880 | { GPIO110_HX4700_LCD_LVDD_3V3_ON, GPIOF_OUT_INIT_HIGH, "LCD_LVDD" }, |
| 873 | { GPIO111_HX4700_LCD_AVDD_3V3_ON, GPIOF_OUT_INIT_HIGH, "LCD_AVDD" }, | 881 | { GPIO111_HX4700_LCD_AVDD_3V3_ON, GPIOF_OUT_INIT_HIGH, "LCD_AVDD" }, |
| 874 | { GPIO32_HX4700_RS232_ON, GPIOF_OUT_INIT_HIGH, "RS232_ON" }, | 882 | { GPIO32_HX4700_RS232_ON, GPIOF_OUT_INIT_HIGH, "RS232_ON" }, |
| 883 | { GPIO61_HX4700_W3220_nRESET, GPIOF_OUT_INIT_HIGH, "W3220_nRESET" }, | ||
| 875 | { GPIO71_HX4700_ASIC3_nRESET, GPIOF_OUT_INIT_HIGH, "ASIC3_nRESET" }, | 884 | { GPIO71_HX4700_ASIC3_nRESET, GPIOF_OUT_INIT_HIGH, "ASIC3_nRESET" }, |
| 885 | { GPIO81_HX4700_CPU_GP_nRESET, GPIOF_OUT_INIT_HIGH, "CPU_GP_nRESET" }, | ||
| 876 | { GPIO82_HX4700_EUART_RESET, GPIOF_OUT_INIT_HIGH, "EUART_RESET" }, | 886 | { GPIO82_HX4700_EUART_RESET, GPIOF_OUT_INIT_HIGH, "EUART_RESET" }, |
| 887 | { GPIO116_HX4700_CPU_HW_nRESET, GPIOF_OUT_INIT_HIGH, "CPU_HW_nRESET" }, | ||
| 877 | }; | 888 | }; |
| 878 | 889 | ||
| 879 | static void __init hx4700_init(void) | 890 | static void __init hx4700_init(void) |
| 880 | { | 891 | { |
| 881 | int ret; | 892 | int ret; |
| 882 | 893 | ||
| 894 | PCFR = PCFR_GPR_EN | PCFR_OPDE; | ||
| 895 | |||
| 883 | pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config)); | 896 | pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config)); |
| 884 | gpio_set_wake(GPIO12_HX4700_ASIC3_IRQ, 1); | 897 | gpio_set_wake(GPIO12_HX4700_ASIC3_IRQ, 1); |
| 885 | ret = gpio_request_array(ARRAY_AND_SIZE(global_gpios)); | 898 | ret = gpio_request_array(ARRAY_AND_SIZE(global_gpios)); |
