Commit graph

8075 commits

Author SHA1 Message Date
Marcin Bukat
971a6e9c94 HD200 - Setup codec as I2S master and enable recording
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27250 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 21:09:28 +00:00
Michael Sevakis
3f4dfe5c03 pl081: Fix r27236 warnings. Need system.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27237 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 06:07:42 +00:00
Michael Sevakis
0f47ffe0e4 AMS SoC's: Some register bit changes need interrupt protection: timer API and CGU_PERI.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27236 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 06:00:00 +00:00
Michael Sevakis
90a2671833 i.MX31: Make DMA ISR call loop a bit more efficient.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27192 a1c6a512-1295-4272-9138-f99709370657
2010-06-30 07:08:10 +00:00
Michael Sevakis
ce4da595e1 Gigabeat S: INIT section wasn't properly overlapping the uninitialized areas thus wasn't being reclaimed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27190 a1c6a512-1295-4272-9138-f99709370657
2010-06-30 05:49:56 +00:00
Michael Sevakis
6920d2b9cd i.MX31: Only include the SDMA code that will be used on the target. Simplify the script selection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27189 a1c6a512-1295-4272-9138-f99709370657
2010-06-30 05:02:58 +00:00
Michael Sevakis
e286b0bbc0 Remove atomic register bit manipulation functions from i.MX and s3c target code and introduce generic functions for ARM (bitmod32, bitset32, and bitclr32). Multiprocessor support is possible but just not implemented at the moment, only interrupt lockout.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27188 a1c6a512-1295-4272-9138-f99709370657
2010-06-30 02:02:46 +00:00
Tobias Diedrich
f4a00174b5 sd-as3525.c: handle acmd retries correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27187 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 21:49:20 +00:00
Amaury Pouly
f641fc62d8 as3525v2-usb: fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27181 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 19:24:39 +00:00
Tobias Diedrich
23cf76c2af mutex_lock/unlock must be moved up a level to make the verify code in sd-as3525.c safe
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27180 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 19:12:57 +00:00
Rafaël Carré
cdf27ae121 usb-drv-as3525v2.c: fix compilation (typo)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27179 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 19:02:51 +00:00
Amaury Pouly
8ac77fe466 as3525v2-usb: fix bug in ep listing macro, rewrite EP0 handling using a state
There was a stupid bug in endpoint listing which caused random cancelling of EP0 transfers. The new scheme to handle EP0 transfers should avoid an unexpected setup packet which might cause a deadlock or confuse the core.
There is still an issue with the cancel_transfers function is still.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27178 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 18:58:09 +00:00
Michael Sevakis
d164678738 Gigabeat S: The forced shutoff voltage level can be lowered a tiny bit it seems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27170 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 07:29:42 +00:00
Tobias Diedrich
31cf6d5013 Enable HID support, clean up usb-drv-as3525.c a bit, add a workaround for weird Linux behaviour (don't have Windows to test with), we don't need to set up USB_PHY_EPx_INFO (OF doesn't bother either).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27164 a1c6a512-1295-4272-9138-f99709370657
2010-06-28 09:46:13 +00:00
Michael Chicoine
908271594a Part of FS#11367 by me: e200v2 enable line out
Should also work for Fuzev1, although not tested. Connect dock after booting Rockbox. Connecting dock with power off will boot into OF.

TODO: enable/disable line out based on dock connection status, add additional devices (Fuzev2 and c200v2)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27162 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 23:27:54 +00:00
Amaury Pouly
48b3de028e as3525v2-usb: rework ep listing&xfers cancelling, implement speed reporting, first try at implementing disconnection
There is still a problem after the set address request which makes the driver working randomly.
I still didn't manage do get a proper disconnect interrupt.
From time to time, when unplugging cable, neither rockbox nor usb driver reports disconnect even.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27161 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 22:06:30 +00:00
Bertrik Sikken
9e86287946 Sansa clip+: prevent an unnecessary OF database refresh when using the wake-up alarm with a uSD card inserted (probably works for other AMSv2 targets too)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27158 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 16:39:50 +00:00
Tobias Diedrich
4b18976496 udelay between command and data write seems to get rid of the display glitches on C200v2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27151 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 03:24:56 +00:00
Tobias Diedrich
04f9aa8e55 Include usb-target.h for usb_remove_int().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27150 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 03:10:20 +00:00
Tobias Diedrich
d538db0259 Add one second timeout for USB enumeration, so we don't get stuck in USB mode if it's just a charger.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27149 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 03:04:44 +00:00
Tobias Diedrich
eefe273ce6 DBOP noise on C200v2 goes away if we precharge long enough.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27148 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 02:50:24 +00:00
Michael Sevakis
e0bb92f00f Should clear up rest of red. Add a required #define in the config for c200. Fix up some preprocessing directives. Hope it's all taken care of now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27141 a1c6a512-1295-4272-9138-f99709370657
2010-06-26 10:37:41 +00:00
Michael Sevakis
c3eca575b6 Fix red. Thought I had REC_SAMPR_DEFAULT covered if not otherwise specified as different than 44.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27140 a1c6a512-1295-4272-9138-f99709370657
2010-06-26 10:17:18 +00:00
Michael Sevakis
b15a523870 e200v1/c200v1: Implement limited samplerate switching. Rates 24kHz and below are being a bear as far as minor crackling at higher amplitude-- leave them out for the time being since no solution is currently evident. 48, 44, 32 (rec rates 24, 22, 16) seem perfectly fine. I'm betting c200 is ok to include because it uses the same setup as e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27139 a1c6a512-1295-4272-9138-f99709370657
2010-06-26 10:07:17 +00:00
Rafaël Carré
d9ae5674a7 lcd-m6sp.c: remove \r
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27130 a1c6a512-1295-4272-9138-f99709370657
2010-06-25 13:32:57 +00:00
Szymon Dziok
83d6ceb304 synaptics: add a small delay in syn_get_data() for PB Vibe. Touchpad doesn't work when build with EABI without it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27117 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 20:29:56 +00:00
Tobias Diedrich
c9bbff571b Add transfer timeout, remove unused buf field
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27115 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 19:14:47 +00:00
Tobias Diedrich
a035ed4cb0 Fix sd-as3525.c build for non-multidrive targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27114 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 19:12:14 +00:00
Tobias Diedrich
90602ae076 Fix the pesky write corruption bug in 4bit mode.
On tx underruns, a write is aborted early, leaving the dma channel active.
We didn't explicitly disable it, so there were still 4 words in the dma
controller fifo, corrupting the retried write.

To chase this bug I added verify after write, if no one sees write errors in
the next week or so this can be removed.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27113 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 18:57:11 +00:00
Michael Sevakis
c2851389b9 Gigabeat S: Use statically initialized channel descriptors. Also, there's no need for them to be in non-cached memory since they're only used on the AP side.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27103 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 08:40:05 +00:00
Michael Giacomelli
103eabd31f Commit FS#11364 by me. Increases the A3525v2 volume range by 7.5dB. Each volume setting gets 7.5dB louder (if you listened before at 0dB, you would have to set it to about -7.5dB to get the same volume). As a result, the new 0dB actually is pretty close to max line level for a full scale voltage, so positive dB may clip, whereas before they did not because the scale was off. Thanks to dfkt and Tim Graf for help figuring this out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27101 a1c6a512-1295-4272-9138-f99709370657
2010-06-24 01:11:51 +00:00
Amaury Pouly
0ff522dbe9 as3525v2-usb: beginning of a real driver. Setup packet and control transfers work. There is still a problem with the set address request. Still much work to be done.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27099 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 22:04:04 +00:00
Amaury Pouly
237d9666cc as3525v2-usb: define number of enpoints correctly, write interrupt handler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27098 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 22:03:31 +00:00
Rafaël Carré
cf9bba7102 sd-as3525.c: get rid of MCI_ARG
We always need to write MCI_ARGUMENT register so if the command expects
no argument just set the function argument to 0
Code is now similar to as3525v2

hint: merging the 2 and/or all the SD drivers would be nice

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27088 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 13:40:25 +00:00
Rafaël Carré
b4ce43f5cc sd-as3525.c: disable wide bus, it corrupts writes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27087 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 13:33:07 +00:00
Rafaël Carré
a937b8ba05 as3525*: initialize cpu_frequency correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27082 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 07:06:06 +00:00
Rafaël Carré
28bcc17dde revert r27044 (which was a revert of r26953 & r26954)
The bug was in playback.c and was fixed in previous commit

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27074 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 04:34:23 +00:00
Rafaël Carré
2494afccc4 playback.c: don't assume cacheline size is 16 bytes
ideally all targets should define CACHEALIGN_BITS, for now we default it
to 16 bytes if it's not specified

Since the buffer is already aligned in playback.c no need to align it
again in buffering.c

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27073 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 04:34:18 +00:00
Jonathan Gordon
6281d8e214 revert r27027,27028, 27071 - need to find a correct way to close font fd's. 27027 caused data aborts, 27028 caused multifont issues after returning from usb
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27072 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 02:57:04 +00:00
Jonathan Gordon
0a776db62a redo r27027 to hopefully fix data aborts when loading a theme
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27071 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 02:03:51 +00:00
Thomas Martitz
a5c9c086b7 Silence the genversion.sh line during compilation a bit (to "GEN version.h").
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27070 a1c6a512-1295-4272-9138-f99709370657
2010-06-23 00:12:31 +00:00
Tobias Diedrich
1396c335ac The mci_delay()s should be unnecessary if we properly tell the controller to wait for the response these commands send back to the host.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27066 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 21:49:33 +00:00
Tobias Diedrich
6e45f87e0f Give 4-bit mode another chance on AMSv1 since other bugs were fixed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27065 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 21:44:42 +00:00
Thomas Martitz
f32bd593c4 Add an advanced build option to force compiling and linking our reduced C library (probably useful for the sim).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27059 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 18:34:03 +00:00
Bertrik Sikken
20d92bb7f3 Fix wrong comments in tuner-clipplus.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27056 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 16:13:16 +00:00
Tobias Diedrich
33faa05a06 Enable USE_ROCKBOX_USB on all AS3525v1, confirmed to work on C200v2 and E200v2, I'm confident it should work on the others too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27055 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 15:49:22 +00:00
Tobias Diedrich
826508029b Unconditionally boost cpu and remove CNAK retry panic
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27054 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 13:58:34 +00:00
Tobias Diedrich
7ce6802b48 Remove '\n' from panicf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27053 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 13:44:10 +00:00
Tobias Diedrich
f80c853c7e Threshold seems to affect the CNAK retries needed.
Maybe it's not possible to change NAK while the DMA engine is active.
Burst probably can't hurt.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27052 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 13:41:57 +00:00
Tobias Diedrich
bf7e632e86 Hardware too smart can complicate things... We have to intercept the usb_core reply to SET_CONFIGURATION.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27051 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 13:27:58 +00:00
Tobias Diedrich
d518359151 "lsusb -vv" now works too, but the real bug is probably still in here somewhere.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27048 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 10:33:05 +00:00
Rafaël Carré
5a44e43870 revert r26953 + r26954
test_disk says everything is alright but playback is buggy, especially
when playing lossless files

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27044 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 09:02:56 +00:00
Michael Sevakis
08d09e678f Sanyo lv24020lp FM: Improve frequency measurement on PP thus improving initial frequency setting. Properly account for IF when tuning FM oscillator (this worked poorly before but appears to work as expected now -- aka. works for me). Not sure what this will do to iAudio7 or Cowon D2 but if they can implement a good duration measurement, they should do so or use the internal timer if possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27042 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 07:27:34 +00:00
Tobias Diedrich
072c0a15cb usb_storage seems to be working now, enable USE_ROCKBOX_USB on C200v2, other AMSv1 untested.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27039 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 05:46:54 +00:00
Michael Sevakis
831707d991 lv24020lp tuner: On PP targets (c200/e200), use the atomic GPIO bitwise macros for the interface since it shares GPIOH with the clickwheel interrupt.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27038 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 04:00:34 +00:00
Michael Sevakis
94c23e167c e200v1: What's the wheel deal? Rework wheel code to make it a bit more straightforward and increase control a bit. Change button interrupt to clear after bitflip. Use atomic GPIO bitwise macros for everything.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27037 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 03:11:45 +00:00
Bertrik Sikken
2062270964 Apply FS #11423 - Use udelay in AMS driver for FM radio I2C
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27035 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 21:41:07 +00:00
Amaury Pouly
4ed8306121 as3525v2-usb: definitely switch to this clock handling, it is the good one
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27033 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:25:50 +00:00
Amaury Pouly
7ef8b0ec4b as3525-usb: change clock handling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27032 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:25:46 +00:00
Amaury Pouly
2a25910541 as3525v2-usb: add support to derive usb clock from pllb, correct endpoint listing, simplify a few things.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27031 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:25:37 +00:00
Amaury Pouly
7d46f4e251 as3525v2-usb: add a few missing define for completeness, finish reorganization of the header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27030 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:25:31 +00:00
Michael Sparmann
36eeecf69b Allow UI fonts to be unloaded (needed for FS#11428)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27027 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:18:52 +00:00
Michael Sevakis
bd380b3993 iPod 3G: Ensure wheel repeats are not generated unless the same keycode is posted more than once in a row, regardless of velocity. Remove 'was_hold' from handle_scroll_wheel calls since the call is never reachable with was_hold being true. Just clear pending ints in one spot after setting levels. Init prev_scroll properly again in 3g case.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27025 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 18:47:42 +00:00
Thomas Martitz
4e26db3f35 I shouldn't have touched backlight.c at all :\ Also fix the yellow in peakmeter.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27022 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 17:26:50 +00:00
Thomas Martitz
637010541a Fix yellows and reds (one was a type, the other was rather incorrect before already)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27021 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 17:10:22 +00:00
Michael Sparmann
b59d6642e2 Fix ata_idle_notify on iPod Nano 2G
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27020 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:54:25 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Bertrik Sikken
02e04585bd Fix FS #10474 - FM tuner on Gigabeat S fails to tune last frequency on start
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27018 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:45:15 +00:00
Jonathan Gordon
e7a4b96f6e change the D2 bootloader to boot rockbox by default. boot OF is hold is on or usb is connected
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27007 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 10:51:39 +00:00
Tobias Diedrich
9297a02d49 mps depends on endpoint, I wonder why gcc didn't warn about i being used uninitialized...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27005 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 06:22:36 +00:00
Frank Gevaerts
2b0ef19900 Don't autogenerate version.c. Just version.h is enough
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27003 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 00:18:29 +00:00
Frank Gevaerts
41167f0e7b Tell version.sh where to look for the svn repository
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27001 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 00:02:36 +00:00
Frank Gevaerts
06865475af Add some magic to force make to regenerate version.h properly when the revision changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27000 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 23:54:21 +00:00
Michael Chicoine
17a2f9d8d2 Revert r26350 - fixes FS#11421
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26997 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 18:10:15 +00:00
Michael Sparmann
d41612ff03 Remove PROC_NEEDS_CACHEALIGN for Nano2G again, it's only needed for PP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26996 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 17:35:02 +00:00
Michael Sparmann
27af11af5e Fix misspelled STORAGE_WANTS_ALIGN in s5l8700/system-target.h. Also add PROC_NEEDS_CACHEALIGN.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26985 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 12:35:29 +00:00
Michael Sparmann
43fa52aaca Also define STORAGE_ALIGN_ATTR if STORAGE_WANTS_ALIGN isn't defined
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26984 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 12:34:08 +00:00
Michael Sparmann
7caf78848e Use STORAGE_ALIGN_ATTR for instead of hardwired alignment in the Nano2G FTL and NAND driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26983 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 12:29:18 +00:00
Michael Sparmann
3b97fbd91e Add a STORAGE_ALIGN_ATTR macro, similar to CACHEALIGN_ATTR, for consistency
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26982 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 12:23:57 +00:00
Rafaël Carré
ad375c0bbc Revert r26937 (as3525v2: use 248MHz PLL)
This caused mounting of µSD to fail on Fuzev2 in some cases, although
the card is detected properly
This might be the cause of playback glitches (more frequent for lossless
files) on clipv2
Trying to set the main PLL at 384MHz and FCLK at 240MHz didn't work, so
there might be some problems not understood yet

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26979 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 02:01:03 +00:00
Amaury Pouly
b40c300d59 as3525v2-usb: fix yellow about unused functions (they can be resurrected from an older revision if needed)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26976 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:49:06 +00:00
Amaury Pouly
485acfba3f as3525v2-usb: remove useless macro
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26973 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:40:16 +00:00
Amaury Pouly
04ae1db331 as3525v2-usb: end of massive renaming
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26972 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:40:07 +00:00
Amaury Pouly
19b3348656 as3525v2-usb: major code renaming
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26971 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:57 +00:00
Amaury Pouly
f9242c06d0 as2525v2-usb: coherence fix
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26970 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:51 +00:00
Amaury Pouly
b5266ce3e5 as3525v2-usb: simplify register definitions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26969 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:45 +00:00
Amaury Pouly
1ef8cd769d as3525v2-usb: tweaks things but still doesn't work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26968 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:38 +00:00
Amaury Pouly
c1e454d819 as3525v2-usb: rework thing, simplify
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26967 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:32 +00:00
Amaury Pouly
3603f24370 as3525v2-usb: reorganize thing, don't renable ep0 on enum because it's already done
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26966 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:28 +00:00
Amaury Pouly
f83328c7b4 as3525v2-usb: don't disable interrupts on bus reset (that was for debug purpose)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26965 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:38:45 +00:00
Michael Sevakis
910101d613 iPod 3G: Add a small check to ensure backlight never gets stuck off if wheel is inactive for too long (because it limits the number of backlight_on calls).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26964 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:36:54 +00:00
Michael Sevakis
b7a8935dff iPod 3G: Implement wheel acceleration and repeats. Chosen settings feel pretty decent but can be tweaked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26962 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:09:37 +00:00
Rafaël Carré
4329512017 fix r26953: use physical address for DMA buffer, also for IRAM
AMSv2 and AMSv1 lowmem put the codec buffer in IRAM so we need to adjust
the address : AS3525_PHYSICAL_ADDRESS macro will do just that

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26954 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 05:55:18 +00:00
Rafaël Carré
ffc7323ec3 sd-as3525*: handle aligned transfers without memcpy()
test_disk shows 1MB transfers are up to 3 times faster
not much difference for 1 or 8 sectors at a time
define STORAGE_WANTS_ALIGN to use the fast path when possible

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26953 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 04:55:10 +00:00
Rafaël Carré
9e3f473492 FS#11417 by Joe Balough: fix audio/tuner on philips hdd6330
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26952 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 03:51:57 +00:00
Tobias Diedrich
23f6bc9b3d Of course there's no mdelay on c200(v1), so just use udelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26951 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 03:04:22 +00:00
Tobias Diedrich
b393f091c2 Include system-target.h for mdelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26950 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 02:52:13 +00:00
Tobias Diedrich
aa0736e951 Use mdelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26949 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 02:36:10 +00:00
Tobias Diedrich
1510777266 Add mdelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26948 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 02:34:56 +00:00
Tobias Diedrich
06fa365fef Comment on mps sizes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26947 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 02:29:24 +00:00
Rafaël Carré
1d5cc0a505 usb-drv-as3525: set bulk max packet size according to speed
only dump/clean dcache for the needed range

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26946 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 00:26:36 +00:00
Tobias Diedrich
62622277dc With a max delay of 17 seconds before overflow happens limiting to unsigned short shouldn't be necessary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26939 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 20:04:16 +00:00
Rafaël Carré
3a0c6fb34b as3525v2: use 248MHz PLL (reverse engineered by bertrik)
- cpufreq is now the same than AMSv1
- audio playback frequency should be more accurate
- adjust pclk (24.8MHz on clipv2/clip+, 41.333..MHz on fuzev2) : it is
  still lower than the AMSv1 which use 62MHz on every model

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26937 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 19:56:29 +00:00
Rafaël Carré
61c90fbf3f as3525: cache first read of enrd0 register
We need it for correct charger detection if we boot with charger plugged
because there is no edge interrupt

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26936 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 19:47:58 +00:00
Rafaël Carré
7a9033179f as3525*: make udelay() be a simple busy loop
it achieves all the requirements, work fine on c200v2, and is much simpler

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26933 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 19:14:08 +00:00
Bertrik Sikken
ae64b59afa as3525v2: document PLL bits and show current PLL frequency in the debug menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26930 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 18:32:38 +00:00
Rafaël Carré
3e690ac60d arm/crt0.S: comment why the reset vector doesn't use absolute addressing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26929 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 18:31:14 +00:00
Rafaël Carré
b3e27a80e3 fix endif wrongly removed (should have been moved) in r26927
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26928 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 17:47:06 +00:00
Rafaël Carré
23387e2759 as3525*: enable USB stack in bootloader (but not USE_ROCKBOX_USB yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26927 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 17:39:22 +00:00
Rafaël Carré
fd715fa95c as3525*: enable MMU in bootloader
Reserve 1MB of DRAM for loading rockbox and use the rest as BSS
Write sdram setup in assembler and move it to a separate file, together
with MMU init code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26926 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 17:33:51 +00:00
Rafaël Carré
7e99ef8027 rolo is only needed in SH bootloaders, not other bootloaders
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26924 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 14:59:20 +00:00
Tobias Diedrich
2813d50acf C200v2 lcd controller still gets stuck sometimes, do a full controller init in lcd_enable()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26920 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 14:11:41 +00:00
Tobias Diedrich
68e2023184 Enable display and backlight on panic.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26917 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 13:45:24 +00:00
Michael Sevakis
25701c5b2d Squeeze down the PP5002 cache routines a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26909 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 06:54:58 +00:00
Tobias Diedrich
8260a79689 Avoid ifdefs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26908 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 05:07:00 +00:00
Tobias Diedrich
fe47966f0e Move usb-drv-as3525 defines into header file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26907 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 04:55:55 +00:00
Michael Sevakis
d9c9fe305c For multiprocessor targets, do the thread_exit routine such that we don't need to rely on the compiler's good graces to have stack switching be reliable. Only needs a few asm instructions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26906 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 03:10:18 +00:00
Rafaël Carré
b812465bff as3525: bootloader USB mode
not working yet : an empty drive is detected
won't link on fuzev1: drivers allocated in usb_storage.c are too large

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26905 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:39 +00:00
Rafaël Carré
6470a9ffd1 sd-as3525: enable writing, sd_enable() and card_get_info_target() in bootloader
They will be needed for USB

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26904 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:34 +00:00
Rafaël Carré
48313f58e3 usb-drv-as3525: use udelay() and not a C busy loop
Remove redundant "? true : false"

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26903 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:29 +00:00
Rafaël Carré
b43e15fe57 usb-drv-as3525: build with LOGF_ENABLE undefined
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26902 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:24 +00:00
Michael Sevakis
6020075551 Fix red. Need 'inline' with 'always_inline'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26899 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 20:29:59 +00:00
Michael Sevakis
2b640ba4b8 Switch iPod 3G to use EABI toolchain. Make necessary threading changes to avoid use of stack after switching to idle stack.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26898 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 20:15:58 +00:00
Tobias Diedrich
69028d5d31 sd-as3525 was calling dma_release() without calling dma_retain() first, if
no card is in the sd slot.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26896 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 19:14:42 +00:00
Tobias Diedrich
8e8c8dce51 Either the removal of the unneeded flush or the additional epn_info setup
has made it more reliable.  It seems to basically work now, but
somehow when Linux tries to read the partition table and it gets the
"scsi read10" command, the storage_read_sectors(drive=0, start=0, count=8)
call never returns...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26894 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 17:50:48 +00:00
Rafaël Carré
c0bd4173aa Make sure files which aren't windows-specific use \n line endings only
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26893 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 16:59:51 +00:00
Rafaël Carré
ba07b2055c AMSv2 RTC: no need to write to RTC_WAKEUP register
The wakeup alarm will be disabled when powering off anyway
OF database refresh of µSD now only happens if the wakeup was
explicitely enabled
There still seems to be a freeze problem when powering off (sometimes)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26875 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 05:28:38 +00:00
Rob Purchase
6c94ce590d Re-write the Telechips I2C delay routine in assembler to stop the compiler optimising it away. Tested with EABI and non-EABI compilers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26872 a1c6a512-1295-4272-9138-f99709370657
2010-06-16 21:03:57 +00:00
Bertrik Sikken
ff8e76e9e5 The mystery FM chip in some Sansa Clip+ players has been identified as a RDA5802, so rename files and functions. Also fix several bugs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26871 a1c6a512-1295-4272-9138-f99709370657
2010-06-16 20:29:08 +00:00
Bertrik Sikken
da4089d836 FM clip+ radio: enable stereo indication
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26867 a1c6a512-1295-4272-9138-f99709370657
2010-06-16 06:53:14 +00:00
Rafaël Carré
46e1231a44 FS#11402 by me : sd_enable for Sansa AMSv2
Gets a bit more battery life
Adjust current usage, it was a bit too low for Clipv2/Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26866 a1c6a512-1295-4272-9138-f99709370657
2010-06-16 06:08:04 +00:00
Bertrik Sikken
fcea117d21 Support for mystery FM chip in some Sansa Clip+, FS #11403 by me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26864 a1c6a512-1295-4272-9138-f99709370657
2010-06-15 20:57:48 +00:00
Maurus Cuelenaere
a8c35f4d56 SDL target: remove mouse polling and replace it with an event-based mechanism, this makes touchscreen on the sim much smoother
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26860 a1c6a512-1295-4272-9138-f99709370657
2010-06-15 18:33:56 +00:00
Marcin Bukat
a316ebe65b HD200 - use line transfers in lcd_grey_data. This gives ~25% speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26856 a1c6a512-1295-4272-9138-f99709370657
2010-06-15 10:41:43 +00:00
Amaury Pouly
1d4dc9b3b0 cowond2: make sure the i2c delay loop code is actually generated by the eabi compiler.
This fix adds one nop instruction per loop (there were 3 before) and so i2c will be slightly slower, but this hardly a problem.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26850 a1c6a512-1295-4272-9138-f99709370657
2010-06-14 23:01:30 +00:00
Marcin Bukat
cc6747ca5b HD200 - make USB bridge handling more correct
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26843 a1c6a512-1295-4272-9138-f99709370657
2010-06-14 10:42:41 +00:00
Rafaël Carré
a8c073216d cowond2: make the code consistent with the comments and really clear the bits
Untested on target

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26832 a1c6a512-1295-4272-9138-f99709370657
2010-06-13 14:00:30 +00:00
Rafaël Carré
12e85b609f __div0: give the address of the instruction calling division to UIE
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26820 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 17:15:44 +00:00
Rafaël Carré
96d164f26d ARM: __div0() takes no argument
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26819 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 17:15:39 +00:00
Rafaël Carré
646a999e35 Sansa AMS: call the exception handler with the correct address when the exception happened in Thumb state
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26818 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 16:55:51 +00:00
Amaury Pouly
50e6e896ad usb-as3535v2: add more defines, reorganize/simplify things, add code for interrupt handling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26810 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 05:26:23 +00:00
Jens Arnold
f053b0d606 Port greylib blitting optimisation to MPIO HD200. ISR speedup is ~10%; further speedup should be possible by using line transfers for accessing the greylib buffers. Thanks to Marcin Bukat for testing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26793 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 19:53:17 +00:00
Thomas Martitz
0cca15c6d0 Get rid of the STATICIRAM hack for eabi builds.
Once all targets are converted we should probably remove all traces of it entirely.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26791 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 19:42:21 +00:00
Michael Sparmann
f2e048493e Remove an unneccessary long call from the S5L8700 PCM FIQ handler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26781 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 16:20:46 +00:00
Michael Sevakis
60f843bf18 Configure Gigabeat S with EABI compiler by default. Implement the INIT section that this enables (due to selective need for long calls). Remove pcm_postinit from INIT section since it's asynchronous. Disable strict aliasing on SPC codec for now just to shut it up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26779 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 14:39:35 +00:00
Rafaël Carré
d5a27c2fb1 pcm as3525v1: revert 26761 to use faster ASM code
Fix the asm constraints to mark the left output variable as earlyclobber
Thanks to amiconn

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26777 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 14:04:48 +00:00
Michael Sevakis
9a2b1d612c s5l8700 PCM: Always call dma_callback. (fix r26253 remnants)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26775 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 13:11:00 +00:00
Rafaël Carré
7c055d9648 ata-creative-zvm: make sure return value is defined
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26771 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:52:50 +00:00
Marcin Bukat
2d788744ae HD200 - clean up usb related functions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26768 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:41:33 +00:00
Marcin Bukat
2f7bd4d993 HD200 - power_init() rework based on latest power consumption measurements
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26767 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:41:29 +00:00
Marcin Bukat
b45a2d433b HD200 - small cleanup in button_init_device()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26766 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:41:24 +00:00
Rafaël Carré
71c9521a87 pcm-pp: revert r26756
FIQ/IRQ handlers can't be built with -mthumb, and the thumb case was
buggy anyway (spotted by jhMikeS) : pc offset hadn't been adjusted

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26765 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:25:16 +00:00
Rafaël Carré
2f7bb96c3d as3525v1: drop the asm version of mono2stereo
When building with eabi gcc, 2 variables are assigned the same register
This might be a bug in the constraints, but it's just simpler to use C,
even at the cost of 1 cycle per loop

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26761 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 06:39:32 +00:00
Rafaël Carré
95ef367854 drop 'req' from gas macro, not available in binutils 2.16
The build will error out anyway if regs are left blank

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26758 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 04:50:51 +00:00
Rafaël Carré
45c7498f59 FS#11335 by me: make ARM assembly functions thumb-friendly
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+

Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 04:41:36 +00:00
Rafaël Carré
5fea005610 arm/memset: don't use ldm to load pc when it has been stored with str
It looks nicer to keep str/ldr and stm/ldm in pairs

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26754 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 03:54:47 +00:00
Rafaël Carré
c75b713bef c200v2: reduce the plugin even further
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26749 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 19:30:59 +00:00
Rafaël Carré
2c9f4fad72 c200v2: reduce plugin buffer size nearly to minimum
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26745 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 18:28:35 +00:00
Michael Sevakis
05ca8978c4 Clean unused stuff out of thread.h and config.h and reorganize thread-pp.c to simplify the preprocessor blocks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26743 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 17:31:45 +00:00
Jonathan Gordon
863891ce9a Enable the hotkey feature on the touchscreen targets who now have a hotkey touchregion settable in the wps (todo: touchregions in the sbs!)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26742 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 15:05:14 +00:00
Rafaël Carré
0ae6f70fdd avoid dereferencing void** to remove warnings when building with -Os
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26733 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 02:26:09 +00:00
Rafaël Carré
70b9ab484f meizu m6sl: load code from IRAM, not FLASH (it eases debugging)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26730 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 18:13:36 +00:00
Jonathan Gordon
10e24d22c4 rename HAVE_PICTUREFLOW to HAVE_PICTUREFLOW_INTEGRATION to make it more clear what it is needed for
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26716 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 08:51:29 +00:00
Jonathan Gordon
881a5b9759 reclaim most of the delta from the pictureflow commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26715 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 08:14:41 +00:00
Rafaël Carré
1596128296 arm/crt0.S: s58l* don't use this file, no need for 'DFUC' string
adjust vectors offsets

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26709 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 23:26:21 +00:00
Rafaël Carré
e907a96d71 make meizu-m6sl bootloader build
assume 512 bytes sector size as reported by dmesg

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26700 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 18:07:59 +00:00
Rafaël Carré
82e40076d1 CPU_PP implies CPU_ARM is defined
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26690 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 14:24:07 +00:00
Marcin Bukat
12fa759aad HD200 - fix lcd power save command (not used currently)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26684 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 09:44:17 +00:00
Jens Arnold
fe0334394f Fix byte order for Mini G2, and fix comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26675 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 21:16:59 +00:00
Rafaël Carré
9730755fc7 Remove CORELOCK_SWAP (unused since r16981)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26664 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 16:23:21 +00:00
Rafaël Carré
4eea33e27d as3525v1: fix r26444 which broke mic recording
preventing the DMA callback to advance in the recording buffer is not
enough in pcm_rec_dma_get_peak_buffer()
we need to prevent it interrupting us while we are copying the left
channel data into the right channel

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26663 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 16:17:32 +00:00
Robert Kukla
be8da842b8 fix typo in r26245 (I guess not many people use rtc_alarm with gigabeat f)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26635 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 17:37:13 +00:00
Jens Arnold
a225ee9867 Use atomic GPIO manipulation where appropriate.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26632 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:50:26 +00:00
Rafaël Carré
5c9e76a1e0 sd-as3525v2: check the (supposedly) card data line for business when writing
Fix panics when deleting large files from µSD
Tested on problematic Transcend 4GB Class 6

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26631 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:47:30 +00:00
Frank Gevaerts
a1a9084160 Don't initialise disk_* for the sim, and make sure disk.c isn't built at all
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26630 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:40:40 +00:00
Frank Gevaerts
d39ac31877 Make disk_init() non-static again. I forgot to look at the bootloaders
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26629 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:28:13 +00:00
Frank Gevaerts
9c43b2ce17 Remove card_enable_monitoring() and use a mutex instead. The card_enable_monitoring() method actually didn't eliminate the possible race conditions it was meant to fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26627 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:20:47 +00:00
Torne Wuff
4a2cab6aa1 USB charging support for iPods.
This adds proper full speed charging support for iPod 4G, Color, Mini 1G, Mini 2G, Nano 1G, and Video. Nano 2G already has support, so now all ipods charge (except 1G-3G whose hardware doesn't support USB charging).

USB charging defaults to on, but will only charge at full speed from a USB host. To charge from an AC charger, you need to set the USB charging mode to "force". It may be possible to detect AC chargers in a future version, at least on some models.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26626 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:01:19 +00:00
Thomas Martitz
19ac3453e0 Fix most reds, I have no idea what's wrong with the gigabeats (yet).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26619 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 10:27:14 +00:00
Thomas Martitz
59d2603c41 Move target-simulating specific keymaps out of button-sdl.c into a file per
keypad.

Copyright is restored for each keymap according to git blame.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26615 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 09:11:52 +00:00
Jens Arnold
860451927b Put an #ifdef in the technically correct place. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26599 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 22:04:14 +00:00
Frank Gevaerts
a0557b23f0 remane hotswap.* to sdmmc.*. The contents have nothing at all to do with hotswapping things
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26598 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 21:12:16 +00:00
Frank Gevaerts
8bd527eaa0 Fix wrongly nested commenting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26597 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 21:09:11 +00:00
Frank Gevaerts
0d8771b83a Fix EOL style
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26596 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 21:08:00 +00:00
Torne Wuff
2eb0142587 New USB charging system, part 2 - "Force" charging mode
Enable support for the "force" mode of USB charging. This should work on Gigabeat S and Nano2g (and any other future target which has a RB usb stack and supports charging) - if a host connection is not detected within 10 seconds of USB insertion, assume that the connected device is an AC charger and charge anyway, if the user has specified "force" as the mode.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26594 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 20:43:30 +00:00
Thomas Martitz
4477902738 Mini2440: Fix simulator. It's touchscreen so there's button clashes when trying to map the 6 hw buttons as well. Just remove that for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26590 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 17:09:13 +00:00
Bertrik Sikken
20856e1c10 Move delay a bit in dbop_read_input for ams sansa targets using the DBOP port for button readout
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26585 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 15:57:32 +00:00
Jens Arnold
57dcfe0eee Implement backlight brightness for iPod G4 greyscale and iPod Color/Photo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26573 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 11:48:12 +00:00
Torne Wuff
991e92fd3d New USB charging system, part 1 - API rework and user-visible setting update
1) "Charge during USB connection" option is now tristate: off/on/force. Currently "force" behaves just like "on", but in future it will allow charging even when it was not possible to positively identify a charger.

2) The H300 code has been adjusted to use the new system but there should be no functional differences, it already had the USB charging option and its USB/charging support is hardware controlled.

3) The Gigabeat S code has been adjusted to use the new system: the player now has the USB charging option, which wasn't previously available. The player will only charge at full speed when allowed to do so by a working USB host, so USB AC adapters won't work very well; however, they didn't work before either, so this is not a change in functionality.

4) The iPod Nano 2G code has been adjusted to use the new system: it already had the USB charging option. Using a USB AC adapter won't charge at full speed any more (it did before) - the old implementation was equivalent to the not-yet-implemented "force" option in the new system.

No other target should be affected. Support for the "force" mode and support for at least some other iPod models will come in a future commit :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26570 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 10:05:27 +00:00
Jens Arnold
c4f88526c7 Port greylib blitting optimisation to clipv2 and Clip+. Actual speedup can't be measured because something is fishy with the cpu clocking (calculated load is negative??)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26562 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 23:12:33 +00:00
Jens Arnold
081bda8ab2 Port greylib blitting optimisation to clipv1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26557 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 21:12:06 +00:00
Tobias Diedrich
3f44f1c151 Using void instead of unsigned char fixes the strict-aliasing warnings with -Os and gets rid of some casts. And we already use void pointer arithmetic in several other places.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26518 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 18:29:06 +00:00
Rafaël Carré
bf3e50b89b sd-as3525v1: do not disable peripheral clocks in sd_enable()
(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-03 13:55:42 +00:00
Michael Sevakis
a34860524b Fix PP5002 builds. Somehow an #else went missing along the line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26480 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 12:56:05 +00:00
Michael Sevakis
555ad6710f Threading: Split processor support code into respective target files. C 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-02 12:45:36 +00:00
Tobias Diedrich
253cfbcd47 Prevent a race condition when writing VIC_INT_EN_CLEAR. Should be very difficult to hit in this case though...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26451 a1c6a512-1295-4272-9138-f99709370657
2010-06-01 19:29:01 +00:00
Rafaël Carré
df34a4767f as3525 ascodec: make internal functions statics and remove some details for 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-01 10:16:10 +00:00
Rafaël Carré
dc32a5b14c as3525 PCM: implement locking like done for the gigabeats in r26341
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-01 09:39:08 +00:00
Rafaël Carré
acb524e51a sd-as3525v1: set up bank selection data outside of the loop
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26441 a1c6a512-1295-4272-9138-f99709370657
2010-06-01 03:50:52 +00:00
Rob Purchase
a6c1b54d46 Enable IRAM on TCC7801 (Cowon D2) for a 6-12% speedup in codecs that use it, and a small increase in battery life.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26436 a1c6a512-1295-4272-9138-f99709370657
2010-05-31 21:00:25 +00:00