Commit graph

123 commits

Author SHA1 Message Date
Michael Sevakis
398d9fd8b4 Hopefully the last word on getting rid of yield_codecs loops (cut read chunk to 16kB). Sansa ata driver also didn't yield enough so buffering would starve other threads. Bump priority of audio thread to keep UI more responsive.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15724 a1c6a512-1295-4272-9138-f99709370657
2007-11-20 22:45:46 +00:00
Linus Nielsen Feltzing
e75327b332 FS#7738 - Scroll wheel acceleration for iPod
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15681 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 11:05:54 +00:00
Jens Arnold
6ef2db2c11 Significant LCD speedup for all greyscale iPods and Sansa c200 (c200, 4th Gen, Mini 1st Gen: >3.3x speedup, 1st..3rd Gen: ~2x speedup, Mini 2nd Gen: ~30% speedup).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15655 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 12:49:24 +00:00
Jens Arnold
f4c5c6aa62 Fix bootloaders, and the backlight-modded Ondio build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15600 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 19:19:38 +00:00
Jens Arnold
ef12b3b5c6 Hardware controlled backlight brightness for iPod Video and Nano, retaining the software PWM fade in/ fade out. * Backlight handling cleanup, getting rid of one layer of 'lowlevelness'. * Use atomic GPIO bit manipulation for PP502x backlight handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15599 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 18:49:53 +00:00
Michael Sevakis
d970c3d054 Portal player i2c driver: More struct spinlock phaseout.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15593 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 07:58:54 +00:00
Michael Sevakis
57d71e4267 Add some CACHEALIGN_* macros and a helper function to assist in aligning data and buffers on PortalPlayer processors to cache line boundaries. They're noops when PROC_NEED_CACHEALIGN isn't defined. Go safe and increase the value to 32 since I'm not sure yet if 16 is sufficient - changing that is a one-liner. Add helper to plugin API which will be needed shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15523 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 05:17:20 +00:00
Jens Arnold
55398e934c c200: Make microSD cards finally work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15493 a1c6a512-1295-4272-9138-f99709370657
2007-11-06 07:21:08 +00:00
Barry Wardell
03dd35db0e Get rid of some more inl/outl. 0x70000084 seems to be GPO32_ENABLE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15477 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 17:19:00 +00:00
Barry Wardell
4ef3e821cb Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15476 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 16:12:13 +00:00
Barry Wardell
2d95fd524d Get rid of some more inl/outl and use the new GPO32 define instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15474 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 15:48:59 +00:00
Michael Sevakis
f29c4ccc6a e200/c200: Take advantage of mutex recursion for the tuner driver and dump the awkward *_nolock stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15468 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 07:01:32 +00:00
Jens Arnold
6fb4c53fb9 The GPIO interrupts are split into several port groups on all PP502x versions, so move those definitions into pp5020.h, and add the missing group. Make microSD hotswap detection work on Sansa c200. Note that microSD access itself does not work yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15460 a1c6a512-1295-4272-9138-f99709370657
2007-11-04 13:22:17 +00:00
Jens Arnold
b77893e4d5 C200: Reworked the LCD driver a bit, and fixed a bug with single column updates (was only visible in mandelbrot).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15343 a1c6a512-1295-4272-9138-f99709370657
2007-10-28 13:16:05 +00:00
Michael Sevakis
c266204aec e200: shorten some delays so the backlight turn on is snappier. Values seem to have a safe margin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15337 a1c6a512-1295-4272-9138-f99709370657
2007-10-28 00:39:01 +00:00
Barry Wardell
007563c93d FS#8023: Use of AS3514 #defines instead of magic values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15297 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 09:03:47 +00:00
Jens Arnold
c1051549b9 Implement YUV dithering for c200, and enable the option in mpegplayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15246 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 13:46:26 +00:00
Barry Wardell
1d1a17c0db Improved H10 ADC driver. We now do things exactly as the OF does. This includes shifting the readings by 0x14 when PLL is enabled. Battery voltages and remote/scrollpad values adjusted accordingly. We also now wait for the ADC to indicate the conversion is complete before reading the data, so hopefully we will get more reliably steady readings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15141 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 10:48:16 +00:00
Michael Sevakis
a9b2fb5ee3 Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Jens Arnold
8aeed2d32e PP LCD drivers: * Optimised and cleaned up PP colour LCD drivers. Immeasurable speedup on iPod Color, huge speedup on small H10 (a factor of 3). Should be a bit faster on big H10 too. * Big H10 changed bitmap format, so needs reconfiguring + full rebuild. * Better register naming for the mono LCD bridge. Register names for the colour LCD bridge.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15082 a1c6a512-1295-4272-9138-f99709370657
2007-10-12 00:28:57 +00:00
Michael Sevakis
4c3897eb15 Hopefully take care of FS#7806 - Current Sansapatcher fails to boot OF by removing all hotswap support from the bootloader. It won't fully be closed until Sansapatcher is updated of course. There's still a report of the partition dump not working unless 20 bytes of padding are inserted at the start of main() but that's only a developer-enabled feature. Seems weird though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15038 a1c6a512-1295-4272-9138-f99709370657
2007-10-08 20:39:46 +00:00
Jens Arnold
d1e2f5240c c200: First implemention of lcd_yuv_blit(). mpegplayer works now, but speed can be optimized more and dithering is not yet implemented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15020 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 17:54:49 +00:00
Jens Arnold
1f0d06f085 * Use proper definitions for the PP (mono) LCD bridge. * Clean up pp5002.h a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15018 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 16:44:55 +00:00
Jens Arnold
5f1ec307db Name all button light functions and variables consistently starting with buttonlight_ .
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15016 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 15:02:02 +00:00
Jens Arnold
0464c36bdc Fix red bootloader build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15015 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 12:57:07 +00:00
Jens Arnold
4efd9c4eef c200: Make the backlight react on unlocking hold as intended.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15014 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 12:22:19 +00:00
Jens Arnold
29473fe877 c200: Switch the 'menu' button light as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15012 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 12:04:26 +00:00
Michael Sevakis
cc5b50b231 Change a couple udelay() in e200 lcd driver to sleep() since sleep() was the intent.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14982 a1c6a512-1295-4272-9138-f99709370657
2007-10-04 16:22:00 +00:00
Michael Sevakis
940e8990b5 PP502x: Make RAM physical addresses uncached. Cache the flash ROM on targets with one. Kill all the now unneeded cache flushing and i2s tweaking on e200 so clicking is no worry. Write the driver framebuffer at uncached addresses. Recording monitoring may be a little noisy in the left channel for the moment when not boosted and will be addressed. All seems to work as advertised including flash ROM dump.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14976 a1c6a512-1295-4272-9138-f99709370657
2007-10-04 04:53:01 +00:00
Marianne Arnold
af97e9369a Commit FS #7881 by Mark Arigo - enable radio on the Sansa c200. It seems that many (if not all) c200s have the radio hardware even if you can't use it with the original firmware...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14963 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 21:04:10 +00:00
Mark Arigo
f463a44adf Enable lcd contrast adjustment on Sansa c200
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14945 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 02:00:40 +00:00
Björn Stenberg
b452fb6dfe Skip spindown and delay on flash targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14877 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 07:56:46 +00:00
Mark Arigo
61a83c02a3 Sansa c200: fix system_reboot with some magic from the OF. Reboot to the OF when usb is inserted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14862 a1c6a512-1295-4272-9138-f99709370657
2007-09-27 02:50:50 +00:00
Michael Sevakis
287d6223d3 Dithering option for mpegplayer on gigabeat-f/x and e200. Assembly IDCT for ARm just to make it all work more nicely. Move UI simulator YUV code to its core to adapt it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14851 a1c6a512-1295-4272-9138-f99709370657
2007-09-25 02:59:42 +00:00
Jens Arnold
361cdac365 The C200 LCD controller is a Samsung S6B33B2. Define appropriate register names, and implement display flip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14838 a1c6a512-1295-4272-9138-f99709370657
2007-09-24 00:18:09 +00:00
Jens Arnold
bf169ed7db Speed up C200 lcd_update() by ~7%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14834 a1c6a512-1295-4272-9138-f99709370657
2007-09-23 19:15:01 +00:00
Peter D'Hoye
137ce71709 Kick the idle poweroff timer on wheel activity. Should fix FS #7786
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14747 a1c6a512-1295-4272-9138-f99709370657
2007-09-18 21:44:47 +00:00
Michael Sevakis
e6511d8eaa Faster video rendering for e200 and Gigabeat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14675 a1c6a512-1295-4272-9138-f99709370657
2007-09-12 09:02:31 +00:00
Mark Arigo
dbc6b4e39a Sansa c200 port. Rockbox works with sound. Several features are disabled including some lcd options, FM radio, recording, and all plugins. Loading the OF from the Rockbox bootloader does not work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14625 a1c6a512-1295-4272-9138-f99709370657
2007-09-06 03:28:58 +00:00
Mark Arigo
4f3bcbbb11 Move files that will be common to the Sansa e200 and c200
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14624 a1c6a512-1295-4272-9138-f99709370657
2007-09-06 03:01:41 +00:00
Michael Sevakis
bc35acffd9 Commit FS#7692 - LCD garbled top two lines by Jesse Lockwood and Jonathan Backer. Works on mine and others' older models without trouble and provides a genuine fix for the garbled display lines issue troubling newer ones.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14620 a1c6a512-1295-4272-9138-f99709370657
2007-09-05 07:58:42 +00:00
Barry Wardell
ec6ca5ae94 FS#7634: Add support for high capacity microSD cards (SDHC). We now support SD specification Version 2.00 which covers cards up to 32GB in size.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14424 a1c6a512-1295-4272-9138-f99709370657
2007-08-22 00:32:45 +00:00
Jens Arnold
0fac492c3d First step of powermanagement rework: * Move target specific stuff into target tree, starting with battery voltage tables and voltage reading. (This revealed some incorrect percent_to_voltage_charging mappings). * Voltage reading on 1st gen ipods is now correct. * Clean up obsolete config #defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14375 a1c6a512-1295-4272-9138-f99709370657
2007-08-17 06:45:18 +00:00
Jens Arnold
8a177345ce Moved archos power handling into target tree. * Tuner power handling cleaned up a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14345 a1c6a512-1295-4272-9138-f99709370657
2007-08-14 22:06:23 +00:00
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
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
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
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