summaryrefslogtreecommitdiffstats
path: root/firmware/target/coldfire
AgeCommit message (Collapse)AuthorFilesLines
2008-04-07Save a couple of bytes by using moveq.l where possible.Jens Arnold1-7/+7
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17007 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://svn.rockbox.org/rockbox/trunk@17006 a1c6a512-1295-4272-9138-f99709370657
2008-03-27split boot.lds and move it into the target treeMarcoen Hirschberg2-0/+179
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16855 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://svn.rockbox.org/rockbox/trunk@16835 a1c6a512-1295-4272-9138-f99709370657
2008-03-26Slightly better instruction order, added comment.Jens Arnold2-7/+11
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16833 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://svn.rockbox.org/rockbox/trunk@16832 a1c6a512-1295-4272-9138-f99709370657
2008-03-26Do core interrupt masking in a less general fashion and save some ↵Michael Sevakis21-48/+87
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-26Back-ported the iAudio remote LCD driver optimisations to X5 and M5.Jens Arnold2-240/+333
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16810 a1c6a512-1295-4272-9138-f99709370657
2008-03-25iAudio M3: Optimised LCD driver, with more/better assembly code. Speedup is ↵Jens Arnold2-274/+547
~80% when boosted, ~15% when unboosted. Also implemented grey phase blitting. * Adapted the greyscale library, and the plugins using it. * Fixed a bug in greyscale scroll down for vertically packed pixels. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16809 a1c6a512-1295-4272-9138-f99709370657
2008-03-25Revert accidental tree commit. /me needs a smaller enter key...Jens Arnold3-106/+324
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16805 a1c6a512-1295-4272-9138-f99709370657
2008-03-25Cabbiev2 gigabeat background: reduce WPS backdrop filesize by storing it as ↵Jens Arnold3-324/+106
24 bit BMP instead of unnecessary 32 bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16802 a1c6a512-1295-4272-9138-f99709370657
2008-03-25Add a complete priority inheritance implementation to the scheduler (all ↵Michael Sevakis1-0/+62
mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16791 a1c6a512-1295-4272-9138-f99709370657
2008-03-24Consistent naming scheme the various blit functions. * Removed ↵Jens Arnold5-52/+60
lcd_blit_mono() for colour targets. Plugin API became incompatible, so sort, clean up & bump. * Implemented lcd_blit_mono() for M3. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16775 a1c6a512-1295-4272-9138-f99709370657
2008-03-19M3: Make remote LCD hotplug work, and make 'backlight on button hold' use ↵Jens Arnold1-1/+2
the correct hold switch. * Kill a warning. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16711 a1c6a512-1295-4272-9138-f99709370657
2008-03-18Correct the name of a flag. No functional change.Jens Arnold2-4/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16708 a1c6a512-1295-4272-9138-f99709370657
2008-03-18Commit the ADC changes (fix red M3 builds).Jens Arnold1-3/+14
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16691 a1c6a512-1295-4272-9138-f99709370657
2008-03-18Cosmetic fixes for the iAudio bootloader: Don't display 'Hold switch on' if ↵Jens Arnold1-0/+2
the reason for getting there was a spurious ON event. Don't disable the multi-colour LED in the M3 bootloader. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16690 a1c6a512-1295-4272-9138-f99709370657
2008-03-17Various coldfire fixes: (1) iAudio Bootloader: Check the status of main & ↵Jens Arnold5-14/+29
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
2008-03-17iAudio M3: ADC driver, making buttons and battery voltage reading work. * ↵Jens Arnold8-22/+189
Disable the multi-colour LED for now to save power. Proper handling will be added later. * Make reboot on button press work on iAudio X5, M5, M3 in panicf(), and on M3 in UIE(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16684 a1c6a512-1295-4272-9138-f99709370657
2008-03-16Add two missing coldfire interrupt vectors.Jens Arnold1-2/+5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16681 a1c6a512-1295-4272-9138-f99709370657
2008-03-15Sound on M3. yay!Jens Arnold1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16679 a1c6a512-1295-4272-9138-f99709370657
2008-03-15iAudio M3: Fix standard remote context. * Process button adc values in the ↵Jens Arnold1-10/+39
button driver. Those buttons won't work without the not-yet-committable ADC driver though. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16676 a1c6a512-1295-4272-9138-f99709370657
2008-03-14More iAudio M3 work. Target build compiles, but same problem regarding ↵Jens Arnold1-0/+47
plugins as the simulator. Boots to the menu, but it can't be used yet because only main & remote Play button work. USB works. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16661 a1c6a512-1295-4272-9138-f99709370657
2008-03-14More iAudio M3 work. Target build compiles, but same problem regarding ↵Jens Arnold8-8/+224
plugins as the simulator. Boots to the menu, but it can't be used yet because only main & remote Play button work. USB works. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16660 a1c6a512-1295-4272-9138-f99709370657
2008-03-13Make the LCD remote work in the Iriver H1x0 and H300 bootloaders as well ↵Jens Arnold3-36/+42
(untested). * Only try the initial remote LCD init if the remote is plugged, and do it in main builds as well, giving slightly earlier remote LCD output when booting. * Fix delays in the X5/M5 remote LCD init. * Remove an unnecessary check in the X5/M5 remote LCD driver and the M3 LCD driver. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16655 a1c6a512-1295-4272-9138-f99709370657
2008-03-13Split up app.lds to the respective target directories. The portalplayer ↵Karl Kurbjun2-0/+286
devices replicate app.lds since their target tree doesn't follow a syntax typical to the newer arm targets - the portalplayers could be cleaned up further. boot.lds and plugin.lds still need to be cleaned up. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16651 a1c6a512-1295-4272-9138-f99709370657
2008-03-12Make ATA work on M3.Jens Arnold1-0/+59
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16650 a1c6a512-1295-4272-9138-f99709370657
2008-03-12Make the LCD remote work in the iAudio M3, M5 and X5 bootloaders. * Fix ↵Jens Arnold5-55/+62
viewport related init bug in the 2 bit vertically interleaved LCD driver. * Fix low bat warning in iaudio bootloader - voltages are in millivolts now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16648 a1c6a512-1295-4272-9138-f99709370657
2008-03-12More iAudio M3 work. Bootloader compiles, but doesn't work yet.Jens Arnold8-0/+922
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16645 a1c6a512-1295-4272-9138-f99709370657
2008-03-08Revert accidental tree commit. Sorry for that.Jens Arnold1-435/+5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16574 a1c6a512-1295-4272-9138-f99709370657
2008-03-08No need to have \n here. panicf() won't output it anyway.Jens Arnold1-5/+435
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16570 a1c6a512-1295-4272-9138-f99709370657
2008-03-01code police: add some missing trailing zeroes to remove possible confusion. ↵Peter D'Hoye1-7/+7
No functional change. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16466 a1c6a512-1295-4272-9138-f99709370657
2008-02-27Fix a few comments.Jens Arnold1-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16434 a1c6a512-1295-4272-9138-f99709370657
2008-02-03fix h300 redRobert Kukla1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16209 a1c6a512-1295-4272-9138-f99709370657
2008-02-03mrobe 100: real time clock (if anybody recognises the RTC chip let me know)Robert Kukla1-269/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16208 a1c6a512-1295-4272-9138-f99709370657
2008-01-15Fix graphical glitches occuring in the greyscale library on H1x0 and M5 at ↵Jens Arnold2-61/+81
124MHz. The main loop within lcd_grey_data() needed instruction reordering (interspersing lcd writes with memory accesses) to meed the LCD controller timing. Slight slowdown because of the extra register needed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16091 a1c6a512-1295-4272-9138-f99709370657
2008-01-09Greyscale library: Changed the internal data format once more (separated ↵Jens Arnold4-108/+294
pixel values and phases), allowing for further optimisation of drawing, scrolling etc. * Optimised grey phase blitting in the core reduces CPU load on all architectures, most significantly on coldfire. Previous version was too slow to keep up at 45MHz, leading to unwanted graininess (update frequency was halved). Also fixed screendump on 2bpp targets with vertical pixel packing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16043 a1c6a512-1295-4272-9138-f99709370657
2008-01-04All-new greyscale library, replacing the old one. Features: (1) ↵Jens Arnold4-45/+198
Drawing/updating is faster than the old grayscale lib at full depth. (2) Always 129 shades instead of 2..33 shades. (3) No graininess caused by frequent updates (mpegplayer, doom, ...). (4) Needs less memory than the old grayscale lib at full depth. * The tradeoff is slightly higher CPU load in the ISR (frames are calculated 'live') and an extra function in the core. * Ported all plugins which used the graylib to use the new one. * Some slight optimisations for archos and H1x0 LCD update. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15998 a1c6a512-1295-4272-9138-f99709370657
2007-11-18Make speex the new voice format for SWCODEC targets (non-Archos). Remove ↵Michael Sevakis1-50/+0
codec swapping and build speex voice decoding directly into the core binary. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15668 a1c6a512-1295-4272-9138-f99709370657
2007-11-12Fix bootloaders, and the backlight-modded Ondio build.Jens Arnold2-0/+9
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15600 a1c6a512-1295-4272-9138-f99709370657
2007-11-12Hardware controlled backlight brightness for iPod Video and Nano, retaining ↵Jens Arnold8-44/+86
the software PWM fade in/ fade out. * Backlight handling cleanup, getting rid of one layer of 'lowlevelness'. * Use atomic GPIO bit manipulation for PP502x backlight handling. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15599 a1c6a512-1295-4272-9138-f99709370657
2007-11-10Split radio i2c drivers into target tree where they belong. No changes to ↵Barry Wardell2-0/+279
binaries produced. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15558 a1c6a512-1295-4272-9138-f99709370657
2007-10-17Coldfire: Partially revert buffered writes, and enable them explicitly for ↵Jens Arnold4-6/+7
the LCD only. Turned out that with buffered writes enabled, reads after writes are not always serialized, which is a bad thing for I/O. Buffered writes to the LCD are safe because that's write-only. Fixes FS #7985. How come I didn't notice this earlier? :> git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15173 a1c6a512-1295-4272-9138-f99709370657
2007-10-15Coldfire targets: enable buffered writes by default. Speeds up all sorts of ↵Jens Arnold7-16/+16
I/O that writes to ports: LCD update (except the functions using DMA on H300), ATA writes, .... Some timings had to be adjusted for the new configuration. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15129 a1c6a512-1295-4272-9138-f99709370657
2007-10-15Fix coldfire PCF50606 I2C driver, and iriver FM radio I2C driver. Both ↵Jens Arnold1-15/+25
drivers had wrong timing, discovered while experimenting with buffered writes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15122 a1c6a512-1295-4272-9138-f99709370657
2007-10-14H300, X5: Optimised lcd_yuv_blit(), using line-pair zig-zag writing to the ↵Jens Arnold4-127/+255
LCD controller. ~7% speedup on H300, ~5% speedup on X5. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15111 a1c6a512-1295-4272-9138-f99709370657
2007-10-06Unify PCM interface just above the hardware driver level for all targets ↵Michael Sevakis1-308/+170
including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15006 a1c6a512-1295-4272-9138-f99709370657
2007-10-02Thanks to LinusN, fix Coldfire bootloaders not booting - FS#7533Steve Bavin4-8/+18
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14949 a1c6a512-1295-4272-9138-f99709370657
2007-09-04FS #7691 - improved USB detection on PP devices. This patch modifies the ↵Dave Chapman3-6/+9
target-tree function usb_detect() on all targets from bool to int, returning USB_INSERTED or USB_EXTRACTED instead of true or false. This was done to enable the PP usb_detect() to check for USB_POWER (either a connection to a USB wall charger, or the user holding "charge mode" button) and return that as a third value. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14600 a1c6a512-1295-4272-9138-f99709370657
2007-08-17H300: Read battery voltage with 10bit precision.Jens Arnold2-7/+10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14379 a1c6a512-1295-4272-9138-f99709370657