path: root/firmware/rolo.c
AgeCommit message (Collapse)AuthorFilesLines
2020-10-11hosted: Add ROLO support for hosted targetsSolomon Peachy1-3/+3
Change-Id: I2d46a63ee8225a9d9d77dd80a06c418af78c260c
2020-09-13Xduoo X3 no ADC after ROLOWilliam Wilgus1-0/+2
Speachy suggested we don't shut down the adc on ROLO this fixes the random adc drop out on ROLO Change-Id: Ife7d679ce51a6f767963210ee650815f1de12223
2020-09-03mips: Heavily rework DMA & caching codeSolomon Peachy1-1/+1
Based on code originally written by Amaury Pouly (g#1789, g#1791, g#1527) but rebased and heavily updated. Change-Id: Ic794abb5e8d89feb4b88fc3abe854270fb28db70
2020-08-19Enable boot from SD for Sansa e200Johannes Rauh1-0/+5
Change-Id: I0940f2cd5fc914d6d5061b5798b1a636009649b7
2020-08-08ROLO - Enable multiboot firmwareWilliam Wilgus1-0/+14
I never added multiboot awareness to ROLO When a new firmware file was loaded [Bootdata] would not be copied to the new instance resulting in the firmware running off the internal drive till next reboot Bootloaders shares the rb-loader code but should not be affected by the removal of static from write_bootdata() Change-Id: Iccb18eebeee5c59f9534df51eb6826876c441762
2020-07-24[1/4] Remove SH support and all archos targetsSolomon Peachy1-111/+2
This removes all code specific to SH targets Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2017-11-07rolo.c: Change 'int errno' to 'int err'Michael Sevakis1-5/+5
It can cause issues if errno.h finds itself included there Change-Id: Id5d2be66cd3af4c2760e4a37d3332853e9b54f95
2016-04-22Fix AMSv2 variant 1 detection if rockbox loaded from SD cardMihail Zenkov1-0/+7
Change-Id: Ie7c9c06170601e109f8d3de9686773c38a6e224a
2016-01-24Fix warning in rolo.Michael Giacomelli1-0/+4
Change-Id: Idb902f44a6aa2648e5cbd0e19ee2d14394479de8
2016-01-21Enable frequency scaling on AMSv2 devices.Mihail Zenkov1-0/+4
Voltage scaling is not yet enabled, but will follow once we are sure these changes are stable. Preliminary testing suggests a large increase in battery life, which will be further improved by voltage scaling. Patch by Mihail Zenkov with help from myself and others on the forums. Change-Id: I171d20bbee19a48c13cd14efb0d023883cc8c687
2013-12-15Fix reds. Also apply the new scrolling to lcd charcell (this even uncovered anThomas Martitz1-0/+1
error). Change-Id: I29243bb36b6cec1471bd6c0afc64e00547a68c50
2013-12-14scroll_engine: Rename scroll_stop* functions to be more consistent with the ↵Thomas Martitz1-1/+1
lcd api. Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
2013-06-27Move load_firmware() to separate fileMarcin Bukat1-103/+35
The idea is to share loading code between bootloaders and rolo(). Change-Id: I1656ed91946d7a05cb7c9fa7a16793c3c862a5cd Reviewed-on: Reviewed-by: Marcin Bukat <>
2012-03-04rename rkw.h header fileMarcin Bukat1-1/+1
Change-Id: I2cb6ea7da9c20ed0ef87f4b8ea90d2e4a4a3bca2
2012-03-04Add RKW support to roloMarcin Bukat1-2/+65
Change-Id: If0dc0173701e1a4a9e1aa785548596c366306c2b
2012-01-07rolo: include lcd-remote.h only when neededRafaël Carré1-0/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-17Commit to certain names for cache coherency APIs and discard the aliases.Michael Sevakis1-5/+3
Wouldn't surprise me a bit to get some non-green. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-08-30GSoC/Buflib: Add buflib memory alocator to the core.Thomas Martitz1-3/+5
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:// a1c6a512-1295-4272-9138-f99709370657
2011-08-14GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.Thomas Martitz1-7/+21
Namely, introduce buffer_get_buffer() and buffer_release_buffer(). buffer_get_buffer() aquires all available and grabs a lock, attempting to call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause a panicf() (doesn't actually happen, but is for debugging purpose). buffer_release_buffer() unlocks that lock and can additionally increment the audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was used temporarily only. buffer_available() is a replacement function to query audiobuflen, i.e. what's left in the buffer. Buffer init is moved up in the init chain and handles ipodvideo64mb internally. Further changes happened to mp3data.c and talk.c as to not call the above API functions, but get the buffer from callers. The caller is the audio system which has the buffer lock while mp3data.c and talk mess with the buffer. mpeg.c now implements some buffer related functions of playback.h, especially audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit. audiobuf and audiobufend are local to buffer.c now. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-31rolo: use BX for ARM branchesRafaël Carré1-5/+4
This is equivalent to mov pc Remove an instruction from the asm() for PP cop restart : use register constraint git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz1-1/+0
directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-05-03rolo: make PP code pp6100-compatibleRafaël Carré1-3/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2010-04-23i.MX31/Gigabeat S: Implement frequency and voltage scaling-- 1.6V for ↵Michael Sevakis1-1/+3
528MHz, and 1.35V for 264MHz and 132MHz. Keep DPTC overdrive ( > 400MHz) voltage scaling off for now because of uncertainties. Simplify the (working) mess later. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-21Add a "Flushing storage buffers" message to ROLO if it needs to do that.Michael Sparmann1-6/+11
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-21storage_flush() should be done before disabling interrupts in ROLO.Michael Sparmann1-3/+7
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-19Make RoLo work on PP5002. * Rename CACHE_CTL flag values on PP5002 for ↵Jens Arnold1-8/+9
consistency. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-19Fix rolo for AMS Sansa and simplify a few #ifdefs.Thomas Martitz1-7/+5
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-11Nano2G - call storage_flush() before rolo_restart() to ensure FTL is flushed.Dave Chapman1-0/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-10-11Enable rolo on the Nano2G - it hasn't been thoroughly tested, but seems to ↵Dave Chapman1-2/+3
be working. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-06-04Fix RoLo on MIPS targetsMaurus Cuelenaere1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-04-01M:Robe 500i: More LCD initialization, and beginnings of support for QVGA as ↵Karl Kurbjun1-1/+1
well as VGA on the LCD. MPEGPlayer now works with reasonable performance on smaller videos, but YUV blitting persists after MPEGPlayer is left, some cleanup/changes to the initialization code. This should be functionally equivalent for the ZVM, but the #ifdef's may need to be added back for Get the bootloader building again. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-02-26Ingenic Jz4740:Maurus Cuelenaere1-2/+8
* Add initial RoLo support * Don't enable IRAM in plugins for now * Initial try at getting PCM working (doesn't crash anymore at least) * Replace hard-coded constant with #define in usb-jz4740 git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2009-02-11Make basic cache functions into calls, and get rid of ↵Michael Sevakis1-3/+3
CACHE_FUNCTION_WRAPPERS and CACHE_FUNCTIONS_AS_CALL macros. Rename flush/invalidate_icache to cpucache_flush/invalidate. They're inlined only if an implementation isn't provided by defining HAVE_CPUCACHE_FLUSH/INVALIDATE. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-11-10Fix Clip firmware building by adding missing symbolsRafaël Carré1-1/+2
Implement some of the new functions Use as3514 rtc Add AS3525 case in rolo.c Copy card_get_info_target() from ata-sd-pp.c , and use the correct 32bits words order 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 Stenberg1-2/+4
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-06-03Oops. Lost sync on a few instances and 'HI' registers.Michael Sevakis1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-06-03Rename CPU/COP_INT_CLR to CPU/COP_INT_DIS since it's really a 'write one to ↵Michael Sevakis1-1/+1
disable' register and hasn't anything to do with acknowledging interrupts-- that's handled at the module level. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-05-08Gigabeat S RoLo: Properly execute firmware copy from an IRAM stub because ↵Michael Sevakis1-5/+10
the currently running image was being overwritten in place. Minor tweak to rolo.c based on imx31 errata sheet about not masking FIQ without masking IRQ which is fine to use on all ARM anyway. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-05-03Made rolo.h consistent with rolo.cBertrik Sikken1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-05-02Working ROLO for the Gigabeat F/XKarl Kurbjun1-3/+3
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-04-16For TCC and IMX Rolo, use a full flush and invalidate before branching.Michael Sevakis1-2/+2
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-04-16Some general housekeeping. Fixed a few yellows, made the volume buttons work ↵Will Robertson1-2/+2
in lists. ROLO now works also thanks to rob's work on the D2. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-04-15Kill some D2 yellows with a simplistic Rolo implementation and NAND driver ↵Rob Purchase1-1/+11
cleanup. Correct some comments in crt0.s and remove two erroneous null words from rockbox.bin git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-04-15Fix some red.Steve Bavin1-1/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-04-15Kill warnings that annoy me when building for Gigabeat S.Michael Sevakis1-0/+1
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-03-26Major cleanup of checkwps - fix all warnings and add a script to build ↵Dave Chapman1-0/+1
versions for all supported targets (plus some unsupported ones). You now need to run the version of checkwps that matches the device your WPS is for. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-03-26Do core interrupt masking in a less general fashion and save some ↵Michael Sevakis1-1/+5
instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2008-03-17Various coldfire fixes: (1) iAudio Bootloader: Check the status of main & ↵Jens Arnold1-0/+1
remote power button vs. the respective hold switch, and shut down when on hold. On X5/M5 this check is not strictly necessary for the main unit, but left there to keep things uniform. (2) M3: Stop reading the ADC properly before leaving the bootloader, on RoLo, and on reboot, to make it work reliably after those transitions. (3) Disable all interrupt sources on system init to avoid premature ISR calls after enabling interrupts in general. (4) iAudios: Proper implementation of ide_powered(), avoiding nasty HDD clicks in the bootloader when powering down, e.g. because of Hold. (5) Slight optimisations. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2007-11-15Work in progress fixes to the remote button handling. Now the remote can be ↵Karl Kurbjun1-1/+1
unplugged and then plugged in and it will work. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2007-11-11Setup the gigabeat so that iram is faked in a different spot since the ↵Karl Kurbjun1-1/+1
normal iram location does not seem to be working. This lays the groundwork to get rolo running. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657