Commit graph

440 commits

Author SHA1 Message Date
Michael Sevakis
897c643991 Gigabeat: properly confined framebuffer copies and a few pendantic changes to lcd_yuv_blit. No difference full screen but quite a speedup to copy only the required bit: 534->1062 fps for 1/4 screen update using test_fps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13821 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 17:10:22 +00:00
Michael Sevakis
1bbd58e2d8 e200 lcd mashup: 1) Enable flipped and inverted mode. 2) Fully enable all power options so that LCD driver IC's visible display is shut down with backlight and make the Sleep option available 3) Better framebuffer copy routine in assembly that confines updates to the specified rectangle _and_ is faster than memcpy 4) Some other offhand changes out of preference.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13818 a1c6a512-1295-4272-9138-f99709370657
2007-07-08 13:02:52 +00:00
Jens Arnold
c6437185b7 Stop the crashes on some PP5022C targets (iPod Video, perhaps also Nano) introduced by the recent clock setup changes. Looks like some revisions of the chip don't reset the PLL_locked bit immediately after PLL setup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13810 a1c6a512-1295-4272-9138-f99709370657
2007-07-07 05:58:29 +00:00
Michael Sevakis
68f975be85 e200: Better power_off to lock the system down while waiting for PMU to cut power.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13809 a1c6a512-1295-4272-9138-f99709370657
2007-07-07 03:51:50 +00:00
Michael Sevakis
77789f0f8d Gigabeat: oops, forgot to set correct timer prescaler limit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13807 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 22:08:07 +00:00
Michael Sevakis
4ae87c8b8a Gigabeat: Add timer functionality. Rework tick timer setup to be exactly 100Hz. Metronome should work now but some pcm changes are needed to have faster tocks work correctly (in the works).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13806 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 21:36:32 +00:00
Robert Keevil
7785d6949e Temporary fix for FS#7257 and FS#7261 - playback resumes while paused when seeking
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13795 a1c6a512-1295-4272-9138-f99709370657
2007-07-05 10:19:06 +00:00
Michael Sevakis
391e944b8e Get rid of yellow plus an optimization I should have seen in the first place.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13794 a1c6a512-1295-4272-9138-f99709370657
2007-07-05 08:21:10 +00:00
Michael Sevakis
60efd38bbe Gigabeat: Use vectored IRQ mode interrupts and add a trap for unhandled ones.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13792 a1c6a512-1295-4272-9138-f99709370657
2007-07-05 07:14:24 +00:00
Jens Arnold
7b861eca95 More PP502x clock setup rework. This should fix the freezes on PP5020 once and for all. Enabled clock scaling for H10. * CPUFREQ_MAX changed to 78MHz * To be cleaned up soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13767 a1c6a512-1295-4272-9138-f99709370657
2007-07-03 00:42:42 +00:00
Magnus Holmgren
7d5deaa5a0 H1x0: Increase delay during button reads. Hopefully fixes the scroll down problem (see forum thread 11081.0).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13765 a1c6a512-1295-4272-9138-f99709370657
2007-07-02 18:47:02 +00:00
Jens Arnold
fe23dc8f15 Improved CPU clock setup for PP502x. PP5020 and PP5022 are not register compatible here, so define the PP5022 targets properly, and introduce a CPU_PP502x macro for easier family check. Improves stability on PP5020 (less freezing, tested with Mini G1) and reduces clock change penalty (500us on PP5020; uses the relock bit on PP5022).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13763 a1c6a512-1295-4272-9138-f99709370657
2007-07-02 05:16:40 +00:00
Michael Sevakis
1167e3c72f Accept FS#7134 - Sansa: external sd card support by Antonius Hellmann with some tweaks. All testers have given the green light. (Now for the RED ?? ;).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13741 a1c6a512-1295-4272-9138-f99709370657
2007-06-30 02:08:27 +00:00
Michael Sevakis
070417d152 Forget all the nonsense with C delay loops. 'volatile' on the variable makes bloated code and a volatile, blank asm block inside may or may not be optimized out. Use asm delay loops instead for Coldfire. Radio i2c driver also needs NACK after reading last tuner byte. Get the volatile off the Ondio loops (not needed here now). Maybe this is straightened out now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13725 a1c6a512-1295-4272-9138-f99709370657
2007-06-27 03:11:49 +00:00
Michael Sevakis
126d81ecf5 Fix up the ACK generation in the Coldfire i2c driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13722 a1c6a512-1295-4272-9138-f99709370657
2007-06-26 23:53:32 +00:00
Michael Sevakis
7fb0f71668 Gigabeat: Replace generic i2c driver with one that uses the CPU's builtin controller. Add some clocking registers to 'View I/O ports'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13720 a1c6a512-1295-4272-9138-f99709370657
2007-06-26 02:11:30 +00:00
Nils Wallménius
07b7877809 Simple coldfire assembly strlen() function, 20-25% faster than the c
version. Move function out of iram as it turns out that makes it 
slightly faster.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13713 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 20:21:37 +00:00
Michael Sevakis
0fd69f6cbb Gigabeat: Turn off more devices that aren't needed or not needed right away. Tests ok on my unit. Will check currents later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13711 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 13:31:21 +00:00
Michael Sevakis
f783617cbc Gigabeat: Audio tweak mishmash - Make sure zero crossing detection times out so the volume always gets updated. Make sure i2s is off at boot and set to proper mode before audio hardware is initialized. Make pausing pcm instant instead of waiting until the end of the current DMA transfer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13706 a1c6a512-1295-4272-9138-f99709370657
2007-06-24 20:41:27 +00:00
Marcoen Hirschberg
df437152e2 only go into USB mode when the cradle is powered
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13695 a1c6a512-1295-4272-9138-f99709370657
2007-06-23 18:25:41 +00:00
Nils Wallménius
8dc1a67bba Fix iriver H100 i2c driver which was broken by the switch to build with -Os. Fixes FS#7316 and FS#7321
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13676 a1c6a512-1295-4272-9138-f99709370657
2007-06-19 20:39:30 +00:00
Michael Sevakis
8768ee82cc PP5024 (e200): There's more than one HI IRQ bit for enabling GPIO IRQs. Port A uses bit 32 and port F,H use bit 33. Please add futher GPIOx_IRQ/MASK defines and associations to pp5024.h as they are discovered. I guess the SD card patch will need a small update to properly detect insertion.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13647 a1c6a512-1295-4272-9138-f99709370657
2007-06-17 00:07:23 +00:00
Christian Gmeiner
f50bd1151a now back to green
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13624 a1c6a512-1295-4272-9138-f99709370657
2007-06-13 06:49:37 +00:00
Michael Sevakis
2d48d0ffa6 Straighten out some audio path APIs and misc. audio stuff. Having recording is not a prerequisite to having input/output source selection which is probably most useful when adding a audio input features like FM to a new port without forcing recording to be implemented first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13599 a1c6a512-1295-4272-9138-f99709370657
2007-06-08 23:42:04 +00:00
Michael Sevakis
7a16069507 e200: Better sync of display enabling and display update. The display would be remain stale after being turned back on with no screen activity. Block out the fiddling with DMA when writing to driver framebuffer. Melts seem too rare to catch now. There seems to be no significant advantage from an appearance point of view to be meddling around with the transfer anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13582 a1c6a512-1295-4272-9138-f99709370657
2007-06-07 06:11:03 +00:00
Jonathan Gordon
9e7b3ca6c4 increase the SD stack.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13580 a1c6a512-1295-4272-9138-f99709370657
2007-06-07 03:24:10 +00:00
Michael Sevakis
21a4a87ca2 Accept FS#7178 - Sansa e200 FM tuner support by Ivan Zupan. Do the needed integration work into recording and the AS3514 audio driver. Do a little AS3514 fiq_record tweak to have it all work nicely from the start.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13573 a1c6a512-1295-4272-9138-f99709370657
2007-06-06 19:23:48 +00:00
Michael Sevakis
bcb8a884ee e200: Add recording. Just from MIC right now and FM integration will happen soon. Most every bit of weirdness is nescessary and no problems seem to exist that the retailos doesn't exhibit too (namely noise when LCD is on when recording from MIC).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13557 a1c6a512-1295-4272-9138-f99709370657
2007-06-05 07:03:30 +00:00
Karl Kurbjun
f863ba671e Commit part of FS7113: This adds proper LCD initialization to the gigabeat thanks to Alex Gerchanovsky
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13552 a1c6a512-1295-4272-9138-f99709370657
2007-06-04 14:07:26 +00:00
Michael Sevakis
ebe67b28e3 e200: Update the button init code to be more correct for using GPIO IRQs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13539 a1c6a512-1295-4272-9138-f99709370657
2007-06-03 15:17:01 +00:00
Michael Sevakis
5c32faad43 e200: Finally use GPIO IRQs for the buttons...it's IRQ enable bit 33 afterall and verified independently. There shouldn't now be a need to add tick tasks to monitor GPIO level status in other code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13538 a1c6a512-1295-4272-9138-f99709370657
2007-06-03 14:31:42 +00:00
Michael Sevakis
13067f6c71 e200: Use clocking set up by loader and skip setting the values for now. Change a DMA related register value and leave another alone. Seems to stop the melting screen and gives a speedup especially to video and graphics. If the former isn't quite fixed, the latter definitely works. Please don't enable frequency scaling for now as that will clobber the register values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13531 a1c6a512-1295-4272-9138-f99709370657
2007-06-01 01:05:57 +00:00
Michael Sevakis
31df21c4f9 Bring buttons back to the e200 bootloader?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13493 a1c6a512-1295-4272-9138-f99709370657
2007-05-25 22:41:44 +00:00
Jens Arnold
46b634fd57 Fix typo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13486 a1c6a512-1295-4272-9138-f99709370657
2007-05-23 21:40:54 +00:00
Magnus Holmgren
7b3abf292f Allow ColdFire targets to be buildt with GCC >= 4.1.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13481 a1c6a512-1295-4272-9138-f99709370657
2007-05-23 18:11:55 +00:00
Michael Sevakis
e7075db2a7 e200: Use 16-16 L-R pairs when writing to the TX FIFO. Kill the channel swapping and clicks. Reduce number of FIQs. Should be adaptable to iPods and other PP targets in a few minutes work, eh?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13463 a1c6a512-1295-4272-9138-f99709370657
2007-05-22 15:34:24 +00:00
Michael Sevakis
080d65f17b Fix some warnings regarding AUDIO_NUM_SOURCES being 0 which is the intent with no inputs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13452 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 22:03:11 +00:00
Michael Sevakis
4a2ed72b5c Oops. That shouldn't have snuck in there.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13449 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 20:29:53 +00:00
Michael Sevakis
8f659ae8d3 Use bitmasks to define which inputs are available. Makes it easier to remove old assumptions of which are available. Inspired by e200 being unique in having FM Radio and Mic but no Line. Doesn't remove the assumption that Mic is available or that one of Mic and/or Line is available just to avoid excessive #ifdef'ing until needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13448 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 20:26:36 +00:00
Marcoen Hirschberg
0037a1b648 add separate button defines for the Gigabeat remote control
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13442 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 11:42:04 +00:00
Jens Arnold
705d2f879f Reset the pcm_paused flag in the PP FIQ as well to complement the fix for FS #7187. Now it also works on Mini G2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13428 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 20:37:12 +00:00
Marcoen Hirschberg
eb7603f1c5 always reset the pcm_paused flag when stopping playback. fixes FS #7187
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13423 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 19:30:08 +00:00
Antonius Hellmann
5acb2d5d76 Backlight=on as default for sansa bootlaoder/application. Allows instant
screen output after lcd_init(). Useful for 'early'debugging and startup 
screen is visible a little longer.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13418 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 18:56:38 +00:00
Daniel Stenberg
cca0e3d8f8 FS#5472 add a memory size prompt to configure to allow ipod video builds for
64 MB ram


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13408 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 14:35:11 +00:00
Michael Sevakis
af272592f5 Change i2c config on e200. Seems to speed things up somewhat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13403 a1c6a512-1295-4272-9138-f99709370657
2007-05-17 22:49:27 +00:00
Michael Sevakis
95bab91935 This should fix the tinniness on e200. Best recipe not worked out yet but I'll perfect later. Independently verified and hopefully will withstand wider testing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13401 a1c6a512-1295-4272-9138-f99709370657
2007-05-17 10:14:17 +00:00
Dave Chapman
0030378f74 More gigabeat LCD cleanup and completely remove the use of DMA for lcd_update_rect() (this was accidentally disabled anyway by the previous commit). The DMA version of lcd_update_rect() managed 64fps, but the memcpy based implementation manages 264fps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13393 a1c6a512-1295-4272-9138-f99709370657
2007-05-15 16:00:06 +00:00
Dave Chapman
e22b33ec72 Gigabeat LCD driver cleanup: Revert the DMA optimisations to the gigabeat LCD driver - they are both buggy (the wrong background colour was often seen, e.g. in the USB screen after using a plugin) and significantly slower than the standard implementations (which use the ARM-optimised mem* functions) in lcd-16bit.c. lcd_clear_update was 4.5 times slower with DMA when a backdrop is in use, and 12 times slower with DMA when no backdrop is in use.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13392 a1c6a512-1295-4272-9138-f99709370657
2007-05-15 14:26:44 +00:00
Karl Kurbjun
670559f868 Make sure that the IDE power pin is properly initialized
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13389 a1c6a512-1295-4272-9138-f99709370657
2007-05-15 00:22:51 +00:00
Karl Kurbjun
9a90d557e4 Gigabeat Button/Backlight update: Reduce the number of writes to the sc606 when control registers are not changing. Fix up some buttonlight bugs. Add in full sc606 initialization during the backlight init.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13384 a1c6a512-1295-4272-9138-f99709370657
2007-05-14 05:04:21 +00:00