Barry Wardell
2fc19497fc
PP502x: Clock setup cleanup.
...
* Prepare sleep mode by adding CPUFREQ_SLEEP, as was done previsouly with PP5002. This is already confirmed working on PP5020 (H10), PP5022 (mini2g) and PP5024 (Sansa), but a lot of functions in rockbox will probably hang because the microsecond timer isn't running in this mode.
* Simplify set_cpu_frequency() somewhat to make it more like the PP5002 version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14106 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 20:48:49 +00:00
Michael Sevakis
60b01fa0f7
Straignten out some issues with HAVE_LCD_ENABLE. 1g/2g/3g had it defined but it shouldn't have been. lcd_enabled() was only available as a real function on gigabeat but others can use that too. Markup lcd.h a bit because I got a bit lost in it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14100 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 12:43:06 +00:00
Jens Arnold
1bc3b7feb2
PP5002: Clock setup cleanup. * Switch to 80MHz when boosted like on the other PP targets. * Prepare sleep mode by adding CPUFREQ_SLEEP. This is already confirmed working, but a lot of functions in rockbox will probably hang because the microsecond timer isn't running in this mode.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14096 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 10:56:50 +00:00
Jens Arnold
9bba398e68
Unify the 3 copies of the PP502x IRQ handler, and don't schedule button interrupts to the COP.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14092 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 09:33:45 +00:00
Jens Arnold
4e8b171fc4
Interrupt driven ADC reading on the 2nd gen.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14086 a1c6a512-1295-4272-9138-f99709370657
2007-07-30 23:48:03 +00:00
Jens Arnold
a4a3cd9d52
First version of a 1st/2nd gen ADC driver. 1st gen is untested yet.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14082 a1c6a512-1295-4272-9138-f99709370657
2007-07-30 20:12:03 +00:00
Jens Arnold
2e2f92c906
H1x0, H300: Get rid of the adc tick, and use the same concept as the iAudio ADC driver.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14079 a1c6a512-1295-4272-9138-f99709370657
2007-07-30 19:13:59 +00:00
Jens Arnold
ffb121c7a3
iPod 1st..3rd gen: Interrupt driven button driver for 100% smooth wheel operation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14054 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 08:03:21 +00:00
Jens Arnold
604e44d0e2
iPod 1st..3rd gen: Fix CPU scaling instability on PP5002 * Add some new info to pp5002.h and sort it by port address.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14053 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 07:50:34 +00:00
Michael Sevakis
62c8e2d69d
Stop Gigabeat bootloader from panicing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14052 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 07:41:19 +00:00
Michael Sevakis
e64f7e3a6f
Add a new timeout API to the kernel. Enable only for e200 right now since it's the only user. Use that as the one-shot delay for SD card inserts.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14049 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 04:49:19 +00:00
Michael Sevakis
58fc279d26
Scroll on main and remote with a single thread. Change the way system messages are defined before running out is an issue (which requires a full update of rockbox on the player).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14035 a1c6a512-1295-4272-9138-f99709370657
2007-07-28 08:12:05 +00:00
Jens Arnold
018d555995
Sound working on iPod 2nd gen, but very unstable (applies also to 3rd gen). Freezes most of the time. Reverting the >66MHz unlock makes it a bit better, but also not stable. Using the C FIQ has the same effect.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14029 a1c6a512-1295-4272-9138-f99709370657
2007-07-27 18:15:03 +00:00
Jens Arnold
41534a9ace
2nd gen: Correct LCD inversion state on init. * Fine tuned default contrast.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14025 a1c6a512-1295-4272-9138-f99709370657
2007-07-27 12:40:36 +00:00
Jens Arnold
021c0868dd
iPod 2nd gen: * Fake battery voltage of 4.00V so rockbox doesn't shutdown (ADC is not yet implemented). * Fix button hold polarity for main rockbox. * Implement backlight inversion (the 1st/2nd gen backlight works in a way that makes the LCD look inverted when active). * Fix default contrast and clean up target tree.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14022 a1c6a512-1295-4272-9138-f99709370657
2007-07-27 12:05:54 +00:00
Jens Arnold
b701322fea
Rockbox compiles and boots now on the 2nd gen, but doesn't work properly yet.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14021 a1c6a512-1295-4272-9138-f99709370657
2007-07-27 09:57:27 +00:00
Jens Arnold
3deb27053a
Fix red bootloader builds. * Fix non-working PP5022 bootloaders. Also define correct IRAM size for PP5022/PP5024 bootloaders.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14015 a1c6a512-1295-4272-9138-f99709370657
2007-07-26 21:51:44 +00:00
Jens Arnold
bd1592ed5a
H10: Speed up LCD updates significantly (~+80% when boosted).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14006 a1c6a512-1295-4272-9138-f99709370657
2007-07-26 15:33:25 +00:00
Jens Arnold
8d3ac97aff
Clean up PP502x CPU clock setup code and use the full 80MHz when boosted.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14004 a1c6a512-1295-4272-9138-f99709370657
2007-07-26 15:07:16 +00:00
Michael Sevakis
31cf7e95b4
Reenable scaling on Sansa since a reasonable solution to clicks has been found.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13995 a1c6a512-1295-4272-9138-f99709370657
2007-07-26 10:46:17 +00:00
Jens Arnold
f67b4baf1d
Stop the occasional crashes (most often 'undefined instruction') on PP5020 (and PP5022?) targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13991 a1c6a512-1295-4272-9138-f99709370657
2007-07-26 05:06:11 +00:00
Dave Chapman
ebc076bc15
Remove the hack which read the ipod hardware revision from flash in the bootloader and passed it to Rockbox via a fixed address in SDRAM. Rockbox now remaps flash and so can just read the value itself. Also clean up the debug menu a little - only display the hw revision for ipods, and add the lcd_type variable to indicate the type of LCD (0 or 1) for ipod Color/Photo.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13986 a1c6a512-1295-4272-9138-f99709370657
2007-07-25 13:12:38 +00:00
Michael Sevakis
ea0d2cf7d6
Some rewriting of the e200 ata driver. No more panicing. Faster card multiplexing. Some calculated yielding (further tuneable if needed). Hopefully more reliable in general. Easy revert if rebellious.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13976 a1c6a512-1295-4272-9138-f99709370657
2007-07-25 06:15:07 +00:00
Michael Sevakis
873e0fd1ef
Wheel acceleration for e200. A general acceleration interface intended for use on any scroll target and by any code. A general interface to obtain data associated with most recently dequeued button presses and actions. Use #define HAVE_SCROLLWHEEL and set appropriate constants, values in the scroller driver that feel right.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13959 a1c6a512-1295-4272-9138-f99709370657
2007-07-22 21:02:24 +00:00
Jens Arnold
f888509dad
Slight speedup for iAudio remote LCD update when the CPU isn't boosted.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13932 a1c6a512-1295-4272-9138-f99709370657
2007-07-19 21:24:47 +00:00
Michael Sevakis
d219491e58
Gigabeat: Add the funky foreground color support for transparent bitmaps.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13898 a1c6a512-1295-4272-9138-f99709370657
2007-07-15 01:06:04 +00:00
Michael Sevakis
dc051248be
e200: Tuner driver needs to yield alot and also be mutexed. FM debug screen got broken again and was ignoring cancellation and not drawing the lines.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13896 a1c6a512-1295-4272-9138-f99709370657
2007-07-14 22:00:50 +00:00
Michael Sevakis
7d759f6b9c
Do some planned radio interface cleanup since adding in the LV24020LP.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13880 a1c6a512-1295-4272-9138-f99709370657
2007-07-14 11:20:31 +00:00
Michael Sevakis
00251d1643
e200: This should stop lockups on sansa with struck SD card insert detection. Hopefully no new troubles will rear up.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13862 a1c6a512-1295-4272-9138-f99709370657
2007-07-12 06:50:42 +00:00
Michael Sevakis
0257c5b8fc
e200: adc_read needs mutex since it is accessed from multiple threads and yields. Remove polling for conversion completion since it will always have completed by the time it can be read out.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13861 a1c6a512-1295-4272-9138-f99709370657
2007-07-12 04:19:21 +00:00
Jens Arnold
39c56b3f17
iPod G3: Set the 'we (pretend to) know what we're doing so please let us' magic value. Aka unlock clock frequencies > 66MHz. Should make performance significantly better with problematic codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13845 a1c6a512-1295-4272-9138-f99709370657
2007-07-10 23:39:37 +00:00
Jens Arnold
85568d6040
iPod G3: Clock setup register display and CPU clock estimation in debug menu. * Fix clock being set to only half of what it should be (introduced with clock setup changes for PP502x).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13844 a1c6a512-1295-4272-9138-f99709370657
2007-07-10 20:47:01 +00:00
Michael Sevakis
2e6723bcd2
Gigabeat: Squeeze down lcd_bitmap_transparent_part a bit. Let the compiler choose the registers.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13829 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 03:53:12 +00:00
Michael Sevakis
3233e9651a
e200: Remove all that inlining in the display driver to get rid of the bloat. The functions are rarely called.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13824 a1c6a512-1295-4272-9138-f99709370657
2007-07-09 00:08:33 +00:00
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