Commit graph

313 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
Michael Sevakis
5261b19bdf Still at it for 0c7b787. Might be done now.
Change-Id: Idf45731dc6554954747f6036dc6dfcd4b63981a1
2013-04-15 14:58:00 -04:00
Rafaël Carré
7ca2081036 remove debug-target.h 2012-05-07 00:55:59 -04:00
Marcin Bukat
76c74c4437 fix tms320dm320 crt0.S
Change-Id: I7d7304cd4bddea78777ce826495e7cddae711442
2012-04-06 14:36:02 +02: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
Marcin Bukat
e1796fbc20 mrobe500: fix warrnig in bootloader
Change-Id: I327dad2b8f335468d38ff8d717f7885c14492b7e
2012-03-19 08:43:27 +01: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
c0a2c3fe3a Fix build errors and warnings
Change-Id: Ie80bc4328d4f89a5a7b77c93f2b445d0e30fb019
2012-02-28 11:51:09 +11: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é
7f2156661c adc-target.h: cleanup
move adc_close() prototype to adc.h
don't duplicate prototypes of adc.h
remove license header and guards for a single include of another file or for empty content

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31623 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 00:39:29 +00: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é
28d1af853c Clean spi.h and spi-target.h
Only target-specific (list of SPI targets) go in spi-target.h
API go into spi.h

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31615 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 22:04:12 +00:00
Rafaël Carré
95f3ba5658 lcd_remote_powersave: unused
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31611 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 19:48:49 +00:00
Rafaël Carré
56e2eea175 mr500: move remote button reading code to buttom-mr500.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31609 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 19:44:30 +00:00
Rafaël Carré
351c8b2573 move _remote_backlight_* to common header
remove unused REMOTE_INIT_LCD / REMOTE_DEINIT_LCD

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31607 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 19:32:50 +00:00
Rafaël Carré
50f96943be remote_detect(): move to lcd-remote.h
Reorganize lcd-remote.h so it works for iaudio-m3 too

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31605 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 19:07:36 +00:00
Rafaël Carré
666f2e61f0 move lcd remote common declarations to lcd-remote.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31604 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 18:34:09 +00:00
Rafaël Carré
2a5772a20c lcd-remote-target.h: remove more duplicates
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31603 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 18:22:13 +00:00
Rafaël Carré
07ee1b3729 lcd-remote-target.h: remove duplicate declarations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31602 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 18:15:32 +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é
a51879dd01 creative zvm isp1583 defines: move to isp1583.h
zvm is the only user of this file

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31495 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:44:32 +00:00
Rafaël Carré
280d5844a1 usb_drv_connected() is declared in usb_drv.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31490 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:44:07 +00:00
Rafaël Carré
df09274768 move usb_pin_init() declaration to PP's system-target.h
remove duplicate usb_detect() declaration
Remove all content from empty usb-target.h files

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31488 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:43:53 +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
Tomasz Moń
fdcf5e48e1 Sansa Connect: Set unknown GIOs to state with lowest power consumption. This slightly improves runtime.
Use proper delay for DSP reset and interrupt.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31438 a1c6a512-1295-4272-9138-f99709370657
2011-12-26 09:45:18 +00:00
Tomasz Moń
4539ffe1f3 TMS320DM320: Add generic I/O debug window for targets other than mrobe 500.
DEBUG_GIO allows users to set any GIO options (direction, output state). As this feature should be used only by experienced users it is compiled conditionally.

Raise I2C delay values since udelay() is now precise and previous values seems to be too low for some devices.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31421 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 14:18:53 +00:00
Tomasz Moń
5b5871bd01 TMS320DM320: Disable CLOCKOUT signal to save some power.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31404 a1c6a512-1295-4272-9138-f99709370657
2011-12-22 18:03:44 +00:00
Tomasz Moń
f9a135a81f Sansa Connect: Significantly decrease MIN_YIELD_PERIOD in sdmmc driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31400 a1c6a512-1295-4272-9138-f99709370657
2011-12-22 08:45:09 +00:00
Tomasz Moń
f805b5d361 TMS320DM320: Ensure udelay() will not end before specified amount of time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31398 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 21:11:38 +00:00
Tomasz Moń
2800c55a6a TMS320DM320: Check for TIMER1 bit in udelay().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31394 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 16:06:36 +00:00
Tomasz Moń
37f4dfc259 TMS320DM320: Prevent lockup in udelay() when this function is called with interrupts disabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31392 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 14:56:22 +00:00
Tomasz Moń
3aced71e54 Sansa Connect: Put DAC (needed for analog video output) in Powerdown mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31391 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 12:52:36 +00:00
Tomasz Moń
d63b19ab49 Fix comment in sdmmc to reflect what it really means.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31390 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 11:55:12 +00:00
Tomasz Moń
31c0842cd6 Sansa Connect: Don't enable DAC clock as it's not necessary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31389 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 10:45:03 +00:00
Tomasz Moń
013384f138 Sansa Connect: Add udelay() in sdmmc card initialization to prevent dead locks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31388 a1c6a512-1295-4272-9138-f99709370657
2011-12-21 09:58:03 +00:00
Tomasz Moń
44d1a26271 Sansa Connect: use udelay() in AVR spi_txrx().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31377 a1c6a512-1295-4272-9138-f99709370657
2011-12-20 13:36:43 +00:00
Tomasz Moń
4aec001244 TMS320DM320: Use TIMER1 (tick generator) to make udelay() precise.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31376 a1c6a512-1295-4272-9138-f99709370657
2011-12-20 12:49:59 +00:00
Tomasz Moń
c24a36dd9d Sansa Connect: Disable EMIF clock after booting main binary. Raise the threshold values for battery dangerous and shutoff levels.
On this player EMIF is needed for accessing NOR flash. Disabling it improves battery runtime by about 25 minutes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31373 a1c6a512-1295-4272-9138-f99709370657
2011-12-20 06:21:58 +00:00
Tomasz Moń
b98d03f4c3 TMS320DM320: Turn on Image Buffer clock on demand (FS #12462)
This improves battery runtime on Sansa Connect by approximately 40 minutes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31358 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 06:39:07 +00:00
Tomasz Moń
2d8fd040d8 Sansa Connect: Use Image Buffer for screen updates.
This improves framerate update (when uboosted, approximate values) from 151 fps to 911 fps for whole screen update and from 432 fps to 3017 fps for quarter screen update.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31357 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 06:31:49 +00:00
Boris Gjenero
ca9111ef64 Add KEEP() around vectors in linker scripts.
Vectors are needed by the CPU, but they don't need to be accessed by Rockbox.
Without the KEEP(), they can be removed when liking with --gc-sections, 
creating a broken binary without any warnings. This tells the linker to not
remove them. It should enable use of --gc-sections for all targets. When not
using --gc-sections, this does not change the binary.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31351 a1c6a512-1295-4272-9138-f99709370657
2011-12-18 06:43:08 +00:00
Michael Sevakis
6a67707b5e Commit to certain names for cache coherency APIs and discard the aliases.
Wouldn't surprise me a bit to get some non-green.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31339 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 07:27:24 +00:00
Michael Sevakis
28dec004c0 Do some things to make -ffunction-sections work better.
* Add wildcards to various sections placements a la *(".text") => "*(.text*)"
* Remove hacky bits from those linker scripts (no problem encountered testing)
* Change section for asm functions from .<section> to .<section>.<function>
  so that -ffunction-sections works for those asm file too.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31337 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 01:43:32 +00:00
Michael Sevakis
95e6043d5e Convert remaining memframe LCDs that can be convert to common code.
Massage the way it interfaces a bit to make things more flexible.
The chroma_buf scheme on Sansa Connect and Creative ZVx calling the
lcd_write_yuv420_lines implementation in lcd-as-memframe.S with five params
with a chroma buffer that the function can't use wouldn't work anyway so just
have them use the stock implementation (really, how was that working?).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31335 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 23:40:39 +00:00
Tomasz Moń
a0b81bdbfc Sansa Connect: Disable USB clocks when disconnected.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31323 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 11:20:38 +00:00
Tomasz Moń
ddd594b03e Sansa Connect: Use sleep() instead udelay() in AVR spi_txrx.
This should prevent buffer underruns that can occur during heavy use of buttons or scrollwheel.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31267 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 15:33:53 +00:00
Boris Gjenero
11b661e45c Add labels for calculating RAM usage on tms320dm320 targets. Thanks to Rafaël Carré for pointing this out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31192 a1c6a512-1295-4272-9138-f99709370657
2011-12-09 20:45:14 +00:00