diff options
author | Rob Purchase <shotofadds@rockbox.org> | 2008-09-16 08:09:44 +0000 |
---|---|---|
committer | Rob Purchase <shotofadds@rockbox.org> | 2008-09-16 08:09:44 +0000 |
commit | 1a08f46329e9f6d7bd55a8a9ad45db27df8a7593 (patch) | |
tree | 693d2bd43f42c2d1ba35584e3a0b08f4fcef5969 /firmware/target | |
parent | 9cf7ef68c9747fe1baa16a80e28d8cb783ea63f5 (diff) | |
download | rockbox-1a08f46329e9f6d7bd55a8a9ad45db27df8a7593.tar.gz rockbox-1a08f46329e9f6d7bd55a8a9ad45db27df8a7593.zip |
Commit fs#9404 (iAudio 7 updates by vitja). Also fixes play/pause behaviour on D2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18528 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/pcm-telechips.c | 17 | ||||
-rw-r--r-- | firmware/target/arm/tcc77x/crt0.S | 9 | ||||
-rw-r--r-- | firmware/target/arm/tcc77x/iaudio7/ata2501.c | 4 | ||||
-rw-r--r-- | firmware/target/arm/tcc77x/iaudio7/lcd-iaudio7.c | 10 | ||||
-rw-r--r-- | firmware/target/arm/tcc77x/iaudio7/power-iaudio7.c | 1 |
5 files changed, 34 insertions, 7 deletions
diff --git a/firmware/target/arm/pcm-telechips.c b/firmware/target/arm/pcm-telechips.c index a0ad00eb22..63f50f7d78 100644 --- a/firmware/target/arm/pcm-telechips.c +++ b/firmware/target/arm/pcm-telechips.c | |||
@@ -207,7 +207,11 @@ void pcm_play_unlock(void) | |||
207 | 207 | ||
208 | void pcm_play_dma_pause(bool pause) | 208 | void pcm_play_dma_pause(bool pause) |
209 | { | 209 | { |
210 | (void) pause; | 210 | if (pause) { |
211 | play_stop_pcm(); | ||
212 | } else { | ||
213 | play_start_pcm(); | ||
214 | } | ||
211 | } | 215 | } |
212 | 216 | ||
213 | size_t pcm_get_bytes_waiting(void) | 217 | size_t pcm_get_bytes_waiting(void) |
@@ -251,11 +255,12 @@ const void * pcm_rec_dma_get_peak_buffer(int *count) | |||
251 | 255 | ||
252 | void pcm_record_more(void *start, size_t size) | 256 | void pcm_record_more(void *start, size_t size) |
253 | { | 257 | { |
258 | (void) start; | ||
259 | (void) size; | ||
254 | } | 260 | } |
255 | #endif | 261 | #endif |
256 | 262 | ||
257 | #if defined(COWON_D2) | 263 | #if defined(CPU_TCC77X) || defined(CPU_TCC780X) |
258 | /* TODO: hardcoded hex values differs for tcc7xx and tcc8xx */ | ||
259 | void fiq_handler(void) ICODE_ATTR __attribute__((naked)); | 264 | void fiq_handler(void) ICODE_ATTR __attribute__((naked)); |
260 | void fiq_handler(void) | 265 | void fiq_handler(void) |
261 | { | 266 | { |
@@ -266,10 +271,14 @@ void fiq_handler(void) | |||
266 | * r0-r3 and r12 is a working register. | 271 | * r0-r3 and r12 is a working register. |
267 | */ | 272 | */ |
268 | asm volatile ( | 273 | asm volatile ( |
274 | #if defined(CPU_TCC780X) | ||
269 | "mov r8, #0xc000 \n" /* DAI_TX_IRQ_MASK | DAI_RX_IRQ_MASK */ | 275 | "mov r8, #0xc000 \n" /* DAI_TX_IRQ_MASK | DAI_RX_IRQ_MASK */ |
270 | "ldr r9, =0xf3001004 \n" /* CREQ */ | 276 | "ldr r9, =0xf3001004 \n" /* CREQ */ |
277 | #elif defined(CPU_TCC77X) | ||
278 | "mov r8, #0x0030 \n" /* DAI_TX_IRQ_MASK | DAI_RX_IRQ_MASK */ | ||
279 | "ldr r9, =0x80000104 \n" /* CREQ */ | ||
280 | #endif | ||
271 | "str r8, [r9] \n" /* clear DAI IRQs */ | 281 | "str r8, [r9] \n" /* clear DAI IRQs */ |
272 | |||
273 | "ldmia r11, { r8-r9 } \n" /* r8 = p, r9 = size */ | 282 | "ldmia r11, { r8-r9 } \n" /* r8 = p, r9 = size */ |
274 | "cmp r9, #0x10 \n" /* is size <16? */ | 283 | "cmp r9, #0x10 \n" /* is size <16? */ |
275 | "blt .more_data \n" /* if so, ask pcmbuf for more data */ | 284 | "blt .more_data \n" /* if so, ask pcmbuf for more data */ |
diff --git a/firmware/target/arm/tcc77x/crt0.S b/firmware/target/arm/tcc77x/crt0.S index 569930352a..03dc2a9771 100644 --- a/firmware/target/arm/tcc77x/crt0.S +++ b/firmware/target/arm/tcc77x/crt0.S | |||
@@ -131,6 +131,15 @@ copied_start: | |||
131 | msr cpsr, r0 | 131 | msr cpsr, r0 |
132 | ldr sp, =fiq_stack | 132 | ldr sp, =fiq_stack |
133 | 133 | ||
134 | #ifndef BOOTLOADER | ||
135 | /* Load the banked FIQ mode registers with useful values here. | ||
136 | These values will be used in the FIQ handler in pcm-telechips.c */ | ||
137 | .equ DADO_BASE, 0x80000020 | ||
138 | |||
139 | ldr r10, =DADO_BASE | ||
140 | ldr r11, =dma_play_data | ||
141 | #endif | ||
142 | |||
134 | /* Let abort and undefined modes use IRQ stack */ | 143 | /* Let abort and undefined modes use IRQ stack */ |
135 | mov r0,#0xd7 | 144 | mov r0,#0xd7 |
136 | msr cpsr, r0 | 145 | msr cpsr, r0 |
diff --git a/firmware/target/arm/tcc77x/iaudio7/ata2501.c b/firmware/target/arm/tcc77x/iaudio7/ata2501.c index fa165d9d0d..bc39872de6 100644 --- a/firmware/target/arm/tcc77x/iaudio7/ata2501.c +++ b/firmware/target/arm/tcc77x/iaudio7/ata2501.c | |||
@@ -86,7 +86,7 @@ unsigned short ata2501_read(void) | |||
86 | return ret; | 86 | return ret; |
87 | } | 87 | } |
88 | 88 | ||
89 | #define ATA2501_TEST | 89 | //#define ATA2501_TEST |
90 | #ifdef ATA2501_TEST | 90 | #ifdef ATA2501_TEST |
91 | #include "lcd.h" | 91 | #include "lcd.h" |
92 | #include "sprintf.h" | 92 | #include "sprintf.h" |
@@ -108,7 +108,7 @@ void ata2501_test(void) | |||
108 | 108 | ||
109 | while (1) { | 109 | while (1) { |
110 | unsigned short data; | 110 | unsigned short data; |
111 | int i, line = 0; | 111 | int line = 0; |
112 | 112 | ||
113 | data = ata2501_read(); | 113 | data = ata2501_read(); |
114 | lcd_clear_display(); | 114 | lcd_clear_display(); |
diff --git a/firmware/target/arm/tcc77x/iaudio7/lcd-iaudio7.c b/firmware/target/arm/tcc77x/iaudio7/lcd-iaudio7.c index bbc20b6860..0ca18bee67 100644 --- a/firmware/target/arm/tcc77x/iaudio7/lcd-iaudio7.c +++ b/firmware/target/arm/tcc77x/iaudio7/lcd-iaudio7.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <cpu.h> | 31 | #include <cpu.h> |
32 | #include <lcd.h> | 32 | #include <lcd.h> |
33 | #include <system-target.h> | 33 | #include <system-target.h> |
34 | #include <panic.h> | ||
34 | 35 | ||
35 | #include "hd66789r.h" | 36 | #include "hd66789r.h" |
36 | 37 | ||
@@ -142,7 +143,7 @@ void lcd_enable(bool on) | |||
142 | 143 | ||
143 | if (on) { | 144 | if (on) { |
144 | _display_on(); | 145 | _display_on(); |
145 | // lcd_call_enable_hook(); | 146 | lcd_call_enable_hook(); |
146 | } else { | 147 | } else { |
147 | /** Off sequence according to datasheet, p. 130 **/ | 148 | /** Off sequence according to datasheet, p. 130 **/ |
148 | lcd_write_reg(R_FRAME_CYCLE_CONTROL, 0x0002); /* EQ=0, 18 clks/line */ | 149 | lcd_write_reg(R_FRAME_CYCLE_CONTROL, 0x0002); /* EQ=0, 18 clks/line */ |
@@ -242,6 +243,13 @@ void lcd_blit_yuv(unsigned char *const src[3], | |||
242 | int src_x, int src_y, int stride, | 243 | int src_x, int src_y, int stride, |
243 | int x, int y, int width, int height) | 244 | int x, int y, int width, int height) |
244 | { | 245 | { |
246 | (void) src; | ||
247 | (void) src_x; | ||
248 | (void) src_y; | ||
249 | (void) stride; | ||
250 | (void) x; | ||
251 | (void) y; | ||
252 | |||
245 | if (!display_on) | 253 | if (!display_on) |
246 | return; | 254 | return; |
247 | 255 | ||
diff --git a/firmware/target/arm/tcc77x/iaudio7/power-iaudio7.c b/firmware/target/arm/tcc77x/iaudio7/power-iaudio7.c index ef012cbbdf..ce7175ef55 100644 --- a/firmware/target/arm/tcc77x/iaudio7/power-iaudio7.c +++ b/firmware/target/arm/tcc77x/iaudio7/power-iaudio7.c | |||
@@ -73,6 +73,7 @@ void power_touch_panel(bool on) | |||
73 | 73 | ||
74 | void ide_power_enable(bool on) | 74 | void ide_power_enable(bool on) |
75 | { | 75 | { |
76 | (void) on; | ||
76 | } | 77 | } |
77 | 78 | ||
78 | bool ide_powered(void) | 79 | bool ide_powered(void) |