Commit graph

322 commits

Author SHA1 Message Date
Michael Sevakis
a56f1ca1ed Cleanup MV/MD macros a little.
When using variadic macros there's no need for IF_MD2/IF_MV2 to deal
with function parameters. IF_MD/IF_MV are enough.

Throw in IF_MD_DRV/ID_MV_VOL that return the parameter if MD/MV, or 0
if not.

Change-Id: I7605e6039f3be19cb47110c84dcb3c5516f2c3eb
2013-08-17 12:18:22 -04:00
Rafaël Carré
7ca2081036 remove debug-target.h 2012-05-07 00:55:59 -04:00
Amaury Pouly
f33330c0ff arm: factor all exception handlers out of the crt0.S files
Remove the implementations of all exceptions handlers from the
various crt0.S files and have a single implementation in system-arm.h
The new implementation is weak so that it can be overwritten by some
specific code (like the unwinder)

Change-Id: Ib3e041ed6037376bbe0e79286057e1051640dd90
Reviewed-on: http://gerrit.rockbox.org/205
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2012-04-06 13:46:32 +02:00
Rafaël Carré
41b46231cb usb-nano2g-6g: missing brace in non-default preprocessor path
Change-Id: Iacf6719e58b927bb619d469048e16797cae5cecd
2012-03-30 18:58:38 -04:00
Michael Sevakis
cd8e11b463 Tweak some PCM drivers for less typecasting with the data pointer.
Yeah, sizeof (void) here with GCC is 1. If something has a problem
with that, we'll set it straight.

Change-Id: I9ad3eee75dd440f6404a04a501d1533c8bc18ba9
2012-03-04 08:52:50 -05:00
Michael Sevakis
286a4c5caa Revise the PCM callback system after adding multichannel audio.
Additional status callback is added to pcm_play/rec_data instead of
using a special function to set it. Status includes DMA error
reporting to the status callback. Playback and recording callback
become more alike except playback uses "const void **addr" (because
the data should not be altered) and recording  uses "void **addr".
"const" is put in place throughout where appropriate.

Most changes are fairly trivial. One that should be checked in
particular because it isn't so much is telechips, if anyone cares to
bother. PP5002 is not so trivial either but that tested as working.

Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2
Reviewed-on: http://gerrit.rockbox.org/166
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-03-03 07:23:38 +01:00
Jonathan Gordon
b37e6bc8c1 lcd drivers: Convert lcd_[remote_]framebuffer to a pointer
Change all lcd drivers to using a pointer to the static framebuffer
instead of directly accessing the static array. This will let us
later do fun things like dynamic framebuffer sizes (RaaA) or
ability to use different buffers for different layers (dynamic
skin backdrops!)

Change-Id: I0a4d58a9d7b55e6c932131b929e5d4c9f9414b06
2012-02-28 11:44:59 +11:00
Rafaël Carré
95cf63b294 button-target.h : move prototypes to button.h
no need to define BUTTON_REMOTE anymore

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31620 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 00:07:19 +00:00
Rafaël Carré
ff2a7b6aa4 s5l8700: move debug-target.h content to .c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31567 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 06:34:13 +00:00
Rafaël Carré
393f427a11 dbg_hw_info(): remove duplicate prototypes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31560 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 05:29:30 +00:00
Rafaël Carré
b959497670 dbg_ports(): remove duplicate prototype
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31558 a1c6a512-1295-4272-9138-f99709370657
2012-01-04 05:21:52 +00:00
Thomas Martitz
c1bd9b0361 Rework powermgmt to enable code re-use on appliation and sims.
* Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application)
to break powermgmt.c's assumption about the ability to read battery voltage.
There's now additionally percentage (android) and remaining time measure
(maemo). No measure at all also works (sdl app). If voltage can't be measured,
then battery_level() is king and it'll be used for power_history and runtime
estimation.

* Implement target's API in the simulator, i.e. _battery_voltage(), so it
doesn't need to implement it's own powermgmt.c and other stubs. Now
the sim behaves much more like a native target, although it still
changes the simulated battery voltage quickly,

* Other changes include include renaming battery_adc_voltage() to
_battery_voltage(), for consistency with the new target functions and
making some of the apps code aware that voltage and runtime estimation
is not always available.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31548 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 23:44:38 +00:00
Rafaël Carré
568c441fd8 usb-target.h: remove
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31498 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:44:55 +00:00
Rafaël Carré
bce42fdc31 usb_init_device(): move prototype to usb.h
Get rid of some usb-target.h files

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31487 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:43:41 +00:00
Rafaël Carré
6fdc91e64f usb-s3c6400x: move usb_init_device
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31478 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 16:17:06 +00:00
Rafaël Carré
249218a5c2 usb-s3c6400x.c: move usb_detect and usb_enable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31477 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 15:44:32 +00:00
Boris Gjenero
14c2e677fd Make more local functions static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31395 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 17:36:18 +00:00
Michael Sevakis
09769827fe Swap red and yellow for green on r31339's cranky builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31340 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 07:54:00 +00:00
Michael Sevakis
43d7a75369 Get the linker files that slipped through in r31337.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31338 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 02:00:59 +00:00
Jonathan Gordon
ea2a3ee7a8 Fix the gpl notice in the previous commits new files, and fix the yelow gevearts naughtily ignored
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30996 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 10:37:48 +00:00
Jonathan Gordon
be716c0be8 Finally commit FS#5111 - piezo clicker for ipods!
Origional implementation by Robert Keevil with contributions from Frederik Vestre,  Stoyan Stratev, Craig Elliott, Michael Sparmann,  Thomas Schott, Rosso Maltese, and syncs from a bunch of other people!

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30995 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 10:25:43 +00:00
Torne Wuff
569285794b Bulk convert all DOS line endings to UNIX.
For the git migration we want a nice clean repository with UNIX line
endings. git does not use svn:eol-style, we just need the file contents to be
sane.

Sorry everybody. I know this messes up blame.

Scumbag *NIX developer says migrating to git will make line ending issues go
away; commits giant change to svn which changes line endings anyway. :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30924 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 22:44:25 +00:00
Marcin Bukat
bf056d5372 Switch to SYS mode on arm FS#12322 by me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30741 a1c6a512-1295-4272-9138-f99709370657
2011-10-11 16:06:03 +00:00
Michael Sevakis
4db3e89652 Shuffle some functions around so that interfacing with playback.c in particular isn't required. Though playback does finish the audio init, pcm doesn't care who does it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30403 a1c6a512-1295-4272-9138-f99709370657
2011-09-01 12:15:43 +00:00
Michael Sevakis
a2b6703a36 Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30097 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 06:37:04 +00:00
Torne Wuff
754b1572fb Remove superfluous executable bits on a bunch of files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29986 a1c6a512-1295-4272-9138-f99709370657
2011-06-08 14:22:03 +00:00
Marcin Bukat
dceceef052 Move dbg_hw_info() into target tree. FS#11735 by me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29964 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 10:26:06 +00:00
Andree Buschmann
71e35542dc Fix issues with iPod nano 2G displays reported on the forums. The voltage supply seems to be too low for several LCDs. The buzz of the display is still significantly lower than with OF.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29764 a1c6a512-1295-4272-9138-f99709370657
2011-04-22 19:06:16 +00:00
Michael Sevakis
12375d1d3a Merge functionality of wakeups and semaphores-- fewer APIs and object types. semaphore_wait takes a timeout now so codecs and plugins have to be made incompatible. Don't make semaphores for targets not using them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29492 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 08:49:38 +00:00
Michael Sparmann
30fb680a4d iPod Classic CE-ATA Support (Part 4 of 4: S5L8702 ATA driver)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29448 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 22:47:55 +00:00
Michael Sparmann
f8fde296a6 Remove files accidentally commited in 28953
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28959 a1c6a512-1295-4272-9138-f99709370657
2011-01-03 13:24:27 +00:00
Michael Sparmann
152847977a New port: iPod Classic (also known as iPod 6G/6.5G/7G)
Major known issues:
- No bootloader yet
- No support for the first-generation 160GB CE-ATA hard disk drive yet
- Audio playback is slow, only FLAC seems to reach realtime


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28953 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 23:16:27 +00:00
Andree Buschmann
5f43d0db5c Fix comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28940 a1c6a512-1295-4272-9138-f99709370657
2011-01-01 20:10:19 +00:00
Andree Buschmann
21b89aab5a Save some binsize in LCD driver of iPod nano 2G. No impact to speed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28938 a1c6a512-1295-4272-9138-f99709370657
2011-01-01 19:25:09 +00:00
Andree Buschmann
bf3a1bed96 Submit FS11782: Use faster DRAM timings in unboosted state for S5L870x. DRAM read +8%, DRAM write +37%, DRAM copy +25% faster.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28935 a1c6a512-1295-4272-9138-f99709370657
2010-12-30 20:23:46 +00:00
Andree Buschmann
3f01a82af0 Submitted the wrong file with r28933.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28934 a1c6a512-1295-4272-9138-f99709370657
2010-12-30 15:46:39 +00:00
Andree Buschmann
e91091b530 Major speedup of iPod nano 2G. Part 6: Use faster LCD interface configuration. Tested for LDS and ILI type displays. Speedup is +99% for RGB and +5% for YUV.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28868 a1c6a512-1295-4272-9138-f99709370657
2010-12-21 06:59:17 +00:00
Andree Buschmann
d215eb7c70 iPod nano 2G: Use LCD_PHTIME = 0x22 for both LDS and ILI type of displays. Significantly improves speed on ILI type (factor of ~2.5x).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28861 a1c6a512-1295-4272-9138-f99709370657
2010-12-19 21:22:31 +00:00
Andree Buschmann
8205e54abd iPod nano2g ILI type LCD displays need big endian configuration for the LCD interface.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28858 a1c6a512-1295-4272-9138-f99709370657
2010-12-19 19:06:55 +00:00
Andree Buschmann
c43fb3cf1b Add short sleep after wakeup of LDS176 type LCD to avoid occasional shift of first full screen update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28827 a1c6a512-1295-4272-9138-f99709370657
2010-12-13 21:13:10 +00:00
Andree Buschmann
abf28a9586 Speedup of iPod nano 2G YUV blitting by 3%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28825 a1c6a512-1295-4272-9138-f99709370657
2010-12-13 20:56:53 +00:00
Andree Buschmann
298bbe8d3c FS#11807 - Major speedup of iPod nano 2G. Part 5: Introduce asm for RGB screen updates, set LCD_PHTIME to Apple's default for LDS176 type LCD's.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28824 a1c6a512-1295-4272-9138-f99709370657
2010-12-13 19:58:04 +00:00
Andree Buschmann
395d72f71a FS#11807 - Major speedup of iPod nano 2G. Part 4: Introduce asm for yuv blitting. Overall speedup of part1-4 is +50% for RGB and +93% for YUV.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28813 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:23:20 +00:00
Andree Buschmann
eadff40863 FS#11807 - Major speedup of iPod nano 2G. Part 3: Unify different write commands. No change in speed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28812 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:16:55 +00:00
Andree Buschmann
335df1d040 FS#11807 - Major speedup of iPod nano 2G. Part 2: Use 16 bit data width and simplify write commands. Gives another +27% for YUV.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28811 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:10:45 +00:00
Andree Buschmann
d192bdf11e FS#11708 - Major speedup of iPod nano 2G. Part 1: Loop unrolling and reduction of FIFO register polling. +50% for RGB, +34% for YUV.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28809 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:01:36 +00:00
Michael Sparmann
7b3c7db486 iPod Nano 2G: Correct clickwheel interrupt handler name, this time consistently.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28807 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 12:40:37 +00:00
Andree Buschmann
6e369d717d Fix typo in comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28795 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 17:52:52 +00:00
Andree Buschmann
2f9c4dfa39 iPod nano 2G: Call lcd_update_rect() in lcd_update() instead of using an own implementation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28794 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 10:38:41 +00:00
Andree Buschmann
43e8fbbb4a Set DRAM configuration for iPod nano 2G in crt0.s
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28793 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 09:42:42 +00:00