Rafaël Carré
b2323be33b
ARM: lr addresses the next instruction after the failing one in undefined instruction vector
...
Substract 4 before passing the argument to UIE so the correct address is displayed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24321 a1c6a512-1295-4272-9138-f99709370657
2010-01-24 15:04:21 +00:00
Andree Buschmann
56d972ad57
Fix tabs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24153 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 10:19:43 +00:00
Andrew Mahone
becdbaa12d
Enable and initialize VFP on imx31. VFP state is not saved on thread change, and it is initialized for scalar operations, rounding toward zero, with exception/error handling and "correct" handling of NaN and denormal values disabled. In this mode it should still be usable for integer divisions (by casting operands to double and result to int or unsigned).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24129 a1c6a512-1295-4272-9138-f99709370657
2009-12-31 08:32:05 +00:00
Nils Wallménius
7d4ca1a85a
Increase stack space for the Gigabeat S specific headphone thread to fix stack overflow when compiled with gcc 4.4
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23678 a1c6a512-1295-4272-9138-f99709370657
2009-11-20 16:42:07 +00:00
Thomas Martitz
78c956d73b
Make current_vp static and importings from Gigabeat F/X/S lcd drivers as they don't need it anymore.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23354 a1c6a512-1295-4272-9138-f99709370657
2009-10-26 01:44:39 +00:00
Jens Arnold
5365cbe0a5
Color targets: Ported assembler optimised transparent bitmap drawing from Gigabeat S/F/X to all ARM targets (~23..40% speedup). * C optimised transparent bitmap drawing for non-ARM targets and sims. * Use the more compact boundary checking for non-transparent native bitmap drawing as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23353 a1c6a512-1295-4272-9138-f99709370657
2009-10-26 01:35:31 +00:00
Thomas Martitz
d85c3ec410
Convert lcd_activation callbacks to use the event system to allow for 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://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:59 +00:00
Nils Wallménius
f34a841b0c
Revise r23225 a bit, removing the debug_printf function and implementing more generic lcd_(remote)_putsf function(s) instead and use those in more places
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23233 a1c6a512-1295-4272-9138-f99709370657
2009-10-17 18:02:48 +00:00
Nils Wallménius
47608e06b3
fix red
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22432 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 22:15:45 +00:00
Bertrik Sikken
a26ea3f67a
Revert static-ing of iim_prod_rev, this function is never used so it causes a compiler warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22185 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 09:44:09 +00:00
Bertrik Sikken
d767883a41
Various files: make functions static if they're local or make sure there is a proper #include if not
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22184 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 09:28:25 +00:00
Rafaël Carré
ffefe0c08b
Put TIMER_FREQ definition in CPU-specific config, and remove timer-target.h
...
Note : SH has TIMER_FREQ defined to CPU_FREQ, so any code wanting it must include #config.h before #cpu.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21560 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:30:12 +00:00
Rafaël Carré
c5dedd7d76
Remove the TIMER_* macros and declare target-specific functions in timer.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21559 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:57 +00:00
Rafaël Carré
89ccd5c145
Remove int_prio argument from timer_register, and move the only use for it into alpine_cdc plugin, since this plugin is only built on SH7034
...
Also remove it from TIMER_START()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21558 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:46 +00:00
Rafaël Carré
b3ed33d04a
Move SH7034 timer code in the target tree
...
Add an argument int_prio to TIMER_START() macro because SH7034 needs it
Leaves a target specific code in timer_register (could be given to target code through timer_set and __timer_set() )
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21556 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:14 +00:00
Rafaël Carré
e0640c3c4b
Rename TIMER_REGISTER macro to TIMER_START and TIMER_UNREGISTER to TIMER_STOP to reflect what they does exactly.
...
registering and unregistering are handled by the non target-specific functions of timer.c
Remove arguments from the new TIMER_START since they are unused by targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21553 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:28:56 +00:00
Bertrik Sikken
2dc2054319
Remove some unused declarations
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21010 a1c6a512-1295-4272-9138-f99709370657
2009-05-21 12:32:26 +00:00
Bertrik Sikken
0023943439
Fix duplicate #includes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20977 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 14:50:19 +00:00
Thomas Martitz
6abae1f124
Remove the calls to backlight_lcd_sleep_countdown from target specific code and move it into backlight.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20793 a1c6a512-1295-4272-9138-f99709370657
2009-04-26 01:23:39 +00:00
Michael Sevakis
e48cece75c
imx31: Oops. Fix a misplaced comma in wmcodec-imx31.c. Add a couple parentheses in statment (just to be clearer). Should take care of things for now :).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20444 a1c6a512-1295-4272-9138-f99709370657
2009-03-22 02:27:20 +00:00
Michael Sevakis
ba71cc540c
imx31: Rename clkctl-imx31.* to ccm-imx31.* and move up from ...imx31/gigabeat-s to .../imx31. A bunch more should probably go up a level too.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20443 a1c6a512-1295-4272-9138-f99709370657
2009-03-22 02:13:27 +00:00
Michael Sevakis
b7f7655dc2
imx31/mc13783: Do some housekeeping with register macros, function names and other defines. No functional changes (except to alter a couple int priorities).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20442 a1c6a512-1295-4272-9138-f99709370657
2009-03-22 01:50:48 +00:00
Thomas Martitz
b7739fbf1c
Rework lcd_enabled and lcd_set/call_enable hook
...
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://svn.rockbox.org/rockbox/trunk@20331 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 02:43:47 +00:00
Michael Sevakis
a1a332e04b
Gigabeat S: Implement MDMA and UDMA disk access for bootloader and main binary. Add a needed SDMA API to check channel errors. Increase audio DMA channels' priority as required. Reads and writes measure faster accross all test_disk tests and especially at 4KB and 1MB.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20299 a1c6a512-1295-4272-9138-f99709370657
2009-03-12 06:31:40 +00:00
Michael Sevakis
d1adf35e62
Gigabeat S: Switch SSI1 and 2 around so that playback can use the shared peripheral DMA with SSI2 which doesn't require use of the peripheral DMA unit-- SSI2 is mapped to the SDMA core address space. Fix some break keywords in get_script_pc(). Use the patched script for mcu_2_app (BSP appears to have neglected to update that). Use _SHP instead of _SP for shared peripheral constants (consistency).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20254 a1c6a512-1295-4272-9138-f99709370657
2009-03-09 04:25:25 +00:00
Michael Sevakis
2d8813e26b
imx31 ATA: Correct a register #define error (due to error in user's manual). Fix timing for PIO tAX.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20169 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 06:10:13 +00:00
Michael Sevakis
63404a7d5d
Separate running an SDMA channel from resetting it. It should make usage more flexible since resets are needed only before restarting if aborting transfers (because the script is left awaiting requests, not the next start) which PCM does alot of but other things likely won't.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20000 a1c6a512-1295-4272-9138-f99709370657
2009-02-13 12:59:30 +00:00
Michael Sevakis
e6bac4c6f4
Gigabeat S: Handle any DMA playback errors reported and stop in that case (none are expected but it's better to handle than ignore).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19983 a1c6a512-1295-4272-9138-f99709370657
2009-02-12 02:04:26 +00:00
Michael Sevakis
911cc69ebd
Gigabeat S: No need to do cache writeback on recording buffers now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19982 a1c6a512-1295-4272-9138-f99709370657
2009-02-12 00:22:31 +00:00
Michael Sevakis
63e709c7c8
Refine the routines in mmu-arm.c and move them to mmu-arm.S since the code is now 100% assembly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19980 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 23:56:00 +00:00
Michael Sevakis
21f0c9a282
Make basic cache functions into calls, and get rid of 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
2009-02-11 12:55:51 +00:00
Michael Sevakis
e46309fde3
Gigabeat S: Update some very stale comments about what's going on in the startup code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19965 a1c6a512-1295-4272-9138-f99709370657
2009-02-10 15:48:48 +00:00
Michael Sevakis
609157a145
Gigabeat S: I never intended to leave the channel context buffer static beyond testing. Correct that.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19964 a1c6a512-1295-4272-9138-f99709370657
2009-02-10 13:08:46 +00:00
Michael Sevakis
e1e8101837
Gigabeat S: Place SDMA code load address starting in uninitialized section address and copy it to the plugin buffer since it only needed very early in initialization. Will save about 6K in RAM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19963 a1c6a512-1295-4272-9138-f99709370657
2009-02-10 11:34:15 +00:00
Michael Sevakis
f7a06dd6fc
Gigabeat S: Try to save some power. Implement lcd_enable and turn off LCD DMA channel when backlight is off.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19953 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 07:01:46 +00:00
Michael Sevakis
9f5687c9e6
Gigabeat S: The PCM lockout routines needed a bit of polishing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19952 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 03:13:04 +00:00
Michael Sevakis
94537f954e
Gigabeat S: Implement an SDMA API and use it in the PCM driver. Some other miscellaneous adjustments to recording and PCM buffer to accomodate use of physical addresses and cache coherency.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19949 a1c6a512-1295-4272-9138-f99709370657
2009-02-08 22:32:41 +00:00
Michael Sevakis
4d3a020f27
Gigabeat S: Move the LCD framebuffer address so that DRAM can be mapped flat between physical and virtual addresses. NO BOOTLOADER UPDATE SHOULD BE NEEDED. The firmware image now handles low-level system setup as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19935 a1c6a512-1295-4272-9138-f99709370657
2009-02-07 10:09:13 +00:00
Michael Sevakis
e2a169bce5
Gigabeat S: Get remote keymaps up to snuff and working. Do a couple tweaks on main unit ones. Cleanup keymap file a bit. Fix main button scanner to not clobber remote button. Fix a bug in actions.c where 'LAST_ITEM_IN_LIST' didn't really terminate scanning immediately. It would do an additional call into get_context_map and silently pick up ACTION_STD.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19909 a1c6a512-1295-4272-9138-f99709370657
2009-02-03 10:55:30 +00:00
Michael Sevakis
1a00056f1f
i.MX31: Make SPI more tolerant by resetting and forcing a reconfigure of the interface if an error ever happens. Better handle PMIC GPIO interrupt; it definitely doesn't low-pulse PRIINT (remains high if sources become active again or stay active while acking) so needed rising edge may never happen in such a case-- use high-level detection rather than rising edge. Optimize the reg/clr/set/mod functions a bit since they get more regular use now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19903 a1c6a512-1295-4272-9138-f99709370657
2009-02-02 02:38:21 +00:00
Michael Sevakis
bf1cddf3e8
Hopefully make some progress against FS#9831. iPod Video seems fine now under XP at least. Move false reset detection to the USB target code. Gigabeat S works using the OTG module upon bus reset. Portal Player targets verify that the USB pin detect is ok upon bus reset.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19874 a1c6a512-1295-4272-9138-f99709370657
2009-01-29 01:28:34 +00:00
Michael Sevakis
ef8413eb4f
Gigabeat S: Make sure the hold button on the remote is independent of the main one.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19833 a1c6a512-1295-4272-9138-f99709370657
2009-01-23 22:45:33 +00:00
Michael Sevakis
753b7a90e1
Gigabeat S: Add remote control reading and proper headphone insert detection. We need keymaps! A few were copied straight from Gigabeat F/X just to get things worked out.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19830 a1c6a512-1295-4272-9138-f99709370657
2009-01-23 20:55:17 +00:00
Michael Sevakis
7bcfc38b42
Gigabeat S: Implement a genuine udelay function. Timer is gated to not run in WFI mode to save power and as such time until rollover is variable.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19820 a1c6a512-1295-4272-9138-f99709370657
2009-01-23 01:23:25 +00:00
Michael Sevakis
da76a34694
Use bus reset detection for all ARC OTG devices. Remove conflict from LV24020LP driver with some GPIO-by-number macros for PP502x. Start monitoring for USB stack once all core threads and queues are created otherwise queues will likely be registered after USB acks. Putting PP502x system_reboot in IRAM (unmapped, uncached) memory seems to help it work more consistently. Hopefully I got all the PP USB connect handlers in the right spot in irq_handler. If device seems unresponsive to cable, check there first.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19819 a1c6a512-1295-4272-9138-f99709370657
2009-01-22 22:05:04 +00:00
Michael Sevakis
616c98b38f
USB detection changes. c200/e200: Consider USB to be powered when charger is plugged but detect USB connection by bus reset. When received, disconnect and restart the driver fully enabled. imx31: Fix hack used to make initial connect succeeded-- set PHY type before initial reset. General: Move some target code out of usb-drv-arc.c and implement it in respective usb sources and CPU headers so things stay clean.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19797 a1c6a512-1295-4272-9138-f99709370657
2009-01-19 13:41:25 +00:00
Michael Sevakis
e2a25592f8
Gigabeat S has no need for a USB tick. Put in a simple framework that allows USB monitoring by event. Also add a couple missed usb_enable calls when the connection is not for 'slave mode'.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19768 a1c6a512-1295-4272-9138-f99709370657
2009-01-14 07:01:49 +00:00
Michael Sevakis
77649a7a2c
Fix FS#9782 - lcd_bitmap_transparent_part clipping but keep smaller clipping code. The bitmap coordinates were not being adjusted when clipping left and top. Also fix for Gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19752 a1c6a512-1295-4272-9138-f99709370657
2009-01-12 02:15:04 +00:00
Michael Sevakis
21869a1dc3
Gigabeat S: Make sure USB battery maintenece is engaged if fully charged from Main (charger off), USB is configured and Main is unplugged.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19740 a1c6a512-1295-4272-9138-f99709370657
2009-01-10 02:37:44 +00:00
Michael Sevakis
4ed78f5c72
Clean up panicf and introduce system_exception_wait to do further target tasks and wait for a button when an unrecoverable error has occurred (panic, UIE, etc.). Returning from that function should reboot or don't return from it. Move UIE and __div0 for ARM to its own file.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19716 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 10:15:32 +00:00