summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31
AgeCommit message (Collapse)Author
2011-12-18Add KEEP() around vectors in linker scripts.Boris Gjenero
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-17Try to fix r31346Bertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31347 a1c6a512-1295-4272-9138-f99709370657
2011-12-17FS#12370: Initial RDS support for Si4701/Si4703 tuner (beast and clip zip)Bertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31346 a1c6a512-1295-4272-9138-f99709370657
2011-12-17Add const to global pointers to strings.Boris Gjenero
When a global pointer is not declared as constant, gcc will put it in memory. Getting the address of the string it points to requires loading the address of the pointer and then loading the pointer. When the pointer is declared constant, the address of the string is loaded directly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31345 a1c6a512-1295-4272-9138-f99709370657
2011-12-17Commit to certain names for cache coherency APIs and discard the aliases.Michael Sevakis
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-17Do some things to make -ffunction-sections work better.Michael Sevakis
* 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-16Convert remaining memframe LCDs that can be convert to common code.Michael Sevakis
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-15Fix r31311 red and yellow.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31312 a1c6a512-1295-4272-9138-f99709370657
2011-12-15Collect some of the memory frame LCD C code.Michael Sevakis
For this commit: Sansa e200v1, Gigabeat F, Gigabeat S and Mini2440 are changed over. Quite a number of other targets probably can be as well. General LCD code is moved out of the target drivers into drivers/lcd-memframe.c. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31311 a1c6a512-1295-4272-9138-f99709370657
2011-12-15Simplify and neaten-up usb.c a bit. USB_INSERTED and USB_EXTRACTED are ↵Michael Sevakis
always used as events to indicate cable state. USB_HOSTED is posted to indicated that a host was detected. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31263 a1c6a512-1295-4272-9138-f99709370657
2011-12-09Introduce USED_ATTR wrapper for __attribute__((used)).Boris Gjenero
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31188 a1c6a512-1295-4272-9138-f99709370657
2011-12-08FS#12418 - Merge prototypes from ata-target.h files into new file ↵Boris Gjenero
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-11-22FS#12397 : On targets which load .data directly into its final location and ↵Boris Gjenero
lack code for moving it, remove linker script trick which ignores section alignment and word-aligns the section instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31041 a1c6a512-1295-4272-9138-f99709370657
2011-11-09Fix assembler .size directives. Currently used binutils don't complain, but ↵Boris Gjenero
2.21.1 treats these as errors. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30945 a1c6a512-1295-4272-9138-f99709370657
2011-10-30Gigabeat S: Maintain power thread at realtime priority at all times so it ↵Michael Sevakis
may always service the watchdog on time regardless of playback priority. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30867 a1c6a512-1295-4272-9138-f99709370657
2011-10-17Expunge a commented #include that found its way in in r30771.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30772 a1c6a512-1295-4272-9138-f99709370657
2011-10-17Gigabeat S/i.MX31/wm8978: Clean up clocking information in the general ↵Michael Sevakis
wmcodec/pcm drivers and move it to the target's wmcodec/i2s files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30771 a1c6a512-1295-4272-9138-f99709370657
2011-10-14i.MX31 avic: Fix super-stale comment.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30748 a1c6a512-1295-4272-9138-f99709370657
2011-10-14i.MX31: Simplify nested interrupt handling. Give SVC mode its own stack by ↵Michael Sevakis
grabbing the FIQ stack that's just been taking up space. Just get rid of all FIQ setup since it isn't used anyway. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30747 a1c6a512-1295-4272-9138-f99709370657
2011-10-11Switch to SYS mode on arm FS#12322 by meMarcin Bukat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30741 a1c6a512-1295-4272-9138-f99709370657
2011-09-01Shuffle some functions around so that interfacing with playback.c in ↵Michael Sevakis
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-06-29Commit FS#12150 - Fully-functional audio mixer - and finally whip old ↵Michael Sevakis
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-05Move dbg_hw_info() into target tree. FS#11735 by meMarcin Bukat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29964 a1c6a512-1295-4272-9138-f99709370657
2011-04-23Split off target-specific parts from firmware/drivers/serial.cBertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29768 a1c6a512-1295-4272-9138-f99709370657
2011-03-05Change the thread api a bit.Thomas Martitz
* Remove THREAD_ID_CURRENT macro in favor of a thread_self() function, this allows thread functions to be simpler. * thread_self_entry() shortcut for kernel.c. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29521 a1c6a512-1295-4272-9138-f99709370657
2011-03-02Merge functionality of wakeups and semaphores-- fewer APIs and object types. ↵Michael Sevakis
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-02-23Gigabeat S: Smoother bootup. Don't do full drive reset at boot since it's ↵Michael Sevakis
not really a coldstart. Seems to work alright in both the bootloader and firmware. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29383 a1c6a512-1295-4272-9138-f99709370657
2011-01-23i.MX31: Now that it matters because there's a debug screeen that allows ↵Michael Sevakis
changing things while running, some DVFS/DPTC stuff has to be done more carefully. Trim out some stuff and group functions better as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29122 a1c6a512-1295-4272-9138-f99709370657
2011-01-22Gigabeat S: Keep LCD options in sync even when display is turned off.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29118 a1c6a512-1295-4272-9138-f99709370657
2011-01-22Fix yellow. Left an unused temp variable.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29117 a1c6a512-1295-4272-9138-f99709370657
2011-01-22i.MX31: Allow interrupts in thread context, not just ISR context, during the ↵Michael Sevakis
lengthy DVFS voltage ramp-up delay. Also, explicitly enable them just before mc13783_init since that does anyway because of the PMIC write inside it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29116 a1c6a512-1295-4272-9138-f99709370657
2011-01-22Better boost calculation for multifrequency CPUs. Frequencies between ↵Michael Sevakis
minimum and maximum count as fractional boost. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29115 a1c6a512-1295-4272-9138-f99709370657
2011-01-22i.MX31: Add a debug menu to play around with DVFS/DPTC settings for fun, ↵Michael Sevakis
testing or benchmarking purposes. Can set the CPU frequency working point, whether DPTC voltage scaling is enabled and change the software-programmable load tracking weights. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29113 a1c6a512-1295-4272-9138-f99709370657
2011-01-22i.MX31: Busy wait for a couple microseconds at most then sleep until next ↵Michael Sevakis
tick when polling drive status. This prevents pointless jumps to overdrive speed from perceived high load when waiting for lengthy ops to complete such as spinup and sleep. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29108 a1c6a512-1295-4272-9138-f99709370657
2011-01-21Gigabeat S: Renovate bootloader a bit to show splash, implement verbose, ↵Michael Sevakis
shutdown on low battery, handle hold-switch-on and wait only so long for USB if a USB charger is inserted at boot instead of being connected to a host. 'Bootloader USB mode' display is just part of normal printf stream now. Move interrupt stacks into .bss area so they aren't loaded (for firmware too). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29099 a1c6a512-1295-4272-9138-f99709370657
2011-01-08Some static data is only used by .init functions. Add .initdata to declare ↵Michael Sevakis
such data (otherwise section conflicts arise). For i.MX31, use INITDATA_ATTR in the appropriate places. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29008 a1c6a512-1295-4272-9138-f99709370657
2011-01-07Gigabeat S/i.MX31: Take care of an interrupt priority inversion that can ↵Michael Sevakis
happen during PCM callback lockout when DVFS switches frequecies during the lockout, preventing a thread from unlocking the callback until DVFS finishes, causing an SSI FIFO underrun. Hadn't thought of an acceptable way to deal with it before. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28996 a1c6a512-1295-4272-9138-f99709370657
2011-01-05Gigabeat S: Make it a removable mass-storage device. Windows will assign a ↵Michael Sevakis
drive to only the main data partition by default. To access the bootloader partition instead, press 'Vol -' while it connects (in bootloader and firmware). Hopefully doesn't break anything for anyone. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28972 a1c6a512-1295-4272-9138-f99709370657
2011-01-02Rework ATA driver to get rid of lots of target-specific constants and allow ↵Michael Sparmann
for non-memory-mapped task file registers. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28950 a1c6a512-1295-4272-9138-f99709370657
2011-01-01Gigeabeat S: Reset DMA size info when stopping audio playback and recording ↵Michael Sevakis
transfers so that size remaing/peak buffer calls return 0/NULL when stopped. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28941 a1c6a512-1295-4272-9138-f99709370657
2010-12-29Gigabeat S: Do simple direct keypad scanning rather than triggering a ↵Michael Sevakis
separate scan interrupt and it all does the same thing but with 1 tick less latency. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28926 a1c6a512-1295-4272-9138-f99709370657
2010-11-06move dbg_ports() from apps/menu_debug.c to target tree. FS#11712 by me.Marcin Bukat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28522 a1c6a512-1295-4272-9138-f99709370657
2010-09-20*/app.lds: remove STUBOFFSETRafaël Carré
This is related to gdb, and gdb can only work on SH and ifp This was mistakenly kept when app.lds was forked for each SoC Side-effect: fix DEBUG builds when the rockbox binary is expected to be loaded at the start of DRAM and there is no runtime relocation git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28124 a1c6a512-1295-4272-9138-f99709370657
2010-09-07gigabeats: remove inline from extern functionsRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28022 a1c6a512-1295-4272-9138-f99709370657
2010-08-12Introduce NORETURN_ATTR wrapper for __attribute__((noreturn)), using this ↵Thomas Martitz
and a bit further cleanup in main gets rid of a warning when compiling for android. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27788 a1c6a512-1295-4272-9138-f99709370657
2010-06-30i.MX31: Make DMA ISR call loop a bit more efficient.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27192 a1c6a512-1295-4272-9138-f99709370657
2010-06-30Gigabeat S: INIT section wasn't properly overlapping the uninitialized areas ↵Michael Sevakis
thus wasn't being reclaimed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27190 a1c6a512-1295-4272-9138-f99709370657
2010-06-30i.MX31: Only include the SDMA code that will be used on the target. Simplify ↵Michael Sevakis
the script selection. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27189 a1c6a512-1295-4272-9138-f99709370657
2010-06-30Remove atomic register bit manipulation functions from i.MX and s3c target ↵Michael Sevakis
code and introduce generic functions for ARM (bitmod32, bitset32, and bitclr32). Multiprocessor support is possible but just not implemented at the moment, only interrupt lockout. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27188 a1c6a512-1295-4272-9138-f99709370657
2010-06-29Gigabeat S: The forced shutoff voltage level can be lowered a tiny bit it seems.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27170 a1c6a512-1295-4272-9138-f99709370657