Commit graph

286 commits

Author SHA1 Message Date
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
Boris Gjenero
e4dbcc414b FS#12418 - Merge prototypes from ata-target.h files into new file ata-driver.h. After this change:
- ata.h is for users of ata.c
- ata-driver.h is for functions implemented by target-specific code and used by ata.c
- ata-target.h is for target-specific defines


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31182 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 21:23:53 +00:00
Tomasz Moń
bac6a70184 Sansa Connect: Revise codec initialization/shutdown.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31149 a1c6a512-1295-4272-9138-f99709370657
2011-12-05 09:53:23 +00:00
Tomasz Moń
2ee9facc11 Power management is to be kept in target tree due to being target specific.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31136 a1c6a512-1295-4272-9138-f99709370657
2011-12-04 09:48:10 +00:00
Tomasz Moń
de712eebbd Sansa Connect: Add TPS65021 (Power Management) driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31135 a1c6a512-1295-4272-9138-f99709370657
2011-12-04 08:24:08 +00:00
Tomasz Moń
66c53d528f Sansa Connect: Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31120 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 15:21:12 +00:00
Tomasz Moń
5e805f2041 Sansa Connect: Fix GIO initialization and screen wakeup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31119 a1c6a512-1295-4272-9138-f99709370657
2011-12-03 15:03:44 +00:00
Tomasz Moń
39f4408b63 Sansa Connect: Make simulator compile. UI-sansaconnect.bmp by Martin Sägmüller (based on press image).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31102 a1c6a512-1295-4272-9138-f99709370657
2011-12-01 13:41:59 +00:00
Tomasz Moń
297c29cba6 dm320: call storage idle notifys on in sdmmc thread
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31086 a1c6a512-1295-4272-9138-f99709370657
2011-11-28 21:12:54 +00:00
Tomasz Moń
62f5027650 Fix battery meter on Sansa Connect.
Use the battery capacity percents reported by AVR. Internally fake linear voltage scale is used (1 mV = 1%).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31049 a1c6a512-1295-4272-9138-f99709370657
2011-11-24 18:55:11 +00:00
Tomasz Moń
e8a8a1be43 Sandisk Sansa Connect port (FS #12363)
Included are drivers for buttons, backlight, lcd, audio and storage.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 14:08:01 +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
Thomas Martitz
d0b72e2590 GSoC/Buflib: Add buflib memory alocator to the core.
The buflib memory allocator is handle based and can free and
compact, move or resize memory on demand. This allows to effeciently
allocate memory dynamically without an MMU, by avoiding fragmentation
through memory compaction.

This patch adds the buflib library to the core, along with
convinience wrappers to omit the context parameter. Compaction is
not yet enabled, but will be in a later patch. Therefore, this acts as a
replacement for buffer_alloc/buffer_get_buffer() with the benifit of a debug
menu.

See buflib.h for some API documentation.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30380 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:33 +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
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
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
Karl Kurbjun
4d12904439 M:Robe 500: Use bit modifiers more.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29247 a1c6a512-1295-4272-9138-f99709370657
2011-02-08 05:53:30 +00:00
Karl Kurbjun
a014191e5e Fix battery charging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29246 a1c6a512-1295-4272-9138-f99709370657
2011-02-08 05:51:18 +00:00
Karl Kurbjun
37e2c9c313 DM320: Fix app.lds to reduce binary image size.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29240 a1c6a512-1295-4272-9138-f99709370657
2011-02-07 04:55:31 +00:00
Karl Kurbjun
a6223468eb Keep the clocks enabled once the LCD DMA transfer completes. It kills the PCM driver if they are disabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29238 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 21:09:03 +00:00
Karl Kurbjun
c3142e22ea Remove reference to pin setup function.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29236 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 21:01:45 +00:00
Karl Kurbjun
8f80adf4d7 Remove some initializations that are taken care of in the bootloader or crt0 setup. Agressive timings are #if 0'd since they are unstable, but may later be added to board setup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29235 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:58:58 +00:00
Karl Kurbjun
9a20d60bfb DM320 SPI: Add a bunch of updates to the SPI driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29234 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:54:50 +00:00
Karl Kurbjun
acffca89a9 M:Robe 500 USB: Remove EMIF and pin initialization.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29233 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:47:39 +00:00
Karl Kurbjun
fdc05276fe M:Robe 500 Power: Remove pin initializations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29232 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:46:37 +00:00
Karl Kurbjun
916a9f0969 M:Robe 500 Backlight: Add setup based on OF - purpose of operations are a mystery, but needed when loading from flash.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29231 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:44:57 +00:00
Karl Kurbjun
f65365fc75 M:Robe 500 ADC: Remove pin initializations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29230 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:41:49 +00:00