mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-26 23:36:37 -04:00
More iPod changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7825 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3c1f659aeb
commit
a3bf2ec61c
4 changed files with 153 additions and 117 deletions
|
|
@ -10,6 +10,7 @@ INPUT(crt0.o)
|
|||
#elif CONFIG_CPU == PP5020
|
||||
OUTPUT_FORMAT(elf32-littlearm)
|
||||
OUTPUT_ARCH(arm)
|
||||
INPUT(crt0.o)
|
||||
#else
|
||||
OUTPUT_FORMAT(elf32-sh)
|
||||
INPUT(crt0.o)
|
||||
|
|
@ -102,44 +103,6 @@ _audiobufend = 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
|
||||
|
||||
|
|
@ -159,6 +122,10 @@ SECTIONS
|
|||
#define DRAMORIG 0x31000000 + STUBOFFSET
|
||||
#define IRAMORIG 0x10000000
|
||||
#define IRAMSIZE 0xc000
|
||||
#elif CONFIG_CPU==PP5020
|
||||
#define DRAMORIG 0x10000000 + STUBOFFSET
|
||||
#define IRAMORIG 0x40000000
|
||||
#define IRAMSIZE 0xc000
|
||||
#else
|
||||
#define DRAMORIG 0x09000000 + STUBOFFSET
|
||||
#define IRAMORIG 0x0f000000
|
||||
|
|
@ -194,6 +161,10 @@ SECTIONS
|
|||
. = ALIGN(0x200);
|
||||
*(.init.text)
|
||||
*(.text*)
|
||||
#if CONFIG_CPU==PP5020
|
||||
*(.glue_7)
|
||||
*(.glue_7t)
|
||||
#endif
|
||||
. = ALIGN(0x4);
|
||||
} > DRAM
|
||||
|
||||
|
|
@ -243,7 +214,7 @@ SECTIONS
|
|||
_iend = .;
|
||||
} > IRAM
|
||||
|
||||
#ifdef CPU_COLDFIRE
|
||||
#if defined(CPU_COLDFIRE) || CONFIG_CPU==PP5020
|
||||
.stack :
|
||||
{
|
||||
*(.stack)
|
||||
|
|
@ -263,7 +234,7 @@ SECTIONS
|
|||
} > DRAM
|
||||
#endif
|
||||
|
||||
#ifdef CPU_COLDFIRE
|
||||
#if defined(CPU_COLDFIRE) || CONFIG_CPU==PP5020
|
||||
.bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram):
|
||||
#else
|
||||
.bss :
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
#include "cpu.h"
|
||||
|
||||
#if (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020)
|
||||
.section .init.text
|
||||
.section .init.text,"ax",%progbits
|
||||
#else
|
||||
.section .init.text,"ax",@progbits
|
||||
#endif
|
||||
|
|
@ -44,6 +44,8 @@ start:
|
|||
ldr r0, =0xff000000
|
||||
and r8, pc, r0 @ r8 is used later
|
||||
|
||||
#ifdef BOOTLOADER
|
||||
|
||||
#if CONFIG_CPU==PP5002
|
||||
mov r0, #PP5002_PROC_ID
|
||||
#else
|
||||
|
|
@ -64,6 +66,7 @@ start:
|
|||
#endif
|
||||
str r3, [r4]
|
||||
|
||||
|
||||
ldr pc, =cop_wake_start
|
||||
|
||||
cop_wake_start:
|
||||
|
|
@ -147,6 +150,10 @@ startup_loc:
|
|||
boot_table:
|
||||
/* here comes the boot table, don't move its offset */
|
||||
.space 400
|
||||
#else
|
||||
/* TODO: Implement startup code */
|
||||
|
||||
#endif /* BOOTLOADER (iPod) */
|
||||
|
||||
#elif CONFIG_CPU == TCC730
|
||||
/* Platform: Gmini 120/SP */
|
||||
|
|
|
|||
|
|
@ -329,4 +329,57 @@ void pcm_init(void)
|
|||
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
|
||||
|
|
|
|||
|
|
@ -1116,6 +1116,11 @@ void system_reboot(void) {
|
|||
|
||||
}
|
||||
|
||||
int system_memory_guard(int newmode)
|
||||
{
|
||||
(void)newmode;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_CPU */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue