Commit graph

486 commits

Author SHA1 Message Date
Michael Sevakis
0149264bf1 Hrmph. That was just weird to do that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14211 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 13:01:40 +00:00
Michael Sevakis
89b53bfdaa e200: Make sure backlight will never get stuck off for long periods from the wheel.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14210 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 12:58:38 +00:00
Michael Sevakis
d25dc33453 Oops. mvn is one's-complement, not two's. Correct the YUV calculation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14184 a1c6a512-1295-4272-9138-f99709370657
2007-08-04 20:36:22 +00:00
Jens Arnold
7f85b5b907 Disk poweroff for 3rd gen iPods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14171 a1c6a512-1295-4272-9138-f99709370657
2007-08-03 22:54:33 +00:00
Jens Arnold
ccf51927b9 Disk poweroff for 1st/2nd gen iPods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14157 a1c6a512-1295-4272-9138-f99709370657
2007-08-03 12:05:47 +00:00
Jens Arnold
1fbf847eed PP5002 ATA driver needs to wait for the controller to be ready again before writing the next control register value. Makes check_registers() not fail in the bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14153 a1c6a512-1295-4272-9138-f99709370657
2007-08-03 09:34:42 +00:00
Jens Arnold
cb896cdd04 Firewire detection with reboot into diskmode for all iPods that support it (all but Nano and Video). * Hack for compiling iPod G3 removed. * Code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14131 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 22:44:02 +00:00
Michael Sevakis
4aaded5c76 PP50xx: COP was left in undefined mode after init. Switch it to supervisor mode before entering cop_main.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14124 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 20:59:27 +00:00
Michael Sevakis
e1c52e7fbe PP50xx: Allow FIQ during IRQ to always be able to service FIFOs. I've got a diff handy for quick revert if there's a problem.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14123 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 20:26:04 +00:00
Jens Arnold
fa1073efe7 Fix PP502x clock source masking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14116 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 12:51:06 +00:00
Jens Arnold
174c7abdff Add some new findings to the PP header files. * Clean up ata-target.h for PP. * check_registers() seems to work fine on PP5002.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14114 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 10:43:45 +00:00
Barry Wardell
ab88fb3738 Simplify PP502x clock handling code. The code is almost identical between PP502x models, so combine it where possible. Binaries produces are unchanged.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14107 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 21:13:35 +00:00
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