summaryrefslogtreecommitdiffstats
path: root/firmware/target/coldfire
AgeCommit message (Collapse)AuthorFilesLines
2020-11-13h300: fix one long-standing bootloader bugJames Buren1-2/+56
This was introduced in e13c6001332882291363bdf2f1155875439fe187 back when the author was trying to optimize the LCD code with DMA. For whatever reason this broke the bootloader for the last 10 years or so and no one could figure out why. This is now fixed. However the bootloader is still currently broken in HEAD due to recent changes to the LCD code. A fix for that is not yet known. Change-Id: I046d53f9f391f558c391f2fadb6b260fe3be4d92
2020-11-12pcm: Further cleanup of unused bits of the PCM ACPI:Solomon Peachy1-5/+0
* pcm_get_bytes_remaining() * pcm_calculate_peaks() * pcm_get_peak_buffer() Nothing in-tree uses these at all (except for the lua plugin wrapper) Change-Id: I971b7beed6760250c8b1ce58f401a601e1e2d585
2020-10-31pcm: Get rid of pcm_play_pause() and associated APIsSolomon Peachy1-19/+0
Nothing in the core has used it for some time. It's exported to the plugin API but the last plugins to use it were switched to the mixer API back in 2011. This allows us to get rid of pcm_play_dma_pause() from all audio drivers Change-Id: Ic3fa02592316f84963e41d792d1cabb436d1ff6b
2020-10-27iaudiom5: Fix build.Solomon Peachy1-1/+4
Basically we're overflowing IRAM by 48 bytes. Shrink the stack by 48 bytes to compensate. Fixing this properly will require careful decisions about what (code and/or data) to eject from IRAM. Change-Id: Ia3054280bcbd9813b9cce83f16ba4fbd15085110
2020-10-27coldfire: We need -fno-delete-null-pointer-checks in flash controller codeSolomon Peachy1-0/+5
Change-Id: I9a3e4ced2c3d41f6a31a968af72659a1a14f702e
2020-10-26FIX RED framebuffer viewport rewriteWilliam Wilgus1-1/+1
Change-Id: I4cb8f580e15440d06f8d5fabb2fbf5147c67b49c
2020-10-26LCD core move buf ptr and address look up function viewport structWilliam Wilgus2-2/+2
I'm currently running up against the limitations of the lcd_draw functions I want these functions to be able to be used on any size buffer not just buffers with a stride matching the underlying device [DONE] allow the framebuffer to be decoupled from the device framebuffer [DONE need examples] allow for some simple blit like transformations [DONE] remove the device framebuffer from the plugin api [DONE}ditto remote framebuffer [DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr while remote lcds may compile (and work in the sim) its not been tested on targets [FIXED] backdrops need work to be screen agnostic [FIXED] screen statusbar is not being combined into the main viewport correctly yet [FIXED] screen elements are displayed incorrectly after switch to void* [FIXED] core didn't restore proper viewport on splash etc. [NEEDS TESTING] remote lcd garbled data [FIXED] osd lib garbled screen on bmp_part [FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport [FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer [FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw) [UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear scrolling viewports no longer trigger wps refresh also fixed a bug where guisyncyesno was displaying and then disappearing [ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes (LCD_ and LCD_REMOTE_) LCD_STRIDE(w, h) same as STRIDE_MAIN LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH) test_viewports.c has an example of usage [FIXED!!] 2bit targets don't respect non-native strides [FIXED] Few define snags Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26coldfire: make the RAM and ROM image locations configurable by macrosJames Buren1-5/+5
Change-Id: Ie27e39c34947b0391be621dafb8711c44e863a1c
2020-10-13fix more yellowSolomon Peachy1-1/+3
Change-Id: I74bad58707d05ea167169d4315c05eb0cd1c8b7b
2020-10-13Fix more warnings.Solomon Peachy5-11/+23
Change-Id: Ib3a9fc622a46b1fc72e94dcbc6d29d2e430cd81b
2020-10-13iaudiox5: Fix red, due to slightly bogus asmSolomon Peachy2-7/+13
Change-Id: I6ebcda3452d4244b5e2d1a9bbeb9fff9a9456388
2020-10-13Fix a pile of yellow in the bootloaderSolomon Peachy2-1/+13
Change-Id: Ia89a33bbb13683566e421ac2a002baa20cdb07de
2020-10-03coldfire: Fix iAudio M5 buildSolomon Peachy1-2/+2
Change-Id: Iecbcfa16918be3abfaab0936a0dae9c9ed48933e
2020-10-03coldfire: Allow building when 88KHz audio is disabledSolomon Peachy1-1/+1
Change-Id: Ieeacf591ad4233428dca99c347043e61abae1d1f
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: http://gerrit.rockbox.org/782 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com> Tested: Marcin Bukat <marcin.bukat@gmail.com>
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: http://gerrit.rockbox.org/433 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2014-01-18coldfire: fix bootloader buildsMarcin Bukat3-3/+3
In b31c856 startup code section was renamed but boot.lds 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: http://gerrit.rockbox.org/718 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2014-01-15coldfire: Use single app.lds 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: http://gerrit.rockbox.org/713 Reviewed-by: Thomas Martitz <kugel@rockbox.org> Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
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: http://gerrit.rockbox.org/166 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
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://svn.rockbox.org/rockbox/trunk@31623 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://svn.rockbox.org/rockbox/trunk@31620 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://svn.rockbox.org/rockbox/trunk@31614 a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd_remote_powersave: unusedRafaël Carré4-2/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31611 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://svn.rockbox.org/rockbox/trunk@31607 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://svn.rockbox.org/rockbox/trunk@31605 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://svn.rockbox.org/rockbox/trunk@31604 a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd-remote-target.h: remove more duplicatesRafaël Carré2-3/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31603 a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd-remote-target.h: remove duplicate declarationsRafaël Carré1-2/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31602 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://svn.rockbox.org/rockbox/trunk@31591 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://svn.rockbox.org/rockbox/trunk@31589 a1c6a512-1295-4272-9138-f99709370657
2012-01-04coldfire: move debug-target.h content in .cRafaël Carré2-35/+14
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31563 a1c6a512-1295-4272-9138-f99709370657
2012-01-04dbg_hw_info(): remove duplicate prototypesRafaël Carré1-1/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31560 a1c6a512-1295-4272-9138-f99709370657