diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2007-03-04 14:09:21 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2007-03-04 14:09:21 +0000 |
| commit | b4994a08ca8d8c86c1254a0b4f3de75564fdad1d (patch) | |
| tree | fbc95b8302d75e581835a350d30d95db681b4cf6 | |
| parent | 4de9fbeda6d38adb197399156f69d034837a9562 (diff) | |
| download | rockbox-b4994a08ca8d8c86c1254a0b4f3de75564fdad1d.zip rockbox-b4994a08ca8d8c86c1254a0b4f3de75564fdad1d.tar.gz rockbox-b4994a08ca8d8c86c1254a0b4f3de75564fdad1d.tar.bz2 rockbox-b4994a08ca8d8c86c1254a0b4f3de75564fdad1d.tar.xz | |
Added new iAudio M5 target, including some adjustments to make the bootloader compile (with a small change against the committed tools/tonfigure, and it won't actually work yet).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12588 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | bootloader/SOURCES | 2 | ||||
| -rw-r--r-- | firmware/SOURCES | 27 | ||||
| -rw-r--r-- | firmware/app.lds | 2 | ||||
| -rw-r--r-- | firmware/boot.lds | 10 | ||||
| -rw-r--r-- | firmware/export/config-iaudiom5.h | 160 | ||||
| -rw-r--r-- | firmware/export/config.h | 2 | ||||
| -rw-r--r-- | firmware/target/coldfire/pcf50606-coldfire.c | 2 | ||||
| -rwxr-xr-x | tools/configure | 29 |
8 files changed, 224 insertions, 10 deletions
diff --git a/bootloader/SOURCES b/bootloader/SOURCES index 26356ff..94196d3 100644 --- a/bootloader/SOURCES +++ b/bootloader/SOURCES @@ -8,7 +8,7 @@ gigabeat.c main-pp.c #elif defined(ELIO_TPJ1022) tpj1022.c -#elif defined(IAUDIO_X5) +#elif defined(IAUDIO_X5) || defined(IAUDIO_M5) iaudio_x5.c #elif defined(IRIVER_H300_SERIES) iriver_h300.c diff --git a/firmware/SOURCES b/firmware/SOURCES index c1a2117..ec47fff 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES @@ -244,9 +244,10 @@ target/coldfire/crt0.S target/coldfire/memcpy-coldfire.S target/coldfire/memmove-coldfire.S target/coldfire/memset-coldfire.S -#ifdef HAVE_LCD_COLOR +#if defined(HAVE_LCD_COLOR) \ + || defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_PIXELFORMAT == VERTICAL_INTERLEAVED) target/coldfire/memset16-coldfire.S -#endif /* HAVE_LCD_COLOR */ +#endif target/coldfire/system-coldfire.c #ifndef BOOTLOADER target/coldfire/pcm-coldfire.c @@ -370,6 +371,28 @@ target/coldfire/iaudio/x5/audio-x5.c #endif /* SIMULATOR */ #endif /* IAUDIO_X5 */ +#ifdef IAUDIO_M5 +target/coldfire/iaudio/x5/power-x5.c +#ifndef SIMULATOR +target/coldfire/ata-as-coldfire.S +target/coldfire/pcf50606-coldfire.c +target/coldfire/iaudio/x5/adc-x5.c +target/coldfire/iaudio/x5/ata-x5.c +target/coldfire/iaudio/x5/backlight-x5.c +target/coldfire/iaudio/x5/button-x5.c +target/coldfire/iaudio/x5/lcd-as-x5.S +target/coldfire/iaudio/x5/lcd-remote-x5.c +target/coldfire/iaudio/x5/lcd-x5.c +target/coldfire/iaudio/x5/m5636-x5.c +target/coldfire/iaudio/x5/pcf50606-x5.c +target/coldfire/iaudio/x5/system-x5.c +target/coldfire/iaudio/x5/usb-x5.c +#ifndef BOOTLOADER +target/coldfire/iaudio/x5/audio-x5.c +#endif +#endif /* SIMULATOR */ +#endif /* IAUDIO_M5 */ + #ifdef IRIVER_IFP7XX_SERIES #ifdef STUB usb_serial.c diff --git a/firmware/app.lds b/firmware/app.lds index 02c204a..eb63fd8 100644 --- a/firmware/app.lds +++ b/firmware/app.lds @@ -33,7 +33,7 @@ INPUT(target/sh/crt0.o) #define DRAMORIG 0x31000000 + STUBOFFSET #define IRAMORIG 0x10000000 #define IRAMSIZE 0xc000 -#elif defined(IAUDIO_X5) +#elif defined(IAUDIO_X5) || defined(IAUDIO_M5) #define DRAMORIG 0x31000000 + STUBOFFSET #define IRAMORIG 0x10000000 #define IRAMSIZE 0x10000 diff --git a/firmware/boot.lds b/firmware/boot.lds index c9e39be..b032f8e 100644 --- a/firmware/boot.lds +++ b/firmware/boot.lds @@ -31,7 +31,7 @@ INPUT(target/sh/crt0.o) #define IRAMSIZE 0x18000 #define FLASHORIG 0x003f0000 #define FLASHSIZE 4M -#elif defined(IAUDIO_X5) +#elif defined(IAUDIO_X5) || defined(IAUDIO_M5) #define DRAMORIG 0x31000000 #define IRAMORIG 0x10000000 #define IRAMSIZE 0x20000 @@ -151,7 +151,7 @@ SECTIONS { .vectors : { -#ifdef IAUDIO_X5 +#if defined(IAUDIO_X5) || defined(IAUDIO_M5) *(.init.text) #endif _datacopy = .; @@ -201,7 +201,8 @@ SECTIONS stackend = .; } > IRAM -#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) || defined(IAUDIO_X5) +#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) \ + || defined(IAUDIO_X5) || defined(IAUDIO_M5) .bss DRAMORIG+0x800000: #else .bss : @@ -212,7 +213,8 @@ SECTIONS *(.bss*) *(COMMON) _end = .; -#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) || defined(IAUDIO_X5) +#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) \ + || defined(IAUDIO_X5) || defined(IAUDIO_M5) } > DRAM #else } > IRAM diff --git a/firmware/export/config-iaudiom5.h b/firmware/export/config-iaudiom5.h new file mode 100644 index 0000000..2c52bc0 --- /dev/null +++ b/firmware/export/config-iaudiom5.h @@ -0,0 +1,160 @@ +/* + * This config file is for iAudio M5 + */ +#define TARGET_TREE /* this target is using the target tree system */ + +/* For Rolo and boot loader */ +#define MODEL_NUMBER 17 + +/* define this if you have recording possibility */ +#define HAVE_RECORDING + +/* define the bitmask of hardware sample rates */ +#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11) + +/* define the bitmask of recording sample rates */ +#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11) + +/* define this if you have a bitmap LCD display */ +#define HAVE_LCD_BITMAP + +/* define this if you can flip your LCD */ +#define HAVE_LCD_FLIP + +/* define this if you can invert the colours on your LCD */ +#define HAVE_LCD_INVERT + +/* define this if you have access to the quickscreen */ +#define HAVE_QUICKSCREEN + +/* define this if you have access to the pitchscreen */ +#define HAVE_PITCHSCREEN + +/* define this if you would like tagcache to build on this target */ +#define HAVE_TAGCACHE + +/* LCD dimensions */ +#define LCD_WIDTH 160 +#define LCD_HEIGHT 128 +#define LCD_DEPTH 2 + +#define LCD_PIXELFORMAT VERTICAL_PACKING + +/* remote LCD */ +#define LCD_REMOTE_WIDTH 128 +#define LCD_REMOTE_HEIGHT 96 +#define LCD_REMOTE_DEPTH 2 + +#define LCD_REMOTE_PIXELFORMAT VERTICAL_INTERLEAVED + +#define CONFIG_KEYPAD IAUDIO_X5_PAD + +#define AB_REPEAT_ENABLE 1 +#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE + +/* Define this if you do software codec */ +#define CONFIG_CODEC SWCODEC + +/* define this if you have a real-time clock */ +#define CONFIG_RTC RTC_PCF50606 + +/* Define this if you have an remote lcd */ +#define HAVE_REMOTE_LCD + +#define CONFIG_LCD LCD_S1D15E06 + +/* Define this for LCD backlight available */ +#define CONFIG_BACKLIGHT BL_X5 /* PCF50606 I2C */ +/* #define HAVE_BACKLIGHT_BRIGHTNESS TODO: not yet known */ + +/* 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 BATTERY_CAPACITY_DEFAULT 950 /* default battery capacity */ + +#define HAVE_TLV320 + +/* TLV320 has no tone controls, so we use the software ones */ +#define HAVE_SW_TONE_CONTROLS + +#ifndef SIMULATOR + +/* Define this if your LCD can set contrast */ +#define HAVE_LCD_CONTRAST + +/* Define this if you have a Motorola SCF5250 */ +#define CONFIG_CPU MCF5250 + +/* Define this if you want to use coldfire's i2c interface */ +#define CONFIG_I2C I2C_COLDFIRE + +/* Hardware controlled charging? FIXME */ +#define CONFIG_CHARGING CHARGING_SIMPLE + +/* define this if the hardware can be powered off while charging */ +#define HAVE_POWEROFF_WHILE_CHARGING + +/* The size of the flash ROM */ +#define FLASH_SIZE 0x400000 + +/* Define this to the CPU frequency */ +#define CPU_FREQ 11289600 + +/* Type of mobile power */ +#define X5_BATT_CONFIG 2 +#define CONFIG_BATTERY BATT_IAUDIO_X5 +#define BATTERY_CAPACITY_MIN 950 /* min. capacity selectable */ +#define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */ +#define BATTERY_CAPACITY_INC 50 /* capacity increment */ +#define BATTERY_TYPES_COUNT 1 /* only one type */ +#define BATTERY_SCALE_FACTOR 5859 /* (420703125 + 35900) / 71800 */ + +/* Define this if you have ATA power-off control */ +#define HAVE_ATA_POWER_OFF + +/* Virtual LED (icon) */ +#define CONFIG_LED LED_VIRTUAL + +/* 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_X5STYLE + +/* Define this if you have adjustable CPU frequency */ +#define HAVE_ADJUSTABLE_CPU_FREQ + +#define BOOTFILE_EXT "iaudio" +#define BOOTFILE "rockbox." BOOTFILE_EXT + +#define BOOTLOADER_ENTRYPOINT 0x001F0000 +#define FLASH_ENTRYPOINT 0x00001000 +#define FLASH_MAGIC 0xfbfbfbf1 + +#endif /* SIMULATOR */ + +/** Port-specific settings **/ + +/* Main LCD contrast range and defaults */ +#define MIN_CONTRAST_SETTING 1 +#define MAX_CONTRAST_SETTING 30 +#define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */ + +/* Main LCD backlight brightness range and defaults */ +/* PCF50506 can output 0%-100% duty cycle but D305A expects %15-100%. */ +#define MIN_BRIGHTNESS_SETTING 1 /* 15/16 (93.75%) */ +#define MAX_BRIGHTNESS_SETTING 13 /* 3/16 (18.75%) */ +#define DEFAULT_BRIGHTNESS_SETTING 8 /* 8/16 (50.00%) = x5 boot default */ + +/* Remote LCD contrast range and defaults */ +#define MIN_REMOTE_CONTRAST_SETTING 10 +#define MAX_REMOTE_CONTRAST_SETTING 35 +#define DEFAULT_REMOTE_CONTRAST_SETTING 24 /* Match boot contrast */ diff --git a/firmware/export/config.h b/firmware/export/config.h index 085f86a..d848d16 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -187,6 +187,8 @@ #include "config-h300.h" #elif defined(IAUDIO_X5) #include "config-iaudiox5.h" +#elif defined(IAUDIO_M5) +#include "config-iaudiom5.h" #elif defined(IPOD_COLOR) #include "config-ipodcolor.h" #elif defined(IPOD_NANO) diff --git a/firmware/target/coldfire/pcf50606-coldfire.c b/firmware/target/coldfire/pcf50606-coldfire.c index ecc9e0e..d777b41 100644 --- a/firmware/target/coldfire/pcf50606-coldfire.c +++ b/firmware/target/coldfire/pcf50606-coldfire.c @@ -29,7 +29,7 @@ #if defined(IRIVER_H300_SERIES) #define SDA_BITNUM 13 /* LRCK3/GPIO45 */ #define SCL_BITNUM 12 /* SWE/GPIO12 */ -#elif defined(IAUDIO_X5) +#elif defined(IAUDIO_X5) || defined(IAUDIO_M5) #define SDA_BITNUM 12 /* SDA1/RXD1/GPIO44 */ #define SCL_BITNUM 10 /* SCL1/TXD1/GPIO10 */ #endif diff --git a/tools/configure b/tools/configure index 2226188..ee5dbaa 100755 --- a/tools/configure +++ b/tools/configure @@ -589,7 +589,8 @@ cat <<EOF ==iAudio== ==Toshiba== ==SanDisk== 30) X5/X5V/X5L 40) Gigabeat F 50) Sansa e200 - 51) Sansa e200R + 31) M5/M5L 51) Sansa e200R + ==Tatung== 60) Elio TPJ-1022 EOF @@ -909,6 +910,32 @@ EOF t_model="x5" ;; + 31|m5) + target_id=28 + archos="m5" + target="-DIAUDIO_M5" + memory=16 # always + coldfirecc + tool="$rootdir/tools/scramble -add=iam5" + bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" + bmp2rb_native="$rootdir/tools/bmp2rb -f 2" + bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" + bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 7" + output="rockbox.iaudio" + appextra="recorder:gui" + archosrom="" + flash="" + plugins="yes" + codecs="libmad liba52 libffmpegFLAC libTremor libwavpack libmusepack libalac libfaad libm4a libspeex" + # toolset is the tools within the tools directory that we build for + # this particular target. + toolset="$iaudiobitmaptools" + # architecture, manufacturer and model for the target-tree build + t_cpu="coldfire" + t_manufacturer="iaudio" + t_model="m5" + ;; + 20|ipodcolor) target_id=13 archos="ipodcolor" |