forked from len0rd/rockbox
A few preparations for the D2 PCM driver: move driver up to TCC780x level, move FIQ handler into PCM driver, add some new register defines, and remove those goddamn warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17209 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
5d7d410a47
commit
fd773cbda6
5 changed files with 30 additions and 21 deletions
|
|
@ -925,7 +925,7 @@ target/arm/tcc780x/kernel-tcc780x.c
|
|||
target/arm/tcc780x/timer-tcc780x.c
|
||||
target/arm/wmcodec-telechips.c
|
||||
target/arm/tcc780x/debug-tcc780x.c
|
||||
target/arm/tcc780x/cowond2/pcm-cowond2.c
|
||||
target/arm/tcc780x/pcm-tcc780x.c
|
||||
#endif /* BOOTLOADER */
|
||||
#endif /* SIMULATOR */
|
||||
#endif /* COWON_D2 */
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@
|
|||
#define PCLKCFG10 (*(volatile unsigned long *)0xF3000048)
|
||||
#define PCLKCFG11 (*(volatile unsigned long *)0xF300004C)
|
||||
#define PCLK_ADC (*(volatile unsigned long *)0xF3000050)
|
||||
#define PCLKCFG13 (*(volatile unsigned long *)0xF3000054)
|
||||
#define PCLK_DAI (*(volatile unsigned long *)0xF3000054)
|
||||
#define PCLKCFG14 (*(volatile unsigned long *)0xF3000058)
|
||||
#define PCLK_RFREQ (*(volatile unsigned long *)0xF300005C)
|
||||
#define PCLKCFG16 (*(volatile unsigned long *)0xF3000060)
|
||||
|
|
@ -171,6 +171,21 @@
|
|||
#define SDCFG1 (*(volatile unsigned long *)0xF1001000)
|
||||
#define MCFG1 (*(volatile unsigned long *)0xF1001008)
|
||||
|
||||
/* DAI */
|
||||
|
||||
#define DADO_L0 (*(volatile unsigned long *)0xF0059020)
|
||||
#define DADO_R0 (*(volatile unsigned long *)0xF0059024)
|
||||
#define DADO_L1 (*(volatile unsigned long *)0xF0059028)
|
||||
#define DADO_R1 (*(volatile unsigned long *)0xF005902c)
|
||||
#define DADO_L2 (*(volatile unsigned long *)0xF0059030)
|
||||
#define DADO_R2 (*(volatile unsigned long *)0xF0059034)
|
||||
#define DADO_L3 (*(volatile unsigned long *)0xF0059038)
|
||||
#define DADO_R3 (*(volatile unsigned long *)0xF005903c)
|
||||
#define DADO_L(_x_) (*(volatile unsigned int *)(0xF0059020+8*(_x_)))
|
||||
#define DADO_R(_x_) (*(volatile unsigned int *)(0xF0059024+8*(_x_)))
|
||||
#define DAMR (*(volatile unsigned long *)0xF0059040)
|
||||
#define DAVC (*(volatile unsigned long *)0xF0059044)
|
||||
|
||||
/* Misc */
|
||||
|
||||
#define ECFG0 (*(volatile unsigned long *)0xF300500C)
|
||||
|
|
|
|||
|
|
@ -25,62 +25,62 @@
|
|||
|
||||
void pcm_postinit(void)
|
||||
{
|
||||
#warning function not implemented
|
||||
}
|
||||
|
||||
const void * pcm_play_dma_get_peak_buffer(int *count)
|
||||
{
|
||||
#warning function not implemented
|
||||
(void) count;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void pcm_play_dma_init(void)
|
||||
{
|
||||
#warning function not implemented
|
||||
}
|
||||
|
||||
void pcm_apply_settings(void)
|
||||
{
|
||||
#warning function not implemented
|
||||
}
|
||||
|
||||
void pcm_set_frequency(unsigned int frequency)
|
||||
{
|
||||
#warning function not implemented
|
||||
(void) frequency;
|
||||
}
|
||||
|
||||
void pcm_play_dma_start(const void *addr, size_t size)
|
||||
{
|
||||
#warning function not implemented
|
||||
(void) addr;
|
||||
(void) size;
|
||||
}
|
||||
|
||||
void pcm_play_dma_stop(void)
|
||||
{
|
||||
#warning function not implemented
|
||||
}
|
||||
|
||||
void pcm_play_lock(void)
|
||||
{
|
||||
#warning function not implemented
|
||||
}
|
||||
|
||||
void pcm_play_unlock(void)
|
||||
{
|
||||
#warning function not implemented
|
||||
}
|
||||
|
||||
void pcm_play_dma_pause(bool pause)
|
||||
{
|
||||
#warning function not implemented
|
||||
(void) pause;
|
||||
}
|
||||
|
||||
size_t pcm_get_bytes_waiting(void)
|
||||
{
|
||||
#warning function not implemented
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fiq_handler(void)
|
||||
{
|
||||
/* Clear FIQ status */
|
||||
CREQ = DAI_TX_IRQ_MASK | DAI_RX_IRQ_MASK;
|
||||
|
||||
/* Return from FIQ */
|
||||
asm volatile (
|
||||
"subs pc, lr, #4 \r\n"
|
||||
);
|
||||
}
|
||||
|
|
@ -142,12 +142,6 @@ void irq_handler(void)
|
|||
"subs pc, lr, #4 \n"); /* Return from IRQ */
|
||||
}
|
||||
|
||||
void fiq_handler(void)
|
||||
{
|
||||
asm volatile (
|
||||
"subs pc, lr, #4 \r\n"
|
||||
);
|
||||
}
|
||||
#endif /* !defined(BOOTLOADER) */
|
||||
|
||||
|
||||
|
|
@ -254,7 +248,8 @@ void system_init(void)
|
|||
|
||||
#if !defined(BOOTLOADER)
|
||||
|
||||
IRQSEL = -1; /* set all interrupts to be IRQs not FIQs */
|
||||
/* Set DAI interrupts as FIQ, all others are IRQ. */
|
||||
IRQSEL = ~(DAI_RX_IRQ_MASK | DAI_TX_IRQ_MASK);
|
||||
|
||||
POL = 0x200108; /* IRQs 3,8,21 active low (as OF) */
|
||||
MODE = 0x20ce07c0; /* IRQs 6-10,17-19,22-23,29 level-triggered (as OF) */
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@
|
|||
|
||||
void audiohw_init(void)
|
||||
{
|
||||
#warning function not implemented
|
||||
}
|
||||
|
||||
void wmcodec_write(int reg, int data)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue