summaryrefslogtreecommitdiff
path: root/meta/packages/uboot/u-boot-mkimage-openmoko-native/early-powerdown.patch
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openedhand.com>2007-10-29 11:00:19 +0000
committerMarcin Juszkiewicz <hrw@openedhand.com>2007-10-29 11:00:19 +0000
commit70abc059ebae6bd18399c0361d348f415a3f631a (patch)
tree86ae8bf44d64d40603b5bca6774eac7f1aaa3ce5 /meta/packages/uboot/u-boot-mkimage-openmoko-native/early-powerdown.patch
parentce1e498f5d3a46642b6bb14c14ebae2a52f732a4 (diff)
downloadopenembedded-core-70abc059ebae6bd18399c0361d348f415a3f631a.tar.gz
openembedded-core-70abc059ebae6bd18399c0361d348f415a3f631a.tar.bz2
openembedded-core-70abc059ebae6bd18399c0361d348f415a3f631a.zip
u-boot: import OpenMoko uboot from OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3014 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/uboot/u-boot-mkimage-openmoko-native/early-powerdown.patch')
-rw-r--r--meta/packages/uboot/u-boot-mkimage-openmoko-native/early-powerdown.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/packages/uboot/u-boot-mkimage-openmoko-native/early-powerdown.patch b/meta/packages/uboot/u-boot-mkimage-openmoko-native/early-powerdown.patch
new file mode 100644
index 0000000000..7326c2daa6
--- /dev/null
+++ b/meta/packages/uboot/u-boot-mkimage-openmoko-native/early-powerdown.patch
@@ -0,0 +1,40 @@
+Index: u-boot/board/neo1973/neo1973.c
+===================================================================
+--- u-boot.orig/board/neo1973/gta01/gta01.c
++++ u-boot/board/neo1973/gta01/gta01.c
+@@ -68,8 +68,12 @@ DECLARE_GLOBAL_DATA_PTR;
+ #define U_M_PDIV 0x2
+ #define U_M_SDIV 0x3
+
++#define VALID_WAKEUP_REASONS (PCF50606_INT1_ONKEYF | PCF50606_INT1_ALARM)
++
+ unsigned int neo1973_wakeup_cause;
+ extern int nobootdelay;
++static unsigned char int1;
++
+
+ static inline void delay (unsigned long loops)
+ {
+@@ -179,6 +183,13 @@ int board_init (void)
+ #error Please define GTA01 version
+ #endif
+
++ i2c_init(CFG_I2C_SPEED, CFG_I2C_SLAVE);
++ int1 = pcf50606_reg_read(PCF50606_REG_INT1);
++ if (!(int1 & VALID_WAKEUP_REASONS) && !neo1973_aux_key_pressed()) {
++ pcf50606_reg_write(PCF50606_REG_OOCC1, PCF50606_OOCC1_GOSTDBY);
++ while (1);
++ }
++
+ /* arch number of SMDK2410-Board */
+ gd->bd->bi_arch_number = MACH_TYPE_NEO1973_GTA01;
+
+@@ -200,7 +211,7 @@ int board_late_init(void)
+ pcf50606_init();
+
+ /* obtain wake-up reason, save INT1 in environment */
+- tmp = pcf50606_reg_read(PCF50606_REG_INT1);
++ tmp = int1; //pcf50606_reg_read(PCF50606_REG_INT1);
+ sprintf(buf, "0x%02x", tmp);
+ setenv("pcf50606_int1", buf);
+