diff options
Diffstat (limited to 'arch/arm/mach-omap2/pm-debug.c')
-rw-r--r-- | arch/arm/mach-omap2/pm-debug.c | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c index 2fc4d6abbd0a..8baa30d2acfb 100644 --- a/arch/arm/mach-omap2/pm-debug.c +++ b/arch/arm/mach-omap2/pm-debug.c | |||
@@ -26,10 +26,10 @@ | |||
26 | #include <linux/io.h> | 26 | #include <linux/io.h> |
27 | #include <linux/module.h> | 27 | #include <linux/module.h> |
28 | 28 | ||
29 | #include <mach/clock.h> | 29 | #include <plat/clock.h> |
30 | #include <mach/board.h> | 30 | #include <plat/board.h> |
31 | #include <mach/powerdomain.h> | 31 | #include <plat/powerdomain.h> |
32 | #include <mach/clockdomain.h> | 32 | #include <plat/clockdomain.h> |
33 | 33 | ||
34 | #include "prm.h" | 34 | #include "prm.h" |
35 | #include "cm.h" | 35 | #include "cm.h" |
@@ -51,7 +51,8 @@ int omap2_pm_debug; | |||
51 | regs[reg_count++].val = __raw_readl(reg) | 51 | regs[reg_count++].val = __raw_readl(reg) |
52 | #define DUMP_INTC_REG(reg, off) \ | 52 | #define DUMP_INTC_REG(reg, off) \ |
53 | regs[reg_count].name = #reg; \ | 53 | regs[reg_count].name = #reg; \ |
54 | regs[reg_count++].val = __raw_readl(OMAP2_IO_ADDRESS(0x480fe000 + (off))) | 54 | regs[reg_count++].val = \ |
55 | __raw_readl(OMAP2_L4_IO_ADDRESS(0x480fe000 + (off))) | ||
55 | 56 | ||
56 | static int __init pm_dbg_init(void); | 57 | static int __init pm_dbg_init(void); |
57 | 58 | ||
@@ -526,6 +527,29 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *dir) | |||
526 | return 0; | 527 | return 0; |
527 | } | 528 | } |
528 | 529 | ||
530 | static int option_get(void *data, u64 *val) | ||
531 | { | ||
532 | u32 *option = data; | ||
533 | |||
534 | *val = *option; | ||
535 | |||
536 | return 0; | ||
537 | } | ||
538 | |||
539 | static int option_set(void *data, u64 val) | ||
540 | { | ||
541 | u32 *option = data; | ||
542 | |||
543 | *option = val; | ||
544 | |||
545 | if (option == &enable_off_mode) | ||
546 | omap3_pm_off_mode_enable(val); | ||
547 | |||
548 | return 0; | ||
549 | } | ||
550 | |||
551 | DEFINE_SIMPLE_ATTRIBUTE(pm_dbg_option_fops, option_get, option_set, "%llu\n"); | ||
552 | |||
529 | static int __init pm_dbg_init(void) | 553 | static int __init pm_dbg_init(void) |
530 | { | 554 | { |
531 | int i; | 555 | int i; |
@@ -568,6 +592,12 @@ static int __init pm_dbg_init(void) | |||
568 | 592 | ||
569 | } | 593 | } |
570 | 594 | ||
595 | (void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUGO, d, | ||
596 | &enable_off_mode, &pm_dbg_option_fops); | ||
597 | (void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUGO, d, | ||
598 | &sleep_while_idle, &pm_dbg_option_fops); | ||
599 | (void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUGO, d, | ||
600 | &wakeup_timer_seconds, &pm_dbg_option_fops); | ||
571 | pm_dbg_init_done = 1; | 601 | pm_dbg_init_done = 1; |
572 | 602 | ||
573 | return 0; | 603 | return 0; |