Commit graph

275 commits

Author SHA1 Message Date
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
Karl Kurbjun
e932ceb78a M:Robe 500 ATA: Remove pin initializations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29229 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:37:22 +00:00
Karl Kurbjun
161f4465db DM320: Clock source selection for timer happens in bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29228 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:36:00 +00:00
Karl Kurbjun
52f985ef6c DM320 UART: Remove more pin initializations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29227 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:34:13 +00:00
Karl Kurbjun
ff5d8ca522 Fix ZVM build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29226 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:26:33 +00:00
Karl Kurbjun
9a8ff746f2 DM320: Update boot linker script (right now it is linked against flash). Include board initialization for M:Robe 500.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29225 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:17:15 +00:00
Karl Kurbjun
9241210050 DM320: Re-write of crt0.S and update to app linker script.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29224 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:10:45 +00:00
Karl Kurbjun
02dbde7097 M:Robe 500: Add a bunch of updates for the LCD. Remove some pin initializations and disable clocks when DMA is complete.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29223 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 20:06:10 +00:00
Karl Kurbjun
50c547c640 M:Robe 500 and TSC2100: Add more to the initialization. Some GPIO initializations are now removed - this will be hanled by the OF or bootloader (when loading from flash).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29220 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 19:33:40 +00:00
Karl Kurbjun
fafd50938c DM320 DSP PCM handler: Use initialization library to make sure that code starts up reliably. Also make some variables volatile so code can be easier debugged.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29219 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 19:28:46 +00:00
Andree Buschmann
adf7224538 Fix red. Replace remaining MEM's mit MEMORYSIZE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29190 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 17:55:04 +00:00
Michael Sevakis
71651cacb6 Fix r29053 red and a leftover use of 'usb' variable as a bool rather than int in main-pp.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29054 a1c6a512-1295-4272-9138-f99709370657
2011-01-15 08:52:59 +00:00