summaryrefslogtreecommitdiffstats
path: root/firmware
AgeCommit message (Collapse)AuthorFilesLines
2010-06-03sd-as3525v1: do not disable peripheral clocks in sd_enable()Rafaël Carré1-22/+7
(forward port of r26481 + cosmetics) This lead to freezes under various conditons (bug report: FS#11267) Battery life is almost not (if at all) affected: - between 4 and 8 minutes less runtime for fuzev1 - 9 minutes less runtime for c200v2 (2 minutes difference on a 2 hours run) Additional verifications of the runtime (including on other models) wouldn't hurt git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26512 a1c6a512-1295-4272-9138-f99709370657
2010-06-02Fix PP5002 builds. Somehow an #else went missing along the line.Michael Sevakis1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26480 a1c6a512-1295-4272-9138-f99709370657
2010-06-02Threading: Split processor support code into respective target files. C ↵Michael Sevakis6-878/+1004
files from /target/xxx are included into thread.c because of essential inlining and files are code, not declarations. Copyrights in each new file go to whoever implemented the first functional support. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26479 a1c6a512-1295-4272-9138-f99709370657
2010-06-01Prevent a race condition when writing VIC_INT_EN_CLEAR. Should be very ↵Tobias Diedrich1-0/+8
difficult to hit in this case though... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26451 a1c6a512-1295-4272-9138-f99709370657
2010-06-01as3525 ascodec: make internal functions statics and remove some details for ↵Rafaël Carré2-154/+123
ascodec-target.h header reorder static functions to avoid the need for early prototypes panic if the INT_AUDIO callback could not read the 3 IRQ_ENRD registers git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26445 a1c6a512-1295-4272-9138-f99709370657
2010-06-01as3525 PCM: implement locking like done for the gigabeats in r26341Rafaël Carré1-15/+57
this removes workaround for spurious interrupts added in r26316 side effect: make keyclicks work correctly when used intensively (with the scrollwheel for example), the clicks should be inserted fast enough for the PCM fifo to not become empty. PL190 can cause spurious interrupts if an interrupt is triggered by a peripheral shortly before the interrupt for this peripheral is cleared from VIC registers. As an effect we should only write in VIC_INT_EN_CLEAR after having disabled the source of the interrupt in the peripheral. references on PL190 spurious interrupts: - http://www.embeddedrelated.com/groups/lpc2000/show/14599.php - http://water.cse.unsw.edu.au/esdk/lpc2/spurious-irq.html git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26444 a1c6a512-1295-4272-9138-f99709370657
2010-06-01sd-as3525v1: set up bank selection data outside of the loopRafaël Carré1-10/+10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26441 a1c6a512-1295-4272-9138-f99709370657
2010-05-31Enable IRAM on TCC7801 (Cowon D2) for a 6-12% speedup in codecs that use it, ↵Rob Purchase3-8/+6
and a small increase in battery life. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26436 a1c6a512-1295-4272-9138-f99709370657
2010-05-31Port the greylib blitting optimisation to m:robe 100. It's even more ↵Jens Arnold1-27/+15
efficient on monochrome LCDs - about 20% ISR speedup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26435 a1c6a512-1295-4272-9138-f99709370657
2010-05-31Smaller & faster greylib blitting on iriver H1x0 and iAudio M5, based on the ↵Jens Arnold2-250/+212
ARM version but using mulu.l for the bit shuffling. ISR speedup is ~10%. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26434 a1c6a512-1295-4272-9138-f99709370657
2010-05-31ARM: use BX when branch to an address in registerRafaël Carré3-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26432 a1c6a512-1295-4272-9138-f99709370657
2010-05-31rolo: use BX for ARM branchesRafaël Carré1-5/+4
This is equivalent to mov pc Remove an instruction from the asm() for PP cop restart : use register constraint git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26431 a1c6a512-1295-4272-9138-f99709370657
2010-05-30Smaller & faster grey blitting on greyscale ipods, based on an idea by Mike ↵Jens Arnold1-44/+33
Sevakis. ISR speedup on all greyscale iPods except Mini 2nd Gen is ~10%. No speedup on the latter, because the serial transfer is the limiting factor. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26422 a1c6a512-1295-4272-9138-f99709370657
2010-05-30Update Samsung YP-S3 bootloader demoBertrik Sikken3-1/+5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26417 a1c6a512-1295-4272-9138-f99709370657
2010-05-30Fix FS#9193. Remove recording source <Mic> for iPod Video and iPod nano 1G. ↵Andree Buschmann2-2/+2
The manual already describes the correct behaviour. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26414 a1c6a512-1295-4272-9138-f99709370657
2010-05-30Submit FS#11240 by Raphael Jakse. Allows to reduce volume on WM8985 to -89 ↵Andree Buschmann2-18/+59
dB (e.g. used for Cowon D2). Below -57 dB the line out is affected. The manual is updated accordingly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26413 a1c6a512-1295-4272-9138-f99709370657
2010-05-30inttypes.h: remove excessive PRI*PTR declaration when long isn't 64 bitsRafaël Carré1-5/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26412 a1c6a512-1295-4272-9138-f99709370657
2010-05-30inttypes.h: add (some) iso c99 fprintf format specifiersRafaël Carré1-1/+73
Skipped the specifiers for octal, (u)int_leastN_t, (u)int_fastN_t and (u)intmax_t as we don't use them in rockbox Specifiers use the types specified in stdint.h Specifiers for short (16 bits) and char (8 bits) use the int specifier, our format.c doesn't know about 'h' and 'hh' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26411 a1c6a512-1295-4272-9138-f99709370657
2010-05-29fuze*/e200v2 YUV lcd code: remove a useless instruction forgotten in r21795Rafaël Carré1-1/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26399 a1c6a512-1295-4272-9138-f99709370657
2010-05-29No need to break after a returnFrank Gevaerts1-3/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26398 a1c6a512-1295-4272-9138-f99709370657
2010-05-29Commit FS#10887 by me. Change the check for software poweroff to be that ↵Michael Giacomelli1-1/+1
the power button is held, not that the power button is held AND that no other button is held. This makes shutting down players with small tightly spaced buttons (Sandisk...) much easier. This also means that combos involving the power button can now potientially power off the player. The H10 and sansas excluding the Fuze use a combo involving power for AB repeat mode. However, the timeout for shutdown is much longer then the long press duration needed for AB repeat, and in practice seems to not be a problem on these players. I've tested this on various players for a long time and bugged other people to try it out, so I think its pretty safe, but if theres problems it can be reverted or keymaps tweaked. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26397 a1c6a512-1295-4272-9138-f99709370657
2010-05-29fix broken case handling in storage_present() and storage_removable(). Those ↵Frank Gevaerts1-18/+19
were buggy for targets with a hotswappable drive *and* more than one storage driver (i.e. only the D2 was probably affected) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26395 a1c6a512-1295-4272-9138-f99709370657
2010-05-29Fuze: don't change gate scan position if lcd_set_flip() is not usedRafaël Carré1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26387 a1c6a512-1295-4272-9138-f99709370657
2010-05-29cpucache_invalidate: use bx reg instead of mov pc, reg to returnRafaël Carré1-1/+1
Using BX has the effect to set the T bit, so it can return to a thumb function With this change, rockbox runs fine on Clipv2 built with -mthumb (for most files which don't use inline 32 bits ARM assembly) Some other places use code which change the T bit on armv5 but not on armv4 so armv4 won't run See FS#6734 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26386 a1c6a512-1295-4272-9138-f99709370657
2010-05-29e200v2: revert r26353Rafaël Carré1-3/+11
invert setting isn't remembered when backlight goes off and lcd_enable() is ran again git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26374 a1c6a512-1295-4272-9138-f99709370657
2010-05-29Fuzev1/v2 : lcd_set_flip()Rafaël Carré4-34/+45
FS#11329 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26372 a1c6a512-1295-4272-9138-f99709370657
2010-05-28sd-as3525.c: Do not wait for TRAN state after transfer is over.Jack Halpin1-5/+0
Waiting for TRAN state after the end of the transfer caused writing problems for some uSD cards. Removing this wait returns write functionality to those cards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26365 a1c6a512-1295-4272-9138-f99709370657
2010-05-28Apply FS#9194 - LCD invert for Sansa c200/c200v2Bertrik Sikken3-3/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26362 a1c6a512-1295-4272-9138-f99709370657
2010-05-28Restore return statement in kernel-as3525.c that was accidentally removed in ↵Bertrik Sikken1-0/+1
r26330. This fixes c200v2 black screen. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26361 a1c6a512-1295-4272-9138-f99709370657
2010-05-28Simplify lcd invertMichael Chicoine1-11/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26353 a1c6a512-1295-4272-9138-f99709370657
2010-05-28Simplify lcd_set_flip, lcd_window, and lcd_window_blitMichael Chicoine1-48/+11
Remove unneeded defines Whitespace cleanup Thanks to Rafaël Carré for finding the simpler register settings. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26350 a1c6a512-1295-4272-9138-f99709370657
2010-05-28genversion: generate version.c and version.h independantlyRafaël Carré1-2/+5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26349 a1c6a512-1295-4272-9138-f99709370657
2010-05-27Merge common LCD code between fuzev1 & fuzev2Rafaël Carré5-494/+168
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26344 a1c6a512-1295-4272-9138-f99709370657
2010-05-27fuzev2: lcd_enable and lcd_invert() work fineRafaël Carré1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26343 a1c6a512-1295-4272-9138-f99709370657
2010-05-27sd-as3525v2: Include time spent yielding when figuring timeout in ↵Rafaël Carré1-8/+4
sd_wait_for_tran_state() (apply r23738 to as3525v2 code) extend the arbitrary delay to 5 seconds, we never know git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26342 a1c6a512-1295-4272-9138-f99709370657
2010-05-27Gigabeat S PCM: Sync some comments to changes.Michael Sevakis1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26341 a1c6a512-1295-4272-9138-f99709370657
2010-05-27Gigabeat S PCM: There's no reason to touch any hardware registers in order ↵Michael Sevakis1-24/+39
to lock out PCM callbacks. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26340 a1c6a512-1295-4272-9138-f99709370657
2010-05-27Simulator: get rid of SDL_mutex* parameter to sim_do_exit.Michael Sevakis3-14/+22
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26338 a1c6a512-1295-4272-9138-f99709370657
2010-05-27SDL Simulator: Get thread shutdown and properly handled and fix a minor ↵Michael Sevakis5-29/+91
memory leak that happens when threads exit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26336 a1c6a512-1295-4272-9138-f99709370657
2010-05-27as3525: no need to ack TIMER interrupt multiple timesRafaël Carré1-4/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26330 a1c6a512-1295-4272-9138-f99709370657
2010-05-27Clip*: give lcd_hw_init() INIT_ATTR attributeRafaël Carré3-3/+8
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26329 a1c6a512-1295-4272-9138-f99709370657
2010-05-27mark some functions as init functions (discarded after init() has run)Rafaël Carré6-8/+10
tick_start, fmradio_i2c_init, pcm_init, pcm_postinit, pcm_play_dma_init Also add some as3525 target specific functions Make as3525v2 use this attribute git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26328 a1c6a512-1295-4272-9138-f99709370657
2010-05-27as3525: don't export empty usb_init_device(), declare it as empty inlineRafaël Carré2-5/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26326 a1c6a512-1295-4272-9138-f99709370657
2010-05-27clipv2: make buttonlight functions static inline one-linersRafaël Carré2-15/+18
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26323 a1c6a512-1295-4272-9138-f99709370657
2010-05-27Generate C file / header for svn version stringRafaël Carré1-1/+4
It's now easier to force rebuild of files depending on the svn revision version.c/version.h are generated once with new tools/genversion.sh Changes in the VCS are still not auto detected, so you'll have to remove builddir/version.* if you want to change the string in your binaries APPSVERSION is now called RBVERSION and is defined in the generated header instead of being defined by the Makefiles appsversion is now called rbversion (the plugin api number didn't change since old modules are still binary compatible) Change some bootloaders to use knwon-at-buildtime RBVERSION instead of "%s" + rbversion You'll need to run make clean to regenerate dependencies after the removal of apps/version.h To build binaries with a different version string, hand-edit tools/version.sh or tools/genversion.sh (which calls the former) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26320 a1c6a512-1295-4272-9138-f99709370657
2010-05-26as3525: fix r26308Rafaël Carré1-0/+1
I2SOUT peri needs to be enabled to set the loopback setting git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26319 a1c6a512-1295-4272-9138-f99709370657
2010-05-26UISimulator: cleaner startup using semaphore only to tell when event_thread ↵Michael Sevakis1-26/+11
is done initializing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26317 a1c6a512-1295-4272-9138-f99709370657
2010-05-26as3525: as revealed by r26311, it seems DMAC interrupt can't be maskedRafaël Carré1-4/+7
Even if we disable it in VIC_INT_EN_CLEAR, it still fires an interrupt by running the default isr. Locking requires disabling interrupts completely. I'm not sure if DMAC is the only interrupt affected or if we can't rely on VIC_INT_EN_CLEAR to mask interrupts. If it's the latter, we will need to have special locking scheme for INT_AUDIO. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26316 a1c6a512-1295-4272-9138-f99709370657
2010-05-26Since the sdl to target tree move, the main thread cannot be removed anymore,Thomas Martitz2-2/+6
since it's now the default thread which is implicitely created by starting the sim. This caused a segfault that r26283 tried to fix. Revert r26283 and protect the main thread from being removed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26315 a1c6a512-1295-4272-9138-f99709370657
2010-05-26as3525: write irq/fiq handlers in CRafaël Carré2-21/+11
Declare VIC registers holding function pointers as volatile pointers to function pointers and access them directly without casting UIRQ() is an IRQ handler too, even if it doesn't return git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26313 a1c6a512-1295-4272-9138-f99709370657