summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)
14#define STUBOFFSET 0 14#define STUBOFFSET 0
15#endif 15#endif
16 16
17#if defined(IRIVER_H100) || defined(IRIVER_H300) 17#if defined(IRIVER_H120) || defined(IRIVER_H300)
18#define ARCH_IRIVER 18#define ARCH_IRIVER
19#endif 19#endif
20 20
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:
116 pop r1, r0 116 pop r1, r0
117 ret_irq 117 ret_irq
118 118
119#elif defined(IRIVER_H100) 119#elif defined(IRIVER_H100_SERIES)
120 /* Platform: iRiver H120/H140 */ 120 /* Platform: iRiver H120/H140 */
121 move.w #0x2700,%sr 121 move.w #0x2700,%sr
122 122
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 @@
21 21
22#include "config.h" 22#include "config.h"
23 23
24#ifdef IRIVER_H100 24#ifdef IRIVER_H100_SERIES
25#define NUM_ADC_CHANNELS 4 25#define NUM_ADC_CHANNELS 4
26 26
27#define ADC_BUTTONS 0 27#define ADC_BUTTONS 0
@@ -30,6 +30,15 @@
30#define ADC_UNREG_POWER ADC_BATTERY /* For compatibility */ 30#define ADC_UNREG_POWER ADC_BATTERY /* For compatibility */
31 31
32#else 32#else
33#ifdef IRIVER_H300
34/* TODO: we don't have enough info about the ADC for the H3x0 for now, so this
35 stuff is only added here for now to make things compile. */
36#define ADC_BUTTONS -2
37#define ADC_REMOTE -3
38unsigned char adc_scan(int channel);
39
40#endif
41
33#define NUM_ADC_CHANNELS 8 42#define NUM_ADC_CHANNELS 8
34 43
35#ifdef HAVE_ONDIO_ADC 44#ifdef HAVE_ONDIO_ADC
@@ -73,7 +82,7 @@
73unsigned short adc_read(int channel); 82unsigned short adc_read(int channel);
74void adc_init(void); 83void adc_init(void);
75 84
76#ifdef IRIVER_H100 85#ifdef IRIVER_H120
77unsigned char adc_scan(int channel); 86unsigned char adc_scan(int channel);
78#endif 87#endif
79 88
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 @@
1/*
2 * This config file is for iriver iHP-100, iHP-110, iHP-115
3 */
4#define IRIVER_H100_SERIES 1
5
1/* define this if you have recording possibility */ 6/* define this if you have recording possibility */
2/*#define HAVE_RECORDING 1*/ 7/*#define HAVE_RECORDING 1*/
3 8
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 @@
1/*
2 * This config file is for iriver H120 and H140
3 */
4#define IRIVER_H100_SERIES 1
5
6/* define this if you have recording possibility */
7/*#define HAVE_RECORDING 1*/
8
9/* define this if you have a bitmap LCD display */
10#define HAVE_LCD_BITMAP 1
11
12/* LCD dimensions */
13#define LCD_WIDTH 160
14#define LCD_HEIGHT 128
15#define LCD_DEPTH 2
16
17/* remote LCD */
18#define LCD_REMOTE_WIDTH 128
19#define LCD_REMOTE_HEIGHT 64
20#define LCD_REMOTE_DEPTH 1
21
22#define CONFIG_KEYPAD IRIVER_H100_PAD
23
24#define CONFIG_REMOTE_KEYPAD H100_REMOTE
25
26/* Define this if you do software codec */
27#define CONFIG_HWCODEC MASNONE
28
29/* Define this if you have an remote lcd */
30#define HAVE_REMOTE_LCD
31
32#define CONFIG_LCD LCD_S1D15E06
33
34/* Define this if you have a software controlled poweroff */
35#define HAVE_SW_POWEROFF
36
37/* The number of bytes reserved for loadable codecs */
38#define CODEC_SIZE 0x40000
39
40/* The number of bytes reserved for loadable plugins */
41#define PLUGIN_BUFFER_SIZE 0xC0000
42
43#ifndef SIMULATOR
44
45/* Define this if you have a Motorola SCF5249 */
46#define CONFIG_CPU MCF5249
47
48#define CONFIG_I2C I2C_H100
49
50#define HAVE_UDA1380
51
52/* Type of mobile power */
53#define CONFIG_BATTERY BATT_LIPOL1300
54
55#define BATTERY_SCALE_FACTOR 16665 /* FIX: this value is picked at random */
56
57/* Define this if the platform can charge batteries */
58#define HAVE_CHARGING 1
59
60/* define this if the hardware can be powered off while charging */
61#define HAVE_POWEROFF_WHILE_CHARGING
62
63/* The start address index for ROM builds */
64#define ROM_START 0x11010
65
66/* Define this for LCD backlight available */
67#define CONFIG_BACKLIGHT BL_IRIVER /* port controlled */
68
69/* Define this to the CPU frequency */
70#define CPU_FREQ 11289600
71
72/* Define this if you have ATA power-off control */
73#define HAVE_ATA_POWER_OFF
74
75/* Offset ( in the firmware file's header ) to the file CRC */
76#define FIRMWARE_OFFSET_FILE_CRC 0
77
78/* Offset ( in the firmware file's header ) to the real data */
79#define FIRMWARE_OFFSET_FILE_DATA 8
80
81#define USB_IRIVERSTYLE
82
83/* Define this if you have adjustable CPU frequency */
84#define HAVE_ADJUSTABLE_CPU_FREQ
85
86#define BOOTFILE_EXT ".iriver"
87#define BOOTFILE "rockbox" BOOTFILE_EXT
88
89#endif
90
91/* Define this if you can control the S/PDIF power */
92#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 @@
98#include "config-ondiofm.h" 98#include "config-ondiofm.h"
99#elif defined(IRIVER_H100) 99#elif defined(IRIVER_H100)
100#include "config-h100.h" 100#include "config-h100.h"
101#elif defined(IRIVER_H120)
102#include "config-h120.h"
101#elif defined(IRIVER_H300) 103#elif defined(IRIVER_H300)
102#include "config-h300.h" 104#include "config-h300.h"
103#elif defined(ARCHOS_GMINI120) 105#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)
349#ifdef USB_PLAYERSTYLE 349#ifdef USB_PLAYERSTYLE
350 current_status = (PADR & 0x8000)?false:true; 350 current_status = (PADR & 0x8000)?false:true;
351#endif 351#endif
352#ifdef IRIVER_H100 352#ifdef IRIVER_H120
353 current_status = (GPIO1_READ & 0x80)?true:false; 353 current_status = (GPIO1_READ & 0x80)?true:false;
354#endif 354#endif
355#ifdef USB_GMINISTYLE 355#ifdef USB_GMINISTYLE
@@ -428,7 +428,7 @@ void usb_init(void)
428 usb_monitor_enabled = false; 428 usb_monitor_enabled = false;
429 countdown = -1; 429 countdown = -1;
430 430
431#ifdef IRIVER_H100 431#ifdef IRIVER_H120
432 GPIO_OUT &= ~0x01000000; /* GPIO24 is the Cypress chip power */ 432 GPIO_OUT &= ~0x01000000; /* GPIO24 is the Cypress chip power */
433 GPIO_ENABLE |= 0x01000000; 433 GPIO_ENABLE |= 0x01000000;
434 GPIO_FUNCTION |= 0x01000000; 434 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'
382 echo "8 - Archos Ondio FM" 382 echo "8 - Archos Ondio FM"
383 echo "9 - iRiver H120/H140" 383 echo "9 - iRiver H120/H140"
384 echo "10 - iRiver H320/H340" 384 echo "10 - iRiver H320/H340"
385 echo "11 - iRiver iHP-100/iHP-110/iHP-115"
385 386
386 getit=`input`; 387 getit=`input`;
387 388
@@ -494,8 +495,8 @@ appsdir='\$(ROOTDIR)/apps'
494 ;; 495 ;;
495 496
496 9) 497 9)
497 archos="h100" 498 archos="h120"
498 target="-DIRIVER_H100" 499 target="-DIRIVER_H120"
499 memory=32 # always 500 memory=32 # always
500 coldfirecc 501 coldfirecc
501 tool="$rootdir/tools/scramble -add=h120" 502 tool="$rootdir/tools/scramble -add=h120"
@@ -521,6 +522,20 @@ appsdir='\$(ROOTDIR)/apps'
521 codecs="libmad liba52 libFLAC libTremor libwavpack dumb libmusepack" 522 codecs="libmad liba52 libFLAC libTremor libwavpack dumb libmusepack"
522 ;; 523 ;;
523 524
525 11)
526 archos="h100"
527 target="-DIRIVER_H100"
528 memory=16 # always
529 coldfirecc
530 tool="$rootdir/tools/scramble -add=h100"
531 output="rockbox.iriver"
532 appextra="recorder"
533 archosrom=""
534 flash=""
535 plugins="yes"
536 codecs="libmad liba52 libFLAC libTremor libwavpack dumb libmusepack"
537 ;;
538
524 *) 539 *)
525 echo "Please select an actual target platform!" 540 echo "Please select an actual target platform!"
526 exit 541 exit