summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-07-08 06:31:13 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-07-08 06:31:13 +0000
commit8493ccb285937b54ddc8a50ae092c7a9a044b2a3 (patch)
treece6000516ac0023fc223a046e9df2fb34a9a26a8
parentc28969d11f16b53c50918b06dbe9e545e33ce323 (diff)
downloadrockbox-8493ccb285937b54ddc8a50ae092c7a9a044b2a3.tar.gz
rockbox-8493ccb285937b54ddc8a50ae092c7a9a044b2a3.tar.bz2
rockbox-8493ccb285937b54ddc8a50ae092c7a9a044b2a3.zip
Renamed the iriver h120 defines and configs to "h120"! Added initial support
for the h100 series. Please re-run configure. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7062 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/plugin.lds2
-rw-r--r--firmware/crt0.S2
-rw-r--r--firmware/export/adc.h13
-rw-r--r--firmware/export/config-h100.h5
-rw-r--r--firmware/export/config-h120.h92
-rw-r--r--firmware/export/config.h2
-rw-r--r--firmware/usb.c4
-rwxr-xr-xtools/configure19
8 files changed, 131 insertions, 8 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index bf1057e332..38e5808022 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -14,7 +14,7 @@ OUTPUT_FORMAT(elf32-sh)
#define STUBOFFSET 0
#endif
-#if defined(IRIVER_H100) || defined(IRIVER_H300)
+#if defined(IRIVER_H120) || defined(IRIVER_H300)
#define ARCH_IRIVER
#endif
diff --git a/firmware/crt0.S b/firmware/crt0.S
index 589e8f5432..978510aecb 100644
--- a/firmware/crt0.S
+++ b/firmware/crt0.S
@@ -116,7 +116,7 @@ irq_handler:
pop r1, r0
ret_irq
-#elif defined(IRIVER_H100)
+#elif defined(IRIVER_H100_SERIES)
/* Platform: iRiver H120/H140 */
move.w #0x2700,%sr
diff --git a/firmware/export/adc.h b/firmware/export/adc.h
index 40bc3e108a..18b0c3d578 100644
--- a/firmware/export/adc.h
+++ b/firmware/export/adc.h
@@ -21,7 +21,7 @@
#include "config.h"
-#ifdef IRIVER_H100
+#ifdef IRIVER_H100_SERIES
#define NUM_ADC_CHANNELS 4
#define ADC_BUTTONS 0
@@ -30,6 +30,15 @@
#define ADC_UNREG_POWER ADC_BATTERY /* For compatibility */
#else
+#ifdef IRIVER_H300
+/* TODO: we don't have enough info about the ADC for the H3x0 for now, so this
+ stuff is only added here for now to make things compile. */
+#define ADC_BUTTONS -2
+#define ADC_REMOTE -3
+unsigned char adc_scan(int channel);
+
+#endif
+
#define NUM_ADC_CHANNELS 8
#ifdef HAVE_ONDIO_ADC
@@ -73,7 +82,7 @@
unsigned short adc_read(int channel);
void adc_init(void);
-#ifdef IRIVER_H100
+#ifdef IRIVER_H120
unsigned char adc_scan(int channel);
#endif
diff --git a/firmware/export/config-h100.h b/firmware/export/config-h100.h
index 7971a2e6c7..9ea8401e3b 100644
--- a/firmware/export/config-h100.h
+++ b/firmware/export/config-h100.h
@@ -1,3 +1,8 @@
+/*
+ * This config file is for iriver iHP-100, iHP-110, iHP-115
+ */
+#define IRIVER_H100_SERIES 1
+
/* define this if you have recording possibility */
/*#define HAVE_RECORDING 1*/
diff --git a/firmware/export/config-h120.h b/firmware/export/config-h120.h
new file mode 100644
index 0000000000..90a676f4dd
--- /dev/null
+++ b/firmware/export/config-h120.h
@@ -0,0 +1,92 @@
+/*
+ * This config file is for iriver H120 and H140
+ */
+#define IRIVER_H100_SERIES 1
+
+/* define this if you have recording possibility */
+/*#define HAVE_RECORDING 1*/
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP 1
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 2
+
+/* remote LCD */
+#define LCD_REMOTE_WIDTH 128
+#define LCD_REMOTE_HEIGHT 64
+#define LCD_REMOTE_DEPTH 1
+
+#define CONFIG_KEYPAD IRIVER_H100_PAD
+
+#define CONFIG_REMOTE_KEYPAD H100_REMOTE
+
+/* Define this if you do software codec */
+#define CONFIG_HWCODEC MASNONE
+
+/* Define this if you have an remote lcd */
+#define HAVE_REMOTE_LCD
+
+#define CONFIG_LCD LCD_S1D15E06
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x40000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0xC0000
+
+#ifndef SIMULATOR
+
+/* Define this if you have a Motorola SCF5249 */
+#define CONFIG_CPU MCF5249
+
+#define CONFIG_I2C I2C_H100
+
+#define HAVE_UDA1380
+
+/* Type of mobile power */
+#define CONFIG_BATTERY BATT_LIPOL1300
+
+#define BATTERY_SCALE_FACTOR 16665 /* FIX: this value is picked at random */
+
+/* Define this if the platform can charge batteries */
+#define HAVE_CHARGING 1
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x11010
+
+/* Define this for LCD backlight available */
+#define CONFIG_BACKLIGHT BL_IRIVER /* port controlled */
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define USB_IRIVERSTYLE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT ".iriver"
+#define BOOTFILE "rockbox" BOOTFILE_EXT
+
+#endif
+
+/* Define this if you can control the S/PDIF power */
+#define HAVE_SPDIF_POWER
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 7e95d23ab6..a232709a4f 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -98,6 +98,8 @@
#include "config-ondiofm.h"
#elif defined(IRIVER_H100)
#include "config-h100.h"
+#elif defined(IRIVER_H120)
+#include "config-h120.h"
#elif defined(IRIVER_H300)
#include "config-h300.h"
#elif defined(ARCHOS_GMINI120)
diff --git a/firmware/usb.c b/firmware/usb.c
index 44e359f8e9..a3fc1967c2 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -349,7 +349,7 @@ bool usb_detect(void)
#ifdef USB_PLAYERSTYLE
current_status = (PADR & 0x8000)?false:true;
#endif
-#ifdef IRIVER_H100
+#ifdef IRIVER_H120
current_status = (GPIO1_READ & 0x80)?true:false;
#endif
#ifdef USB_GMINISTYLE
@@ -428,7 +428,7 @@ void usb_init(void)
usb_monitor_enabled = false;
countdown = -1;
-#ifdef IRIVER_H100
+#ifdef IRIVER_H120
GPIO_OUT &= ~0x01000000; /* GPIO24 is the Cypress chip power */
GPIO_ENABLE |= 0x01000000;
GPIO_FUNCTION |= 0x01000000;
diff --git a/tools/configure b/tools/configure
index 85764308db..245e44742e 100755
--- a/tools/configure
+++ b/tools/configure
@@ -382,6 +382,7 @@ appsdir='\$(ROOTDIR)/apps'
echo "8 - Archos Ondio FM"
echo "9 - iRiver H120/H140"
echo "10 - iRiver H320/H340"
+ echo "11 - iRiver iHP-100/iHP-110/iHP-115"
getit=`input`;
@@ -494,8 +495,8 @@ appsdir='\$(ROOTDIR)/apps'
;;
9)
- archos="h100"
- target="-DIRIVER_H100"
+ archos="h120"
+ target="-DIRIVER_H120"
memory=32 # always
coldfirecc
tool="$rootdir/tools/scramble -add=h120"
@@ -521,6 +522,20 @@ appsdir='\$(ROOTDIR)/apps'
codecs="libmad liba52 libFLAC libTremor libwavpack dumb libmusepack"
;;
+ 11)
+ archos="h100"
+ target="-DIRIVER_H100"
+ memory=16 # always
+ coldfirecc
+ tool="$rootdir/tools/scramble -add=h100"
+ output="rockbox.iriver"
+ appextra="recorder"
+ archosrom=""
+ flash=""
+ plugins="yes"
+ codecs="libmad liba52 libFLAC libTremor libwavpack dumb libmusepack"
+ ;;
+
*)
echo "Please select an actual target platform!"
exit