summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Malesinski <tomal@rockbox.org>2006-11-10 07:43:36 +0000
committerTomasz Malesinski <tomal@rockbox.org>2006-11-10 07:43:36 +0000
commit29d8b917a8bda553671294dc31640e0bb78021f2 (patch)
treebb6418e54cca4e7f2aa5b516c7c75201fe0c502c
parente3324483dfa58c709411e1b38ed77ae9cc7dee0c (diff)
downloadrockbox-29d8b917a8bda553671294dc31640e0bb78021f2.tar.gz
rockbox-29d8b917a8bda553671294dc31640e0bb78021f2.zip
Forgot to add new files for iFP move to target tree.
Fixed conifg-ifp7xx.h so that the simulator works. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11494 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/config-ifp7xx.h14
-rw-r--r--firmware/target/arm/iriver/backlight-target.h (renamed from firmware/target/arm/iriver/h10/backlight-target.h)0
-rw-r--r--firmware/target/arm/iriver/ifp7xx/adc-ifp7xx.c57
-rw-r--r--firmware/target/arm/iriver/ifp7xx/adc-target.h29
-rw-r--r--firmware/target/arm/iriver/ifp7xx/backlight-ifp7xx.c33
-rw-r--r--firmware/target/arm/iriver/ifp7xx/button-ifp7xx.c89
-rw-r--r--firmware/target/arm/iriver/ifp7xx/button-target.h56
-rw-r--r--firmware/target/arm/iriver/ifp7xx/power-ifp7xx.c86
-rw-r--r--firmware/target/arm/iriver/ifp7xx/usb-ifp7xx.c51
-rw-r--r--firmware/target/arm/iriver/usb-target.h (renamed from firmware/target/arm/iriver/h10/usb-target.h)0
10 files changed, 408 insertions, 7 deletions
diff --git a/firmware/export/config-ifp7xx.h b/firmware/export/config-ifp7xx.h
index 637a754f2a..2e26e56a52 100644
--- a/firmware/export/config-ifp7xx.h
+++ b/firmware/export/config-ifp7xx.h
@@ -50,6 +50,13 @@
#define BATTERY_CAPACITY_DEFAULT 1000 /* default battery capacity */
+/* Virtual LED (icon) */
+#define CONFIG_LED LED_VIRTUAL
+
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 40
+
#ifndef SIMULATOR
/* Define this if you have a Philips PNX0101 */
@@ -90,13 +97,6 @@
#define HAVE_GDB_API
-/* Virtual LED (icon) */
-#define CONFIG_LED LED_VIRTUAL
-
-#define MIN_CONTRAST_SETTING 5
-#define MAX_CONTRAST_SETTING 63
-#define DEFAULT_CONTRAST_SETTING 40
-
/* Define this if you have adjustable CPU frequency */
//#define HAVE_ADJUSTABLE_CPU_FREQ
diff --git a/firmware/target/arm/iriver/h10/backlight-target.h b/firmware/target/arm/iriver/backlight-target.h
index d35dccdc4a..d35dccdc4a 100644
--- a/firmware/target/arm/iriver/h10/backlight-target.h
+++ b/firmware/target/arm/iriver/backlight-target.h
diff --git a/firmware/target/arm/iriver/ifp7xx/adc-ifp7xx.c b/firmware/target/arm/iriver/ifp7xx/adc-ifp7xx.c
new file mode 100644
index 0000000000..79b1ad0fcb
--- /dev/null
+++ b/firmware/target/arm/iriver/ifp7xx/adc-ifp7xx.c
@@ -0,0 +1,57 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2006 by Barry Wardell
+ *
+ * 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 "config.h"
+#include "cpu.h"
+#include "system.h"
+#include "kernel.h"
+#include "thread.h"
+#include "adc.h"
+
+static unsigned short adcdata[NUM_ADC_CHANNELS];
+
+unsigned short adc_read(int channel)
+{
+ return adcdata[channel];
+}
+
+static void adc_tick(void)
+{
+ if (ADCST & 0x10) {
+ adcdata[0] = ADCCH0 & 0x3ff;
+ adcdata[1] = ADCCH1 & 0x3ff;
+ adcdata[2] = ADCCH2 & 0x3ff;
+ adcdata[3] = ADCCH3 & 0x3ff;
+ adcdata[4] = ADCCH4 & 0x3ff;
+ ADCST = 0xa;
+ }
+}
+
+void adc_init(void)
+{
+ ADCR24 = 0xaaaaa;
+ ADCR28 = 0;
+ ADCST = 2;
+ ADCST = 0xa;
+
+ while (!(ADCST & 0x10));
+ adc_tick();
+
+ tick_add_task(adc_tick);
+}
+
diff --git a/firmware/target/arm/iriver/ifp7xx/adc-target.h b/firmware/target/arm/iriver/ifp7xx/adc-target.h
new file mode 100644
index 0000000000..8e5e6edbc5
--- /dev/null
+++ b/firmware/target/arm/iriver/ifp7xx/adc-target.h
@@ -0,0 +1,29 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2006 by Barry Wardell
+ *
+ * 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.
+ *
+ ****************************************************************************/
+#ifndef _ADC_TARGET_H_
+#define _ADC_TARGET_H_
+
+#define NUM_ADC_CHANNELS 5
+
+#define ADC_BUTTONS 0
+#define ADC_BATTERY 1
+#define ADC_BUTTON_PLAY 2
+#define ADC_UNREG_POWER ADC_BATTERY /* For compatibility */
+
+#endif
diff --git a/firmware/target/arm/iriver/ifp7xx/backlight-ifp7xx.c b/firmware/target/arm/iriver/ifp7xx/backlight-ifp7xx.c
new file mode 100644
index 0000000000..c0dc3974c0
--- /dev/null
+++ b/firmware/target/arm/iriver/ifp7xx/backlight-ifp7xx.c
@@ -0,0 +1,33 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2006 by Barry Wardell
+ *
+ * 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 "config.h"
+#include "cpu.h"
+#include "system.h"
+#include "backlight.h"
+#include "lcd.h"
+
+void __backlight_on(void)
+{
+ GPIO3_SET = 1;
+}
+
+void __backlight_off(void)
+{
+ GPIO3_CLR = 1;
+}
diff --git a/firmware/target/arm/iriver/ifp7xx/button-ifp7xx.c b/firmware/target/arm/iriver/ifp7xx/button-ifp7xx.c
new file mode 100644
index 0000000000..52e29fdfdf
--- /dev/null
+++ b/firmware/target/arm/iriver/ifp7xx/button-ifp7xx.c
@@ -0,0 +1,89 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2006 by Barry Wardell
+ *
+ * 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 <stdlib.h>
+#include "config.h"
+#include "cpu.h"
+#include "system.h"
+#include "button.h"
+#include "kernel.h"
+#include "backlight.h"
+#include "adc.h"
+#include "system.h"
+
+
+void button_init_device(void)
+{
+
+}
+
+bool button_hold(void)
+{
+ return (GPIO5_READ & 4) ? false : true;
+}
+
+/*
+ * Get button pressed from hardware
+ */
+int button_read_device(void)
+{
+ int btn = BUTTON_NONE;
+ int data;
+ static bool hold_button = false;
+ bool hold_button_old;
+
+ /* normal buttons */
+ hold_button_old = hold_button;
+ hold_button = button_hold();
+
+ if (hold_button != hold_button_old)
+ backlight_hold_changed(hold_button);
+
+ if (!button_hold())
+ {
+ data = adc_read(ADC_BUTTONS);
+ if (data < 0x35c)
+ {
+ if (data < 0x151)
+ if (data < 0xc7)
+ if (data < 0x41)
+ btn = BUTTON_LEFT;
+ else
+ btn = BUTTON_RIGHT;
+ else
+ btn = BUTTON_SELECT;
+ else
+ if (data < 0x268)
+ if (data < 0x1d7)
+ btn = BUTTON_UP;
+ else
+ btn = BUTTON_DOWN;
+ else
+ if (data < 0x2f9)
+ btn = BUTTON_EQ;
+ else
+ btn = BUTTON_MODE;
+ }
+
+ if (adc_read(ADC_BUTTON_PLAY) < 0x64)
+ btn |= BUTTON_PLAY;
+ }
+ return btn;
+}
diff --git a/firmware/target/arm/iriver/ifp7xx/button-target.h b/firmware/target/arm/iriver/ifp7xx/button-target.h
new file mode 100644
index 0000000000..954a2dfe9c
--- /dev/null
+++ b/firmware/target/arm/iriver/ifp7xx/button-target.h
@@ -0,0 +1,56 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2006 by Barry Wardell
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/* Custom written for the ifp7xx */
+
+#ifndef _BUTTON_TARGET_H_
+#define _BUTTON_TARGET_H_
+
+#include <stdbool.h>
+#include "config.h"
+
+#define HAS_BUTTON_HOLD
+
+bool button_hold(void);
+void button_init_device(void);
+int button_read_device(void);
+
+/* iriver IFP7XX specific button codes */
+
+#define BUTTON_PLAY 0x00000001
+#define BUTTON_SELECT 0x00000002
+
+#define BUTTON_LEFT 0x00000004
+#define BUTTON_RIGHT 0x00000008
+#define BUTTON_UP 0x00000010
+#define BUTTON_DOWN 0x00000020
+
+#define BUTTON_MODE 0x00000040
+#define BUTTON_EQ 0x00000080
+
+#define BUTTON_MAIN (BUTTON_PLAY|BUTTON_SELECT\
+ |BUTTON_LEFT|BUTTON_RIGHT|BUTTON_UP|BUTTON_DOWN\
+ |BUTTON_MODE|BUTTON_EQ)
+
+#define BUTTON_REMOTE 0
+
+#define POWEROFF_BUTTON BUTTON_PLAY
+#define POWEROFF_COUNT 40
+
+#endif /* _BUTTON_TARGET_H_ */
diff --git a/firmware/target/arm/iriver/ifp7xx/power-ifp7xx.c b/firmware/target/arm/iriver/ifp7xx/power-ifp7xx.c
new file mode 100644
index 0000000000..6c5114a84e
--- /dev/null
+++ b/firmware/target/arm/iriver/ifp7xx/power-ifp7xx.c
@@ -0,0 +1,86 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2002 by Linus Nielsen Feltzing
+ *
+ * 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 "config.h"
+#include "cpu.h"
+#include <stdbool.h>
+#include "adc.h"
+#include "kernel.h"
+#include "system.h"
+#include "power.h"
+#include "hwcompat.h"
+#include "logf.h"
+#include "usb.h"
+
+#ifdef CONFIG_TUNER
+
+static bool powered = false;
+
+bool radio_powered(void)
+{
+ return powered;
+}
+
+bool radio_power(bool status)
+{
+ bool old_status = powered;
+ powered = status;
+
+ return old_status;
+}
+
+#endif /* #ifdef CONFIG_TUNER */
+
+#ifndef SIMULATOR
+
+void power_init(void)
+{
+}
+
+void ide_power_enable(bool on)
+{
+ (void)on;
+ /* no ide controller */
+}
+
+bool ide_powered(void)
+{
+ return true; /* pretend always powered if not controlable */
+}
+
+void power_off(void)
+{
+ set_irq_level(HIGHEST_IRQ_LEVEL);
+ GPIO1_CLR = 1 << 16;
+ GPIO2_SET = 1;
+ while(1)
+ yield();
+}
+
+#else
+
+void power_off(void)
+{
+}
+
+void ide_power_enable(bool on)
+{
+ (void)on;
+}
+
+#endif /* SIMULATOR */
diff --git a/firmware/target/arm/iriver/ifp7xx/usb-ifp7xx.c b/firmware/target/arm/iriver/ifp7xx/usb-ifp7xx.c
new file mode 100644
index 0000000000..1ab7534d4c
--- /dev/null
+++ b/firmware/target/arm/iriver/ifp7xx/usb-ifp7xx.c
@@ -0,0 +1,51 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2006 by Barry Wardell
+ *
+ * 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 "config.h"
+#include "cpu.h"
+#include "kernel.h"
+#include "thread.h"
+#include "system.h"
+#include "debug.h"
+#include "ata.h"
+#include "fat.h"
+#include "disk.h"
+#include "panic.h"
+#include "lcd.h"
+#include "adc.h"
+#include "usb.h"
+#include "button.h"
+#include "sprintf.h"
+#include "string.h"
+#include "hwcompat.h"
+
+void usb_init_device(void)
+{
+}
+
+bool usb_detect(void)
+{
+ /* TODO: Implement USB_ISP1582 */
+ return false;
+}
+
+void usb_enable(bool on)
+{
+ /* TODO: Implement USB_ISP1582 */
+ (void)on;
+}
diff --git a/firmware/target/arm/iriver/h10/usb-target.h b/firmware/target/arm/iriver/usb-target.h
index 7a17f7bacf..7a17f7bacf 100644
--- a/firmware/target/arm/iriver/h10/usb-target.h
+++ b/firmware/target/arm/iriver/usb-target.h