summaryrefslogtreecommitdiffstats
path: root/firmware/rolo.c
AgeCommit message (Collapse)AuthorFilesLines
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: http://gerrit.rockbox.org/190 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
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://svn.rockbox.org/rockbox/trunk@31610 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://svn.rockbox.org/rockbox/trunk@31339 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://svn.rockbox.org/rockbox/trunk@30380 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://svn.rockbox.org/rockbox/trunk@30308 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://svn.rockbox.org/rockbox/trunk@26431 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://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-03rolo: make PP code pp6100-compatibleRafaël Carré1-3/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25798 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://svn.rockbox.org/rockbox/trunk@25699 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://svn.rockbox.org/rockbox/trunk@23313 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://svn.rockbox.org/rockbox/trunk@23312 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://svn.rockbox.org/rockbox/trunk@23277 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://svn.rockbox.org/rockbox/trunk@23275 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://svn.rockbox.org/rockbox/trunk@23087 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://svn.rockbox.org/rockbox/trunk@23086 a1c6a512-1295-4272-9138-f99709370657
2009-06-04Fix RoLo on MIPS targetsMaurus Cuelenaere1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21185 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 app.lds. Get the bootloader building again. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20598 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://svn.rockbox.org/rockbox/trunk@20115 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://svn.rockbox.org/rockbox/trunk@19971 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://svn.rockbox.org/rockbox/trunk@19064 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... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 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://svn.rockbox.org/rockbox/trunk@17684 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://svn.rockbox.org/rockbox/trunk@17683 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://svn.rockbox.org/rockbox/trunk@17414 a1c6a512-1295-4272-9138-f99709370657
2008-05-03Made rolo.h consistent with rolo.cBertrik Sikken1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17310 a1c6a512-1295-4272-9138-f99709370657
2008-05-02Working ROLO for the Gigabeat F/XKarl Kurbjun1-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17304 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://svn.rockbox.org/rockbox/trunk@17149 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://svn.rockbox.org/rockbox/trunk@17139 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://svn.rockbox.org/rockbox/trunk@17127 a1c6a512-1295-4272-9138-f99709370657
2008-04-15Fix some red.Steve Bavin1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17121 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://svn.rockbox.org/rockbox/trunk@17120 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://svn.rockbox.org/rockbox/trunk@16831 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://svn.rockbox.org/rockbox/trunk@16811 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://svn.rockbox.org/rockbox/trunk@16689 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://svn.rockbox.org/rockbox/trunk@15628 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://svn.rockbox.org/rockbox/trunk@15581 a1c6a512-1295-4272-9138-f99709370657
2007-10-16Finally full multicore support for PortalPlayer 502x targets with an eye ↵Michael Sevakis1-2/+2
towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-13M:Robe - Fix compilation and remove some warningsKarl Kurbjun1-6/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15095 a1c6a512-1295-4272-9138-f99709370657
2007-09-30Add some defines for pp502x. No guarantee as to full accuracy yet but that's ↵Michael Sevakis1-7/+7
not really too important. Use them in the code. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14912 a1c6a512-1295-4272-9138-f99709370657
2007-09-29Anti-red?Michael Sevakis1-4/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14899 a1c6a512-1295-4272-9138-f99709370657
2007-09-28Commit a subset of the dual core changes that have to do with cache ↵Michael Sevakis1-10/+26
handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657