Commit graph

30 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
Szymon Dziok
6eed071a6d fix YUV Dither for the other targets too, like in r26064.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26266 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 18:57:11 +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
Rafaël Carré
3520d8e90e Sansa c200v2 : lcd & backlight support, using the c200v1 lcd driver
The LCD driver is unified and lcd_send_command now takes 2 arguments : the command and its argument.
    If there is no argument, it's set to 0 and a NOP command is issued
    If there is more than one argument (set X/Y address), the 2nd argument is sent as a 2nd command, and a NOP command is issued after it.
    Benefit : c200v2 transfers the command and the argument in one 16 bits transfer
    Performance should not be affected since commands without argument are only used in lcd_init() and lcd_enable()

lcd_send_data() now transfers whole lines (or columns) instead of single pixels
yuv is disabled for c200v2 for now

Some buttons can be read, including left button (bit 6 of DBOP_DIN), but for some reason they have no effect in rockbox: to be investigated

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21321 a1c6a512-1295-4272-9138-f99709370657
2009-06-17 19:55:27 +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
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
68f9ef2d57 The c200 didn't got in for some reason.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20332 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 02:49:26 +00:00
Michael Giacomelli
26c06d165b Commit battery discharge curve for c200v1 by BertrikSikken. The old one wasn't very realistic.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19795 a1c6a512-1295-4272-9138-f99709370657
2009-01-18 19:48:34 +00:00
Michael Sevakis
7d7969114d c200v1/e200v1: Add battery charging. This should be usable on v2 players but those should be evaluated for current, endpoint voltage and whether or not accurate battery readings may always be obtained (which determines algorithm setup and behavior).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19748 a1c6a512-1295-4272-9138-f99709370657
2009-01-11 10:07:22 +00:00
Bertrik Sikken
f2213c8fc2 Apply FS#9195 (LCD disable for sansa c200), which puts the sansa c200 display controller in standby when the backlight is turned off and thereby improves runtime. I measured 40 minutes improvement over a runtime of about 14h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18198 a1c6a512-1295-4272-9138-f99709370657
2008-08-05 20:17:17 +00:00
Bertrik Sikken
b0b72a84ff Fix sansa c200 battery type comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18197 a1c6a512-1295-4272-9138-f99709370657
2008-08-05 19:45:57 +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 Giacomelli
fc0eca35c2 Rough battery calibration for the c200 based on results posted by Tomasz Wasilczyk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17152 a1c6a512-1295-4272-9138-f99709370657
2008-04-17 15:19:17 +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
Mark Arigo
2ea0206502 Fixes FS#8552. On some c200s, the second parameter in setting R_Y_ADDR_AREA was being interpreted as a separate command (most commonly initiating standby mode where the screen goes blank). While this may be a timing issue, some NOPs seem to fix it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16896 a1c6a512-1295-4272-9138-f99709370657
2008-03-31 05:53:17 +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
Jens Arnold
6ef2db2c11 Significant LCD speedup for all greyscale iPods and Sansa c200 (c200, 4th Gen, Mini 1st Gen: >3.3x speedup, 1st..3rd Gen: ~2x speedup, Mini 2nd Gen: ~30% speedup).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15655 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 12:49:24 +00:00
Jens Arnold
b77893e4d5 C200: Reworked the LCD driver a bit, and fixed a bug with single column updates (was only visible in mandelbrot).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15343 a1c6a512-1295-4272-9138-f99709370657
2007-10-28 13:16:05 +00:00
Jens Arnold
c1051549b9 Implement YUV dithering for c200, and enable the option in mpegplayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15246 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 13:46:26 +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
Jens Arnold
8aeed2d32e PP LCD drivers: * Optimised and cleaned up PP colour LCD drivers. Immeasurable speedup on iPod Color, huge speedup on small H10 (a factor of 3). Should be a bit faster on big H10 too. * Big H10 changed bitmap format, so needs reconfiguring + full rebuild. * Better register naming for the mono LCD bridge. Register names for the colour LCD bridge.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15082 a1c6a512-1295-4272-9138-f99709370657
2007-10-12 00:28:57 +00:00
Jens Arnold
d1e2f5240c c200: First implemention of lcd_yuv_blit(). mpegplayer works now, but speed can be optimized more and dithering is not yet implemented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15020 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 17:54:49 +00:00
Jens Arnold
1f0d06f085 * Use proper definitions for the PP (mono) LCD bridge. * Clean up pp5002.h a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15018 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 16:44:55 +00:00
Jens Arnold
0464c36bdc Fix red bootloader build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15015 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 12:57:07 +00:00
Jens Arnold
4efd9c4eef c200: Make the backlight react on unlocking hold as intended.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15014 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 12:22:19 +00:00
Mark Arigo
f463a44adf Enable lcd contrast adjustment on Sansa c200
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14945 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 02:00:40 +00:00
Jens Arnold
361cdac365 The C200 LCD controller is a Samsung S6B33B2. Define appropriate register names, and implement display flip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14838 a1c6a512-1295-4272-9138-f99709370657
2007-09-24 00:18:09 +00:00
Jens Arnold
bf169ed7db Speed up C200 lcd_update() by ~7%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14834 a1c6a512-1295-4272-9138-f99709370657
2007-09-23 19:15:01 +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