Commit graph

102 commits

Author SHA1 Message Date
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
Michael Sevakis
dcf442e61f YUV Dither: r12 saving was removed but stacked parameter load offset wasn't changed to compensate, resulting in an improperly aligned dither kernel.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26064 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 20:25:56 +00:00
Andree Buschmann
091fc75034 Update battery discharge curve and current consumption for iRiver h10 5GB. Thanks to Danny Attar for measuring.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25279 a1c6a512-1295-4272-9138-f99709370657
2010-03-21 19:02:09 +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
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
Andree Buschmann
56d972ad57 Fix tabs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24153 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 10:19:43 +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
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
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
Maurus Cuelenaere
48f4512518 Also fix the iRiver H10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21503 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 22:23:45 +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
Thomas Martitz
6abae1f124 Remove the calls to backlight_lcd_sleep_countdown from target specific code and move it into backlight.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20793 a1c6a512-1295-4272-9138-f99709370657
2009-04-26 01:23:39 +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
Thomas Martitz
5c16ba4c4d Fix very last yellows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20337 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 04:46:11 +00:00
Thomas Martitz
d0e834aa73 Okay, this should be the last. I'm sorry for the trouble, but now everything *should* be properly #ifdef'd (which wasn't before) :/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20336 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 04:22:28 +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
Barry Wardell
3fe6152a1a Make the H10 5GB bootloader able to load the OF again. From FS#9955.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20185 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 22:42:13 +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
Bertrik Sikken
8e2ff63a7e Various files: make function implementations consistent with their declaration in the header file or static if
they're local.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19892 a1c6a512-1295-4272-9138-f99709370657
2009-01-31 23:51:11 +00:00
Mark Arigo
04992ef050 Move the PP5020 ADC defines to the c-file instead of repeating them across the header files. Also, the Tatung TPJ1022 should use the common PP5020 ADC driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19864 a1c6a512-1295-4272-9138-f99709370657
2009-01-27 03:19:57 +00:00
Michael Sevakis
377b42b63b H10 can distinguish USB and MAIN charger input so return proper flags. H100s were misconfigured and should use CHARGING_SIMPLE. Comment more on what charging types mean in config.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19582 a1c6a512-1295-4272-9138-f99709370657
2008-12-24 19:36:37 +00:00
Michael Sevakis
3157e13956 Simplify powermgmt thread loops so it calls functions turn (no more power_thread_sleep). Do other target-friendly simplifications, generic battery switch handling and split sim-specific code. Whoever can, please verify charging on the Archos Recorder (due to change in the charger duty cycle code).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19579 a1c6a512-1295-4272-9138-f99709370657
2008-12-24 16:58:41 +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
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
Michael Sevakis
adf2e4c9a0 Targets with HAVE_LCD_ENABLE: Provide a means to receive notifications when the lcd is enabled and the image is refreshed so overlayed drawing can also be refreshed. Chiefly mpegplayer needs this so it can redraw the YUV data after the backlight is turned on while paused or when using 'Set Start Time'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17640 a1c6a512-1295-4272-9138-f99709370657
2008-05-28 10:17:16 +00:00
Michael Sevakis
009cebeab2 Straigten-out lcd sleeping on Gigabeat F/X. Add a service function to backlight.c to handle lcd sleep timer. Make HAVE_LCD_SLEEP useable without a setting and use HAVE_LCD_SLEEP_SETTING when a setting is available in addition to HCD_HAVE_SLEEP. If a setting isn't used, the target must define the timeout to be used in the config.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17505 a1c6a512-1295-4272-9138-f99709370657
2008-05-14 19:29:25 +00:00
Jens Arnold
82cda9b091 H10: Disable IDE controller when the disk is powered down like on ipods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17402 a1c6a512-1295-4272-9138-f99709370657
2008-05-07 06:51:28 +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
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
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
02580851ad Revert... stupid svn doesn't complain when passing -m twice :(
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16939 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 22:45:23 +00:00
Jens Arnold
01a106dbfa Make the measured LCD scanrates from the greylib known to the scanrate test plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16938 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 22:42:21 +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
Barry Wardell
b35d45db02 Make H10 bootloader successfully boot the OF again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16837 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 00:50:50 +00:00
Jens Arnold
1f4bcc86da Revert accidental tree commit. /me needs a smaller enter key...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16805 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:57:23 +00:00
Jens Arnold
9a7978aeab Cabbiev2 gigabeat background: reduce WPS backdrop filesize by storing it as 24 bit BMP instead of unnecessary 32 bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16802 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:43:08 +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
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
Michael Sevakis
7e402d8202 H10-20GB: Commit the first patch in FS#8533 to fix the mpegplayer display problem where only half the data was reaching the display on some players. Two individuals report that it corrects it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16193 a1c6a512-1295-4272-9138-f99709370657
2008-02-01 02:02:38 +00:00
Michael Sevakis
f8709ac7e2 H10 20GB: Assembly YUV blitting and dithering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16171 a1c6a512-1295-4272-9138-f99709370657
2008-01-26 14:24:09 +00:00
Michael Sevakis
506d18b0e6 H10 20GB: Hopefully fix the issue on FM not operating at 80MHz CPU frequency for everyone. Works for me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16165 a1c6a512-1295-4272-9138-f99709370657
2008-01-25 19:17:48 +00:00
Robert Kukla
a615aabc33 - share adc reading code between h10 and mrobe100
- battery voltage calibrated and used for mrobe100 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16064 a1c6a512-1295-4272-9138-f99709370657
2008-01-12 20:36:45 +00:00