summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/philips/hdd1630/button-hdd1630.c
diff options
context:
space:
mode:
authorMark Arigo <markarigo@gmail.com>2008-06-27 18:40:25 +0000
committerMark Arigo <markarigo@gmail.com>2008-06-27 18:40:25 +0000
commit22e7bf32b894acc1f9e2820e213f05a57bd4148c (patch)
treecdecc7a9f0db0b41d7ac55680c2b3b2212ab4dda /firmware/target/arm/philips/hdd1630/button-hdd1630.c
parent78337961b72b76c410075a0d5fe6c3cf1269b5e8 (diff)
downloadrockbox-22e7bf32b894acc1f9e2820e213f05a57bd4148c.tar.gz
rockbox-22e7bf32b894acc1f9e2820e213f05a57bd4148c.tar.bz2
rockbox-22e7bf32b894acc1f9e2820e213f05a57bd4148c.zip
My Devcon 2008 contribution: port for Philips GoGear HDD1630 (PP5022-based). Current status is that the bootloader works to load Rockbox, but dual boot does not work: it freezes after decrypting the OF. When Rockbox boots, it freezes somewhere between showing the logo and the main menu. And there's no driver for the touchpad. So lots of work left.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17809 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/philips/hdd1630/button-hdd1630.c')
-rwxr-xr-xfirmware/target/arm/philips/hdd1630/button-hdd1630.c65
1 files changed, 65 insertions, 0 deletions
diff --git a/firmware/target/arm/philips/hdd1630/button-hdd1630.c b/firmware/target/arm/philips/hdd1630/button-hdd1630.c
new file mode 100755
index 0000000000..ac478065bc
--- /dev/null
+++ b/firmware/target/arm/philips/hdd1630/button-hdd1630.c
@@ -0,0 +1,65 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2008 by Mark Arigo
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include "system.h"
+#include "button.h"
+#include "backlight.h"
+
+void button_init_device(void)
+{
+ /* TODO...for now, hardware initialisation is done by the bootloader */
+}
+
+bool button_hold(void)
+{
+ return !(GPIOJ_INPUT_VAL & 0x8);
+}
+
+/*
+ * Get button pressed from hardware
+ */
+int button_read_device(void)
+{
+ int btn = BUTTON_NONE;
+ static bool hold_button = false;
+ bool hold_button_old;
+
+ /* Hold */
+ hold_button_old = hold_button;
+ hold_button = button_hold();
+
+ /* device buttons */
+ if (!hold_button)
+ {
+ if (!(GPIOA_INPUT_VAL & 0x01)) btn |= BUTTON_MENU;
+ if (!(GPIOA_INPUT_VAL & 0x02)) btn |= BUTTON_VOL_UP;
+ if (!(GPIOA_INPUT_VAL & 0x04)) btn |= BUTTON_VOL_DOWN;
+ if (!(GPIOA_INPUT_VAL & 0x08)) btn |= BUTTON_VIEW;
+
+ if (!(GPIOD_INPUT_VAL & 0x20)) btn |= BUTTON_PLAYLIST;
+ if (!(GPIOD_INPUT_VAL & 0x40)) btn |= BUTTON_POWER;
+ }
+
+ return btn;
+}
+
+bool headphones_inserted(void)
+{
+ return true;
+}