[ARM] pxa: allow gpio_reset drive high during normal work
I want to reuse tosa/spitz gpio_reset code, but my board needs the reset gpio to be driven high during normal operation. Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Acked-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
This commit is contained in:
parent
818bc81444
commit
216e3b7abb
@ -13,8 +13,9 @@ extern void clear_reset_status(unsigned int mask);
|
|||||||
/**
|
/**
|
||||||
* init_gpio_reset() - register GPIO as reset generator
|
* init_gpio_reset() - register GPIO as reset generator
|
||||||
* @gpio: gpio nr
|
* @gpio: gpio nr
|
||||||
* @output: set gpio as out/low instead of input during normal work
|
* @output: set gpio as output instead of input during normal work
|
||||||
|
* @level: output level
|
||||||
*/
|
*/
|
||||||
extern int init_gpio_reset(int gpio, int output);
|
extern int init_gpio_reset(int gpio, int output, int level);
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_RESET_H */
|
#endif /* __ASM_ARCH_RESET_H */
|
||||||
|
@ -20,7 +20,7 @@ static void do_hw_reset(void);
|
|||||||
|
|
||||||
static int reset_gpio = -1;
|
static int reset_gpio = -1;
|
||||||
|
|
||||||
int init_gpio_reset(int gpio, int output)
|
int init_gpio_reset(int gpio, int output, int level)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ int init_gpio_reset(int gpio, int output)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (output)
|
if (output)
|
||||||
rc = gpio_direction_output(gpio, 0);
|
rc = gpio_direction_output(gpio, level);
|
||||||
else
|
else
|
||||||
rc = gpio_direction_input(gpio);
|
rc = gpio_direction_input(gpio);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
|
@ -731,7 +731,7 @@ static void spitz_restart(char mode, const char *cmd)
|
|||||||
|
|
||||||
static void __init common_init(void)
|
static void __init common_init(void)
|
||||||
{
|
{
|
||||||
init_gpio_reset(SPITZ_GPIO_ON_RESET, 1);
|
init_gpio_reset(SPITZ_GPIO_ON_RESET, 1, 0);
|
||||||
pm_power_off = spitz_poweroff;
|
pm_power_off = spitz_poweroff;
|
||||||
arm_pm_restart = spitz_restart;
|
arm_pm_restart = spitz_restart;
|
||||||
|
|
||||||
|
@ -897,7 +897,7 @@ static void __init tosa_init(void)
|
|||||||
gpio_set_wake(MFP_PIN_GPIO1, 1);
|
gpio_set_wake(MFP_PIN_GPIO1, 1);
|
||||||
/* We can't pass to gpio-keys since it will drop the Reset altfunc */
|
/* We can't pass to gpio-keys since it will drop the Reset altfunc */
|
||||||
|
|
||||||
init_gpio_reset(TOSA_GPIO_ON_RESET, 0);
|
init_gpio_reset(TOSA_GPIO_ON_RESET, 0, 0);
|
||||||
|
|
||||||
pm_power_off = tosa_poweroff;
|
pm_power_off = tosa_poweroff;
|
||||||
arm_pm_restart = tosa_restart;
|
arm_pm_restart = tosa_restart;
|
||||||
|
Loading…
Reference in New Issue
Block a user