Loading arch/arm/mach-pxa/corgi.c +32 −20 Original line number Original line Diff line number Diff line Loading @@ -106,18 +106,18 @@ static unsigned long corgi_pin_config[] __initdata = { GPIO8_MMC_CS0, GPIO8_MMC_CS0, /* GPIO Matrix Keypad */ /* GPIO Matrix Keypad */ GPIO66_GPIO, /* column 0 */ GPIO66_GPIO | MFP_LPM_DRIVE_HIGH, /* column 0 */ GPIO67_GPIO, /* column 1 */ GPIO67_GPIO | MFP_LPM_DRIVE_HIGH, /* column 1 */ GPIO68_GPIO, /* column 2 */ GPIO68_GPIO | MFP_LPM_DRIVE_HIGH, /* column 2 */ GPIO69_GPIO, /* column 3 */ GPIO69_GPIO | MFP_LPM_DRIVE_HIGH, /* column 3 */ GPIO70_GPIO, /* column 4 */ GPIO70_GPIO | MFP_LPM_DRIVE_HIGH, /* column 4 */ GPIO71_GPIO, /* column 5 */ GPIO71_GPIO | MFP_LPM_DRIVE_HIGH, /* column 5 */ GPIO72_GPIO, /* column 6 */ GPIO72_GPIO | MFP_LPM_DRIVE_HIGH, /* column 6 */ GPIO73_GPIO, /* column 7 */ GPIO73_GPIO | MFP_LPM_DRIVE_HIGH, /* column 7 */ GPIO74_GPIO, /* column 8 */ GPIO74_GPIO | MFP_LPM_DRIVE_HIGH, /* column 8 */ GPIO75_GPIO, /* column 9 */ GPIO75_GPIO | MFP_LPM_DRIVE_HIGH, /* column 9 */ GPIO76_GPIO, /* column 10 */ GPIO76_GPIO | MFP_LPM_DRIVE_HIGH, /* column 10 */ GPIO77_GPIO, /* column 11 */ GPIO77_GPIO | MFP_LPM_DRIVE_HIGH, /* column 11 */ GPIO58_GPIO, /* row 0 */ GPIO58_GPIO, /* row 0 */ GPIO59_GPIO, /* row 1 */ GPIO59_GPIO, /* row 1 */ GPIO60_GPIO, /* row 2 */ GPIO60_GPIO, /* row 2 */ Loading @@ -130,15 +130,18 @@ static unsigned long corgi_pin_config[] __initdata = { /* GPIO */ /* GPIO */ GPIO9_GPIO, /* CORGI_GPIO_nSD_DETECT */ GPIO9_GPIO, /* CORGI_GPIO_nSD_DETECT */ GPIO7_GPIO, /* CORGI_GPIO_nSD_WP */ GPIO7_GPIO, /* CORGI_GPIO_nSD_WP */ GPIO11_GPIO | WAKEUP_ON_EDGE_BOTH, /* CORGI_GPIO_MAIN_BAT_{LOW,COVER} */ GPIO13_GPIO | MFP_LPM_KEEP_OUTPUT, /* CORGI_GPIO_LED_ORANGE */ GPIO21_GPIO, /* CORGI_GPIO_ADC_TEMP */ GPIO21_GPIO, /* CORGI_GPIO_ADC_TEMP */ GPIO22_GPIO, /* CORGI_GPIO_IR_ON */ GPIO22_GPIO, /* CORGI_GPIO_IR_ON */ GPIO33_GPIO, /* CORGI_GPIO_SD_PWR */ GPIO33_GPIO, /* CORGI_GPIO_SD_PWR */ GPIO38_GPIO, /* CORGI_GPIO_CHRG_ON */ GPIO38_GPIO | MFP_LPM_KEEP_OUTPUT, /* CORGI_GPIO_CHRG_ON */ GPIO43_GPIO, /* CORGI_GPIO_CHRG_UKN */ GPIO43_GPIO | MFP_LPM_KEEP_OUTPUT, /* CORGI_GPIO_CHRG_UKN */ GPIO44_GPIO, /* CORGI_GPIO_HSYNC */ GPIO44_GPIO, /* CORGI_GPIO_HSYNC */ GPIO0_GPIO | WAKEUP_ON_EDGE_BOTH, /* CORGI_GPIO_KEY_INT */ GPIO0_GPIO | WAKEUP_ON_EDGE_BOTH, /* CORGI_GPIO_KEY_INT */ GPIO1_GPIO | WAKEUP_ON_EDGE_RISE, /* CORGI_GPIO_AC_IN */ GPIO1_GPIO | WAKEUP_ON_EDGE_RISE, /* CORGI_GPIO_AC_IN */ GPIO3_GPIO | WAKEUP_ON_EDGE_BOTH, /* CORGI_GPIO_WAKEUP */ }; }; /* /* Loading Loading @@ -676,6 +679,15 @@ static void __init corgi_init(void) pxa2xx_mfp_config(ARRAY_AND_SIZE(corgi_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(corgi_pin_config)); /* allow wakeup from various GPIOs */ gpio_set_wake(CORGI_GPIO_KEY_INT, 1); gpio_set_wake(CORGI_GPIO_WAKEUP, 1); gpio_set_wake(CORGI_GPIO_AC_IN, 1); gpio_set_wake(CORGI_GPIO_CHRG_FULL, 1); if (!machine_is_corgi()) gpio_set_wake(CORGI_GPIO_MAIN_BAT_LOW, 1); pxa_set_ffuart_info(NULL); pxa_set_ffuart_info(NULL); pxa_set_btuart_info(NULL); pxa_set_btuart_info(NULL); pxa_set_stuart_info(NULL); pxa_set_stuart_info(NULL); Loading arch/arm/mach-pxa/corgi_pm.c +0 −39 Original line number Original line Diff line number Diff line Loading @@ -77,45 +77,6 @@ static void corgi_discharge(int on) static void corgi_presuspend(void) static void corgi_presuspend(void) { { int i; unsigned long wakeup_mask; /* charging , so CHARGE_ON bit is HIGH during OFF. */ if (READ_GPIO_BIT(CORGI_GPIO_CHRG_ON)) PGSR1 |= GPIO_bit(CORGI_GPIO_CHRG_ON); else PGSR1 &= ~GPIO_bit(CORGI_GPIO_CHRG_ON); if (READ_GPIO_BIT(CORGI_GPIO_LED_ORANGE)) PGSR0 |= GPIO_bit(CORGI_GPIO_LED_ORANGE); else PGSR0 &= ~GPIO_bit(CORGI_GPIO_LED_ORANGE); if (READ_GPIO_BIT(CORGI_GPIO_CHRG_UKN)) PGSR1 |= GPIO_bit(CORGI_GPIO_CHRG_UKN); else PGSR1 &= ~GPIO_bit(CORGI_GPIO_CHRG_UKN); /* Resume on keyboard power key */ PGSR2 = (PGSR2 & ~CORGI_GPIO_ALL_STROBE_BIT) | CORGI_GPIO_STROBE_BIT(0); wakeup_mask = GPIO_bit(CORGI_GPIO_KEY_INT) | GPIO_bit(CORGI_GPIO_WAKEUP) | GPIO_bit(CORGI_GPIO_AC_IN) | GPIO_bit(CORGI_GPIO_CHRG_FULL); if (!machine_is_corgi()) wakeup_mask |= GPIO_bit(CORGI_GPIO_MAIN_BAT_LOW); PWER = wakeup_mask | PWER_RTC; PRER = wakeup_mask; PFER = wakeup_mask; for (i = 0; i <=15; i++) { if (PRER & PFER & GPIO_bit(i)) { if (GPLR0 & GPIO_bit(i) ) PRER &= ~GPIO_bit(i); else PFER &= ~GPIO_bit(i); } } } } static void corgi_postsuspend(void) static void corgi_postsuspend(void) Loading Loading
arch/arm/mach-pxa/corgi.c +32 −20 Original line number Original line Diff line number Diff line Loading @@ -106,18 +106,18 @@ static unsigned long corgi_pin_config[] __initdata = { GPIO8_MMC_CS0, GPIO8_MMC_CS0, /* GPIO Matrix Keypad */ /* GPIO Matrix Keypad */ GPIO66_GPIO, /* column 0 */ GPIO66_GPIO | MFP_LPM_DRIVE_HIGH, /* column 0 */ GPIO67_GPIO, /* column 1 */ GPIO67_GPIO | MFP_LPM_DRIVE_HIGH, /* column 1 */ GPIO68_GPIO, /* column 2 */ GPIO68_GPIO | MFP_LPM_DRIVE_HIGH, /* column 2 */ GPIO69_GPIO, /* column 3 */ GPIO69_GPIO | MFP_LPM_DRIVE_HIGH, /* column 3 */ GPIO70_GPIO, /* column 4 */ GPIO70_GPIO | MFP_LPM_DRIVE_HIGH, /* column 4 */ GPIO71_GPIO, /* column 5 */ GPIO71_GPIO | MFP_LPM_DRIVE_HIGH, /* column 5 */ GPIO72_GPIO, /* column 6 */ GPIO72_GPIO | MFP_LPM_DRIVE_HIGH, /* column 6 */ GPIO73_GPIO, /* column 7 */ GPIO73_GPIO | MFP_LPM_DRIVE_HIGH, /* column 7 */ GPIO74_GPIO, /* column 8 */ GPIO74_GPIO | MFP_LPM_DRIVE_HIGH, /* column 8 */ GPIO75_GPIO, /* column 9 */ GPIO75_GPIO | MFP_LPM_DRIVE_HIGH, /* column 9 */ GPIO76_GPIO, /* column 10 */ GPIO76_GPIO | MFP_LPM_DRIVE_HIGH, /* column 10 */ GPIO77_GPIO, /* column 11 */ GPIO77_GPIO | MFP_LPM_DRIVE_HIGH, /* column 11 */ GPIO58_GPIO, /* row 0 */ GPIO58_GPIO, /* row 0 */ GPIO59_GPIO, /* row 1 */ GPIO59_GPIO, /* row 1 */ GPIO60_GPIO, /* row 2 */ GPIO60_GPIO, /* row 2 */ Loading @@ -130,15 +130,18 @@ static unsigned long corgi_pin_config[] __initdata = { /* GPIO */ /* GPIO */ GPIO9_GPIO, /* CORGI_GPIO_nSD_DETECT */ GPIO9_GPIO, /* CORGI_GPIO_nSD_DETECT */ GPIO7_GPIO, /* CORGI_GPIO_nSD_WP */ GPIO7_GPIO, /* CORGI_GPIO_nSD_WP */ GPIO11_GPIO | WAKEUP_ON_EDGE_BOTH, /* CORGI_GPIO_MAIN_BAT_{LOW,COVER} */ GPIO13_GPIO | MFP_LPM_KEEP_OUTPUT, /* CORGI_GPIO_LED_ORANGE */ GPIO21_GPIO, /* CORGI_GPIO_ADC_TEMP */ GPIO21_GPIO, /* CORGI_GPIO_ADC_TEMP */ GPIO22_GPIO, /* CORGI_GPIO_IR_ON */ GPIO22_GPIO, /* CORGI_GPIO_IR_ON */ GPIO33_GPIO, /* CORGI_GPIO_SD_PWR */ GPIO33_GPIO, /* CORGI_GPIO_SD_PWR */ GPIO38_GPIO, /* CORGI_GPIO_CHRG_ON */ GPIO38_GPIO | MFP_LPM_KEEP_OUTPUT, /* CORGI_GPIO_CHRG_ON */ GPIO43_GPIO, /* CORGI_GPIO_CHRG_UKN */ GPIO43_GPIO | MFP_LPM_KEEP_OUTPUT, /* CORGI_GPIO_CHRG_UKN */ GPIO44_GPIO, /* CORGI_GPIO_HSYNC */ GPIO44_GPIO, /* CORGI_GPIO_HSYNC */ GPIO0_GPIO | WAKEUP_ON_EDGE_BOTH, /* CORGI_GPIO_KEY_INT */ GPIO0_GPIO | WAKEUP_ON_EDGE_BOTH, /* CORGI_GPIO_KEY_INT */ GPIO1_GPIO | WAKEUP_ON_EDGE_RISE, /* CORGI_GPIO_AC_IN */ GPIO1_GPIO | WAKEUP_ON_EDGE_RISE, /* CORGI_GPIO_AC_IN */ GPIO3_GPIO | WAKEUP_ON_EDGE_BOTH, /* CORGI_GPIO_WAKEUP */ }; }; /* /* Loading Loading @@ -676,6 +679,15 @@ static void __init corgi_init(void) pxa2xx_mfp_config(ARRAY_AND_SIZE(corgi_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(corgi_pin_config)); /* allow wakeup from various GPIOs */ gpio_set_wake(CORGI_GPIO_KEY_INT, 1); gpio_set_wake(CORGI_GPIO_WAKEUP, 1); gpio_set_wake(CORGI_GPIO_AC_IN, 1); gpio_set_wake(CORGI_GPIO_CHRG_FULL, 1); if (!machine_is_corgi()) gpio_set_wake(CORGI_GPIO_MAIN_BAT_LOW, 1); pxa_set_ffuart_info(NULL); pxa_set_ffuart_info(NULL); pxa_set_btuart_info(NULL); pxa_set_btuart_info(NULL); pxa_set_stuart_info(NULL); pxa_set_stuart_info(NULL); Loading
arch/arm/mach-pxa/corgi_pm.c +0 −39 Original line number Original line Diff line number Diff line Loading @@ -77,45 +77,6 @@ static void corgi_discharge(int on) static void corgi_presuspend(void) static void corgi_presuspend(void) { { int i; unsigned long wakeup_mask; /* charging , so CHARGE_ON bit is HIGH during OFF. */ if (READ_GPIO_BIT(CORGI_GPIO_CHRG_ON)) PGSR1 |= GPIO_bit(CORGI_GPIO_CHRG_ON); else PGSR1 &= ~GPIO_bit(CORGI_GPIO_CHRG_ON); if (READ_GPIO_BIT(CORGI_GPIO_LED_ORANGE)) PGSR0 |= GPIO_bit(CORGI_GPIO_LED_ORANGE); else PGSR0 &= ~GPIO_bit(CORGI_GPIO_LED_ORANGE); if (READ_GPIO_BIT(CORGI_GPIO_CHRG_UKN)) PGSR1 |= GPIO_bit(CORGI_GPIO_CHRG_UKN); else PGSR1 &= ~GPIO_bit(CORGI_GPIO_CHRG_UKN); /* Resume on keyboard power key */ PGSR2 = (PGSR2 & ~CORGI_GPIO_ALL_STROBE_BIT) | CORGI_GPIO_STROBE_BIT(0); wakeup_mask = GPIO_bit(CORGI_GPIO_KEY_INT) | GPIO_bit(CORGI_GPIO_WAKEUP) | GPIO_bit(CORGI_GPIO_AC_IN) | GPIO_bit(CORGI_GPIO_CHRG_FULL); if (!machine_is_corgi()) wakeup_mask |= GPIO_bit(CORGI_GPIO_MAIN_BAT_LOW); PWER = wakeup_mask | PWER_RTC; PRER = wakeup_mask; PFER = wakeup_mask; for (i = 0; i <=15; i++) { if (PRER & PFER & GPIO_bit(i)) { if (GPLR0 & GPIO_bit(i) ) PRER &= ~GPIO_bit(i); else PFER &= ~GPIO_bit(i); } } } } static void corgi_postsuspend(void) static void corgi_postsuspend(void) Loading