path: root/firmware/target/coldfire/iriver
AgeCommit message (Collapse)AuthorFilesLines
2020-11-13h300, Others Bugfix Bootloader backlight_init()William Wilgus1-60/+40
backlight_init needs to be called after lcd_init when using lcd_enable() Change-Id: Id034835c903801fea49e2b972c110c1ec5106976
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-10-26LCD core move buf ptr and address look up function viewport structWilliam Wilgus1-1/+1
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-13Fix more warnings.Solomon Peachy2-5/+15
Change-Id: Ib3a9fc622a46b1fc72e94dcbc6d29d2e430cd81b
2015-01-12Fix red/yellowMarcin Bukat2-6/+6
Change-Id: Ie01251af2cd843979b5fdefcfa541ba377d13bd7
2015-01-12Get rid of stupid _backlight_* function namesMarcin Bukat4-28/+25
_remote_backlight_* and _buttonlight_* are cleaned as well Change-Id: I73653752831bbe170c26ba95d3bc04c2e3a5cf30
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 Bukat1-1/+1
In b31c856 startup code section was renamed but linker scripts were not updated accordingly. Change-Id: I9c9893ec2e199ac2555007a1d23e109ca0daea28
2014-01-15coldfire: Use single script for all coldfires.Marcin Bukat1-139/+0
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).Thomas Martitz1-0/+1
Change-Id: I9c1825296a788587b8d494d8514b3314847b0ff0
2012-02-28lcd drivers: Convert lcd_[remote_]framebuffer to a pointerJonathan Gordon3-6/+6
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-08button-target.h : move prototypes to button.hRafaël Carré3-8/+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é2-1/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07move _remote_backlight_* to common headerRafaël Carré1-3/+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é1-2/+0
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é1-5/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd-remote-target.h: remove more duplicatesRafaël Carré1-2/+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-03Rework powermgmt to enable code re-use on appliation and sims.Thomas Martitz2-2/+2
* 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é1-1/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-08FS#12418 - Merge prototypes from ata-target.h files into new file ↵Boris Gjenero1-1/+1
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-06-17Coldfire: Fix the modification of IMR. Interrupts must be masked at the core ↵Michael Sevakis1-1/+1
level at at least the level of the interrupt being masked. Not following the datasheet and relying strictly on and/or_l causes unhandled 'Levelx' exceptions (showing itself quite often in PCM mixer work which more greatly stresses PCM lockout). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-02-02Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM ↵Andree Buschmann1-1/+1
(code), use the already defined MEMORYSIZE instead. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-01-12Fix warning when linking booltoaders with the new toolchain by marking .bss ↵Nils Wallménius1-1/+1
section NOLOAD, thanks for gevaerts for testing on his x5. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-09-20*/ remove STUBOFFSETRafaël Carré1-8/+2
This is related to gdb, and gdb can only work on SH and ifp This was mistakenly kept when 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:// a1c6a512-1295-4272-9138-f99709370657
2010-08-01More minor const/static/include fixes.Bertrik Sikken1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-06-05New USB charging system, part 1 - API rework and user-visible setting updateTorne Wuff1-15/+2
1) "Charge during USB connection" option is now tristate: off/on/force. Currently "force" behaves just like "on", but in future it will allow charging even when it was not possible to positively identify a charger. 2) The H300 code has been adjusted to use the new system but there should be no functional differences, it already had the USB charging option and its USB/charging support is hardware controlled. 3) The Gigabeat S code has been adjusted to use the new system: the player now has the USB charging option, which wasn't previously available. The player will only charge at full speed when allowed to do so by a working USB host, so USB AC adapters won't work very well; however, they didn't work before either, so this is not a change in functionality. 4) The iPod Nano 2G code has been adjusted to use the new system: it already had the USB charging option. Using a USB AC adapter won't charge at full speed any more (it did before) - the old implementation was equivalent to the not-yet-implemented "force" option in the new system. No other target should be affected. Support for the "force" mode and support for at least some other iPod models will come in a future commit :) git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-31Smaller & faster greylib blitting on iriver H1x0 and iAudio M5, based on the ↵Jens Arnold1-124/+105
ARM version but using mulu.l for the bit shuffling. ISR speedup is ~10%. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-31Remove svn:executable from firmwareMichael Chicoine1-0/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-20Convert lcd_activation callbacks to use the event system to allow for ↵Thomas Martitz1-1/+1
multiple parallel callbacks (for custom statusbar). Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing). Removed corresponding functions from the core and plugin api. Bump min version and sort. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-11H300 LCD update: Use interrupt driven background DMA transfers, giving other ↵Jens Arnold1-35/+78
threads a chance to run while the LCD updates. * Add an optimisation for partial updates with width == LCD_WIDTH. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-08-06Various files: make functions static if they're local or make sure there is ↵Bertrik Sikken2-1/+2
a proper #include if not git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-06-28Create an udacodec interface (similar to ascodec and wmcoded) and ↵Bertrik Sikken1-0/+76
adapt/implement it for the iriver h1xx/h3xx and the meizus. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-03-17Rework lcd_enabled and lcd_set/call_enable hookThomas Martitz1-2/+2
a) lcd_enabled() is now lcd_active(), and is available for HAVE_LCD_SLEEP only targets (e.g. ipod video) too. It was depandent on HAVE_LCD_ENALE only before b) rename the hook accordingly, and implement the hook for other other targets too (e.g. the clip [the only mono target with lcd_enable/lcd_sleep yet, so the code is still in the lcd driver], ipod, fuze, c200) git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-02-20Reclaim .iram areas in DRAM by overlapping their load addresses with the ↵Michael Sevakis1-6/+8
uninitialized data sections. I did what I could test out-- not any flash image linker scripts or other target processors. Move any .iram copies in crt0.S's to be the first operation even if not _strictly_ necessary to be emphatic (aka. 'beware'). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-01-31Various files: make function implementations consistent with their ↵Bertrik Sikken2-2/+4
declaration in the header file or static if they're local. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-01-13Reverting parts of r19760 that was mistakenly committed.Björn Stenberg1-79/+77
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-01-13Minor Clip button changes: UP|REPEAT no longer goes to wps. Volume ↵Björn Stenberg1-77/+79
adjustment activated in list + tree. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-12-24H10 can distinguish USB and MAIN charger input so return proper flags. H100s ↵Michael Sevakis1-6/+0
were misconfigured and should use CHARGING_SIMPLE. Comment more on what charging types mean in config.h. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-12-03Straighten out some powermanagement stuff. Give target complete control over ↵Michael Sevakis2-23/+51
how power inputs are sensed. Clean SIMULATOR stuff out of target files. Get rid of USB charging option on targets that don't support it or don't implement it yet. Menu string remains to avoid language incompatibility but should be removed on next cleanup for targets not using it (notice in english.lang). global_settings becomes incompatible for some builds and so plugin API version is incremented. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg31-63/+125
later. We still need to hunt down snippets used that are not. 1324 modified files... git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-05-29Fix FS #8840 for irivers by slowing down the driver some more. Signal ↵Jens Arnold2-8/+24
quality is obviously varying a lot among the iriver remotes. Speed is now around halfway between pre-r16832 and r17006 when boosted. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-05-28Targets with HAVE_LCD_ENABLE: Provide a means to receive notifications when ↵Michael Sevakis1-0/+1
the lcd is enabled and the image is refreshed so overlayed drawing can also be refreshed. Chiefly mpegplayer needs this so it can redraw the YUV data after the backlight is turned on while paused or when using 'Set Start Time'. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-05-05Convert the whole codebase to UTF-8, except docs/COMMITTERS and ↵Nicolas Pennequin2-2/+2
tools/creative.c, which need checking. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-04-29Make sure the linker considers crt0*.o before all files specified on the ↵Jens Arnold2-2/+2
command line by using STARTUP() instead of INPUT() in the .lds. Using INPUT() makes the linker process crt0*.o after all files specified on the command line, making linking fail if there are librockbox.a members which are only referenced by crt0*.o. Remove the hackaround that was needed for building the gigabeat S bootloader before (aka UIE() problem). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-04-06Iriver remote LCD driver: * Split out assembler parts. * Reintroduced the 2 ↵Jens Arnold2-204/+309
transfer routine variants (low/high CPU clock), and made the version for high CPU clock a little slower because there were problems reported. The function can be slowed down more if there are still problems. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-03-27split and move it into the target treeMarcoen Hirschberg1-0/+89
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-03-27Fix red - adc.h used to be in lcd-remote.hDave Chapman1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-03-26Iriver H1x0/H300: Speed up remote LCD updates when boosted by implementing ↵Jens Arnold1-134/+60
an idea from the iaudio remote LCD driver. Speedup is ~75 with ticking reduction disabled. Ticking reduction should also be more effective due to the better pulse/pause ratio (update speed with ticking reduction aims at a constant 60fps as before). * SLight speedup when not boosted due to simplifications. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657