Commit graph

222 commits

Author SHA1 Message Date
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
Barry Wardell
a7af649766 Backlight support for Sansa, including brightness. Thanks to Rene
Peinthor and FS#6608.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12186 a1c6a512-1295-4272-9138-f99709370657
2007-02-03 13:39:20 +00:00
Daniel Ankers
fa7dd74cf5 Increase disk thread stack on the Sansa in line with the changes in r12093. Fixes the recent Sansa crashes. Thanks to Rene Peinthor
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12177 a1c6a512-1295-4272-9138-f99709370657
2007-02-01 20:22:19 +00:00
Barry Wardell
003e084a7a Power off on the Sansa more in line with how the OF does it (just change the relevant bit rather than the whole byte).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12166 a1c6a512-1295-4272-9138-f99709370657
2007-01-31 19:30:32 +00:00
Barry Wardell
83c831deae Add power off for the Sansa. Thanks to Antonius Hellmann for figuring out how using the Sansa emulator in FS #6524.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12165 a1c6a512-1295-4272-9138-f99709370657
2007-01-31 17:10:01 +00:00
Daniel Ankers
e80470e958 Fix a bug in the Sansa flash driver. Other bugs remain, as it does not pass the stress test yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12127 a1c6a512-1295-4272-9138-f99709370657
2007-01-27 18:57:57 +00:00
Daniel Ankers
a26519680a Fix bug accessing data above 4Gb in Sansa
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11828 a1c6a512-1295-4272-9138-f99709370657
2006-12-21 18:32:47 +00:00
Barry Wardell
4b54302b07 Combine USB code for all PortalPlayer targets since they most likely all use the same USB hardware. Add register defines for the USB hardware addresses, based off the Freescale i.MX31 datasheet. Use usb_init() from the iPod code, but modified to use the new register defines rather than oul/inl on the hardware addresses.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11823 a1c6a512-1295-4272-9138-f99709370657
2006-12-20 15:28:32 +00:00
Barry Wardell
a69b53dc89 Add support for Sansa scrollwheel backlight. Turn light on when scrollwheel is in use, then back off again after a 5 second timeout.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11807 a1c6a512-1295-4272-9138-f99709370657
2006-12-18 19:08:41 +00:00
Barry Wardell
e90006133b Hardcode a value for the battery level until we figure out the power management on the Sansa.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11806 a1c6a512-1295-4272-9138-f99709370657
2006-12-18 18:56:45 +00:00
Barry Wardell
331e34bfd4 Add support for scroll wheel to Sansa button driver. Should be replaced with an interrupt based driver to improve responsiveness (once we figure out how).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11772 a1c6a512-1295-4272-9138-f99709370657
2006-12-16 00:21:41 +00:00
Daniel Ankers
ca10d89d53 Improved charger detection for Sansa
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11713 a1c6a512-1295-4272-9138-f99709370657
2006-12-10 23:12:59 +00:00
Daniel Ankers
a5852f6855 Charger detection for Sansa
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11710 a1c6a512-1295-4272-9138-f99709370657
2006-12-10 22:58:59 +00:00
Daniel Ankers
844d22f277 Allow GPIO debug screen on Sansa. Also remove a warning from the NAND driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11593 a1c6a512-1295-4272-9138-f99709370657
2006-11-25 15:57:07 +00:00
Daniel Ankers
8033628b46 Remove some development code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11591 a1c6a512-1295-4272-9138-f99709370657
2006-11-25 13:31:53 +00:00
Daniel Ankers
0b556b8f7b ATA callback support for Sansa
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11590 a1c6a512-1295-4272-9138-f99709370657
2006-11-25 13:04:50 +00:00
Daniel Ankers
64cccb0f80 Detect USB inserted on Sansa
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11585 a1c6a512-1295-4272-9138-f99709370657
2006-11-24 20:41:15 +00:00
Daniel Ankers
43e2c01065 Sansa doesn't use a Wolfson codec. Various other changes to allow Sansa to compile correctly with a normal build. Based on FS#6336 by Pavel Gnelitsa
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11570 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 00:49:16 +00:00
Daniel Ankers
336cb6898e Add several dummy functions to allow Sansa to build correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11568 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 00:30:24 +00:00
Daniel Ankers
e7b025ba10 Initial NAND driver for Sansa. This has had limited testing, and no testing on 6 or 8Gb models
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11567 a1c6a512-1295-4272-9138-f99709370657
2006-11-21 22:55:39 +00:00
Daniel Ankers
d8ef7c58d8 Big Sansa update: Go back to using the common crt0-pp.S. Add LCD driver. Add ADC driver (may not be needed). Fix a bug in the button driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11237 a1c6a512-1295-4272-9138-f99709370657
2006-10-16 17:21:36 +00:00
Daniel Ankers
634f1d6b59 Fix a stupid bug (thanks to Frieder Ferlemann.) Get rid of MS-DOS line endings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11230 a1c6a512-1295-4272-9138-f99709370657
2006-10-16 00:18:49 +00:00
Daniel Ankers
8aed608bb1 Untested first attempt at a Sansa button driver. Based on work by MrH
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11220 a1c6a512-1295-4272-9138-f99709370657
2006-10-14 12:16:29 +00:00
Daniel Ankers
d282e14d33 Untested first attempt at a Sansa button driver. Based on work by MrH
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11219 a1c6a512-1295-4272-9138-f99709370657
2006-10-14 12:14:23 +00:00
Daniel Stenberg
17e379bf49 added to allow the sansa bootloader to build again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10795 a1c6a512-1295-4272-9138-f99709370657
2006-08-29 14:57:45 +00:00
Daniel Stenberg
7731729b7b better names for the target-specific files and define PP5024 properly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10400 a1c6a512-1295-4272-9138-f99709370657
2006-08-01 22:42:25 +00:00
Daniel Stenberg
0fc30d1174 added mostly dummy changes to allow building of a Sansa e200 bootloader
without functionality


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10399 a1c6a512-1295-4272-9138-f99709370657
2006-08-01 22:28:14 +00:00