diff -u -r ./rockbox-all/firmware/app.lds /home/slm/projets/rockbox/src/rockbox-all/firmware/app.lds --- ./rockbox-all/firmware/app.lds 2006-01-25 00:32:53.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/app.lds 2006-02-04 20:32:39.000000000 +0100 @@ -126,6 +126,10 @@ #define DRAMORIG 0x00000000 + STUBOFFSET #define IRAMORIG 0x40000000 #define IRAMSIZE 0xc000 +#elif CONFIG_CPU==PP5002 +#define DRAMORIG 0x00000000 + STUBOFFSET +#define IRAMORIG 0x40000000 +#define IRAMSIZE 0xc000 #elif CONFIG_CPU==PNX0101 #define DRAMORIG 0x24000000 + STUBOFFSET #define IRAMORIG 0x400000 diff -u -r ./rockbox-all/firmware/backlight.c /home/slm/projets/rockbox/src/rockbox-all/firmware/backlight.c --- ./rockbox-all/firmware/backlight.c 2006-01-19 14:10:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/backlight.c 2006-01-23 23:56:05.000000000 +0100 @@ -242,6 +242,8 @@ /* set port L07 on */ outl(((0x100 | 1) << 7), 0x6000d12c); +#elif CONFIG_BACKLIGHT==BL_IPOD3G + lcd_enable(true); #elif CONFIG_BACKLIGHT==BL_IRIVER_IFP7XX GPIO3_SET = 1; #endif @@ -283,6 +285,8 @@ outl(((0x100 | 0) << 7), 0x6000d12c); #elif CONFIG_BACKLIGHT==BL_IRIVER_IFP7XX GPIO3_CLR = 1; +#elif CONFIG_BACKLIGHT==BL_IPOD3G + lcd_enable(false); #endif } Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#backlight.c.1.69 diff -u -r ./rockbox-all/firmware/boot.lds /home/slm/projets/rockbox/src/rockbox-all/firmware/boot.lds --- ./rockbox-all/firmware/boot.lds 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/boot.lds 2006-01-23 18:06:30.000000000 +0100 @@ -4,7 +4,7 @@ #ifdef CPU_COLDFIRE OUTPUT_FORMAT(elf32-m68k) INPUT(crt0.o) -#elif CONFIG_CPU == PP5020 +#elif CONFIG_CPU == PP5020 || CONFIG_CPU == PP5002 OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) #else @@ -26,18 +26,18 @@ #define IRAMSIZE 0x18000 #define FLASHORIG 0x003f0000 #define FLASHSIZE 4M -#elif defined(IAUDIO_X5) -#define DRAMORIG 0x31000000 -#define IRAMORIG 0x10000000 -#define IRAMSIZE 0x20000 -#define FLASHORIG 0x00100000 -#define FLASHSIZE 4M #elif CONFIG_CPU == PP5020 #define DRAMORIG 0x10000000 #define IRAMORIG 0x40000000 #define IRAMSIZE 0x18000 #define FLASHORIG 0x001f0000 #define FLASHSIZE 2M +#elif CONFIG_CPU == PP5002 +#define DRAMORIG 0x28000000 +#define IRAMORIG 0x40000000 +#define IRAMSIZE 0x18000 +#define FLASHORIG 0x001f0000 +#define FLASHSIZE 2M #else #define DRAMORIG 0x09000000 #define IRAMORIG 0x0f000000 @@ -46,7 +46,7 @@ #define FLASHSIZE 256K - ROM_START #endif -#if CONFIG_CPU!=PP5020 +#if CONFIG_CPU!=PP5020 && CONFIG_CPU!=PP5002 MEMORY { DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE @@ -56,7 +56,7 @@ #endif SECTIONS -#if CONFIG_CPU==PP5020 +#if CONFIG_CPU==PP5020 || CONFIG_CPU==PP5002 { . = IRAMORIG; diff -u -r ./rockbox-all/firmware/common/CVS/Entries /home/slm/projets/rockbox/src/rockbox-all/firmware/common/CVS/Entries --- ./rockbox-all/firmware/common/CVS/Entries 2006-02-05 16:54:01.626599264 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/common/CVS/Entries 2006-02-05 00:03:22.000000000 +0100 @@ -1,7 +1,7 @@ /atoi.c/1.2/Mon Sep 30 08:50:00 2002// /ctype.c/1.5/Tue Jul 12 11:06:38 2005// /dir.c/1.29/Fri Oct 7 17:38:04 2005// -/dircache.c/1.9/Tue Jan 31 10:08:53 2006// +/dircache.c/1.9/Wed Feb 1 22:11:08 2006// /disk.c/1.9/Mon May 16 15:21:09 2005// /errno.c/1.1/Thu May 30 21:03:17 2002// /file.c/1.66/Sat Dec 17 12:17:11 2005// @@ -12,9 +12,9 @@ /memset.c/1.6/Fri Jan 21 22:43:02 2005// /memset_a.S/1.7/Sat Oct 22 08:06:49 2005// /qsort.c/1.2/Fri Jun 7 14:09:05 2002// -/random.c/1.7/Fri Jan 20 01:21:25 2006// +/random.c/1.7/Mon Jan 23 22:56:06 2006// /sprintf.c/1.17/Fri Nov 25 00:10:12 2005// -/sscanf.c/1.2/Fri Feb 3 23:39:12 2006// +/sscanf.c/1.1/Wed Jan 25 01:35:03 2006// /strcasecmp.c/1.1/Tue Jun 18 08:19:38 2002// /strcasestr.c/1.1/Thu Jan 27 22:21:08 2005// /strcat.c/1.1/Wed Jun 19 08:29:02 2002// diff -u -r ./rockbox-all/firmware/common/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/common/CVS/Root --- ./rockbox-all/firmware/common/CVS/Root 2006-02-05 16:54:01.349641368 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/common/CVS/Root 2006-01-16 17:28:54.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/common/CVS: Template diff -u -r ./rockbox-all/firmware/common/sscanf.c /home/slm/projets/rockbox/src/rockbox-all/firmware/common/sscanf.c --- ./rockbox-all/firmware/common/sscanf.c 2006-02-04 00:39:12.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/common/sscanf.c 2006-01-25 02:35:03.000000000 +0100 @@ -82,18 +82,6 @@ return n; } -static int skip_spaces(int (*peek)(void *userp), - void (*pop)(void *userp), - void *userp) -{ - int n = 0; - while (isspace((*peek)(userp))) { - n++; - (*pop)(userp); - } - return n; -} - static int scan(int (*peek)(void *userp), void (*pop)(void *userp), void *userp, @@ -115,10 +103,14 @@ { ch = *fmt++; + while (isspace((*peek)(userp))) { + n_chars++; + (*pop)(userp); + } + switch (ch) { case 'x': - n_chars += skip_spaces(peek, pop, userp); if ((r = parse_hex(peek, pop, userp, &ulval)) >= 0) { *(va_arg(ap, unsigned int *)) = ulval; @@ -129,7 +121,6 @@ return n; break; case 'd': - n_chars += skip_spaces(peek, pop, userp); if ((r = parse_dec(peek, pop, userp, &lval)) >= 0) { *(va_arg(ap, int *)) = lval; @@ -144,7 +135,6 @@ n++; break; case 'l': - n_chars += skip_spaces(peek, pop, userp); ch = *fmt++; switch (ch) { @@ -186,7 +176,10 @@ if (literal) { - n_chars += skip_spaces(peek, pop, userp); + while (isspace((*peek)(userp))) { + (*pop)(userp); + n_chars++; + } if ((*peek)(userp) != ch) return n; else diff -u -r ./rockbox-all/firmware/crt0.S /home/slm/projets/rockbox/src/rockbox-all/firmware/crt0.S --- ./rockbox-all/firmware/crt0.S 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/crt0.S 2006-02-01 23:11:07.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: crt0.S,v 1.64 2006/02/04 00:01:15 linus Exp $ + * $Id: crt0.S,v 1.62 2006/01/31 13:46:58 preglow Exp $ * * Copyright (C) 2002 by Linus Nielsen Feltzing * @@ -82,7 +82,6 @@ remap_end: #endif /* PP specific */ -#ifndef DEBUG /* Copy exception handler code to address 0 */ ldr r2, =_vectorsstart ldr r3, =_vectorsend @@ -92,13 +91,6 @@ ldrhi r5, [r4], #4 strhi r5, [r2], #4 bhi 1b -#else - ldr r1, =vectors - ldr r0, =irq_handler - str r0, [r1, #24] - ldr r0, =fiq_handler - str r0, [r1, #28] -#endif #ifndef STUB /* Zero out IBSS */ @@ -452,7 +444,7 @@ pop r1, r0 ret_irq -#elif defined(CPU_COLDFIRE) +#elif defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) move.w #0x2700,%sr move.l #vectors,%d0 diff -u -r ./rockbox-all/firmware/CVS/Entries /home/slm/projets/rockbox/src/rockbox-all/firmware/CVS/Entries --- ./rockbox-all/firmware/CVS/Entries 2006-02-05 16:54:01.349641368 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/CVS/Entries 2006-02-03 20:13:54.000000000 +0100 @@ -1,43 +1,50 @@ /COPYING/1.2/Mon Jan 24 09:01:48 2005// -/FILES/1.16/Wed Feb 1 14:18:38 2006// +/FILES/1.16/Fri Feb 3 19:13:52 2006// /Makefile/1.56/Tue Sep 6 18:03:50 2005// /README/1.3/Wed Aug 21 11:13:46 2002// -/SOURCES/1.65/Wed Jan 25 12:15:24 2006// -/app.lds/1.64/Tue Jan 24 23:32:53 2006// +/SOURCES/1.65/Result of merge// +/app.lds/1.64/Fri Jan 27 18:59:46 2006// /arabjoin.c/1.1/Tue Dec 6 15:04:48 2005// /arabjoin.h/1.3/Tue Dec 6 15:15:54 2005// -/backlight.c/1.71/Thu Jan 19 13:10:15 2006// +/backlight.c/1.71/Result of merge// /bidi.c/1.4/Tue Dec 6 15:04:48 2005// /bitswap.S/1.7/Sun Sep 26 09:25:59 2004// -/boot.lds/1.13/Sat Feb 4 00:01:15 2006// +/boot.lds/1.12/Tue Dec 6 17:37:32 2005// /buffer.c/1.5/Tue Apr 5 11:33:58 2005// -/crt0.S/1.64/Sat Feb 4 00:01:15 2006// -/debug.c/1.30/Sat Feb 4 00:04:02 2006// +D/common//// +/crt0.S/1.62/Wed Feb 1 22:11:07 2006// +/debug.c/1.29/Tue Aug 16 08:32:42 2005// +D/decompressor//// /descramble.S/1.4/Mon Nov 28 22:42:38 2005// +D/drivers//// +D/export//// /font.c/1.16/Tue Dec 6 13:27:01 2005// /font_cache.c/1.1/Tue Dec 6 13:27:01 2005// +D/fonts//// /hwcompat.c/1.5/Fri Feb 4 16:15:19 2005// -/id3.c/1.125/Wed Feb 1 16:42:02 2006// -/kernel.c/1.51/Tue Jan 24 22:31:57 2006// +/id3.c/1.125/Fri Feb 3 19:13:52 2006// +D/include//// +/kernel.c/1.51/Result of merge// /logf.c/1.8/Thu Jun 30 15:14:33 2005// /lru.c/1.1/Tue Dec 6 13:27:01 2005// +D/malloc//// /mp3_playback.c/1.48/Sun Nov 6 23:12:11 2005// /mp3data.c/1.40/Wed Nov 2 18:05:31 2005// /mpeg.c/1.357/Thu Dec 22 21:42:00 2005// /panic.c/1.25/Fri Nov 25 00:10:12 2005// -/pcm_playback.c/1.88/Sat Feb 4 00:01:15 2006// +/pcm_playback.c/1.87/Result of merge// /pcm_record.c/1.14/Fri Dec 23 21:43:05 2005// -/powermgmt.c/1.101/Sat Feb 4 00:01:15 2006// +/powermgmt.c/1.100/Fri Jan 27 18:59:46 2006// /profile.c/1.1/Wed Jan 18 20:54:12 2006// /replaygain.c/1.4/Mon Oct 3 18:35:02 2005// -/rolo.c/1.23/Fri Feb 3 23:14:42 2006// +/rolo.c/1.22/Fri Nov 11 17:51:35 2005// /rom.lds/1.12/Wed Oct 19 19:35:23 2005// -/sound.c/1.25/Sat Feb 4 00:01:15 2006// -/system.c/1.87/Fri Feb 3 23:26:14 2006// -/thread.c/1.58/Tue Jan 31 14:48:10 2006// -/timer.c/1.5/Fri Feb 3 23:14:42 2006// +/sound.c/1.23/Wed Feb 1 22:11:07 2006// +/system.c/1.86/Result of merge// +D/test//// +/thread.c/1.58/Result of merge// +/timer.c/1.4/Fri Nov 11 17:51:35 2005// /tuner_philips.c/1.9/Sat Sep 24 09:06:31 2005// /tuner_samsung.c/1.6/Mon Aug 29 21:15:20 2005// -/usb.c/1.77/Sat Feb 4 00:01:15 2006// -/usb_serial.c/1.2/Fri Feb 3 23:28:53 2006// -D +/usb.c/1.76/Result of merge// +/usb_serial.c/1.1/Wed Jan 25 01:37:38 2006// Seulement dans ./rockbox-all/firmware/CVS: Entries.Log diff -u -r ./rockbox-all/firmware/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/CVS/Root --- ./rockbox-all/firmware/CVS/Root 2006-02-05 16:54:00.812722992 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/CVS/Root 2006-01-16 17:28:53.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/CVS: Template diff -u -r ./rockbox-all/firmware/debug.c /home/slm/projets/rockbox/src/rockbox-all/firmware/debug.c --- ./rockbox-all/firmware/debug.c 2006-02-04 01:04:02.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/debug.c 2005-08-16 10:32:42.000000000 +0200 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: debug.c,v 1.30 2006/02/04 00:04:02 tomal Exp $ + * $Id: debug.c,v 1.29 2005/08/16 08:32:42 linus Exp $ * * Copyright (C) 2002 by Linus Nielsen Feltzing * @@ -22,9 +22,6 @@ #include #include "config.h" #include "cpu.h" -#ifdef HAVE_GDB_API -#include "gdb_api.h" -#endif #ifdef DEBUG static char debugmembuf[200]; @@ -199,34 +196,6 @@ putpacket(debugbuf); } #endif /* SH7034 */ - -#ifdef HAVE_GDB_API -static void *get_api_function(int n) -{ - struct gdb_api *api = (struct gdb_api *)GDB_API_ADDRESS; - if (api->magic == GDB_API_MAGIC) - return api->func[n]; - else - return NULL; -} - -void breakpoint(void) -{ - void (*f)(void) = get_api_function(0); - if (f) (*f)(); -} - -static void debug(char *msg) -{ - void (*f)(char *) = get_api_function(1); - if (f) (*f)(msg); -} - -void debug_init() -{ -} - -#endif /* HAVE_GDB_API */ #endif /* end of DEBUG section */ #ifdef __GNUC__ diff -u -r ./rockbox-all/firmware/decompressor/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/decompressor/CVS/Root --- ./rockbox-all/firmware/decompressor/CVS/Root 2006-02-05 16:54:01.626599264 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/decompressor/CVS/Root 2006-01-16 17:28:54.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/decompressor/CVS: Template diff -u -r ./rockbox-all/firmware/drivers/ata.c /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/ata.c --- ./rockbox-all/firmware/drivers/ata.c 2006-02-03 00:07:11.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/ata.c 2006-02-05 12:45:16.000000000 +0100 @@ -71,13 +71,20 @@ #define SET_REG(reg,val) reg = ((val) << 8) #define SET_16BITREG(reg,val) reg = (val) -#elif CONFIG_CPU == PP5020 +#elif (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020) /* don't use sh7034 assembler routines */ #define PREFER_C_READING #define PREFER_C_WRITING +#if (CONFIG_CPU == PP5002) +#define ATA_IOBASE 0xc00031e0 +#define ATA_CONTROL (*((volatile unsigned char*)(0xc00033f8))) +#elif (CONFIG_CPU == PP5020) #define ATA_IOBASE 0xc30001e0 +#define ATA_CONTROL (*((volatile unsigned char*)(0xc30003f8))) +#endif + #define ATA_DATA (*((volatile unsigned short*)(ATA_IOBASE))) #define ATA_ERROR (*((volatile unsigned char*)(ATA_IOBASE + 0x04))) #define ATA_NSECTOR (*((volatile unsigned char*)(ATA_IOBASE + 0x08))) @@ -86,7 +93,6 @@ #define ATA_HCYL (*((volatile unsigned char*)(ATA_IOBASE + 0x14))) #define ATA_SELECT (*((volatile unsigned char*)(ATA_IOBASE + 0x18))) #define ATA_COMMAND (*((volatile unsigned char*)(ATA_IOBASE + 0x1c))) -#define ATA_CONTROL (*((volatile unsigned char*)(0xc30003f8))) #define STATUS_BSY 0x80 #define STATUS_RDY 0x40 @@ -928,6 +934,7 @@ static int check_registers(void) { +#if CONFIG_CPU != PP5002 int i; if ( ATA_STATUS & STATUS_BSY ) return -1; @@ -946,6 +953,9 @@ } return -2; +#else + return 0; +#endif } static int freeze_lock(void) @@ -1123,6 +1133,9 @@ P1 &= ~0x04; sleep(1); */ +#elif CONFIG_CPU == PP5002 + + // sleep(1); #endif /* state HRR2 */ @@ -1254,7 +1267,7 @@ (void)on; #elif CONFIG_CPU == TCC730 -#elif CONFIG_CPU == PP5020 +#elif (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020) /* TODO: Implement ata_enable() */ (void)on; #endif @@ -1407,10 +1420,12 @@ bool coldstart = (P1 & 0x80) == 0; #elif defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) bool coldstart = (GPIO_FUNCTION & 0x00080000) == 0; + #elif defined(IAUDIO_X5) /* X5 TODO */ bool coldstart = true; -#elif CONFIG_CPU == PP5020 +#elif CONFIG_CPU == PP5020 || (CONFIG_CPU == PP5002) + bool coldstart = false; /* TODO: Implement coldstart variable */ #else @@ -1440,13 +1455,21 @@ or_l(0x00080000, &GPIO_FUNCTION); /* FYI: The IDECONFIGx registers are set by set_cpu_frequency() */ +#elif CONFIG_CPU == PP5002 + /* From ipod-ide.c:ipod_ide_register() */ +/* PP5002 */ + outl(inl(0xc0003024) | (1 << 7), 0xc0003024); + outl(inl(0xc0003024) & ~(1<<2), 0xc0003024); + + outl(0x10, 0xc0003000); + outl(0x80002150, 0xc0003004); #elif CONFIG_CPU == PP5020 /* From ipod-ide.c:ipod_ide_register() */ - outl(inl(0xc3000028) | (1 << 5), 0xc3000028); - outl(inl(0xc3000028) & ~0x10000000, 0xc3000028); + outl(inl(0xc3000028) | (1 << 5), 0xc3000028); + outl(inl(0xc3000028) & ~0x10000000, 0xc3000028); - outl(0x10, 0xc3000000); - outl(0x80002150, 0xc3000004); + outl(0x10, 0xc3000000); + outl(0x80002150, 0xc3000004); #endif sleeping = false; Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#ata.c.1.163 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#ata.c.1.165 diff -u -r ./rockbox-all/firmware/drivers/button.c /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/button.c --- ./rockbox-all/firmware/drivers/button.c 2006-02-02 12:24:32.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/button.c 2006-02-03 20:13:52.000000000 +0100 @@ -61,7 +61,7 @@ #define REPEAT_INTERVAL_FINISH 5 /* the power-off button and number of repeated keys before shutting off */ -#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) +#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) #define POWEROFF_BUTTON BUTTON_PLAY #define POWEROFF_COUNT 40 #else @@ -215,12 +215,138 @@ outl(inl(0x7000c104) | 0xC000000, 0x7000c104); outl(0x400a1f00, 0x7000c100); + GPIOB_OUTPUT_VAL |= 0x10; CPU_INT_EN = 0x40000000; CPU_HI_INT_EN = I2C_MASK; } #endif +#if CONFIG_KEYPAD == IPOD_3G_PAD +/* Variable to use for setting button status in interrupt handler */ +int int_btn = BUTTON_NONE; + +/** + * + * + */ +void handle_scroll_wheel(int new_scroll, int was_hold, int reverse) +{ + int wheel_keycode = BUTTON_NONE; + static int prev_scroll = -1; + static int scroll_state[4][4] = { + {0, 1, -1, 0}, + {-1, 0, 0, 1}, + {1, 0, 0, -1}, + {0, -1, 1, 0} + }; + + if ( prev_scroll == -1 ) { + prev_scroll = new_scroll; + } + else if (!was_hold) { + switch (scroll_state[prev_scroll][new_scroll]) { + case 1: + if (reverse) { + /* 'r' keypress */ + wheel_keycode = BUTTON_SCROLL_FWD; + } + else { + /* 'l' keypress */ + wheel_keycode = BUTTON_SCROLL_BACK; + } + break; + case -1: + if (reverse) { + /* 'l' keypress */ + wheel_keycode = BUTTON_SCROLL_BACK; + } + else { + /* 'r' keypress */ + wheel_keycode = BUTTON_SCROLL_FWD; + break; + default: + /* only happens if we get out of sync */ + break; + } + } + } + if (wheel_keycode != BUTTON_NONE) + queue_post(&button_queue, wheel_keycode, NULL); + prev_scroll = new_scroll; +} + +static int ipod_3g_button_read(void) +{ + unsigned char source, state; + static int was_hold = 0; +int btn = BUTTON_NONE; + /* + * we need some delay for g3, cause hold generates several interrupts, + * some of them delayed + */ + udelay(250); + + /* get source of interupts */ + source = inb(0xcf000040); + if (source) { + + /* get current keypad status */ + state = inb(0xcf000030); + outb(~state, 0xcf000060); + + if (was_hold && source == 0x40 && state == 0xbf) { + /* ack any active interrupts */ + outb(source, 0xcf000070); + return BUTTON_NONE; + } + was_hold = 0; + + + if ( source & 0x20 ) { + /* 3g hold switch is active low */ + btn |= BUTTON_HOLD; + was_hold = 1; + /* hold switch on 3g causes all outputs to go low */ + /* we shouldn't interpret these as key presses */ + goto done; + } + if (source & 0x1) { + btn |= BUTTON_RIGHT; + } + if (source & 0x2) { + btn |= BUTTON_SELECT; + } + if (source & 0x4) { + btn |= BUTTON_PLAY; + } + if (source & 0x8) { + btn |= BUTTON_LEFT; + } + if (source & 0x10) { + btn |= BUTTON_MENU; + } + + if (source & 0xc0) { + handle_scroll_wheel((state & 0xc0) >> 6, was_hold, 0); + } + done: + + /* ack any active interrupts */ + outb(source, 0xcf000070); + } + return btn; +} +void ipod_3g_button_int(void) +{ + /** + * Theire is other things to do but for now ... + * TODO: implement this function in a better way + **/ + int_btn = ipod_3g_button_read(); + +} +#endif static void button_tick(void) { static int tick = 0; @@ -402,10 +528,17 @@ GPIOA_INT_CLR = GPIOA_INT_STAT & 0x20; /* enable interrupts */ GPIOA_INT_EN = 0x20; - CPU_INT_EN = 0x40000000; - CPU_HI_INT_EN = I2C_MASK; -#endif /* CONFIG_KEYPAD */ + PP5020_CPU_INT_EN = 0x40000000; + PP5020_CPU_HI_INT_EN = PP5020_I2C_MASK; + +#elif CONFIG_KEYPAD == IPOD_3G_PAD + outb(~inb(GPIOA_INPUT_VAL), GPIOA_INT_LEV); + outb(inb(GPIOA_INT_STAT), GPIOA_INT_CLR); + outb(0xff, GPIOA_INT_EN); + + +#endif /* CONFIG_KEYPAD */ queue_init(&button_queue); button_read(); lastbtn = button_read(); @@ -418,7 +551,7 @@ } #ifdef HAVE_LCD_BITMAP /* only bitmap displays can be flipped */ -#if (CONFIG_KEYPAD != IPOD_4G_PAD) +#if (CONFIG_KEYPAD != IPOD_4G_PAD) && (CONFIG_KEYPAD != IPOD_3G_PAD) /* * helper function to swap UP/DOWN, LEFT/RIGHT (and F1/F3 for Recorder) */ @@ -887,6 +1020,9 @@ (void)data; /* The int_btn variable is set in the button interrupt handler */ btn = int_btn; +#elif CONFIG_KEYPAD == IPOD_3G_PAD + (void)data; + btn = int_btn; #endif /* CONFIG_KEYPAD */ Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#button.c.1.107 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#button.c.1.108 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#button.c.1.109 diff -u -r ./rockbox-all/firmware/drivers/CVS/Entries /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/CVS/Entries --- ./rockbox-all/firmware/drivers/CVS/Entries 2006-02-05 16:54:02.375485416 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/CVS/Entries 2006-02-05 00:03:23.000000000 +0100 @@ -1,8 +1,8 @@ /adc.c/1.24/Thu Jan 12 00:35:50 2006// -/ata.c/1.166/Thu Feb 2 23:07:11 2006// +/ata.c/1.166/Result of merge+Sat Feb 4 22:43:26 2006// /ata_flash.c/1.1/Wed Jan 18 10:01:35 2006// /ata_mmc.c/1.52/Mon Nov 7 23:19:06 2005// -/button.c/1.110/Thu Feb 2 11:24:32 2006// +/button.c/1.110/Result of merge// /dac.c/1.8/Mon Nov 3 23:36:36 2003// /dac.h/1.5/Mon Nov 3 23:36:36 2003// /fat.c/1.123/Tue Dec 6 13:27:01 2005// @@ -12,24 +12,24 @@ /i2c-pnx0101.c/1.1/Wed Jan 18 10:01:35 2006// /i2c-pp5020.c/1.4/Mon Dec 19 14:30:52 2005// /i2c.c/1.16/Sat May 7 22:29:35 2005// -/lcd-16bit.c/1.26/Fri Feb 3 21:11:51 2006// -/lcd-h100-remote.c/1.42/Thu Feb 2 19:53:50 2006// -/lcd-h100.c/1.41/Thu Feb 2 19:35:51 2006// +/lcd-16bit.c/1.26/Sat Feb 4 22:43:27 2006// +/lcd-h100-remote.c/1.42/Sat Feb 4 22:43:27 2006// +/lcd-h100.c/1.41/Sat Feb 4 22:43:27 2006// /lcd-h300.c/1.9/Mon Jan 9 16:11:19 2006// -/lcd-ipod.c/1.11/Tue Jan 31 01:50:07 2006// +/lcd-ipod.c/1.11/Result of merge+Wed Feb 1 22:11:08 2006// /lcd-ipodvideo.c/1.3/Wed Dec 21 23:47:43 2005// /lcd-player-charset.c/1.9/Mon May 23 12:04:30 2005// /lcd-player.c/1.52/Tue Dec 6 13:27:01 2005// -/lcd-recorder.c/1.77/Thu Feb 2 19:35:51 2006// +/lcd-recorder.c/1.77/Sat Feb 4 22:43:27 2006// /lcd.S/1.6/Mon Nov 14 15:41:04 2005// /led.c/1.17/Thu Nov 24 00:10:11 2005// /mas.c/1.22/Mon Aug 29 21:15:20 2005// /pcf50605.c/1.3/Wed Dec 21 23:32:19 2005// -/pcf50606.c/1.10/Thu Jan 19 13:10:15 2006// -/power.c/1.69/Thu Feb 2 23:07:11 2006// +/pcf50606.c/1.10/Mon Jan 23 22:56:07 2006// +/power.c/1.69/Result of merge+Sat Feb 4 22:43:28 2006// /rtc.c/1.11/Thu Dec 22 23:48:32 2005// -/serial.c/1.21/Sat Feb 4 00:01:15 2006// -/tlv320.c/1.2/Fri Feb 3 23:59:41 2006// +/serial.c/1.20/Thu Jan 12 00:35:50 2006// +/tlv320.c/1.1/Sat Aug 6 10:12:19 2005// /uda1380.c/1.23/Sun Nov 27 01:10:02 2005// -/wm8975.c/1.4/Mon Jan 30 21:12:31 2006// +/wm8975.c/1.4/Wed Feb 1 22:11:08 2006// D diff -u -r ./rockbox-all/firmware/drivers/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/CVS/Root --- ./rockbox-all/firmware/drivers/CVS/Root 2006-02-05 16:54:01.652595312 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/CVS/Root 2006-01-16 17:28:54.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/CVS: Template Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: i2c-pp5002.c Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: lcd-2bit-linear.c diff -u -r ./rockbox-all/firmware/drivers/lcd-ipod.c /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/lcd-ipod.c --- ./rockbox-all/firmware/drivers/lcd-ipod.c 2006-01-31 02:50:07.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/lcd-ipod.c 2006-02-05 13:34:34.000000000 +0100 @@ -30,8 +30,229 @@ #include "system.h" /*** definitions ***/ +#define IPOD_HW_REVISION (*((volatile unsigned long*)0x00002084)) +#define IPOD_PP5020_RTC (*((volatile unsigned long*)0x60005010)) +#define IPOD_PP5002_RTC (*((volatile unsigned long*)0xcf001110)) + +#if (CONFIG_LCD == LCD_IPOD2BPP) + +/*** definitions ***/ +//unsigned char lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH/4] IBSS_ATTR; +//static unsigned char notmask[4] = { 0xfc, 0xf3, 0xcf, 0x3f }; +/*** hardware configuration ***/ + +#define IPOD_LCD_BASE 0xc0001000 +#define IPOD_LCD_BUSY_MASK 0x80000000 +#define IPOD_RTC 0xcf001110 + +/* LCD command codes for HD66789R */ + + +#define LCD_CMD 0x08 +#define LCD_DATA 0x10 + +static unsigned int lcd_contrast = 0x6a; + +/* get current usec counter */ +static int timer_get_current(void) +{ + return inl(IPOD_RTC); +} + +/* check if number of useconds has past */ +static int timer_check(int clock_start, int usecs) +{ + if ( ((int)(inl(IPOD_RTC) - clock_start)) >= usecs ) { + return 1; + } else { + return 0; + } +} + +/* wait for LCD with timeout */ +static void lcd_wait_write(void) +{ + int start = timer_get_current(); + + do { + if ((inl(IPOD_LCD_BASE) & 0x8000) == 0) break; + } while (timer_check(start, 1000) == 0); +} + + +/* send LCD data */ +static void lcd_send_data(int data_lo, int data_hi) +{ + lcd_wait_write(); + outl(data_lo, IPOD_LCD_BASE + LCD_DATA); + lcd_wait_write(); + outl(data_hi, IPOD_LCD_BASE + LCD_DATA); +} + +/* send LCD command */ +static void lcd_prepare_cmd(int cmd) +{ + lcd_wait_write(); + + outl(0x0, IPOD_LCD_BASE + LCD_CMD); + lcd_wait_write(); + outl(cmd, IPOD_LCD_BASE + LCD_CMD); + +} + +/* send LCD command and data */ +static void lcd_cmd_and_data(int cmd, int data_lo, int data_hi) +{ + lcd_prepare_cmd(cmd); + + lcd_send_data(data_lo, data_hi); +} + +int lcd_default_contrast(void) +{ + return 28; +} + + + +/* LCD init */ +#ifdef SIMULATOR + +void lcd_init_device(void) +{ + create_thread(scroll_thread, scroll_stack, + sizeof(scroll_stack), scroll_name); +} +#else + +/** + * + * LCD init + **/ +void lcd_init_device(void){ + /* driver output control - 160x128 */ + lcd_cmd_and_data(0x1, 0x1, 0xf); + lcd_cmd_and_data(0x5, 0x0, 0x10); +} + + +/*** update functions ***/ +/* srccopy bitblt, opcode is currently ignored*/ + +#endif /* !SIMULATOR */ + + +void lcd_init(void) +{ + lcd_init_device(); +} + + +/* Performance function that works with an external buffer + note that x and bwidtht are in 8-pixel units! */ +void lcd_blit(const unsigned char* data, int x, int by, int width, + int bheight, int stride) +{ + /* TODO implement this on iPod */ + (void)data; + (void)x; + (void)by; + (void)width; + (void)bheight; + (void)stride; +} + +/* Rolls up the lcd display by the specified amount of lines. + * Lines that are rolled out over the top of the screen are + * rolled in from the bottom again. This is a hardware + * remapping only and all operations on the lcd are affected. + * -> + * @param int lines - The number of lines that are rolled. + * The value must be 0 <= pixels < LCD_HEIGHT. */ +void lcd_roll(int lines) +{ + /* TODO Implement lcd_roll() */ + lines &= LCD_HEIGHT-1; +} + +/*** hardware configuration ***/ + +/* Update the display. + This must be called after all other LCD functions that change the display. */ +void lcd_update(void) +{ + lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT); +} + +void lcd_set_contrast(int val) +{ + lcd_cmd_and_data(0x4, 0x4, val); + lcd_contrast = val; +} + +void lcd_update_rect(int x, int y, int width, int height) +{ + int cursor_pos, xx; + int ny; + int sx = x, sy = y, mx = width, my = height; + + /* only update the ipod if we are writing to the screen */ + + sx >>= 3; + //mx = (mx+7)>>3; + mx >>= 3; + + cursor_pos = sx + (sy << 5); + + for ( ny = sy; ny <= my; ny++ ) { + unsigned char * img_data; + + + // move the cursor + lcd_cmd_and_data(0x11, cursor_pos >> 8, cursor_pos & 0xff); + + // setup for printing + lcd_prepare_cmd(0x12); + + img_data = &lcd_framebuffer[ny][sx<<1]; + + // 160/8 -> 20 == loops 20 times + // make sure we loop at least once + for ( xx = sx; xx <= mx; xx++ ) { + // display a character + lcd_send_data(*(img_data+1), *img_data); + + img_data += 2; + } + + // update cursor pos counter + cursor_pos += 0x20; + } +} + +/** Switch on or off the backlight **/ +void lcd_enable (bool on){ + int lcd_state; + + lcd_state = inl(IPOD_LCD_BASE); + if (on){ + lcd_state = lcd_state | 0x2; + outl(lcd_state, IPOD_LCD_BASE); + lcd_cmd_and_data(0x7, 0x0, 0x11); + } + else { + lcd_state = lcd_state & ~0x2; + outl(lcd_state, IPOD_LCD_BASE); + lcd_cmd_and_data(0x7, 0x0, 0x9); + } +} + +#else + #define IPOD_LCD_BASE 0x70008a0c #define IPOD_LCD_BUSY_MASK 0x80000000 +#define IPOD_RTC (*((volatile unsigned long*)0x60005010)) + /* LCD command codes for HD66789R */ #define LCD_CNTL_RAM_ADDR_SET 0x21 @@ -40,12 +261,21 @@ #define LCD_CNTL_VERT_RAM_ADDR_POS 0x45 /*** globals ***/ +#if (CONFIG_LCD == LCD_IPODCOLOR) || (CONFIG_LCD == LCD_IPODNANO) static int lcd_type = 1; /* 0 = "old" Color/Photo, 1 = "new" Color & Nano */ +#elif CONFIG_LCD == LCD_IPOD2BPP +static int lcd_type = 0; +#endif + +#define LCD_CMD 0x08 +#define LCD_DATA 0x10 +static unsigned int lcd_contrast = 0x6a; /* check if number of useconds has past */ static inline int timer_check(unsigned long clock_start, unsigned long usecs) { + if ( (USEC_TIMER - clock_start) >= usecs ) { return 1; } else { @@ -56,8 +286,10 @@ static void lcd_wait_write(void) { if ((inl(IPOD_LCD_BASE) & IPOD_LCD_BUSY_MASK) != 0) { + int start = USEC_TIMER; + do { if ((inl(IPOD_LCD_BASE) & IPOD_LCD_BUSY_MASK) == 0) break; } while (timer_check(start, 1000) == 0); @@ -76,6 +308,15 @@ outl(v | 0x81000000, IPOD_LCD_BASE); } +/* send LCD data */ +static void lcd_send_data(int data_lo, int data_hi) +{ + lcd_wait_write(); + outl(data_lo, IPOD_LCD_BASE + LCD_DATA); + lcd_wait_write(); + outl(data_hi, IPOD_LCD_BASE + LCD_DATA); +} + static void lcd_cmd_data(int cmd, int data) { if (lcd_type == 0) { @@ -89,6 +330,24 @@ } } +static void lcd_prepare_cmd(int cmd) +{ + lcd_wait_write(); + outl(0x0, IPOD_LCD_BASE + LCD_CMD); + lcd_wait_write(); + outl(cmd, IPOD_LCD_BASE + LCD_CMD); + +} +/* send LCD command and data */ +/* this is only used for b&w lcds */ +static void lcd_cmd_and_data(int cmd, int data_lo, int data_hi) +{ + lcd_prepare_cmd(cmd); + lcd_send_data(data_lo, data_hi); +} + + + /*** hardware configuration ***/ void lcd_set_contrast(int val) @@ -172,6 +431,7 @@ (void)stride; } + /* Update a fraction of the display. */ void lcd_update_rect(int x, int y, int width, int height) { @@ -281,6 +541,7 @@ } } + /* Update the display. This must be called after all other LCD functions that change the display. */ void lcd_update(void) @@ -288,3 +549,4 @@ lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT); } +#endif Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#lcd-ipod.c.1.8 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#lcd-ipod.c.1.9 diff -u -r ./rockbox-all/firmware/drivers/pcf50605.c /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/pcf50605.c --- ./rockbox-all/firmware/drivers/pcf50605.c 2005-12-22 00:32:19.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/pcf50605.c 2006-01-16 19:55:50.000000000 +0100 @@ -24,7 +24,11 @@ * ****************************************************************************/ #include "config.h" +#if CONFIG_I2C == I2C_PP5020 #include "i2c-pp5020.h" +#elif CONFIG_I2C == I2C_PP5002 +#include "i2c-pp5002.h" +#endif #include "rtc.h" #define OOCS 0x01 diff -u -r ./rockbox-all/firmware/drivers/power.c /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/power.c --- ./rockbox-all/firmware/drivers/power.c 2006-02-03 00:07:11.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/power.c 2006-02-04 23:54:07.000000000 +0100 @@ -84,7 +84,7 @@ pcf50606_init(); #endif #endif -#elif CONFIG_CPU == PP5020 +#elif CONFIG_CPU == PP5020 || CONFIG_CPU == PP5002 /* TODO: Implement power_init() */ #else #ifdef HAVE_POWEROFF_ON_PB5 @@ -179,10 +179,13 @@ and_l(~0x80000000, &GPIO_OUT); else or_l(0x80000000, &GPIO_OUT); + #elif defined(IAUDIO_X5) /* X5 TODO */ -#elif CONFIG_CPU == PP5020 +#elif CONFIG_CPU == PP5020 || CONFIG_CPU == PP5002 + /* We do nothing on the iPod */ + #elif defined(GMINI_ARCH) if(on) P1 |= 0x08; @@ -240,6 +243,9 @@ #elif CONFIG_CPU == PP5020 /* pretend we are always powered - we don't turn it off on the ipod */ return true; +#elif CONFIG_CPU == PP5002 + /* pretend we are always powered - we don't turn it off on the ipod */ + return true; #elif defined(GMINI_ARCH) return (P1 & 0x08?true:false); #else /* SH1 based archos */ @@ -271,9 +277,10 @@ set_irq_level(HIGHEST_IRQ_LEVEL); #if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) and_l(~0x00080000, &GPIO1_OUT); + #elif defined(IAUDIO_X5) and_l(~0x00000008, &GPIO_OUT); -#elif CONFIG_CPU == PP5020 +#elif CONFIG_CPU == PP5020 || CONFIG_CPU == PP5002 #ifndef BOOTLOADER /* We don't turn off the ipod, we put it in a deep sleep */ pcf50605_standby_mode(); Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#power.c.1.64 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#power.c.1.66 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: .#power.c.1.68 diff -u -r ./rockbox-all/firmware/drivers/serial.c /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/serial.c --- ./rockbox-all/firmware/drivers/serial.c 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/serial.c 2006-01-21 20:02:55.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: serial.c,v 1.21 2006/02/04 00:01:15 linus Exp $ + * $Id: serial.c,v 1.20 2006/01/12 00:35:50 dave Exp $ * * Copyright (C) 2002 by Alan Korr & Nick Robinson * @@ -27,7 +27,7 @@ #include "lcd.h" #include "serial.h" -#if (CONFIG_CPU != MCF5249) && (CONFIG_CPU != TCC730) && (CONFIG_CPU != PP5020) && (CONFIG_CPU != PNX0101) && (CONFIG_CPU != MCF5250) +#if (CONFIG_CPU != MCF5249) && (CONFIG_CPU != TCC730) && (CONFIG_CPU != PP5020) && (CONFIG_CPU != PNX0101) && (CONFIG_CPU != PP5002) /* FIX: this doesn't work on iRiver or Gmini or iPod yet */ /* iFP7xx has no remote */ diff -u -r ./rockbox-all/firmware/drivers/tlv320.c /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/tlv320.c --- ./rockbox-all/firmware/drivers/tlv320.c 2006-02-04 00:59:41.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers/tlv320.c 2005-08-06 12:12:19.000000000 +0200 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: tlv320.c,v 1.2 2006/02/03 23:59:41 linus Exp $ + * $Id: tlv320.c,v 1.1 2005/08/06 10:12:19 christian Exp $ * * Copyright (C) 2005 by Christian Gmeiner * @@ -60,7 +60,7 @@ void tlv320_write_reg(unsigned reg, unsigned value) { - unsigned char data[3]; + unsigned data[3]; data[0] = TLV320_ADDR; data[1] = reg << 1; @@ -76,7 +76,7 @@ } /* Returns 0 if successful or -1 if some register failed */ -void tlv320_set_regs(void) +void tlv320_set_regs() { int i; memset(tlv320_regs, 0, sizeof(tlv320_regs)); @@ -96,7 +96,7 @@ /** * Init our tlv with default values */ -void tlv320_init(void) +void tlv320_init() { tlv320_reset(); tlv320_set_regs(); @@ -105,14 +105,14 @@ /** * Resets tlv320 to default values */ -void tlv320_reset(void) +void tlv320_reset() { - tlv320_write_reg(REG_RR, RR_RESET); + tlv320_write_reg(REG_RR, RR_RESET): } void tlv320_enable_output(bool enable) { - unsigned value = tlv320_regs[REG_PC]; + unsigned value = tlv320regs[REG_PC]; if (enable) value |= PC_OUT; @@ -148,11 +148,11 @@ */ void tlv320_set_linein_vol(int vol_l, int vol_r) { - unsigned value_l = tlv320_regs[REG_LLIV]; - unsigned value_r = tlv320_regs[REG_RLIV]; + unsigned value_l = tlv320regs[REG_LLIV]; + unsigned value_r = tlv320regs[REG_RLIV]; - value_l |= LLIV_LIV(vol_l); - value_r |= RLIV_RIV(vol_r); + value_l |= LLIV_LHV(vol_l); + value_r |= RLIV_RHV(vol_r); tlv320_write_reg(REG_LLIV, value_l); tlv320_write_reg(REG_RLIV, value_r); @@ -164,8 +164,8 @@ */ void tlv320_mute(bool mute) { - unsigned value_l = tlv320_regs[REG_LHV]; - unsigned value_r = tlv320_regs[REG_RHV]; + unsigned value_l = tlv320regs[REG_LHV]; + unsigned value_r = tlv320regs[REG_RHV]; if (mute) { @@ -189,8 +189,8 @@ void tlv320_enable_recording(bool source_mic) { - unsigned value_pc = tlv320_regs[REG_PC]; - unsigned value_aap = tlv320_regs[REG_AAP]; + unsigned value_pc = tlv320regs[REG_PC]; + unsigned value_aap = tlv320regs[REG_AAP]; /* select source*/ if (source_mic) @@ -213,11 +213,11 @@ void tlv320_disable_recording() { - unsigned value = tlv320_regs[REG_PC]; + unsigned value = tlv320regs[REG_PC]; /* powerdown mic, linein and adc */ value &= ~(PC_MIC | PC_LINE | PC_ADC); /* powerdown mic, linein and adc */ tlv320_write_reg(REG_PC, value); -} +} \ Pas de fin de ligne à la fin du fichier. Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/drivers: wm8731l.c diff -u -r ./rockbox-all/firmware/export/button.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/button.h --- ./rockbox-all/firmware/export/button.h 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/button.h 2006-02-01 23:11:08.000000000 +0100 @@ -6,7 +6,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: button.h,v 1.37 2006/02/04 00:01:15 linus Exp $ + * $Id: button.h,v 1.36 2006/01/31 14:50:20 christi Exp $ * * Copyright (C) 2002 by Daniel Stenberg * @@ -163,6 +163,18 @@ #define BUTTON_SCROLL_FWD 0x0010 #define BUTTON_SCROLL_BACK 0x0020 +#elif CONFIG_KEYPAD == IPOD_3G_PAD + +/* TODO: These codes should relate to the hardware */ + +#define BUTTON_MENU 0x0002 +#define BUTTON_PLAY 0x0004 +#define BUTTON_SELECT 0x0008 +#define BUTTON_SCROLL_FWD 0x0010 +#define BUTTON_SCROLL_BACK 0x0020 +#define BUTTON_HOLD 0x0100 + + #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD #define BUTTON_PLAY 0x0001 @@ -182,9 +194,6 @@ #define BUTTON_UP 0x0008 #define BUTTON_DOWN 0x0010 #define BUTTON_MENU 0x0020 -#define BUTTON_OFF 0x0040 /* DOES NOT EXIST!!! */ - -#define BUTTON_RC_REC (BUTTON_REMOTE | 0x00400000) #endif /* RECORDER/PLAYER/ONDIO/GMINI KEYPAD */ Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#button.h.1.33 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#button.h.1.34 diff -u -r ./rockbox-all/firmware/export/config.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/config.h --- ./rockbox-all/firmware/export/config.h 2006-01-31 11:08:53.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/config.h 2006-02-01 23:11:08.000000000 +0100 @@ -44,15 +44,16 @@ #define PNX0101 101 /* CONFIG_KEYPAD */ -#define PLAYER_PAD 0 -#define RECORDER_PAD 1 -#define ONDIO_PAD 2 -#define IRIVER_H100_PAD 3 -#define GMINI100_PAD 4 -#define IRIVER_H300_PAD 5 -#define IAUDIO_X5_PAD 6 -#define IPOD_4G_PAD 7 -#define IRIVER_IFP7XX_PAD 8 +#define PLAYER_PAD 0 +#define RECORDER_PAD 1 +#define ONDIO_PAD 2 +#define IRIVER_H100_PAD 3 +#define GMINI100_PAD 4 +#define IRIVER_H300_PAD 5 +#define IAUDIO_X5_PAD 6 +#define IPOD_4G_PAD 7 +#define IPOD_3G_PAD 8 +#define IRIVER_IFP7XX_PAD 9 /* CONFIG_REMOTE_KEYPAD */ #define H100_REMOTE 1 @@ -77,7 +78,8 @@ #define LCD_IPODCOLOR 6 /* as used by iPod Color/Photo */ #define LCD_IPODNANO 7 /* as used by iPod Nano */ #define LCD_IPODVIDEO 8 /* as used by iPod Video */ -#define LCD_IFP7XX 9 /* as used by iRiver iFP 7xx/8xx */ +#define LCD_IPOD2BPP 9 /* as used by iPod 3g with dock */ +#define LCD_IFP7XX 10 /* as used by iRiver iFP 7xx/8xx */ /* LCD_PIXELFORMAT */ #define RGB565 565 @@ -91,8 +93,9 @@ #define BL_GMINI 4 /* Archos GMini */ #define BL_IPOD4G 5 /* Apple iPod 4G */ #define BL_IPODNANO 6 /* Apple iPod Nano and iPod Video*/ -#define BL_IRIVER_H300 7 /* IRiver PWM */ -#define BL_IRIVER_IFP7XX 8 /* IRiver GPIO */ +#define BL_IPOD3G 7 /* Apple iPod 3g with dock */ +#define BL_IRIVER_H300 8 /* IRiver PWM */ +#define BL_IRIVER_IFP7XX 9 /* IRiver GPIO */ /* CONFIG_I2C */ #define I2C_PLAYREC 0 /* Archos Player/Recorder style */ @@ -100,7 +103,8 @@ #define I2C_GMINI 2 /* Gmini style */ #define I2C_COLDFIRE 3 /* Coldfire style */ #define I2C_PP5020 4 /* PP5020 style */ -#define I2C_PNX0101 5 /* PNX0101 style */ +#define I2C_PP5002 5 /* PP5002 style */ +#define I2C_PNX0101 6 /* PNX0101 style */ /* CONFIG_LED */ #define LED_REAL 1 /* SW controlled LED (Archos recorders, player, Gmini) */ @@ -111,7 +115,7 @@ /* CONFIG_RTC */ #define RTC_M41ST84W 1 /* Archos Recorder */ -#define RTC_PCF50605 2 /* iPod 4G */ +#define RTC_PCF50605 2 /* iPod 4G && iPod 3G*/ #define RTC_PCF50606 3 /* iriver H300 */ /* else HW controlled LED (iRiver H1x0) */ @@ -147,6 +151,8 @@ #include "config-ipodnano.h" #elif defined(IPOD_VIDEO) #include "config-ipodvideo.h" +#elif defined(IPOD_3G) +#include "config-ipod3g.h" #elif defined(IRIVER_IFP7XX) #include "config-ifp7xx.h" #else @@ -172,7 +178,7 @@ #endif /* define for all cpus from ARM family */ -#if (CONFIG_CPU == PP5020) || (CONFIG_CPU == PNX0101) +#if (CONFIG_CPU == PP5002) ||(CONFIG_CPU == PP5020) || (CONFIG_CPU == PNX0101) #define CPU_ARM #endif @@ -193,6 +199,7 @@ (((CONFIG_CPU == SH7034) && !defined(PLUGIN)) || /* SH1 archos: core only */ \ (CONFIG_CPU == MCF5249) || /* Coldfire: core, plugins, codecs */ \ (CONFIG_CPU == PP5020) || /* iPod: core, plugins, codecs */ \ + (CONFIG_CPU == PP5002) || /* iPod: core, plugins, codecs */ \ (CONFIG_CPU == TCC730)) /* CalmRISC16: core, (plugins, codecs) */ #define ICODE_ATTR __attribute__ ((section(".icode"))) #define ICONST_ATTR __attribute__ ((section(".irodata"))) Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#config.h.1.52 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#config.h.1.53 diff -u -r ./rockbox-all/firmware/export/config-iaudiox5.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/config-iaudiox5.h --- ./rockbox-all/firmware/export/config-iaudiox5.h 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/config-iaudiox5.h 2006-01-23 23:56:07.000000000 +0100 @@ -2,9 +2,6 @@ * This config file is for iAudio X5 */ -/* For Rolo and boot loader */ -#define MODEL_NUMBER 1 - /* define this if you have recording possibility */ /*#define HAVE_RECORDING 1*/ @@ -62,17 +59,12 @@ /* 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 +/* The start address index for ROM builds */ +#define ROM_START 0x11010 /* Define this to the CPU frequency */ #define CPU_FREQ 11289600 -/* Type of mobile power */ -#define CONFIG_BATTERY BATT_LIPOL1300 - -#define BATTERY_SCALE_FACTOR 23437 /* FIX: this value is picked at random */ - /* Define this if you have ATA power-off control */ #define HAVE_ATA_POWER_OFF @@ -82,8 +74,6 @@ /* 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 diff -u -r ./rockbox-all/firmware/export/config-ifp7xx.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/config-ifp7xx.h --- ./rockbox-all/firmware/export/config-ifp7xx.h 2006-02-04 01:04:02.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/config-ifp7xx.h 2006-01-12 01:35:50.000000000 +0100 @@ -84,8 +84,6 @@ #define USB_ISP1582 -#define HAVE_GDB_API - /* Virtual LED (icon) */ #define CONFIG_LED LED_VIRTUAL Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: config-ipod3g.h diff -u -r ./rockbox-all/firmware/export/cpu.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/cpu.h --- ./rockbox-all/firmware/export/cpu.h 2006-01-12 01:35:50.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/cpu.h 2006-01-20 22:05:20.000000000 +0100 @@ -33,6 +33,9 @@ #if CONFIG_CPU == PP5020 #include "pp5020.h" #endif +#if CONFIG_CPU == PP5002 +#include "pp5002.h" +#endif #if CONFIG_CPU == PNX0101 #include "pnx0101.h" #endif diff -u -r ./rockbox-all/firmware/export/CVS/Entries /home/slm/projets/rockbox/src/rockbox-all/firmware/export/CVS/Entries --- ./rockbox-all/firmware/export/CVS/Entries 2006-02-05 16:54:02.685438296 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/CVS/Entries 2006-02-05 00:03:24.000000000 +0100 @@ -1,46 +1,45 @@ /adc.h/1.15/Thu Jan 12 00:35:50 2006// /ata.h/1.7/Mon Nov 7 23:19:06 2005// /ata_mmc.h/1.8/Sun May 22 00:42:00 2005// -/audio.h/1.9/Sat Jan 21 22:58:08 2006// +/audio.h/1.9/Mon Jan 23 22:56:07 2006// /backlight.h/1.12/Thu Dec 22 13:31:14 2005// /bidi.h/1.2/Tue Dec 6 13:27:01 2005// /bitswap.h/1.1/Sun Sep 26 09:25:59 2004// /buffer.h/1.3/Tue Apr 5 11:33:58 2005// -/button.h/1.37/Sat Feb 4 00:01:15 2006// +/button.h/1.36/Result of merge// /config-fmrecorder.h/1.38/Sun Dec 4 15:23:47 2005// -/config-gmini120.h/1.21/Wed Jan 18 00:05:09 2006// -/config-gminisp.h/1.8/Wed Jan 18 00:05:09 2006// -/config-h100.h/1.62/Sat Jan 21 23:43:57 2006// -/config-h120.h/1.24/Sat Jan 21 23:43:57 2006// -/config-h300.h/1.30/Thu Jan 26 22:53:05 2006// -/config-iaudiox5.h/1.11/Sat Feb 4 00:01:15 2006// -/config-ifp7xx.h/1.2/Sat Feb 4 00:04:02 2006// -/config-ipodcolor.h/1.12/Wed Jan 18 00:05:09 2006// -/config-ipodnano.h/1.13/Wed Jan 18 00:05:09 2006// -/config-ipodvideo.h/1.5/Wed Jan 18 00:05:09 2006// +/config-gmini120.h/1.21/Mon Jan 23 22:56:07 2006// +/config-gminisp.h/1.8/Mon Jan 23 22:56:07 2006// +/config-h100.h/1.62/Mon Jan 23 22:56:07 2006// +/config-h120.h/1.24/Mon Jan 23 22:56:07 2006// +/config-h300.h/1.30/Wed Feb 1 22:11:08 2006// +/config-iaudiox5.h/1.10/Mon Jan 23 22:56:07 2006// +/config-ifp7xx.h/1.1/Thu Jan 12 00:35:50 2006// +/config-ipodcolor.h/1.12/Mon Jan 23 22:56:07 2006// +/config-ipodnano.h/1.13/Mon Jan 23 22:56:07 2006// +/config-ipodvideo.h/1.5/Mon Jan 23 22:56:07 2006// /config-ondiofm.h/1.35/Sun Nov 6 23:12:11 2005// /config-ondiosp.h/1.33/Sun Nov 6 23:12:11 2005// /config-player.h/1.23/Mon Nov 21 23:55:34 2005// /config-recorder.h/1.28/Sun Dec 4 15:23:47 2005// /config-recorderv2.h/1.31/Sun Dec 4 15:23:47 2005// -/config.h/1.54/Tue Jan 31 10:08:53 2006// +/config.h/1.54/Result of merge// /cpu.h/1.6/Thu Jan 12 00:35:50 2006// -/debug.h/1.3/Sat Feb 4 00:04:02 2006// +/debug.h/1.2/Wed Aug 18 19:59:06 2004// /disk.h/1.6/Fri Jan 28 21:32:16 2005// /fat.h/1.13/Sat Feb 26 21:18:05 2005// /fmradio.h/1.3/Sun Oct 17 08:53:18 2004// /fmradio_i2c.h/1.2/Sun Oct 17 23:24:18 2004// /font.h/1.10/Tue Dec 6 13:27:01 2005// -/gdb_api.h/1.1/Sat Feb 4 00:04:02 2006// /hwcompat.h/1.6/Mon Nov 22 21:20:54 2004// /i2c-coldfire.h/1.1/Sun Jul 31 17:31:33 2005// /i2c-pp5020.h/1.3/Sun Dec 11 10:52:17 2005// /i2c.h/1.1/Fri Feb 7 10:07:49 2003// -/id3.h/1.26/Wed Feb 1 16:42:02 2006// -/kernel.h/1.23/Mon Jan 23 10:53:47 2006// +/id3.h/1.26/Fri Feb 3 19:13:52 2006// +/kernel.h/1.23/Fri Jan 27 18:59:48 2006// /lcd-player-charset.h/1.2/Wed Jul 14 12:21:59 2004// -/lcd-remote.h/1.17/Sun Jan 22 04:24:26 2006// -/lcd.h/1.54/Fri Feb 3 21:11:51 2006// +/lcd-remote.h/1.17/Mon Jan 23 22:56:07 2006// +/lcd.h/1.54/Result of merge// /led.h/1.8/Sun Nov 20 01:02:14 2005// /logf.h/1.7/Thu Jun 30 15:33:43 2005// /mas.h/1.5/Mon Aug 29 21:15:20 2005// @@ -51,13 +50,13 @@ /mpeg.h/1.32/Sat Nov 12 04:00:56 2005// /panic.h/1.3/Mon Feb 28 09:48:35 2005// /pcf50605.h/1.2/Wed Dec 21 23:32:19 2005// -/pcf50606.h/1.4/Thu Jan 19 13:10:15 2006// -/pcm_playback.h/1.22/Sun Jan 22 10:25:06 2006// +/pcf50606.h/1.4/Mon Jan 23 22:56:08 2006// +/pcm_playback.h/1.22/Mon Jan 23 22:56:08 2006// /pcm_record.h/1.4/Fri Dec 2 01:04:03 2005// /pnx0101.h/1.1/Thu Jan 12 00:35:50 2006// -/power.h/1.8/Thu Jan 19 07:47:34 2006// -/powermgmt.h/1.28/Wed Jan 25 18:29:56 2006// -/pp5020.h/1.5/Thu Jan 26 12:51:33 2006// +/power.h/1.8/Mon Jan 23 22:56:08 2006// +/powermgmt.h/1.28/Fri Jan 27 18:59:48 2006// +/pp5020.h/1.5/Fri Jan 27 18:59:48 2006// /profile.h/1.1/Wed Jan 18 20:54:12 2006// /replaygain.h/1.3/Thu Aug 11 18:56:20 2005// /rolo.h/1.1/Fri Feb 7 09:41:57 2003// @@ -65,14 +64,14 @@ /serial.h/1.1/Fri Feb 7 10:07:49 2003// /sh7034.h/1.5/Wed Nov 9 00:54:43 2005// /sound.h/1.9/Wed Dec 7 23:07:02 2005// -/system.h/1.50/Tue Jan 31 01:50:07 2006// +/system.h/1.50/Result of merge// /tcc730.h/1.6/Sat Feb 5 10:54:55 2005// -/thread.h/1.10/Wed Jan 18 20:54:12 2006// +/thread.h/1.10/Mon Jan 23 22:56:08 2006// /timer.h/1.2/Mon Oct 3 09:24:32 2005// -/tlv320.h/1.5/Fri Feb 3 23:59:40 2006// +/tlv320.h/1.4/Tue Jan 3 02:14:10 2006// /tuner.h/1.3/Tue Oct 19 08:20:38 2004// /uda1380.h/1.11/Sat Dec 17 11:01:51 2005// /usb.h/1.5/Tue Dec 6 12:12:29 2005// -/usb_serial.h/1.2/Fri Feb 3 23:28:53 2006// +/usb_serial.h/1.1/Wed Jan 25 01:37:39 2006// /wm8975.h/1.3/Mon Dec 19 14:38:59 2005// D diff -u -r ./rockbox-all/firmware/export/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/export/CVS/Root --- ./rockbox-all/firmware/export/CVS/Root 2006-02-05 16:54:02.375485416 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export/CVS: Template diff -u -r ./rockbox-all/firmware/export/debug.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/debug.h --- ./rockbox-all/firmware/export/debug.h 2006-02-04 01:04:02.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/debug.h 2004-08-18 21:59:06.000000000 +0200 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: debug.h,v 1.3 2006/02/04 00:04:02 tomal Exp $ + * $Id: debug.h,v 1.2 2004/08/18 19:59:06 amiconn Exp $ * * Copyright (C) 2002 by Linus Nielsen Feltzing * @@ -31,11 +31,6 @@ #define LDEBUGF(...) ldebugf(__FILE__, __LINE__, __VA_ARGS__) #else #if defined(DEBUG) - -#ifdef HAVE_GDB_API -void breakpoint(void); -#endif - #define DEBUGF debugf #define LDEBUGF debugf #else Seulement dans ./rockbox-all/firmware/export: gdb_api.h Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: i2c-pp5002.h diff -u -r ./rockbox-all/firmware/export/kernel.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/kernel.h --- ./rockbox-all/firmware/export/kernel.h 2006-01-23 11:53:47.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/kernel.h 2006-02-02 00:20:44.000000000 +0100 @@ -70,6 +70,9 @@ /* We don't enable interrupts in the iPod bootloader, so we need to fake the current_tick variable */ #define current_tick ((*((volatile long*)0x60005010))/10000) + +#elif (CONFIG_CPU == PP5002) && defined(BOOTLOADER) +#define current_tick ((*((volatile long*)0xcf001110))/10000) #else extern long current_tick; #endif diff -u -r ./rockbox-all/firmware/export/lcd.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/lcd.h --- ./rockbox-all/firmware/export/lcd.h 2006-02-03 22:11:51.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/lcd.h 2006-02-04 23:43:28.000000000 +0100 @@ -183,13 +183,15 @@ /* Memory copy of display bitmap */ #if LCD_DEPTH == 1 extern fb_data lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH]; -#elif LCD_DEPTH == 2 +#elif LCD_DEPTH == 2 && CONFIG_LCD != LCD_IPOD2BPP extern fb_data lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH]; -#elif LCD_DEPTH == 16 +#elif LCD_DEPTH == 2 && CONFIG_LCD == LCD_IPOD2BPP +extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH/4]; +#elif LCD_DEPTH == 16 extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH]; #endif -#if CONFIG_BACKLIGHT==BL_IRIVER_H300 +#if (CONFIG_BACKLIGHT==BL_IRIVER_H300)|| (CONFIG_BACKLIGHT==BL_IPOD3G) extern void lcd_enable(bool on); #endif @@ -319,4 +321,5 @@ }; #endif + #endif /* __LCD_H__ */ Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#lcd.h.1.48 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#lcd.h.1.49 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#lcd.h.1.50 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#lcd.h.1.52 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: pp5002.h diff -u -r ./rockbox-all/firmware/export/system.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/system.h --- ./rockbox-all/firmware/export/system.h 2006-01-31 02:50:07.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/system.h 2006-02-04 23:50:20.000000000 +0100 @@ -45,6 +45,22 @@ } #endif +#if CONFIG_CPU==PP5002 +#define inl(p) (*(volatile unsigned long *) (p)) +#define outl(v,p) (*(volatile unsigned long *) (p) = (v)) +#define inb(a) (*(volatile unsigned char *) (a)) +#define outb(a,b) (*(volatile unsigned char *) (b) = (a)) +#define inw(a) (*(volatile unsigned short *) (a)) +#define outw(a,b) (*(volatile unsigned short *) (b) = (a)) +extern unsigned int ipod_hw_rev; + +static inline void udelay(unsigned usecs) +{ + unsigned start = TIMER1_VAL; + while ((TIMER1_VAL - start) < usecs); +} + +#endif #ifdef HAVE_ADJUSTABLE_CPU_FREQ #define FREQ cpu_frequency void set_cpu_frequency(long frequency); Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#system.h.1.47 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: .#system.h.1.48 diff -u -r ./rockbox-all/firmware/export/tlv320.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/tlv320.h --- ./rockbox-all/firmware/export/tlv320.h 2006-02-04 00:59:40.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/tlv320.h 2006-01-03 03:14:10.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: tlv320.h,v 1.5 2006/02/03 23:59:40 linus Exp $ + * $Id: tlv320.h,v 1.4 2006/01/03 02:14:10 linus Exp $ * * Copyright (C) 2005 by Christian Gmeiner * @@ -41,25 +41,25 @@ #define REG_LLIV 0x0 #define LLIV_LRS (0 << 8) /* simultaneous volume/mute update */ #define LLIV_LIM (1 << 7) /* Left line input mute */ -#define LLIV_LIV(x) ((x) & 0x1f)/* Left line input volume control */ +#define LLIV_LIV ((x) & 0x1f)/* Left line input volume control */ /* REG_RLIV: Right line input channel volume control */ #define REG_RLIV 0x1 #define RLIV_RLS (0 << 8) /* simultaneous volume/mute update */ #define RLIV_RIM (0 << 7) /* Right line input mute */ -#define RLIV_RIV(x) ((x) & 0x1f)/* Right line input volume control */ +#define RLIV_LIV ((x) & 0x1f)/* Right line input volume control */ /* REG_LHV: Left Channel Headphone Volume Control */ #define REG_LHV 0x2 #define LHV_LRS (0 << 8) /* simultaneous volume/mute update */ #define LHV_LZC (0 << 7) /* Left-channel zero-cross detect */ -#define LHV_LHV(x) ((x) & 0x7f)/* Left headphone volume control */ +#define LHV_LHV ((x) & 0x7f)/* Left headphone volume control */ /* REG_RHV: Right Channel Headphone Volume Control */ #define REG_RHV 0x3 #define RHV_LRS (0 << 8) /* simultaneous volume/mute update */ #define RHV_RZC (0 << 7) /* Right-channel zero-cross detect */ -#define RHV_RHV(x) ((x) & 0x7f)/* Right headphone volume control */ +#define RHV_LHV ((x) & 0x7f)/* Right headphone volume control */ /* REG_AAP: Analog Audio Path Control */ #define REG_AAP 0x4 diff -u -r ./rockbox-all/firmware/export/usb_serial.h /home/slm/projets/rockbox/src/rockbox-all/firmware/export/usb_serial.h --- ./rockbox-all/firmware/export/usb_serial.h 2006-02-04 00:28:53.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/export/usb_serial.h 2006-01-25 02:37:39.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: usb_serial.h,v 1.2 2006/02/03 23:28:53 tomal Exp $ + * $Id: usb_serial.h,v 1.1 2006/01/25 01:37:39 tomal Exp $ * * Copyright (C) 2006 by Tomasz Malesinski * @@ -22,7 +22,5 @@ void usb_serial_init(void); void usb_serial_put_byte(int b); int usb_serial_get_byte(void); -int usb_serial_try_put_byte(int b); -int usb_serial_try_get_byte(void); #endif Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/export: wm8731l.h Seulement dans ./rockbox-all/firmware: fonts diff -u -r ./rockbox-all/firmware/include/CVS/Entries /home/slm/projets/rockbox/src/rockbox-all/firmware/include/CVS/Entries --- ./rockbox-all/firmware/include/CVS/Entries 2006-02-05 16:54:02.725432216 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/include/CVS/Entries 2006-02-01 23:11:11.000000000 +0100 @@ -1,10 +1,10 @@ -/_ansi.h/1.4/Wed Jan 25 01:33:48 2006// +/_ansi.h/1.4/Fri Jan 27 18:59:48 2006// /assert.h/1.1/Sat Jun 15 15:49:32 2002// /atoi.h/1.1/Fri Feb 7 10:13:23 2003// /ctype.h/1.6/Thu Aug 11 19:32:39 2005// /dbgcheck.h/1.1/Mon Jun 24 16:00:06 2002// /dir.h/1.12/Sat Feb 26 21:18:05 2005// -/dircache.h/1.6/Tue Jan 31 10:08:53 2006// +/dircache.h/1.6/Wed Feb 1 22:11:09 2006// /errno.h/1.1/Fri Feb 7 10:13:23 2003// /file.h/1.15/Fri Oct 7 17:38:05 2005// /font_cache.h/1.1/Tue Dec 6 13:27:01 2005// @@ -18,6 +18,6 @@ /stdio.h/1.5/Tue Feb 22 12:19:12 2005// /stdlib.h/1.10/Sat Feb 19 11:50:53 2005// /string.h/1.3/Thu Jan 27 22:21:08 2005// +D/sys//// /time.h/1.5/Fri Feb 18 14:41:42 2005// /timefuncs.h/1.3/Tue Aug 17 01:45:48 2004// -D Seulement dans ./rockbox-all/firmware/include/CVS: Entries.Log diff -u -r ./rockbox-all/firmware/include/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/include/CVS/Root --- ./rockbox-all/firmware/include/CVS/Root 2006-02-05 16:54:02.686438144 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/include/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/include/CVS: Template diff -u -r ./rockbox-all/firmware/include/sys/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/include/sys/CVS/Root --- ./rockbox-all/firmware/include/sys/CVS/Root 2006-02-05 16:54:02.726432064 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/include/sys/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/include/sys/CVS: Template diff -u -r ./rockbox-all/firmware/kernel.c /home/slm/projets/rockbox/src/rockbox-all/firmware/kernel.c --- ./rockbox-all/firmware/kernel.c 2006-01-24 23:31:57.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/kernel.c 2006-02-02 00:33:34.000000000 +0100 @@ -25,7 +25,7 @@ #include "system.h" #include "panic.h" -#if (CONFIG_CPU != PP5020) || !defined(BOOTLOADER) +#if ((CONFIG_CPU != PP5020) && (CONFIG_CPU != PP5002)) || !defined(BOOTLOADER) long current_tick = 0; #endif @@ -380,6 +380,42 @@ (void)interval_in_ms; #endif } +#elif CONFIG_CPU == PP5002 + +#ifndef BOOTLOADER +void TIMER1(void) +{ + int i; + + TIMER1_VAL; /* Read value to ack IRQ */ + /* Run through the list of tick tasks */ + for (i = 0;i < MAX_NUM_TICK_TASKS;i++) + { + if (tick_funcs[i]) + { + tick_funcs[i](); + } + } + + current_tick++; + wake_up_thread(); +} +#endif + +void tick_start(unsigned int interval_in_ms) +{ +#ifndef BOOTLOADER + TIMER1_CFG = 0x0; + TIMER1_VAL; + /* enable timer */ + TIMER1_CFG = 0xc0000000 | (interval_in_ms*1000); + /* unmask interrupt source */ + CPU_INT_EN = TIMER1_MASK; +#else + /* We don't enable interrupts in the bootloader */ + (void)interval_in_ms; +#endif +} #elif CONFIG_CPU == PNX0101 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#kernel.c.1.47 Seulement dans ./rockbox-all/firmware: malloc diff -u -r ./rockbox-all/firmware/pcm_playback.c /home/slm/projets/rockbox/src/rockbox-all/firmware/pcm_playback.c --- ./rockbox-all/firmware/pcm_playback.c 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/pcm_playback.c 2006-02-04 21:04:43.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: pcm_playback.c,v 1.88 2006/02/04 00:01:15 linus Exp $ + * $Id: pcm_playback.c,v 1.87 2006/02/01 00:17:36 dave Exp $ * * Copyright (C) 2005 by Linus Nielsen Feltzing * @@ -30,6 +30,8 @@ #include "wm8975.h" #elif defined(HAVE_TLV320) #include "tlv320.h" +#elif defined(HAVE_WM8731L) +#include "wm8731l.h" #endif #include "system.h" #endif @@ -451,6 +453,145 @@ return size; } +#elif defined(HAVE_WM8731L) + +/* We need to unify this code with the uda1380 code as much as possible, but + we will keep it separate during early development. +*/ + +static bool pcm_playing; +static bool pcm_paused; +static int pcm_freq = 0x6; /* 44.1 is default */ + +static unsigned char *next_start; +static long next_size; + +/* Set up the DMA transfer that kicks in when the audio FIFO gets empty */ +static void dma_start(const void *addr, long size) +{ + pcm_playing = true; + + addr = (void *)((unsigned long)addr & ~3); /* Align data */ + size &= ~3; /* Size must be multiple of 4 */ + + /* Disable playback for now */ + pcm_playing = false; + return; + +/* This is the uda1380 code */ +#if 0 + /* Reset the audio FIFO */ + + /* Set up DMA transfer */ + SAR0 = ((unsigned long)addr); /* Source address */ + DAR0 = (unsigned long)&PDOR3; /* Destination address */ + BCR0 = size; /* Bytes to transfer */ + + /* Enable the FIFO and force one write to it */ + IIS2CONFIG = IIS_DEFPARM(pcm_freq); + + DCR0 = DMA_INT | DMA_EEXT | DMA_CS | DMA_SINC | DMA_START; +#endif +} + +/* Stops the DMA transfer and interrupt */ +static void dma_stop(void) +{ + pcm_playing = false; + +#if 0 +/* This is the uda1380 code */ + DCR0 = 0; + DSR0 = 1; + /* Reset the FIFO */ + IIS2CONFIG = IIS_RESET | IIS_DEFPARM(pcm_freq); +#endif + next_start = NULL; + next_size = 0; + pcm_paused = false; +} + + +void pcm_init(void) +{ + pcm_playing = false; + pcm_paused = false; + + /* Initialize default register values. */ + wm8731l_init(); + + /* The uda1380 needs a sleep(HZ) here - do we need one? */ + + /* Power on */ + wm8731l_enable_output(true); + + /* Unmute the master channel (DAC should be at zero point now). */ + wm8731l_mute(false); + + /* Call dma_stop to initialize everything. */ + dma_stop(); +} + +void pcm_set_frequency(unsigned int frequency) +{ + (void)frequency; + pcm_freq=frequency; +} + +/* the registered callback function to ask for more mp3 data */ +static void (*callback_for_more)(unsigned char**, long*) = NULL; + +void pcm_play_data(void (*get_more)(unsigned char** start, long* size)) +{ + unsigned char *start; + long size; + + callback_for_more = get_more; + + get_more((unsigned char **)&start, (long *)&size); + get_more(&next_start, &next_size); + + dma_start(start, size); +} + +void pcm_play_stop(void) +{ + if (pcm_playing) { + dma_stop(); + } +} + +void pcm_play_pause(bool play) +{ + if(pcm_paused && play && next_size) + { + logf("unpause"); + /* We need to enable DMA here */ + } + else if(!pcm_paused && !play) + { + logf("pause"); + /* We need to disable DMA here */ + } + pcm_paused = !play; +} + +bool pcm_is_paused(void) +{ + return pcm_paused; +} + +bool pcm_is_playing(void) +{ + return pcm_playing; +} + + +long pcm_get_bytes_waiting(void) +{ + return 0; +} + #elif CONFIG_CPU == PNX0101 /* TODO: Implement for iFP7xx @@ -530,9 +671,9 @@ #elif defined(HAVE_WM8975) long samples = size / 4; short *addr = p; -#elif defined(HAVE_TLV320) - long samples = 4; /* TODO X5 */ - short *addr = NULL; +#elif defined(HAVE_WM8731L) + long samples = next_size / 4; + short *addr = (short *)next_start; #endif if (samples > PEAK_SAMPLES) Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#pcm_playback.c.1.80 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#pcm_playback.c.1.85 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#pcm_playback.c.1.86 diff -u -r ./rockbox-all/firmware/powermgmt.c /home/slm/projets/rockbox/src/rockbox-all/firmware/powermgmt.c --- ./rockbox-all/firmware/powermgmt.c 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/powermgmt.c 2006-01-27 19:59:46.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: powermgmt.c,v 1.101 2006/02/04 00:01:15 linus Exp $ + * $Id: powermgmt.c,v 1.100 2006/01/25 22:28:55 lostlogic Exp $ * * Copyright (C) 2002 by Heikki Hannikainen, Uwe Freese * Revisions copyright (C) 2005 by Gerald Van Baren @@ -43,7 +43,7 @@ #endif #ifdef HAVE_UDA1380 #include "uda1380.h" -#elif defined(HAVE_TLV320) +#elif HAVE_TLV320 #include "tlv320.h" #endif #ifdef HAVE_LCD_BITMAP @@ -939,7 +939,7 @@ mp3_shutdown(); #ifdef HAVE_UDA1380 uda1380_close(); -#elif defined(HAVE_TLV320) +#elif HAVE_TLV320 tlv320_close(); #endif backlight_off(); diff -u -r ./rockbox-all/firmware/rolo.c /home/slm/projets/rockbox/src/rockbox-all/firmware/rolo.c --- ./rockbox-all/firmware/rolo.c 2006-02-04 00:14:42.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/rolo.c 2006-02-02 00:56:44.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: rolo.c,v 1.23 2006/02/03 23:14:42 tomal Exp $ + * $Id: rolo.c,v 1.22 2005/11/11 17:51:35 dave Exp $ * * Copyright (C) 2002 Randy D. Wood * @@ -29,8 +29,8 @@ #include "string.h" #include "buffer.h" -#if (CONFIG_CPU != TCC730) && !defined(IRIVER_IFP7XX_SERIES) -/* FIX: this doesn't work on Gmini and iFP yet */ +#if CONFIG_CPU != TCC730 +/* FIX: this doesn't work on Gmini yet */ #define IRQ0_EDGE_TRIGGER 0x80 @@ -73,7 +73,7 @@ : : "a"(dest) ); #endif -#if CONFIG_CPU == PP5020 +#if CONFIG_CPU == PP5020 || CONFIG_CPU==PP5002 /* TODO: Implement for iPod */ #endif } @@ -92,7 +92,7 @@ { int fd; long length; -#if CONFIG_CPU == MCF5249 || CONFIG_CPU == PP5020 +#if CONFIG_CPU == MCF5249 || CONFIG_CPU == PP5020 || CONFIG_CPU == PP5002 int i; unsigned long checksum,file_checksum; #else @@ -116,7 +116,7 @@ length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA; -#if CONFIG_CPU == MCF5249 || CONFIG_CPU == PP5020 +#if CONFIG_CPU == MCF5249 || CONFIG_CPU == PP5020|| CONFIG_CPU == PP5002 /* Read and save checksum */ lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET); if (read(fd, &file_checksum, 4) != 4) { @@ -210,7 +210,7 @@ return 0; /* this is never reached */ } -#else /* (CONFIG_CPU != TCC730) && !defined(IRIVER_IFP7XX_SERIES) */ +#else /* CONFIG_CPU != TCC730 */ int rolo_load(const char* filename) { /* dummy */ @@ -218,4 +218,4 @@ return 0; } -#endif /* (CONFIG_CPU != TCC730) && !defined(IRIVER_IFP7XX_SERIES) */ +#endif /* ! CONFIG_CPU != TCC730 */ diff -u -r ./rockbox-all/firmware/sound.c /home/slm/projets/rockbox/src/rockbox-all/firmware/sound.c --- ./rockbox-all/firmware/sound.c 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/sound.c 2006-02-01 23:11:07.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: sound.c,v 1.25 2006/02/04 00:01:15 linus Exp $ + * $Id: sound.c,v 1.23 2006/01/30 21:12:31 dave Exp $ * * Copyright (C) 2005 by Linus Nielsen Feltzing * @@ -28,7 +28,7 @@ #include "uda1380.h" #elif defined(HAVE_WM8975) #include "wm8975.h" -#elif defined(HAVE_TLV320) +#elif HAVE_TLV320 #include "tlv320.h" #endif #include "dac.h" @@ -471,9 +471,6 @@ #elif (CONFIG_CODEC == MAS3507D) || defined HAVE_UDA1380 || defined HAVE_WM8975 current_volume = value * 10; /* tenth of dB */ set_prescaled_volume(); -#elif CONFIG_CPU == PNX0101 - /* TODO: implement for iFP */ - (void)value; #endif } @@ -487,9 +484,6 @@ #elif CONFIG_CODEC == MAS3507D || defined HAVE_UDA1380 || defined HAVE_WM8975 current_balance = value * VOLUME_RANGE / 100; /* tenth of dB */ set_prescaled_volume(); -#elif CONFIG_CPU == PNX0101 - /* TODO: implement for iFP */ - (void)value; #endif } @@ -512,9 +506,6 @@ current_bass = value * 10; wm8975_set_bass(value); set_prescaled_volume(); -#elif CONFIG_CPU == PNX0101 - /* TODO: implement for iFP */ - (void)value; #endif } @@ -537,9 +528,6 @@ wm8975_set_treble(value); current_treble = value * 10; set_prescaled_volume(); -#elif CONFIG_CPU == PNX0101 - /* TODO: implement for iFP */ - (void)value; #endif } diff -u -r ./rockbox-all/firmware/SOURCES /home/slm/projets/rockbox/src/rockbox-all/firmware/SOURCES --- ./rockbox-all/firmware/SOURCES 2006-01-25 13:15:24.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/SOURCES 2006-02-05 13:07:44.000000000 +0100 @@ -50,7 +50,7 @@ #ifdef HAVE_LCD_BITMAP arabjoin.c bidi.c -#if LCD_DEPTH == 2 +#if LCD_DEPTH == 2 && CONFIG_LCD!=LCD_IPOD2BPP drivers/lcd-h100.c #elif LCD_DEPTH == 1 drivers/lcd-recorder.c @@ -58,12 +58,15 @@ drivers/lcd-16bit.c #endif #endif -#if CONFIG_LCD==LCD_IPODNANO || CONFIG_LCD==LCD_IPODCOLOR +#if CONFIG_LCD==LCD_IPODNANO || CONFIG_LCD==LCD_IPODCOLOR || CONFIG_LCD == LCD_IPOD2BPP drivers/lcd-ipod.c #endif #if CONFIG_LCD==LCD_IPODVIDEO drivers/lcd-ipodvideo.c #endif +#if CONFIG_LCD==LCD_IPOD2BPP +drivers/lcd-2bit-linear.c +#endif #if CONFIG_LCD==LCD_H300 drivers/lcd-h300.c #endif @@ -97,6 +100,8 @@ drivers/i2c-coldfire.c #elif CONFIG_I2C == I2C_PP5020 drivers/i2c-pp5020.c +#elif CONFIG_I2C == I2C_PP5002 +drivers/i2c-pp5002.c #elif CONFIG_I2C == I2C_PNX0101 drivers/i2c-pnx0101.c #else @@ -108,7 +113,7 @@ #ifdef IRIVER_H300_SERIES drivers/pcf50606.c #endif -#if defined(APPLE_IPODCOLOR) || defined(APPLE_IPODNANO) || defined(APPLE_IPODVIDEO) +#if defined(APPLE_IPODCOLOR) || defined(APPLE_IPODNANO) || defined(APPLE_IPODVIDEO) || defined(APPLE_IPOD3G) drivers/pcf50605.c #endif #if (CONFIG_RTC == RTC_M41ST84W) || (CONFIG_RTC == RTC_PCF50606) @@ -157,6 +162,8 @@ drivers/uda1380.c #elif defined(HAVE_WM8975) && !defined(SIMULATOR) drivers/wm8975.c +#elif defined(HAVE_WM8731L) && !defined(SIMULATOR) +drivers/wm8731l.c #elif defined(HAVE_TLV320) && !defined(SIMULATOR) drivers/tlv320.c #endif Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#SOURCES.1.62 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#SOURCES.1.63 diff -u -r ./rockbox-all/firmware/system.c /home/slm/projets/rockbox/src/rockbox-all/firmware/system.c --- ./rockbox-all/firmware/system.c 2006-02-04 00:26:14.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/system.c 2006-02-04 21:52:37.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: system.c,v 1.87 2006/02/03 23:26:14 tomal Exp $ + * $Id: system.c,v 1.86 2006/01/31 09:40:21 dave Exp $ * * Copyright (C) 2002 by Alan Korr * @@ -1134,7 +1134,7 @@ } } -#if CONFIG_CPU==PP5020 +#if CONFIG_CPU==PP5020 unsigned int ipod_hw_rev; @@ -1226,6 +1226,96 @@ (void)newmode; return 0; } +#elif CONFIG_CPU==PP5002 +unsigned int ipod_hw_rev; +#ifndef BOOTLOADER +extern void TIMER1(void); +extern void ipod_3g_button_int(void); + + +void irq(void) +{ + if (CPU_INT_STAT & TIMER1_MASK) + TIMER1(); + else if (CPU_HI_INT_STAT & I2C_MASK) + ipod_3g_button_int(); +} +#endif + +/* TODO: The following two function have been lifted straight from IPL, and + hence have a lot of numeric addresses used straight. I'd like to use + #defines for these, but don't know what most of them are for or even what + they should be named. Because of this I also have no way of knowing how + to extend the funtions to do alternate cache configurations and/or + some other CPU frequency scaling. */ + +#ifndef BOOTLOADER +static void ipod_init_cache(void) +{ +/* Initialising the cache in the iPod bootloader prevents Rockbox from starting */ + outl(inl(0xcf004050) & ~0x700, 0xcf004050); + outl(0x4000, 0xcf004020); + + outl(0x2, 0xcf004024); + + /* PP5002 has 8KB cache */ + for (i = 0xf0004000; i < 0xf0006000; i += 16) { + outl(0x0, i); + } + + outl(0x0, 0xf000f020); + outl(0x3fc0, 0xf000f024); + + outl(0x3, 0xcf004024); +} + +static void ipod_set_cpu_speed(void) +{ + outl(0x02, 0xcf005008); + outl(0x55, 0xcf00500c); + outl(0x6000, 0xcf005010); +#if 1 + // 75 MHz (24/24 * 75) (default) + outl(24, 0xcf005018); + outl(75, 0xcf00501c); +#endif + +#if 0 + // 66 MHz (24/3 * 8) + outl(3, 0xcf005018); + outl(8, 0xcf00501c); +#endif + + outl(0xe000, 0xcf005010); + + udelay(2000); + + outl(0xa8, 0xcf00500c); +} +#endif + +void system_init(void) +{ +#ifndef BOOTLOADER + ipod_hw_rev = (*((volatile unsigned long*)(0x01fffffc))); + outl(-1, 0xcf00101c); + outl(-1, 0xcf001028); + outl(-1, 0xcf001038); + ipod_set_cpu_speed(); + ipod_init_cache(); +#endif +} + +void system_reboot(void) +{ + outl(inl(0xcf005030) | 0x4, 0xcf005030); +} + +int system_memory_guard(int newmode) +{ + (void)newmode; + return 0; +} #elif CONFIG_CPU==PNX0101 @@ -1263,10 +1353,6 @@ (*(interrupt_vector[n]))(); } -void fiq(void) -{ -} - void irq_enable_int(int n) { IRQ_WRITE_WAIT(0x404 + n * 4, 0x4010000, v & 0x10000); Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#system.c.1.81 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#system.c.1.82 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#system.c.1.84 Seulement dans ./rockbox-all/firmware/test: alkorr diff -u -r ./rockbox-all/firmware/test/CVS/Entries /home/slm/projets/rockbox/src/rockbox-all/firmware/test/CVS/Entries --- ./rockbox-all/firmware/test/CVS/Entries 2006-02-05 16:54:02.731431304 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/test/CVS/Entries 2006-02-05 00:03:24.000000000 +0100 @@ -1 +1,10 @@ -D +D/alkorr//// +D/fat//// +D/i2c//// +D/id3//// +D/kernel//// +D/malloc//// +D/memory//// +D/snprintf//// +D/template//// +D/wavey//// Seulement dans ./rockbox-all/firmware/test/CVS: Entries.Log diff -u -r ./rockbox-all/firmware/test/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/test/CVS/Root --- ./rockbox-all/firmware/test/CVS/Root 2006-02-05 16:54:02.731431304 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/test/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/test/CVS: Template diff -u -r ./rockbox-all/firmware/test/fat/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/test/fat/CVS/Root --- ./rockbox-all/firmware/test/fat/CVS/Root 2006-02-05 16:54:02.733431000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/test/fat/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/test/fat/CVS: Template diff -u -r ./rockbox-all/firmware/test/i2c/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/test/i2c/CVS/Root --- ./rockbox-all/firmware/test/i2c/CVS/Root 2006-02-05 16:54:02.780423856 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/test/i2c/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/test/i2c/CVS: Template diff -u -r ./rockbox-all/firmware/test/id3/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/test/id3/CVS/Root --- ./rockbox-all/firmware/test/id3/CVS/Root 2006-02-05 16:54:02.828416560 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/test/id3/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/test/id3/CVS: Template diff -u -r ./rockbox-all/firmware/test/kernel/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/test/kernel/CVS/Root --- ./rockbox-all/firmware/test/kernel/CVS/Root 2006-02-05 16:54:02.829416408 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/test/kernel/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/test/kernel/CVS: Template Seulement dans ./rockbox-all/firmware/test: malloc Seulement dans ./rockbox-all/firmware/test: memory diff -u -r ./rockbox-all/firmware/test/snprintf/CVS/Root /home/slm/projets/rockbox/src/rockbox-all/firmware/test/snprintf/CVS/Root --- ./rockbox-all/firmware/test/snprintf/CVS/Root 2006-02-05 16:54:02.833415800 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/test/snprintf/CVS/Root 2006-01-16 17:28:55.000000000 +0100 @@ -1 +1 @@ -:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox +:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware/test/snprintf/CVS: Template Seulement dans ./rockbox-all/firmware/test: template Seulement dans ./rockbox-all/firmware/test: wavey diff -u -r ./rockbox-all/firmware/thread.c /home/slm/projets/rockbox/src/rockbox-all/firmware/thread.c --- ./rockbox-all/firmware/thread.c 2006-01-31 15:48:10.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/thread.c 2006-02-04 19:59:33.000000000 +0100 @@ -243,6 +243,7 @@ \ } + #endif /*--------------------------------------------------------------------------- Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#thread.c.1.56 Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#thread.c.1.57 diff -u -r ./rockbox-all/firmware/timer.c /home/slm/projets/rockbox/src/rockbox-all/firmware/timer.c --- ./rockbox-all/firmware/timer.c 2006-02-04 00:14:42.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/timer.c 2006-02-02 00:55:27.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ -* $Id: timer.c,v 1.5 2006/02/03 23:14:42 tomal Exp $ +* $Id: timer.c,v 1.4 2005/11/11 17:51:35 dave Exp $ * * Copyright (C) 2005 Jens Arnold * @@ -56,8 +56,8 @@ int phi = 0; /* bits for the prescaler */ int prescale = 1; -#if (CONFIG_CPU==PP5020) || (CONFIG_CPU==PNX0101) - /* TODO: Implement for iPod and iFP */ +#if CONFIG_CPU==PP5020 || CONFIG_CPU==PP5002 + /* TODO: Implement for iPod */ (void)start; (void)phi; #endif @@ -162,7 +162,7 @@ if (reg_prio <= timer_prio || cycles == 0) return false; -#if (CONFIG_CPU==PP5020) || (CONFIG_CPU==PNX0101) +#if CONFIG_CPU==PP5020 || CONFIG_CPU==PP5002 /* TODO: Implement for iPod */ (void)int_prio; #endif diff -u -r ./rockbox-all/firmware/usb.c /home/slm/projets/rockbox/src/rockbox-all/firmware/usb.c --- ./rockbox-all/firmware/usb.c 2006-02-04 01:01:15.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/usb.c 2006-02-02 02:04:46.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: usb.c,v 1.77 2006/02/04 00:01:15 linus Exp $ + * $Id: usb.c,v 1.76 2006/01/26 22:53:05 linus Exp $ * * Copyright (C) 2002 by Linus Nielsen Feltzing * @@ -68,7 +68,7 @@ #elif CONFIG_KEYPAD == ONDIO_PAD #define USBPOWER_BUTTON BUTTON_MENU #define USBPOWER_BTN_IGNORE BUTTON_OFF -#elif CONFIG_KEYPAD == IPOD_4G_PAD +#elif CONFIG_KEYPAD == IPOD_4G_PAD || CONFIG_KEYPAD == IPOD_3G_PAD #define USBPOWER_BUTTON BUTTON_MENU #define USBPOWER_BTN_IGNORE BUTTON_PLAY #elif CONFIG_KEYPAD == IRIVER_H300_PAD @@ -172,7 +172,7 @@ if (on) { /* The following code is copied from ipodlinux */ -#ifdef APPLE_IPODCOLOR +#if defined (APPLE_IPODCOLOR) || defined(APPLE_IPOD3G) unsigned char* storage_ptr = (unsigned char *)0x40017F00; #elif defined(APPLE_IPODNANO) || defined(APPLE_IPODVIDEO) unsigned char* storage_ptr = (unsigned char *)0x4001FF00; @@ -183,8 +183,6 @@ #elif defined(USB_ISP1582) /* TODO: Implement USB_ISP1582 */ (void) on; -#elif defined(USB_X5STYLE) - /* TODO X5 */ #else #ifdef HAVE_LCD_BITMAP if(read_hw_mask() & USB_ACTIVE_HIGH) Seulement dans /home/slm/projets/rockbox/src/rockbox-all/firmware: .#usb.c.1.75 diff -u -r ./rockbox-all/firmware/usb_serial.c /home/slm/projets/rockbox/src/rockbox-all/firmware/usb_serial.c --- ./rockbox-all/firmware/usb_serial.c 2006-02-04 00:28:53.000000000 +0100 +++ /home/slm/projets/rockbox/src/rockbox-all/firmware/usb_serial.c 2006-01-25 02:37:38.000000000 +0100 @@ -5,7 +5,7 @@ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ - * $Id: usb_serial.c,v 1.2 2006/02/03 23:28:53 tomal Exp $ + * $Id: usb_serial.c,v 1.1 2006/01/25 01:37:38 tomal Exp $ * * Copyright (C) 2006 by Tomasz Malesinski * @@ -1081,17 +1081,6 @@ return fifo_get_byte(&serial_in_fifo); } -int usb_serial_try_get_byte(void) -{ - int r; - if (fifo_empty(&serial_in_fifo)) - r = -1; - else - r = fifo_get_byte(&serial_in_fifo); - usb_serial_handle(); - return r; -} - /* Not used: static int usb_serial_out_full(void) @@ -1108,18 +1097,6 @@ usb_serial_handle(); } -int usb_serial_try_put_byte(int b) -{ - int r = -1; - if (!fifo_full(&serial_out_fifo)) - { - fifo_put_byte(&serial_out_fifo, b); - r = 0; - } - usb_serial_handle(); - return r; -} - void usb_serial_init(void) { fifo_init(&serial_in_fifo);