1
0
Fork 0
forked from len0rd/rockbox

More iPod changes

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7825 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dave Chapman 2005-11-12 15:29:43 +00:00
parent 3c1f659aeb
commit a3bf2ec61c
4 changed files with 153 additions and 117 deletions

View file

@ -10,6 +10,7 @@ INPUT(crt0.o)
#elif CONFIG_CPU == PP5020 #elif CONFIG_CPU == PP5020
OUTPUT_FORMAT(elf32-littlearm) OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm) OUTPUT_ARCH(arm)
INPUT(crt0.o)
#else #else
OUTPUT_FORMAT(elf32-sh) OUTPUT_FORMAT(elf32-sh)
INPUT(crt0.o) INPUT(crt0.o)
@ -102,44 +103,6 @@ _audiobufend = 0;
_pluginbuf = 0; _pluginbuf = 0;
}
#elif CONFIG_CPU==PP5020
SECTIONS
{
. = 0x10000000;
.text : {
*(.init.text)
*(.text)
}
__data_start__ = . ;
.data : { *(.data) }
__data_end__ = . ;
__stack_start__ = .;
.stack :
{
*(.stack)
_stackbegin = .;
stackbegin = .;
. += 0x2000;
_stackend = .;
stackend = .;
}
/* The bss section is too large for IRAM - we just move it at the
end of the regular RAM. */
. = 0x11c00000;
__bss_start__ = .;
.bss : {
*(.bss);
__bss_end__ = . ;
}
} }
#else #else
@ -159,6 +122,10 @@ SECTIONS
#define DRAMORIG 0x31000000 + STUBOFFSET #define DRAMORIG 0x31000000 + STUBOFFSET
#define IRAMORIG 0x10000000 #define IRAMORIG 0x10000000
#define IRAMSIZE 0xc000 #define IRAMSIZE 0xc000
#elif CONFIG_CPU==PP5020
#define DRAMORIG 0x10000000 + STUBOFFSET
#define IRAMORIG 0x40000000
#define IRAMSIZE 0xc000
#else #else
#define DRAMORIG 0x09000000 + STUBOFFSET #define DRAMORIG 0x09000000 + STUBOFFSET
#define IRAMORIG 0x0f000000 #define IRAMORIG 0x0f000000
@ -194,6 +161,10 @@ SECTIONS
. = ALIGN(0x200); . = ALIGN(0x200);
*(.init.text) *(.init.text)
*(.text*) *(.text*)
#if CONFIG_CPU==PP5020
*(.glue_7)
*(.glue_7t)
#endif
. = ALIGN(0x4); . = ALIGN(0x4);
} > DRAM } > DRAM
@ -243,7 +214,7 @@ SECTIONS
_iend = .; _iend = .;
} > IRAM } > IRAM
#ifdef CPU_COLDFIRE #if defined(CPU_COLDFIRE) || CONFIG_CPU==PP5020
.stack : .stack :
{ {
*(.stack) *(.stack)
@ -263,7 +234,7 @@ SECTIONS
} > DRAM } > DRAM
#endif #endif
#ifdef CPU_COLDFIRE #if defined(CPU_COLDFIRE) || CONFIG_CPU==PP5020
.bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram): .bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram):
#else #else
.bss : .bss :

View file

@ -20,7 +20,7 @@
#include "cpu.h" #include "cpu.h"
#if (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020) #if (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020)
.section .init.text .section .init.text,"ax",%progbits
#else #else
.section .init.text,"ax",@progbits .section .init.text,"ax",@progbits
#endif #endif
@ -44,6 +44,8 @@ start:
ldr r0, =0xff000000 ldr r0, =0xff000000
and r8, pc, r0 @ r8 is used later and r8, pc, r0 @ r8 is used later
#ifdef BOOTLOADER
#if CONFIG_CPU==PP5002 #if CONFIG_CPU==PP5002
mov r0, #PP5002_PROC_ID mov r0, #PP5002_PROC_ID
#else #else
@ -64,6 +66,7 @@ start:
#endif #endif
str r3, [r4] str r3, [r4]
ldr pc, =cop_wake_start ldr pc, =cop_wake_start
cop_wake_start: cop_wake_start:
@ -147,6 +150,10 @@ startup_loc:
boot_table: boot_table:
/* here comes the boot table, don't move its offset */ /* here comes the boot table, don't move its offset */
.space 400 .space 400
#else
/* TODO: Implement startup code */
#endif /* BOOTLOADER (iPod) */
#elif CONFIG_CPU == TCC730 #elif CONFIG_CPU == TCC730
/* Platform: Gmini 120/SP */ /* Platform: Gmini 120/SP */

View file

@ -329,4 +329,57 @@ void pcm_init(void)
dma_stop(); dma_stop();
} }
#endif /* HAVE_UDA1380 */ #elif defined(HAVE_WM8975)
/* TODO: Implement for iPod - we should probably move the UDA1380 and
WM8975 specific code into separate files.
For now, just implement some dummy functions.
*/
void pcm_init(void)
{
}
void pcm_set_frequency(unsigned int frequency)
{
(void)frequency;
}
void pcm_play_data(void (*get_more)(unsigned char** start, long* size))
{
(void)get_more;
}
void pcm_play_stop(void)
{
}
void pcm_play_pause(bool play)
{
(void)play;
}
bool pcm_is_paused(void)
{
return false;
}
bool pcm_is_playing(void)
{
return false;
}
void pcm_calculate_peaks(int *left, int *right)
{
(void)left;
(void)right;
}
long pcm_get_bytes_waiting(void)
{
return 0;
}
#endif

View file

@ -1116,6 +1116,11 @@ void system_reboot(void) {
} }
int system_memory_guard(int newmode)
{
(void)newmode;
return 0;
}
#endif /* CONFIG_CPU */ #endif /* CONFIG_CPU */