summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarry Wardell <rockbox@barrywardell.net>2006-08-19 19:21:17 +0000
committerBarry Wardell <rockbox@barrywardell.net>2006-08-19 19:21:17 +0000
commit99c2dc52841aabd0af66b3cd43452478acf22c31 (patch)
tree75858a6f73e3562e1681740634ce6613b852d9ba
parent9fdb611547342c1dffdff84efdb9745c524a8f4d (diff)
downloadrockbox-99c2dc52841aabd0af66b3cd43452478acf22c31.tar.gz
rockbox-99c2dc52841aabd0af66b3cd43452478acf22c31.zip
Add new build target for iriver H10 5/6Gb.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10661 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/bitmaps/native/SOURCES2
-rw-r--r--apps/bitmaps/native/rockboxlogo.128x40x16.bmpbin0 -> 10294 bytes
-rw-r--r--apps/plugins/SOURCES6
-rw-r--r--apps/plugins/pacbox/SOURCES2
-rw-r--r--apps/plugins/sudoku/SOURCES2
-rw-r--r--firmware/SOURCES11
-rw-r--r--firmware/export/config-h10_5gb.h120
-rw-r--r--firmware/export/config.h10
-rwxr-xr-xtools/configure28
-rwxr-xr-xtools/mkmi4.sh3
-rw-r--r--uisimulator/sdl/UI-h10_5gb.bmpbin0 -> 487654 bytes
-rw-r--r--uisimulator/sdl/uisdl.h12
12 files changed, 191 insertions, 5 deletions
diff --git a/apps/bitmaps/native/SOURCES b/apps/bitmaps/native/SOURCES
index e8cff9f670..ca4bf47bd3 100644
--- a/apps/bitmaps/native/SOURCES
+++ b/apps/bitmaps/native/SOURCES
@@ -3,6 +3,8 @@
/* Rockbox logo */
#if (LCD_DEPTH == 1)
rockboxlogo.112x37x1.bmp
+#elif (LCD_WIDTH == 128) && (LCD_DEPTH == 16)
+rockboxlogo.128x40x16.bmp
#elif (LCD_WIDTH == 138) && (LCD_DEPTH == 2)
rockboxlogo.138x46x2.bmp
#elif (LCD_WIDTH == 160) && (LCD_DEPTH == 2)
diff --git a/apps/bitmaps/native/rockboxlogo.128x40x16.bmp b/apps/bitmaps/native/rockboxlogo.128x40x16.bmp
new file mode 100644
index 0000000000..b7a81c5961
--- /dev/null
+++ b/apps/bitmaps/native/rockboxlogo.128x40x16.bmp
Binary files differ
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index 1ab3361ac7..1874eda18d 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -35,7 +35,9 @@ mandelbrot.c
plasma.c
bounce.c
+#ifndef IRIVER_H10_5GB
bubbles.c
+#endif
#if LCD_WIDTH != 128
/* These need adjusting for the iRiver if'p screen */
brickmania.c
@@ -44,7 +46,9 @@ calculator.c
chip8.c
demystify.c
flipit.c
+#ifndef IRIVER_H10_5GB
jewels.c
+#endif
minesweeper.c
oscilloscope.c
pong.c
@@ -62,7 +66,9 @@ tetrox.c
video.c
#endif
vu_meter.c
+#ifndef IRIVER_H10_5GB
wormlet.c
+#endif
#ifdef CONFIG_RTC
clock.c
diff --git a/apps/plugins/pacbox/SOURCES b/apps/plugins/pacbox/SOURCES
index cedcda1363..188fc53c1f 100644
--- a/apps/plugins/pacbox/SOURCES
+++ b/apps/plugins/pacbox/SOURCES
@@ -1,3 +1,4 @@
+#ifndef IRIVER_H10_5GB
arcade.c
pacbox.c
hardware.c
@@ -10,3 +11,4 @@ pacbox_lcd.c
#if defined(CPU_COLDFIRE)
pacbox_cf.S
#endif
+#endif
diff --git a/apps/plugins/sudoku/SOURCES b/apps/plugins/sudoku/SOURCES
index 7cce555c93..20d8121175 100644
--- a/apps/plugins/sudoku/SOURCES
+++ b/apps/plugins/sudoku/SOURCES
@@ -1,3 +1,5 @@
+#ifndef IRIVER_H10_5GB
sudoku.c
generator.c
templates.c
+#endif
diff --git a/firmware/SOURCES b/firmware/SOURCES
index 23da475304..f313dcd902 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -262,6 +262,17 @@ target/arm/iriver/h10/lcd-h10.c
#endif
#endif
+#ifdef IRIVER_H10_5GB
+#ifndef SIMULATOR
+target/arm/iriver/h10/backlight-h10.c
+target/arm/iriver/h10/button-h10.c
+target/arm/ata-pp5020.c
+target/arm/iriver/h10/power-h10.c
+target/arm/iriver/h10/usb-h10.c
+target/arm/iriver/h10/lcd-h10.c
+#endif
+#endif
+
#ifdef GIGABEAT_F
#ifndef SIMULATOR
target/arm/gigabeat/meg-fx/backlight-meg-fx.c
diff --git a/firmware/export/config-h10_5gb.h b/firmware/export/config-h10_5gb.h
new file mode 100644
index 0000000000..09b9132525
--- /dev/null
+++ b/firmware/export/config-h10_5gb.h
@@ -0,0 +1,120 @@
+/*
+ * This config file is for the iriver H10 5/6Gb model
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 13
+
+/* define this if you have recording possibility */
+/*#define HAVE_RECORDING 1*/ /* TODO: add support for this */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP 1
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR 1
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */
+
+/*#define IRAM_LCDFRAMEBUFFER IDATA_ATTR*//* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD IRIVER_H10_PAD
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_E8564 /* TODO: figure this out */
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x80000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8975 audio codec */
+#define HAVE_WM8731
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner */
+/*#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768 *//* TODO: what is this? */
+
+/* Define this for LCD backlight available */
+#define CONFIG_BACKLIGHT BL_H10 /* TODO: figure this out, probably not necessary
+ because of target tree stuff */
+
+#define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */
+
+#ifndef SIMULATOR
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* Type of mobile power */
+#define CONFIG_BATTERY BATT_BP009
+#define BATTERY_CAPACITY_MIN 700 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 900 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 10 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+#define BATTERY_SCALE_FACTOR 5865
+
+/* Hardware controlled charging? FIXME */
+//#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the hardware can be powered off while charging */
+/* TODO: should this be set for the H10? */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+/* TODO: this is probably wrong */
+#define CPU_FREQ 11289600
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_H10_5GB
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* 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_IPODSTYLE */
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Virtual LED (icon) */
+#define CONFIG_LED LED_VIRTUAL
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "h10"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+
+#endif
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 1579767ade..8f1a5e65cc 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -70,7 +70,8 @@
#define BATT_4AA_NIMH 1500
#define BATT_3AAA 1000 /* Ondio */
#define BATT_LIPOL1300 1300 /* the type used in iRiver h1x0 models */
-#define BATT_LPCS355385 1550 /* iriver h10 - SKC LPCS355385 */
+#define BATT_LPCS355385 1550 /* iriver h10 20Gb - SKC LPCS355385 */
+#define BATT_BP009 820 /* iriver H10 5/6Gb - iriver BP009 */
/* CONFIG_CHARGING */
#define CHARGING_SIMPLE 1 /* Simple, hardware controlled charging */
@@ -93,6 +94,8 @@
#define LCD_IPODMINI 10 /* as used by iPod Mini g1/g2 */
#define LCD_IFP7XX 11 /* as used by iRiver iFP 7xx/8xx */
#define LCD_GIGABEAT 12
+#define LCD_H10 13 /* as used by iriver H10 20Gb */
+#define LCD_H10_5GB 14 /* as used by iriver H10 5Gb */
/* LCD_PIXELFORMAT */
#define HORIZONTAL_PACKING 1
@@ -115,8 +118,9 @@
#define BL_IRIVER_IFP7XX 9 /* IRiver GPIO */
#define BL_IPODMINI 10 /* Apple iPod Mini */
#define BL_GIGABEAT 11 /* Toshiba Gigabeat */
-#define BL_IRIVER_H10 12 /* iriver H10 */
+#define BL_H10 12 /* iriver H10 */
#define BL_X5 13 /* iAudio X5 PCF50606 I2C */
+#define BL_H10_5GB 14 /* iriver H10 5/6GB */
/* CONFIG_I2C */
#define I2C_PLAYREC 0 /* Archos Player/Recorder style */
@@ -192,6 +196,8 @@
#include "config-ipodmini2g.h"
#elif defined(IRIVER_H10)
#include "config-h10.h"
+#elif defined(IRIVER_H10_5GB)
+#include "config-h10_5gb.h"
#elif defined(SANSA_E200)
#include "config-e200.h"
#else
diff --git a/tools/configure b/tools/configure
index e228a2fd39..dad1042b6b 100755
--- a/tools/configure
+++ b/tools/configure
@@ -460,8 +460,9 @@ toolsdir='\$(ROOTDIR)/tools'
echo "19 - iriver iFP-790"
echo "20 - Toshiba Gigabeat F"
echo "21 - iPod Mini 2G"
- echo "22 - iriver H10"
+ echo "22 - iriver H10 20Gb"
echo "23 - SanDisk Sansa e200"
+ echo "24 - iriver H10 5/6Gb"
target_id=`input`;
@@ -933,6 +934,29 @@ toolsdir='\$(ROOTDIR)/tools'
t_model="sansa-e200"
;;
+ 24)
+ archos="h10_5gb"
+ target="-DIRIVER_H10_5GB"
+ memory=32 # always
+ arm7tdmicc
+ tool="$rootdir/tools/mkmi4.sh h10_5gb"
+ bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
+ bmp2rb_native="$rootdir/tools/bmp2rb -f 5"
+ output="H10.mi4"
+ appextra="recorder:gui"
+ archosrom=""
+ flash=""
+ plugins="yes"
+ codecs="libmad liba52 libffmpegFLAC libTremor libwavpack dumb libmusepack libalac libfaad libm4a"
+ # toolset is the tools within the tools directory that we build for
+ # this particular target.
+ toolset=$genericbitmaptools
+ # architecture, manufacturer and model for the target-tree build
+ t_cpu="arm"
+ t_manufacturer="iriver"
+ t_model="h10"
+ ;;
+
*)
echo "Please select an actual target platform!"
exit
@@ -988,7 +1012,7 @@ fi
case $option in
[Bb])
case $archos in
- h100|h120|h300|x5|ipodcolor|ipodnano|ipodvideo|ipod3g|ipod4g|ipodmini|ipodmini2g|gigabeatf|h10|e200)
+ h100|h120|h300|x5|ipodcolor|ipodnano|ipodvideo|ipod3g|ipod4g|ipodmini|ipodmini2g|gigabeatf|h10|e200|h10_5gb)
extradefines="-DBOOTLOADER" # for target makefile symbol EXTRA_DEFINES
appsdir='\$(ROOTDIR)/bootloader'
apps="bootloader"
diff --git a/tools/mkmi4.sh b/tools/mkmi4.sh
index ee9c8f1228..00fee9bdfa 100755
--- a/tools/mkmi4.sh
+++ b/tools/mkmi4.sh
@@ -63,6 +63,9 @@ case $target in
h10)
tea=20gc_eng
;;
+ h10_5gb)
+ tea=default
+ ;;
*)
echo "unsupported target"
help
diff --git a/uisimulator/sdl/UI-h10_5gb.bmp b/uisimulator/sdl/UI-h10_5gb.bmp
new file mode 100644
index 0000000000..03542d8f69
--- /dev/null
+++ b/uisimulator/sdl/UI-h10_5gb.bmp
Binary files differ
diff --git a/uisimulator/sdl/uisdl.h b/uisimulator/sdl/uisdl.h
index 51d1aeca76..55d696bc63 100644
--- a/uisimulator/sdl/uisdl.h
+++ b/uisimulator/sdl/uisdl.h
@@ -200,7 +200,7 @@
#define UI_LCD_HEIGHT 320
#elif defined(IRIVER_H10)
-#define UI_TITLE "iriver H10"
+#define UI_TITLE "iriver H10 20Gb"
#define UI_WIDTH 392 /* width of GUI window */
#define UI_HEIGHT 391 /* height of GUI window */
/* high-colour */
@@ -209,6 +209,16 @@
#define UI_LCD_WIDTH LCD_WIDTH /* * 1.5 */
#define UI_LCD_HEIGHT LCD_HEIGHT /* * 1.5 */
+#elif defined(IRIVER_H10_5GB)
+#define UI_TITLE "iriver H10 5/6Gb"
+#define UI_WIDTH 353 /* width of GUI window */
+#define UI_HEIGHT 460 /* height of GUI window */
+/* high-colour */
+#define UI_LCD_POSX 112 /* x position of lcd */
+#define UI_LCD_POSY 45 /* y position of lcd (74 for real aspect) */
+#define UI_LCD_WIDTH LCD_WIDTH /* * 1.5 */
+#define UI_LCD_HEIGHT LCD_HEIGHT /* * 1.5 */
+
#elif defined(IRIVER_IFP7XX)
#define UI_TITLE "iriver iFP7xx"
#define UI_WIDTH 425 /* width of GUI window */