Author: nick
Date: 2012-01-30 16:36:29 +0000 (Mon, 30 Jan 2012)
New Revision: 1837
Modified:
balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/balloon3.patch
Log:
add more low battery handler options
Modified: balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/balloon3.patch
===================================================================
--- balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/balloon3.patch 2012-01-30 16:35:54 UTC (rev 1836)
+++ balloon/branches/menuconfig2/package/kernel/patches/2.6.39.4/balloon3.patch 2012-01-30 16:36:29 UTC (rev 1837)
@@ -1,7 +1,7 @@
Index: linux-2.6.39.4/arch/arm/mach-pxa/balloon3.c
===================================================================
---- linux-2.6.39.4.orig/arch/arm/mach-pxa/balloon3.c 2012-01-22 08:39:18.000000000 +0000
-+++ linux-2.6.39.4/arch/arm/mach-pxa/balloon3.c 2012-01-22 08:39:54.000000000 +0000
+--- linux-2.6.39.4.orig/arch/arm/mach-pxa/balloon3.c 2012-01-26 13:59:13.000000000 +0000
++++ linux-2.6.39.4/arch/arm/mach-pxa/balloon3.c 2012-01-26 14:03:58.000000000 +0000
@@ -31,6 +31,7 @@
#include <linux/mtd/nand.h>
#include <linux/mtd/physmap.h>
@@ -178,7 +178,7 @@
/******************************************************************************
* NAND
-@@ -779,11 +836,143 @@
+@@ -779,11 +836,146 @@
static inline void balloon3_pmic_init(void) {}
#endif
@@ -279,9 +279,12 @@
+{
+ // if batt fault interrupt signaled to core
+ if (PMCR & (1 << INTRS)) {
-+ pr_info("%s: batt fault .... powering off\n", __func__);
++ pr_info("%s: batt fault\n", __func__);
++#if defined(CONFIG_BALLOON3_BATT_FAULT_IRQ)
++ pr_info("%s: entering deep sleep\n", __func__);
+ // enter deep sleep
+ balloon3_poweroff();
++#endif
+ // should never get here
+ return IRQ_HANDLED;
+ }
@@ -322,7 +325,7 @@
ARB_CNTRL = ARB_CORE_PARK | 0x234;
pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_pin_config));
-@@ -804,6 +993,7 @@
+@@ -804,6 +996,7 @@
balloon3_udc_init();
balloon3_uhc_init();
balloon3_cf_init();
@@ -330,7 +333,7 @@
}
static struct map_desc balloon3_io_desc[] __initdata = {
-@@ -821,6 +1011,61 @@
+@@ -821,6 +1014,61 @@
iotable_init(balloon3_io_desc, ARRAY_SIZE(balloon3_io_desc));
}
@@ -394,8 +397,8 @@
.map_io = balloon3_map_io,
Index: linux-2.6.39.4/arch/arm/mach-pxa/include/mach/balloon3.h
===================================================================
---- linux-2.6.39.4.orig/arch/arm/mach-pxa/include/mach/balloon3.h 2012-01-22 08:39:18.000000000 +0000
-+++ linux-2.6.39.4/arch/arm/mach-pxa/include/mach/balloon3.h 2012-01-22 08:39:36.000000000 +0000
+--- linux-2.6.39.4.orig/arch/arm/mach-pxa/include/mach/balloon3.h 2012-01-26 13:59:13.000000000 +0000
++++ linux-2.6.39.4/arch/arm/mach-pxa/include/mach/balloon3.h 2012-01-26 14:04:03.000000000 +0000
@@ -47,6 +47,19 @@
#define BALLOON3_SAMOSA_ADDR_REG (BALLOON3_FPGA_VIRT + 0x00c00000)
#define BALLOON3_SAMOSA_DATA_REG (BALLOON3_FPGA_VIRT + 0x00c00004)
@@ -469,9 +472,17 @@
#endif
Index: linux-2.6.39.4/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.39.4.orig/arch/arm/mach-pxa/Kconfig 2012-01-22 08:39:18.000000000 +0000
-+++ linux-2.6.39.4/arch/arm/mach-pxa/Kconfig 2012-01-22 08:39:36.000000000 +0000
-@@ -81,6 +81,36 @@
+--- linux-2.6.39.4.orig/arch/arm/mach-pxa/Kconfig 2012-01-26 13:59:13.000000000 +0000
++++ linux-2.6.39.4/arch/arm/mach-pxa/Kconfig 2012-01-26 14:02:20.000000000 +0000
+@@ -56,6 +56,7 @@
+
+ comment "Third Party Dev Platforms (sorted by vendor name)"
+
++
+ config ARCH_PXA_IDP
+ bool "Accelent Xscale IDP"
+ select PXA25x
+@@ -81,6 +82,134 @@
select PXA27x
select IWMMXT
@@ -482,6 +493,9 @@
+ Say Y here if you have the reduced feature
+ set Bubble Balloon3 variant
+
++menu "Balloon Power Support"
++ depends on MACH_BALLOON3
++
+config BALLOON3_POWER_FAULT
+ bool "Power fault handling"
+ default n
@@ -495,23 +509,118 @@
+ default BALLOON3_BATT_FAULT_IRQ
+
+config BALLOON3_BATT_FAULT_IRQ
-+ bool "safely enter deep sleep via irq"
++ bool "handle via irq"
+
+config BALLOON3_POWER_FAULT_DEEP_SLEEP
-+ bool "enter deep sleep immediately"
++ bool "deep sleep immediately"
+
+config BALLOON3_POWER_FAULT_IMPRECISE_ABORT
-+ bool "trigger imprecise data abort"
++ bool "imprecise data abort"
+
+endchoice
+
++config BALLOON3_BATT_FAULT_IRQ_DEEP_SLEEP
++ bool "irq enters deep sleep"
++ default y
++ depends on BALLOON3_BATT_FAULT_IRQ
++ help
++ Say Y to enter deep sleep after a batt_fault
++ while configuring peripherals for low power
++ shutdown.
++
++endmenu
++
++menu "Balloon LCD panel support"
++ depends on MACH_BALLOON3
++
++config BALLOON3_TT
++ bool "TT LCD panel on Balloon3 Bubble"
++ depends on MACH_BALLOON3 && MACH_BALLOON3_BUBBLE
++ select FB
++ select FB_PXA
++ select FB_PXA_PARAMETERS
++ help
++ Say Y to add support for the TT
++ QVGA LCD display on a Balloon3 Bubble TT board
++
++config BALLOON3_SPECS
++ bool "SPECS LCD panel on Balloon3"
++ depends on MACH_BALLOON3
++ select FB
++ select FB_PXA
++ select FB_PXA_PARAMETERS
++ help
++ Say Y to add support for the SPECS
++ QVGA LCD display on a Balloon3 board
++
++config BALLOON3_TOPPOLY
++ bool "Toppoly LCD panel on Balloon3"
++ depends on MACH_BALLOON3
++ select FB
++ select FB_PXA
++ select FB_PXA_PARAMETERS
++ help
++ Say Y to add support for Toppoly 600x800 panel
++ on a Balloon3 board
++
++config BALLOON3_VGA
++ bool "VGA (640x480 62Hz) monitor output"
++ depends on MACH_BALLOON3
++ select FB
++ select FB_PXA
++ select FB_PXA_PARAMETERS
++ help
++ Say Y to add support for VGA output
++ on a Balloon3 board
++
++config BALLOON3_SVGA
++ bool "SVGA (800x600 52Hz) monitor output"
++ depends on MACH_BALLOON3
++ select FB
++ select FB_PXA
++ select FB_PXA_PARAMETERS
++ help
++ Say Y to add support for SVGA output
++ on a Balloon3 board
++
++choice
++ prompt "Default lcd panel"
++ default BALLOON3_LCD_NONE
++
++config BALLOON3_LCD_NONE
++ bool "No LCD panel"
++
++config BALLOON3_LCD_TT
++ depends on BALLOON3_TT
++ bool "TT LCD panel"
++
++config BALLOON3_LCD_SPECS
++ depends on BALLOON3_SPECS
++ bool "SPECS LCD panel"
++
++config BALLOON3_LCD_TOPPOLY
++ depends on BALLOON3_TOPPOLY
++ bool "TOPPOLY LCD panel"
++
++config BALLOON3_LCD_VGA
++ depends on BALLOON3_VGA
++ bool "VGA LCD panel"
++
++config BALLOON3_LCD_SVGA
++ depends on BALLOON3_SVGA
++ bool "SVGA LCD panel"
++
++endchoice
++
++endmenu
++
config MACH_CSB726
bool "Enable Cogent CSB726 System On a Module"
select PXA27x
Index: linux-2.6.39.4/sound/soc/pxa/Kconfig
===================================================================
---- linux-2.6.39.4.orig/sound/soc/pxa/Kconfig 2012-01-22 08:39:18.000000000 +0000
-+++ linux-2.6.39.4/sound/soc/pxa/Kconfig 2012-01-22 08:39:36.000000000 +0000
+--- linux-2.6.39.4.orig/sound/soc/pxa/Kconfig 2012-01-26 13:59:13.000000000 +0000
++++ linux-2.6.39.4/sound/soc/pxa/Kconfig 2012-01-26 14:04:04.000000000 +0000
@@ -26,6 +26,14 @@
tristate
select PXA_SSP