diff options
author | Srikant Patnaik | 2015-01-11 12:28:04 +0530 |
---|---|---|
committer | Srikant Patnaik | 2015-01-11 12:28:04 +0530 |
commit | 871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch) | |
tree | 8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/arch/arm/mach-pxa/reset.c | |
parent | 9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff) | |
download | FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2 FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip |
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized.
Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/arch/arm/mach-pxa/reset.c')
-rw-r--r-- | ANDROID_3.4.5/arch/arm/mach-pxa/reset.c | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/ANDROID_3.4.5/arch/arm/mach-pxa/reset.c b/ANDROID_3.4.5/arch/arm/mach-pxa/reset.c deleted file mode 100644 index b4528899..00000000 --- a/ANDROID_3.4.5/arch/arm/mach-pxa/reset.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ -#include <linux/kernel.h> -#include <linux/module.h> -#include <linux/delay.h> -#include <linux/gpio.h> -#include <linux/io.h> -#include <asm/proc-fns.h> -#include <asm/system_misc.h> - -#include <mach/regs-ost.h> -#include <mach/reset.h> - -unsigned int reset_status; -EXPORT_SYMBOL(reset_status); - -static void do_hw_reset(void); - -static int reset_gpio = -1; - -int init_gpio_reset(int gpio, int output, int level) -{ - int rc; - - rc = gpio_request(gpio, "reset generator"); - if (rc) { - printk(KERN_ERR "Can't request reset_gpio\n"); - goto out; - } - - if (output) - rc = gpio_direction_output(gpio, level); - else - rc = gpio_direction_input(gpio); - if (rc) { - printk(KERN_ERR "Can't configure reset_gpio\n"); - gpio_free(gpio); - goto out; - } - -out: - if (!rc) - reset_gpio = gpio; - - return rc; -} - -/* - * Trigger GPIO reset. - * This covers various types of logic connecting gpio pin - * to RESET pins (nRESET or GPIO_RESET): - */ -static void do_gpio_reset(void) -{ - BUG_ON(reset_gpio == -1); - - /* drive it low */ - gpio_direction_output(reset_gpio, 0); - mdelay(2); - /* rising edge or drive high */ - gpio_set_value(reset_gpio, 1); - mdelay(2); - /* falling edge */ - gpio_set_value(reset_gpio, 0); - - /* give it some time */ - mdelay(10); - - WARN_ON(1); - /* fallback */ - do_hw_reset(); -} - -static void do_hw_reset(void) -{ - /* Initialize the watchdog and let it fire */ - OWER = OWER_WME; - OSSR = OSSR_M3; - OSMR3 = OSCR + 368640; /* ... in 100 ms */ -} - -void pxa_restart(char mode, const char *cmd) -{ - local_irq_disable(); - local_fiq_disable(); - - clear_reset_status(RESET_STATUS_ALL); - - switch (mode) { - case 's': - /* Jump into ROM at address 0 */ - soft_restart(0); - break; - case 'g': - do_gpio_reset(); - break; - case 'h': - default: - do_hw_reset(); - break; - } -} - |