Commit graph

200 commits

Author SHA1 Message Date
Michael Sevakis
b7a8935dff iPod 3G: Implement wheel acceleration and repeats. Chosen settings feel pretty decent but can be tweaked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26962 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:09:37 +00:00
Rafaël Carré
45c7498f59 FS#11335 by me: make ARM assembly functions thumb-friendly
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+

Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 04:41:36 +00:00
Jens Arnold
fe0334394f Fix byte order for Mini G2, and fix comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26675 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 21:16:59 +00:00
Jens Arnold
a225ee9867 Use atomic GPIO manipulation where appropriate.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26632 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:50:26 +00:00
Torne Wuff
4a2cab6aa1 USB charging support for iPods.
This adds proper full speed charging support for iPod 4G, Color, Mini 1G, Mini 2G, Nano 1G, and Video. Nano 2G already has support, so now all ipods charge (except 1G-3G whose hardware doesn't support USB charging).

USB charging defaults to on, but will only charge at full speed from a USB host. To charge from an AC charger, you need to set the USB charging mode to "force". It may be possible to detect AC chargers in a future version, at least on some models.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26626 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:01:19 +00:00
Jens Arnold
57dcfe0eee Implement backlight brightness for iPod G4 greyscale and iPod Color/Photo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26573 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 11:48:12 +00:00
Jens Arnold
7a1aca46a3 Smaller & faster grey blitting on greyscale ipods, based on an idea by Mike Sevakis. ISR speedup on all greyscale iPods except Mini 2nd Gen is ~10%. No speedup on the latter, because the serial transfer is the limiting factor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26422 a1c6a512-1295-4272-9138-f99709370657
2010-05-30 22:24:50 +00:00
Torne Wuff
2960052d28 Increaase default ipod 3g contrast, to a value between the last two.
It seems there is some significant variance between different greyscale ipods of the same model, so it's unlikely that *any* value will be great for everyone. I'm hoping that this is just high enough that the lightest screens aren't totally blank, but not dark enough that the darkest screens are entirely unreadably black ;)

This rather unsatisfactory compromise is to help us get a new bootloader release out (since bootloaders can't have their contrast adjusted) - a real fix would be to detect the LCD type, which the OF appears to be able to do (maybe).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26208 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 18:58:33 +00:00
Andree Buschmann
7d21e5ab32 No need to use alternating registers for dual register read/write sequence. Correct comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25939 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 20:35:57 +00:00
Andree Buschmann
18b5488a4a Minor speed up (+3%) of iPod Video screen updates.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25938 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 19:12:03 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Torne Wuff
5b4a84a4ce FS#11149: alternative fix for ipod startup/shutdown issue
Instead of using the OF's low-battery handler to force a shutdown which appears to have numerous unwanted side effects, just clear the end of IRAM before shutting down which appears to solve the original "ipod sometimes needs hard reset to turn on" issue.

If you experience the "need hard reset" issue after this commit, please let us know. It has been tested on several models but we still don't know for sure what the original problem was. ;)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25772 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 09:41:28 +00:00
Andree Buschmann
1eabe8042a Tweaking iPod Video battery configuration. Dangerous battery level is latest reached below 3500 mV, discharge curve is optimized for stable runtime estimation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25600 a1c6a512-1295-4272-9138-f99709370657
2010-04-11 22:12:02 +00:00
Andree Buschmann
f6cecfd91b Minor binsize savings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25588 a1c6a512-1295-4272-9138-f99709370657
2010-04-11 12:33:02 +00:00
Andree Buschmann
18e7c1f4af Use atomic operation for GPIOx_ENABLEs in ide_power_enable() for iPod Video. Thanks to Jens Arnold for this one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25273 a1c6a512-1295-4272-9138-f99709370657
2010-03-21 13:50:38 +00:00
Andree Buschmann
b6c12a129e Submit FS#11065. Introduce a new system setting for en-/disabling the Line-out. For now only implemented on iPod Video. This allows to save power if the user does not use the player's Line-out. On iPod 5G the saving is ~0.5 mA.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25257 a1c6a512-1295-4272-9138-f99709370657
2010-03-20 15:02:29 +00:00
Andree Buschmann
abce1b9927 Submit FS#9746 by Boris Gjenero. Set PP502x IDE pins low for iPod Video when IDE power is off. Done by OF the same way, might be used by other targets as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25255 a1c6a512-1295-4272-9138-f99709370657
2010-03-20 12:30:18 +00:00
Thomas Martitz
02660557ad Fix a bunch of boot.lds files so that they build with newer ld. The stack/bss sections need NOLOAD. otherwise the linker would try to include those into the binary. I don't know why this ever worked with our current ld version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25078 a1c6a512-1295-4272-9138-f99709370657
2010-03-08 23:16:57 +00:00
Andree Buschmann
7901505dc3 Higher responsiveness for iPod clickwheel acceleration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25047 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 15:53:45 +00:00
Thomas Martitz
617ff557e8 Fix remaining reds. I forgot to change the app.lds of the other PP targets (it's the same file as for e200/c200 though).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25016 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 23:48:51 +00:00
Michael Giacomelli
aea6dd036c Commit FS#11034 by Andrew Engelbrecht. Fixes default contrast value on ipod 3G.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24742 a1c6a512-1295-4272-9138-f99709370657
2010-02-18 04:21:15 +00:00
Andree Buschmann
909e4c6c06 Add iPod 3G and iPod Color/Photo (FS#9072) current consumption and battery discharge curves to allow reasonable runtime estimation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24709 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 22:53:54 +00:00
Torne Wuff
d4bfc15232 FS#10107: work around the issue on some ipods where after shutdown they do not power on.
Some ipods do not power on correctly after being shut down and require a hard
reset before they work again. This workaround shuts the device down via the OF
which prevents the problem from occurring. There is a cosmetic effect: the low
battery symbol appears briefly on power of.

Change applies to PP502x ipods: 4G/photo/video/mini1g/mini2g/nano1g

Patch by Boris Gjenero (dreamlayers), manual changes by me.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24207 a1c6a512-1295-4272-9138-f99709370657
2010-01-09 19:04:51 +00:00
Torne Wuff
2d0af6f3c7 FS#9728: Battery current measuring on the Video iPod
Patch by Boris Gjenero. Displays the current flowing into or out of the
battery on the ipodvideo. Other ipods do not appear to have this ADC channel
connected.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23500 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 20:35:04 +00:00
Michael Sparmann
4a63ac7c00 Add iPod Nano 2G µsec timer, and use it in the clickwheel driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23309 a1c6a512-1295-4272-9138-f99709370657
2009-10-21 18:53:41 +00:00
Thomas Martitz
d85c3ec410 Convert lcd_activation callbacks to use the event system to allow for multiple parallel callbacks (for custom statusbar).
Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing).
Removed corresponding functions from the core and plugin api. Bump min version and sort.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:59 +00:00
Bertrik Sikken
d24d885aa4 Use wrap-safe TIME_BEFORE/TIME_AFTER macros to compare times with current_time, instead of comparing them directly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23246 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 15:50:30 +00:00
Michael Sparmann
5a4ce22b77 Fix the iPod Nano 2G clickwheel when releasing the hold switch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23122 a1c6a512-1295-4272-9138-f99709370657
2009-10-12 00:12:02 +00:00
Dave Chapman
3c362fa8c6 Nano2G - implement "Pause on headphone unplug" feature
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23072 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 15:37:05 +00:00
Dave Chapman
f5feb13cc5 Unify the button driver for the Nano 2G with the driver for earlier clickwheel ipods. The clickwheel hardware appears to be the same - the differences are just related to the hardware init and how the data is read.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22878 a1c6a512-1295-4272-9138-f99709370657
2009-10-02 23:04:30 +00:00
Dave Chapman
75e301dabb Fix a comment so that it matches the code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22718 a1c6a512-1295-4272-9138-f99709370657
2009-09-17 08:24:59 +00:00
Nils Wallménius
47608e06b3 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22432 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 22:15:45 +00:00
Bertrik Sikken
d767883a41 Various files: make functions static if they're local or make sure there is a proper #include if not
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22184 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 09:28:25 +00:00
Jonathan Gordon
d10f9511cf Fix FS#5230 - reinit the opto-i2c after disabling hold so the buttons work again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22078 a1c6a512-1295-4272-9138-f99709370657
2009-07-29 01:57:48 +00:00
Jens Arnold
47d4c4739b ARM asm LCD and ATA driver functions: Don't save r12 as it is a scratch reg. Saves a bit of stack and execution time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21795 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 23:43:44 +00:00
Bertrik Sikken
0023943439 Fix duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20977 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 14:50:19 +00:00
Boris Gjenero
7e3f8e0c08 Remove workaround for FS#10130 from 5G iPod LCD sleep code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20806 a1c6a512-1295-4272-9138-f99709370657
2009-04-26 18:51:14 +00:00
Bertrik Sikken
dccdce6c3c Remove unnecessary #include "adc.h"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20791 a1c6a512-1295-4272-9138-f99709370657
2009-04-25 22:24:59 +00:00
Boris Gjenero
88b509b7d2 Fix FS#9926 - On Photo and Color iPods, correct check for whether battery is charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20752 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 22:06:17 +00:00
Boris Gjenero
75a0a434d1 Add USB power detection for 4G, Photo, Color, 1G Mini and 2G Mini iPods. (See FS#5826 and FS#7727)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20745 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 18:17:35 +00:00
Boris Gjenero
8721a7d211 Code police: fix brace placement, remove trailing spaces
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20702 a1c6a512-1295-4272-9138-f99709370657
2009-04-13 18:35:11 +00:00
Boris Gjenero
ab1e97aea8 Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20696 a1c6a512-1295-4272-9138-f99709370657
2009-04-12 15:35:57 +00:00
Boris Gjenero
73e1bad355 Fixes and improvements for FS#9890 - iPod 5G: LCD sleep, BCM shutdown and bootstrap
* Ensure LCD is updated if lcd_update() is called while the LCD is initializing
* Turn on BCM and LCD in lcd_init_device() if it is off
* Speed up lcd_awake()
* Shorten minimum length of time BCM must stay off and fix related code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20695 a1c6a512-1295-4272-9138-f99709370657
2009-04-12 14:54:12 +00:00
Thomas Martitz
9771c9c771 One more try: Fix remaining reds and yellows
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20335 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 04:01:11 +00:00
Thomas Martitz
4ed387d603 Fix reds and yellows (hopefully). Some targets apparently didn't properly #ifdef lcd_enable and lcd_sleep code out, so that it got partly active in the bootloader; rename the ui simulator stub fixes most reds; for the clip: move the hook code into lcd-1bit-vert.c which should fix the bootloader red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20333 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 03:36:36 +00:00
Thomas Martitz
b7739fbf1c Rework lcd_enabled and lcd_set/call_enable hook
a) lcd_enabled() is now lcd_active(), and is available for HAVE_LCD_SLEEP only targets (e.g. ipod video) too. It was depandent on HAVE_LCD_ENALE only before
b) rename the hook accordingly, and implement the hook for other other targets too (e.g. the clip [the only mono target with lcd_enable/lcd_sleep yet, so the code is still in the lcd driver], ipod, fuze, c200)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20331 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 02:43:47 +00:00
Andree Buschmann
c567fc9be2 Submit FS#9890 by Boris Gjenero. Enabling option for iPod Video to shut down LCD and BCM (controller) after backlight was switched off. With this option the user can decide whether to keep the transflective LCD switched on (e.g. during daylight use) or to switch it off (to save power). The power saving is extreme and increases the battery runtime by far (measured >30%).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20076 a1c6a512-1295-4272-9138-f99709370657
2009-02-21 11:10:50 +00:00
Michael Sevakis
ec67912b63 Reclaim .iram areas in DRAM by overlapping their load addresses with the uninitialized data sections. I did what I could test out-- not any flash image linker scripts or other target processors. Move any .iram copies in crt0.S's to be the first operation even if not _strictly_ necessary to be emphatic (aka. 'beware').
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20061 a1c6a512-1295-4272-9138-f99709370657
2009-02-20 02:33:40 +00:00
Nils Wallménius
32d7c6a863 Firewire charger detection for ipod 3G, patch by Boris Gjenero. Fixes FS#9900
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20008 a1c6a512-1295-4272-9138-f99709370657
2009-02-15 08:50:31 +00:00
Thomas Martitz
95577c7996 Fix red once more :/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19862 a1c6a512-1295-4272-9138-f99709370657
2009-01-27 00:16:26 +00:00
Thomas Martitz
3c4d1fd659 Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19861 a1c6a512-1295-4272-9138-f99709370657
2009-01-26 23:52:20 +00:00
Thomas Martitz
12a0ed3b8d Commit FS#9724, which reworks the preprocessor defines related to backlight fading to a CONFIG_BACKLIGHT_FADING style. The apps/ code will only see which setting is supposed to be used, specific backlight fading handling is kept in firmware, slightly reword the manual text about software fading too with regards to the Gigabeat S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19860 a1c6a512-1295-4272-9138-f99709370657
2009-01-26 23:21:49 +00:00
Michael Giacomelli
42567ccd74 Commit battery discharge curve for the Ipod Photo. We still need one for the 4G and Mini.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19794 a1c6a512-1295-4272-9138-f99709370657
2009-01-18 19:36:39 +00:00
Michael Giacomelli
70e9c7aed3 Commit FS#8624 by Linus Nielsen, Ryan Press, Craig Elliott, and Kenderes Tamas. Adds preliminary support for numerous accessories that use the ipod serial port on the dock connector. See IpodAccessories for a list of tested devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19585 a1c6a512-1295-4272-9138-f99709370657
2008-12-25 01:46:16 +00:00
Michael Sevakis
58eb784a5d Straighten out some powermanagement stuff. Give target complete control over how power inputs are sensed. Clean SIMULATOR stuff out of target files. Get rid of USB charging option on targets that don't support it or don't implement it yet. Menu string remains to avoid language incompatibility but should be removed on next cleanup for targets not using it (notice in english.lang). global_settings becomes incompatible for some builds and so plugin API version is incremented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19315 a1c6a512-1295-4272-9138-f99709370657
2008-12-03 19:54:25 +00:00
Jens Arnold
4944a1c1e1 Common data must be included in .bss or it won't get zeroed in crt0. Fix the archos self-extractor as well to play safe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19033 a1c6a512-1295-4272-9138-f99709370657
2008-11-07 00:15:53 +00:00
Jens Arnold
f0dcb34e82 Greyscale iPods: Fix the default contrast in the bootloader and the core before settings are loaded. Especially important on 1st..3rd Gen as we're setting up the LCD controller quite a bit different than the OF on those.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18290 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 19:19:46 +00:00
Dave Chapman
ccf4ce98fd Fix the iPod Photo/Color "type 0 LCD" bug introduced in r17715 by correctly initialising the LCD to accept big-endian data (the same format as the "type 1" LCDs). Also some tab policing. Closes FS#9122 and FS#9097
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18079 a1c6a512-1295-4272-9138-f99709370657
2008-07-17 10:09:12 +00:00
Bertrik Sikken
a12894c6dc Ensure consistency between header file and implementation for iPod drivers, by #including the appropriate header file and #ifdef'fing out unused code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18066 a1c6a512-1295-4272-9138-f99709370657
2008-07-16 11:02:14 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Jens Arnold
538a387cca Blind-add some code from ipodlinux that hopefully fixes the colour problem on iPod Photo reported on the forums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17715 a1c6a512-1295-4272-9138-f99709370657
2008-06-12 05:56:34 +00:00
Michael Sevakis
fa5bd07f6b Oops. Lost sync on a few instances and 'HI' registers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17684 a1c6a512-1295-4272-9138-f99709370657
2008-06-03 05:19:32 +00:00
Michael Sevakis
191320cd0f Rename CPU/COP_INT_CLR to CPU/COP_INT_DIS since it's really a 'write one to disable' register and hasn't anything to do with acknowledging interrupts-- that's handled at the module level.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17683 a1c6a512-1295-4272-9138-f99709370657
2008-06-03 05:08:24 +00:00
Linus Nielsen Feltzing
07bfba21ae Add the ADC_ACCESSORY channel on the ipod, to allow for accessory detection once we figure that out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17648 a1c6a512-1295-4272-9138-f99709370657
2008-05-29 06:12:08 +00:00
Jens Arnold
ab46e463bd Greyscale ipods: Use a somewhat darker shade for lightgrey, improving appearance.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17551 a1c6a512-1295-4272-9138-f99709370657
2008-05-17 09:55:23 +00:00
Andree Buschmann
e8df7c4904 Undo r17470 because of regressions in some debug menus.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17472 a1c6a512-1295-4272-9138-f99709370657
2008-05-12 15:37:03 +00:00
Andree Buschmann
0b81405225 Fix for FS#5162. Being able to read scrollwheel action via button_read_device() for iPod's and e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17470 a1c6a512-1295-4272-9138-f99709370657
2008-05-12 08:27:53 +00:00
Barry Wardell
27f59f64c6 Make the H10 bootloader work again. Also fix the same problem that might be affecting other PP bootloaders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17357 a1c6a512-1295-4272-9138-f99709370657
2008-05-04 14:42:53 +00:00
Michael Giacomelli
5fc95a301d Fix tabs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17338 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 22:07:31 +00:00
Michael Giacomelli
e243db65b4 Commit FS#8920, fixed headphone detection for the Ipod 2G by Mark Fawcus.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17336 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 21:15:13 +00:00
Barry Wardell
93b8a076ec Make the linker complain if the bootloader isn't going to fit into IRAM on PP devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17298 a1c6a512-1295-4272-9138-f99709370657
2008-05-01 17:13:33 +00:00
Jens Arnold
2bbacf89fe Make sure the linker considers crt0*.o before all files specified on the command line by using STARTUP() instead of INPUT() in the .lds. Using INPUT() makes the linker process crt0*.o after all files specified on the command line, making linking fail if there are librockbox.a members which are only referenced by crt0*.o. Remove the hackaround that was needed for building the gigabeat S bootloader before (aka UIE() problem).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17289 a1c6a512-1295-4272-9138-f99709370657
2008-04-29 06:19:32 +00:00
Frank Gevaerts
7a2d9ddb08 move some data around to place qh_array at the start of iram. This saves up to about 2k iram on PP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17194 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 18:43:47 +00:00
Andree Buschmann
850a11250a Adding new setting to System Settings <Accessory Power Supply -- off by default). This setting can be used to enable/disable the power supply for accessories. With this commit implemented for iPods with PCF50605 power controller.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17193 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 18:28:25 +00:00
Robert Kukla
feb3b588e3 explicitly align the ibss section by adjusting _iramend - fixes hang on m:robe (and potential problem on other arm targets)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17024 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 18:24:23 +00:00
Michael Sevakis
05099149f1 Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16981 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 04:34:57 +00:00
Jens Arnold
32bd0f8ab1 Greyscale library: Optionally put the greyscale ISR on COP on portalplayertargets (only use with the grey_info structure in IRAM atm\!). This speeds up doom by ~50%, and makes mpegplayer work without stuttering audio on targets using it (measured on iPod 2nd Gen and Mini 2nd Gen). It needs corelocking certain functions in the LCD driver on 1st/2nd Gen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16973 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 22:13:53 +00:00
Jens Arnold
8399749412 1st/2nd Gen: Backlight inversion needs to be protected from interrupts, because it can happen any time, even while the greyscale lib or something else is writing to the LCD from an ISR. Also make backlight inversion only hit the LCD if necessary. * Use register definition in the 1st..3rd Gen backlight drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16962 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 17:33:39 +00:00
Jens Arnold
b073f0cfc1 LCD driver tweaks for greyscale iPods: * Use 1/7 bias, 5x step-up and the highest step-up frequency on all 1st..3rd gen iPods, simplifying the driver this way. The default contrast for those iPods has changed - reset settings in case the display becomes unreadable. * Set n-line inversion drive to 9 lines, improving image quality on 1st..3rd gen iPods somewhat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16932 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 19:01:16 +00:00
Jens Arnold
1f75bd5a8e Use a better place to enable the interrupts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16918 a1c6a512-1295-4272-9138-f99709370657
2008-04-01 18:53:34 +00:00
Jens Arnold
e249ecc85b iPod 1st..3rd Gen and Mini 1st Gen fixes/improvements: * Remove the unnecessary 'reverse' parameter from handle_scroll_wheel() (a remnant from IPL that's not needed in rockbox), and make it static. * Wheel power saving on 1st Gen needs to disable the respective GPIO interrupts as well, otherwise every wheel check might fire interrupts. Make wheel power saving more self-contained as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16916 a1c6a512-1295-4272-9138-f99709370657
2008-04-01 17:52:22 +00:00
Jens Arnold
567105b219 Stop saving more registers than necessary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16866 a1c6a512-1295-4272-9138-f99709370657
2008-03-28 18:56:50 +00:00
Marcoen Hirschberg
82c52302bd split boot.lds and move it into the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16855 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 23:58:03 +00:00
Andree Buschmann
2364bc213c Save a few registers in assembler routines for iPod 5Gs LCD driver and YUV conversion.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16840 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 07:46:04 +00:00
Michael Sevakis
af395f4db6 Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 01:50:41 +00:00
Jens Arnold
68a21689ae Consistent naming scheme the various blit functions. * Removed lcd_blit_mono() for colour targets. Plugin API became incompatible, so sort, clean up & bump. * Implemented lcd_blit_mono() for M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16775 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:35:53 +00:00
Karl Kurbjun
ef62d6891a Split up app.lds to the respective target directories. The portalplayer devices replicate app.lds since their target tree doesn't follow a syntax typical to the newer arm targets - the portalplayers could be cleaned up further. boot.lds and plugin.lds still need to be cleaned up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16651 a1c6a512-1295-4272-9138-f99709370657
2008-03-13 03:48:23 +00:00
Robert Keevil
746ff30003 Revert LCD changes - make sure the backlight remains on as a visible sign that the unit has powered off
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16314 a1c6a512-1295-4272-9138-f99709370657
2008-02-14 20:48:17 +00:00
Robert Keevil
15581e8ad5 Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16312 a1c6a512-1295-4272-9138-f99709370657
2008-02-14 15:24:31 +00:00
Robert Keevil
5d6994ee99 Prevent the screen flashing white when shutting down colour ipods - fixes FS#7755
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16311 a1c6a512-1295-4272-9138-f99709370657
2008-02-14 15:02:06 +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
Michael Giacomelli
31b6eb57b0 Commit FS#8387 by Adam Gashlin. Enables detection of firewire devices for charging on various Ipods. Note that charging itself is not yet implemented on these devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16124 a1c6a512-1295-4272-9138-f99709370657
2008-01-20 23:03:23 +00:00
Michael Sevakis
6a8379674c Finally, out goes struct spinlock for anything but mutiprocessor targets where it becomes a reenterable corelock.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16105 a1c6a512-1295-4272-9138-f99709370657
2008-01-18 13:12:33 +00:00
Jens Arnold
28cd26c471 Some cleanup for readability. No code change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16076 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 13:58:18 +00:00
Jens Arnold
41cd44caa7 Greyscale ipod lcd driver: * Assembler optimised low level functions. PP5002 targets benefit most (lcd_update() speedup >50%, and the greyscale overlay no longer makes mp3 playback skip). * Consistent brace placement style.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16060 a1c6a512-1295-4272-9138-f99709370657
2008-01-12 00:59:18 +00:00
Jens Arnold
6a56c14e17 Greyscale library: Changed the internal data format once more (separated pixel values and phases), allowing for further optimisation of drawing, scrolling etc. * Optimised grey phase blitting in the core reduces CPU load on all architectures, most significantly on coldfire. Previous version was too slow to keep up at 45MHz, leading to unwanted graininess (update frequency was halved). Also fixed screendump on 2bpp targets with vertical pixel packing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16043 a1c6a512-1295-4272-9138-f99709370657
2008-01-09 23:48:26 +00:00
Jens Arnold
feb5b15e9b All-new greyscale library, replacing the old one. Features: (1) Drawing/updating is faster than the old grayscale lib at full depth. (2) Always 129 shades instead of 2..33 shades. (3) No graininess caused by frequent updates (mpegplayer, doom, ...). (4) Needs less memory than the old grayscale lib at full depth. * The tradeoff is slightly higher CPU load in the ISR (frames are calculated 'live') and an extra function in the core. * Ported all plugins which used the graylib to use the new one. * Some slight optimisations for archos and H1x0 LCD update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15998 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 23:42:38 +00:00
Michael Sevakis
7126d64820 Further lockdown of multipart i2c operations that must be done without intrusion.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15823 a1c6a512-1295-4272-9138-f99709370657
2007-11-27 00:35:41 +00:00
Jens Arnold
120fb4f319 Speed up YUV blitting on iPod Video by ~8% (FS #8075 by Andree Buschmann).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15820 a1c6a512-1295-4272-9138-f99709370657
2007-11-26 23:48:23 +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