path: root/firmware/target/coldfire
AgeCommit message (Collapse)AuthorFilesLines
2019-01-01Coldfire: Don't clobber alwarm wakeup signal in dualboot modeSolomon Peachy1-0/+4
(See FS#7814 for details) Change-Id: I6a09a8dfe1abc3a396ca8afe1dbbf1d203c7e3e2
2015-01-12Fix red/yellowMarcin Bukat4-18/+13
Change-Id: Ie01251af2cd843979b5fdefcfa541ba377d13bd7
2015-01-12Get rid of stupid _backlight_* function namesMarcin Bukat13-82/+77
_remote_backlight_* and _buttonlight_* are cleaned as well Change-Id: I73653752831bbe170c26ba95d3bc04c2e3a5cf30
2014-04-15MPIO HD300: Fix occasional scrollstrip hangMarcin Bukat1-12/+11
Scrollstrip works as quadrature encoder. We set pin change interrupt for both edges of signal both lines and sample the state in ISR. From time to time the sequence is out-of-sync which was properly detected but erroneously handled leaving scrollstip interrupts disabled. Change-Id: I08e4f99c6c27df0f8180aa16e6e1d9e4203bafa7 Reviewed-on: Reviewed-by: Marcin Bukat <> Tested: Marcin Bukat <>
2014-04-02optimize Cypress chip power supply for iriver h100 seriesDmitry Gamza2-3/+13
Before, the Cypress chip power is always turn on either from internal battery or from usb host. In this regard, the internal battery energy was spend on the inactive chip. Now power of the Cypress chip is enabled only on the external usb host. Change-Id: Iae7cddd1237ea9ed93fee5404575cc01543cb00c Reviewed-on: Reviewed-by: Marcin Bukat <>
2014-01-18coldfire: fix bootloader buildsMarcin Bukat3-3/+3
In b31c856 startup code section was renamed but linker scripts were not updated accordingly. Change-Id: I9c9893ec2e199ac2555007a1d23e109ca0daea28
2014-01-17coldfire: Implement HAVE_INIT_ATTR magicMarcin Bukat2-2/+28
This reclaims ~6kB of ram. Change-Id: Iafdc661b1cf4445669c08c79205043792b8d14c3 Reviewed-on: Reviewed-by: Marcin Bukat <>
2014-01-15coldfire: Use single script for all coldfires.Marcin Bukat3-279/+1
The only true difference in this platform is the amount of iram between MCF5249 and MCF5250. Instead of duplicating the file simply use one with proper ifdefs. Change-Id: Ifd56ebd2666813633502e3b5d83669424659c039 Reviewed-on: Reviewed-by: Thomas Martitz <> Reviewed-by: Marcin Bukat <>
2014-01-05Add missing kernel.h includes (hopefully all of them), take #3.Thomas Martitz1-1/+2
Change-Id: I68ed0e914239f0caf83082a41c2480a01b69285a
2014-01-05Add missing kernel.h includes (hopefully all of them), take #2.Thomas Martitz3-1/+4
Change-Id: I62cedf992bb096987050621cfc34f0432e9da170
2014-01-05Add missing kernel.h includes (hopefully all of them).Thomas Martitz2-1/+4
Change-Id: I9c1825296a788587b8d494d8514b3314847b0ff0
2012-11-13HD300: Fix crash in bootloader introduced by 36281c4Marcin Bukat1-1/+4
Uninitialized struct scroll which is used to pass state between scrollstrip ISR and button_read_device() can bomb out whole button subsytem. Change-Id: I3b415c22cfee4181b2132cddaeff68797c7cc0ea
2012-05-07remove debug-target.hRafaël Carré1-0/+0
2012-04-29M5/X5 (MCF5250): Scoot the core/plugin IRAM boundary forward by 0x800.Michael Sevakis1-0/+4
Change-Id: I482fe3f4f2f59a3f17026e796c245c4efa8279f3
2012-03-03Revise the PCM callback system after adding multichannel audio.Michael Sevakis1-18/+18
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: Reviewed-by: Michael Sevakis <> Tested-by: Michael Sevakis <>
2012-02-28lcd drivers: Convert lcd_[remote_]framebuffer to a pointerJonathan Gordon9-17/+17
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-01-25MPIO HD300: Fix scrollstip issue at driver level.Marcin Bukat1-2/+33
Scrollstrip (as well as scrollwheel on ipods/sansas) works like quadrature encoder. The states of input lines are tracked by the gpio ISR and when the sequence is correct, appropriate button event is pushed to the button queue directly. The downside of this implementation is that scrollstrip doesn't emit _REL events which has some weird consequences. For the scrollwheels some hack have been crafted in action system to accomodate for this. I don't like this approach. IMO the correct fix is to properly emit _REL event when the user stops interacting with the device or reverses the direction of the move. This patch implements timeout which forces to emit _REL when expired. Change-Id: I588ac5810dd2ab00c68935d23a62979cb1c2a912
2012-01-24MPIO HD300: Use MENU button to go back from debug screens.Marcin Bukat1-2/+4
Change-Id: I17c0f573de75ab1fd0119d148337e45552eb04b0
2012-01-24MPIO HD200/HD300: Decrease ADC scanrate.Marcin Bukat2-31/+11
The adclk is decreased 4x. This solves problems with battery readout drop during system startup. Change-Id: I46d7c4b9ffcfdc812a6dd2a932c9e397d33c1168
2012-01-22Move optimized ffs to firmware/asm, using the new automatic-asm-picking ↵Thomas Martitz1-65/+0
infrastructure. Change-Id: I5e7bdc8be7de50ef604c16078857fff1b84650dc
2012-01-22Move optimized memcpy and friends and strlen to firmware/asm,Thomas Martitz5-1721/+0
using the new automatic-asm-picking infrastructure.
2012-01-22Move pcm_mixer helper routines to firmware/asm.Thomas Martitz1-134/+0
2012-01-22Create fimrware/asm directory for assembly optimized stuff.Thomas Martitz2-111/+10
This dir is suitable for stuff that doesn't fit the target tree, e.g. because it also builds on hosted or otherwise. It also has a generic subfolder for fallback C implementations so that not all archs need to provide asm files. SOURCES should only contain "foo.c" where foo.c includes the specific <arch>/foo.c files from the subdirs using the preprocessor. This way automatic selection of asm versions or generic C verion is possible. For the start, the thread support files are moved, since ASM threads can be used on hosted platforms as well. Since core_sleep() remains platform specific it's moved to the corresponding system.h headers. Change-Id: Iebff272f3407a6eaafeb7656ceb0ae9eca3f7cb9
2012-01-08adc-target.h: cleanupRafaël Carré1-1/+0
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:// a1c6a512-1295-4272-9138-f99709370657
2012-01-08button-target.h : move prototypes to button.hRafaël Carré7-39/+3
no need to define BUTTON_REMOTE anymore git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd-remote-target.h: Use only in firmware/target/Rafaël Carré1-28/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd_remote_powersave: unusedRafaël Carré4-2/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07move _remote_backlight_* to common headerRafaël Carré2-6/+0
remove unused REMOTE_INIT_LCD / REMOTE_DEINIT_LCD git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07remote_detect(): move to lcd-remote.hRafaël Carré5-6/+3
Reorganize lcd-remote.h so it works for iaudio-m3 too git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07move lcd remote common declarations to lcd-remote.hRafaël Carré2-10/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd-remote-target.h: remove more duplicatesRafaël Carré2-3/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd-remote-target.h: remove duplicate declarationsRafaël Carré1-2/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-06Coldfire: lcd_update call got dropped from dbg_hw_info. Replace.Michael Sevakis1-0/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-05Coldfire: Fix alpha bitmap drawing from messing up the emac status register.Michael Sevakis1-0/+4
It failed to restore macsr to the expected default (FRAC/SAT) which caused DSP functions like tone control filter calculation to fail (resulting in noise). The FFT plugin was also affected. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-04coldfire: move debug-target.h content in .cRafaël Carré2-35/+14
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-04dbg_hw_info(): remove duplicate prototypesRafaël Carré1-1/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-04dbg_ports(): remove duplicate prototypeRafaël Carré1-1/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-03Rework powermgmt to enable code re-use on appliation and sims.Thomas Martitz6-6/+6
* 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:// a1c6a512-1295-4272-9138-f99709370657
2011-12-31usb-target.h: removeRafaël Carré4-3/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-31usb_init_device(): move prototype to usb.hRafaël Carré1-26/+0
Get rid of some usb-target.h files git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-21Make more local functions static.Boris Gjenero1-0/+6
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-17Commit to certain names for cache coherency APIs and discard the aliases.Michael Sevakis2-7/+5
Wouldn't surprise me a bit to get some non-green. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-10thread.c includes gcc_extensions.h and thread-XXX.c files are includes ↵Michael Sevakis1-2/+0
inside thread.c therefore do not require their own. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-09Convert remaining __attribute__((noreturn)) to NORETURN_ATTR.Boris Gjenero1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-09Introduce USED_ATTR wrapper for __attribute__((used)).Boris Gjenero2-2/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-08FS#12418 - Merge prototypes from ata-target.h files into new file ↵Boris Gjenero6-16/+4
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:// a1c6a512-1295-4272-9138-f99709370657
2011-11-05MPIO HD300: vastly improve sound quality. This unfortunately means reverting ↵Marcin Bukat1-19/+2
r28797 which introduced poping noise git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-09-01Shuffle some functions around so that interfacing with playback.c in ↵Michael Sevakis1-1/+1
particular isn't required. Though playback does finish the audio init, pcm doesn't care who does it. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-06-29Commit FS#12150 - Fully-functional audio mixer - and finally whip old ↵Michael Sevakis2-0/+138
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:// a1c6a512-1295-4272-9138-f99709370657
2011-06-19Optional dual-boot support in iAudio X5 and M5 bootloader, based on FS#5289.Jens Arnold2-3/+56
In order to enable it, #define HAVE_DUALBOOT when building the bootloader. Do not use the automatically created x5_fw.bin or m5_fw.bin, but use mkboot to create a new firmware file from an OF x5_fw.bin resp. m5_fw.bin and bootloader.bin. The dual-boot bootloader boots the OF when pressing Play (main or remote) for more than 3 seconds. Hold it a bit longer because the OF also checks buttons. Short press boots rockbox. As a bonus, the Play button read (for hold check) is done a bit earlier for single-boot mode as well. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657