Commit graph

55 commits

Author SHA1 Message Date
Barry Wardell
7fa6bc7750 Fix warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17173 a1c6a512-1295-4272-9138-f99709370657
2008-04-19 16:48:01 +00:00
Barry Wardell
1f36c4ba53 FS#8642: Improve boot time on Sansa bootloaders by boosting the CPU. This only has any noticable effect if the OF bootloader is fully replaced with the RB BL.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17172 a1c6a512-1295-4272-9138-f99709370657
2008-04-19 16:30:17 +00:00
Michael Sevakis
75f2d441e9 Change the remaining set_interrupt_status usage to the more parsimonious disable/enable/restore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16897 a1c6a512-1295-4272-9138-f99709370657
2008-03-31 06:00:23 +00:00
Michael Sevakis
f65cf301fb Modification to scale_suspend_core to prevent a potential permanent freezing of the other core. Just unfreeze it unconditionally after freezing it since it really makes no difference to do so right now. Don't bother with freezing/unfreezing if compiling as single.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16731 a1c6a512-1295-4272-9138-f99709370657
2008-03-21 17:20:57 +00:00
Andree Buschmann
178df1cfcf Correct DEV_TIMING for CPUFREQ_DEFAULT. Was changed by fault in former power management commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16716 a1c6a512-1295-4272-9138-f99709370657
2008-03-19 13:10:02 +00:00
Jens Arnold
8c6920e343 Revert accidental tree commit. Sorry for that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16574 a1c6a512-1295-4272-9138-f99709370657
2008-03-08 23:50:55 +00:00
Jens Arnold
d1ed7c37b1 No need to have \n here. panicf() won't output it anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16570 a1c6a512-1295-4272-9138-f99709370657
2008-03-08 23:34:43 +00:00
Barry Wardell
fdb5a4b0c2 FS#8272 - Erratic reboot behaviour on sansa e200. Makes reboot on USB connect work consistently.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16512 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 13:52:07 +00:00
Mark Arigo
d829075a00 Driver for the Synaptics touchpad on the m:robe 100 based on the 3-wire interface spec. Needs some tweaking as it's too sensitive with the default hardware settings. For now, the vertical strip is divided into up/select/down buttons. Also, redo the keymap (using the Gigabeat as a starting point), but it still needs a good bit of work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16400 a1c6a512-1295-4272-9138-f99709370657
2008-02-24 04:12:16 +00:00
Michael Giacomelli
054447f9e6 Commit FS#8379 by Andree Buschmann. Disables much of the remaining unneeded hardware on PP50xx targets (Ipods, Sansa, H10s, etc) resulting in a large savings in power and consequent increase in battery life. Results vary from target to target and from codec to codec, but we now approach the OF runtime on several PP devices. For now, leave base CPU clock at 30MHz, although further savings is possible with some codecs if clock is reduced. Additionally, fix battery capacity on c200 and use my measurements to improve runtime estimation for Sandisk targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16259 a1c6a512-1295-4272-9138-f99709370657
2008-02-10 05:39:20 +00:00
Mark Arigo
06daa03630 mrobe 100: (1) device reset in system_init is same as H10. (2) make power_off actually work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16203 a1c6a512-1295-4272-9138-f99709370657
2008-02-03 00:04:02 +00:00
Daniel Stenberg
5d2757a43f Enable reboot on USB-insert for e200, as it works when done c200-style
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15818 a1c6a512-1295-4272-9138-f99709370657
2007-11-26 23:13:35 +00:00
Björn Stenberg
b4e5123e5d New USB stack
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15758 a1c6a512-1295-4272-9138-f99709370657
2007-11-22 20:51:00 +00:00
Paul Louden
9873d33bf5 Fix for Nano timing issues, should resolve crashes, data aborts, and
general glitchiness in playback. Based on the patch in FS#7510 by Jordan 
Anderson.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15705 a1c6a512-1295-4272-9138-f99709370657
2007-11-20 01:46:18 +00:00
Jens Arnold
a50a80e1a3 Mini 2nd Gen: Almost doubled LCD update speed when not boosted (68.5->129fps @30MHz) by handling the serial LCD clock divider.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15524 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 06:52:48 +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
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
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
Michael Sevakis
51967f4856 Remove a setting of a register during H10 reset that shouldn't have been included in my previous commit. Not evaluated properly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15007 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 05:52:06 +00:00
Michael Sevakis
6077e5b7c8 Unify PCM interface just above the hardware driver level for all targets including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15006 a1c6a512-1295-4272-9138-f99709370657
2007-10-06 22:27:27 +00:00
Michael Sevakis
18e87ff1c0 Stabilize PP5020 targets - tested on H10 5/20GB and iPod Color. Use no interrupts on COP but pulse it through the control interface. Don't mess with LCD clocking during clock changes. Give a reset register a name (DEV_OFF_MASK).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14998 a1c6a512-1295-4272-9138-f99709370657
2007-10-05 23:24:46 +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
Jens Arnold
6dd3f449b3 I2S buffer level adjustment is not necessary on c200 as there is no memory mapped framebuffer that requires constant cache flushing like on e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14974 a1c6a512-1295-4272-9138-f99709370657
2007-10-03 22:31:51 +00:00
Michael Sevakis
ef1c52fa43 Oops. Don't use outl with the defined register.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14913 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 11:14:03 +00:00
Michael Sevakis
e760ba5a04 Add some defines for pp502x. No guarantee as to full accuracy yet but that's not really too important. Use them in the code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14912 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 10:53:31 +00:00
Michael Sevakis
7914e90738 Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 10:20:02 +00:00
Björn Stenberg
edbf5d81f5 Fixed a warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14878 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 09:00:04 +00:00
Björn Stenberg
0a231de536 Improved magic by Mark Arigo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14876 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 07:56:20 +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
Mark Arigo
a80c0e8b83 Fix the sound on the c200 by resetting all devices as done on the e200. Make the reset sequence like the c200 OF with hopefully no ill effects to the e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14762 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 02:46:11 +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
Christian Gmeiner
8181a0c905 Usb Stack: only setup packet handling, and not enabled by default as there is a lot to do.
* settings code is not fully ready -> changing device driver has no effect
* clean ups
* check copyriths
* find a way to detect IN transfers
* support for full and highspeed
* ...




git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14470 a1c6a512-1295-4272-9138-f99709370657
2007-08-27 16:04:32 +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
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
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
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
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
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
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
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
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
4a2ed72b5c Oops. That shouldn't have snuck in there.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13449 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 20:29:53 +00:00
Michael Sevakis
8f659ae8d3 Use bitmasks to define which inputs are available. Makes it easier to remove old assumptions of which are available. Inspired by e200 being unique in having FM Radio and Mic but no Line. Doesn't remove the assumption that Mic is available or that one of Mic and/or Line is available just to avoid excessive #ifdef'ing until needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13448 a1c6a512-1295-4272-9138-f99709370657
2007-05-20 20:26:36 +00:00