diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/crt0.S | 2 | ||||
-rw-r--r-- | firmware/export/adc.h | 13 | ||||
-rw-r--r-- | firmware/export/config-h100.h | 5 | ||||
-rw-r--r-- | firmware/export/config-h120.h | 92 | ||||
-rw-r--r-- | firmware/export/config.h | 2 | ||||
-rw-r--r-- | firmware/usb.c | 4 |
6 files changed, 113 insertions, 5 deletions
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 | ||
38 | unsigned 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 @@ | |||
73 | unsigned short adc_read(int channel); | 82 | unsigned short adc_read(int channel); |
74 | void adc_init(void); | 83 | void adc_init(void); |
75 | 84 | ||
76 | #ifdef IRIVER_H100 | 85 | #ifdef IRIVER_H120 |
77 | unsigned char adc_scan(int channel); | 86 | unsigned 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; |