Commit graph

76 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
Michael Sevakis
87c70db578 Didn't even notice that Sansa bootloader warning until now. Fix it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13373 a1c6a512-1295-4272-9138-f99709370657
2007-05-11 21:52:54 +00:00
Michael Sevakis
d92e09556f GPIO IRQ ready button driver for e200 series. Can't actually use them yet but their status is polled. Easy to switch over once that works. Cheapo acceleration added or else it would be too fast for selecting items. Too much scrolling might cause the PCM buffer to empty out - beware. )
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13371 a1c6a512-1295-4272-9138-f99709370657
2007-05-11 08:09:49 +00:00
Antonius Hellmann
ab75d0eaae display error/boot messages in the sansa bootloader
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13366 a1c6a512-1295-4272-9138-f99709370657
2007-05-09 17:27:56 +00:00
Jonathan Gordon
685005ec4c e200: set the default values to stop the backlight turning off on boot, regardless of the setting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13334 a1c6a512-1295-4272-9138-f99709370657
2007-05-06 15:01:06 +00:00
Michael Sevakis
4e24bb9976 e200: Add register defines for the LCD driver IC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13300 a1c6a512-1295-4272-9138-f99709370657
2007-05-01 19:21:27 +00:00
Barry Wardell
7027c6a0f8 FS#7036: Power saving improvements for Sansa. Shutdown LCD controller when backlight is off and shutdown ATA controller when the disk isn't being accessed. Frequency scaling is not enabled yet as it was apparently causing some problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13250 a1c6a512-1295-4272-9138-f99709370657
2007-04-23 23:26:23 +00:00
Christian Gmeiner
1245d0fddd clean up some #include's
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13247 a1c6a512-1295-4272-9138-f99709370657
2007-04-22 18:17:48 +00:00
Jonathan Gordon
4dcc32cd77 fix bootloader
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13245 a1c6a512-1295-4272-9138-f99709370657
2007-04-22 13:15:53 +00:00
Jonathan Gordon
4b1d1b4033 e200: Make the wheel light timeout configurable (under settings > system) (FS#7067)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13244 a1c6a512-1295-4272-9138-f99709370657
2007-04-22 13:02:24 +00:00
Jonathan Gordon
710a9ca194 allow the backlight on hold setting to work correctly on sansa
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13206 a1c6a512-1295-4272-9138-f99709370657
2007-04-19 08:03:23 +00:00
Jonathan Gordon
5e6e7c5ce5 hmm.... do it a bit nicerly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13196 a1c6a512-1295-4272-9138-f99709370657
2007-04-17 11:41:07 +00:00
Jonathan Gordon
7056391eb1 Only trigger a wheel press once per click like the OF
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13195 a1c6a512-1295-4272-9138-f99709370657
2007-04-17 11:36:54 +00:00
Michael Sevakis
ac94641606 e200: Use cached memory for the yuv chroma buffer. Gives some speedup. Align lcd_driver_framebuffer to the same alignment as lcd_framebuffer. The need for this became apparent when the first change cause aligment & 3 != 0 and the screen was wrapped one pixel right with a black pixel at (0, 0).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13161 a1c6a512-1295-4272-9138-f99709370657
2007-04-14 19:49:58 +00:00
Michael Sevakis
d95c39072a Portal Player: Add invalidate_icache and flush_icache. Flush the cache on the core for newborn threads. In doing so, move more ARM stuff to the target tree and organize it to make a clean job of it. If anything isn't appropriate for some particular device give a hollar or even just fix it by some added #ifdefing. I was informed that the PP targets are register compatible so I'm going off that advice. The Sansa likes it though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13144 a1c6a512-1295-4272-9138-f99709370657
2007-04-13 20:55:48 +00:00
Jens Arnold
47bf6c5a5a Moved archos backlight code to target tree. Changed old mutlivalue CONFIG_BACKLIGHT to a simple HAVE_BACKLIGHT.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13136 a1c6a512-1295-4272-9138-f99709370657
2007-04-12 22:12:13 +00:00
Dave Chapman
4303ab02a3 Optimized lcd_yuv_blit() (used by mpegplayer) for the Sansa E200. This is just a copy-and-paste of the Gigabeat version by Michael Sevakis with no attempt to adapt to the different CPU in the E200 - so there could be room for further improvement. Reported to increase the FPS for the 224x128 version of Elephants Dream from 21fps to 27fps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13042 a1c6a512-1295-4272-9138-f99709370657
2007-04-06 09:34:13 +00:00
Daniel Ankers
5511611622 Fix blitting on Sansa so Mpegplayer works again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12879 a1c6a512-1295-4272-9138-f99709370657
2007-03-21 13:25:30 +00:00
Daniel Ankers
b22e15b2bd Sansa LCD: Make the second framebuffer static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12849 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 11:19:20 +00:00
Daniel Ankers
15dfcd13ef Improved LCD driver for Sansa. Uses double-buffering to cure the flickering. Stops DMA during device initialization, which should stop the occasional hangs - based on FS#6859 by Antonius Hellmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12848 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 10:52:02 +00:00
Barry Wardell
73106a2a69 Fix problem where power_off() on the Sansa returns before the device is actually powered off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12788 a1c6a512-1295-4272-9138-f99709370657
2007-03-15 22:17:09 +00:00
Barry Wardell
7f4f9aead7 Improved ADC driver for AS3514 (used in PP5024 - ie. Sansa e200) based off datasheet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12745 a1c6a512-1295-4272-9138-f99709370657
2007-03-13 01:50:13 +00:00
Daniel Ankers
82f9056988 Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Barry Wardell
8b061252c4 Replace some inl/outl with register #define's instead. Also tidy up pp5020.h so that it's in increasing address order.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12574 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 17:25:20 +00:00
Barry Wardell
e9a183573b Battery reading support for Sansa. Still needs calibration of voltage->percent mappings and remaining time. Thanks to Rene Peinthor for doing most of the work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12417 a1c6a512-1295-4272-9138-f99709370657
2007-02-20 15:55:38 +00:00
Barry Wardell
e3a55f2bdc FS#6675: Add lcd_yuv_blit() for the Sansa. Thanks to Rene Peinthor. This makes mpegplayer run on the Sansa. Button detection in mpegplayer doesn't work because it is done in the audio thread and that thread locks up because we don't have audio support yet. So for now it's necessary to do a hardware power off to quit mpegplayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12404 a1c6a512-1295-4272-9138-f99709370657
2007-02-19 21:22:32 +00:00
Jens Arnold
471d881979 ARM targets: Making a few functions non-static allows us to get rid of -ffunction-sections, significantly decreasing binary size and making things run a bit faster because static functions are no longer long_call.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12349 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 11:19:14 +00:00
Daniel Ankers
67ec6177a7 Work around a bug in the Sansa flash driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12187 a1c6a512-1295-4272-9138-f99709370657
2007-02-04 03:20:36 +00:00