summaryrefslogtreecommitdiff
path: root/firmware
AgeCommit message (Collapse)Author
2012-01-22Implement a C version lcd-as-memframe.c and move it and the asm to firmware/asm.Thomas Martitz
Change-Id: I20c3af0368202493d54fb776530300a39d47873a
2012-01-22Move optimized memcpy and friends and strlen to firmware/asm,Thomas Martitz
using the new automatic-asm-picking infrastructure.
2012-01-22Add framework to let make automatically pick optimized asm implementations ↵Thomas Martitz
over generic C ones to firmware. Example: for a file asm/foo.c, make will look for asm/arm/foo.[cS] and compile it if found. If not found it'll fall back to asm/foo.c. Also introduce new ARCH make variable. This is automatically detected by configure. It is distinct from CPU since CPU defines the dir used for the target tree (i.e. firmware/target/X, so it can be "hosted"). ARCH really has the target isa and can be x86 for sims/raaa too. Change-Id: I18e5d2b7b7bbc2ad2be551a74a0fcae5ffbcbf8b
2012-01-22Move pcm_mixer helper routines to firmware/asm.Thomas Martitz
2012-01-22Create fimrware/asm directory for assembly optimized stuff.Thomas Martitz
This dir is suitable for stuff that doesn't fit the target tree, e.g. because it also builds on hosted or otherwise. It also has a generic subfolder for fallback C implementations so that not all archs need to provide asm files. SOURCES should only contain "foo.c" where foo.c includes the specific <arch>/foo.c files from the subdirs using the preprocessor. This way automatic selection of asm versions or generic C verion is possible. For the start, the thread support files are moved, since ASM threads can be used on hosted platforms as well. Since core_sleep() remains platform specific it's moved to the corresponding system.h headers. Change-Id: Iebff272f3407a6eaafeb7656ceb0ae9eca3f7cb9
2012-01-21imx233: fix clkctrl code (some registers don't have a SET/CLR variant)Amaury Pouly
Change-Id: I3ce6a77cdc5ea89e1e43bc00c9ec43664e765fdc
2012-01-21android/ypr0: Merge lc-*.c to generic lc-unix.c.Thomas Martitz
Change-Id: Ica76dec903486c32fda8355acdc58f0315c4d384
2012-01-21android/ypr0: Merge fs-*.c to generic filesystem-unix.c.Thomas Martitz
Change-Id: I52e2c29346baf0d282243880477cd149311ce3d1
2012-01-21android/ypr0: Merge kernel-*.c to generic kernel-unix.c.Thomas Martitz
Change-Id: Ife3fceb53829ef4e13bae73d8d2f10d7e56d484d
2012-01-21ypr0: Fix build failure.Thomas Martitz
Change-Id: I327d58fde66fc7fa65f91e0ca724c3fd8066ccf6
2012-01-21Hosted: Merge debugf() implementations. Cleanup debug.h.Thomas Martitz
Fixes debug build for ypr0. Change-Id: I9c0eff651dcf268a3fafed1a71fcc47f3e323d36
2012-01-21Move supprt-arm.S to separate library.Thomas Martitz
Core, codecs and plugins link it separately so this gets rid of SOURCES trickery. Don't build it for hosted targets. Change-Id: If15ef90e93cd218a4352ae8e89eea95d3122452f
2012-01-21hosted/pcm/alsa: Use alternate signal stack for the async callback.Thomas Martitz
Signals are by default executed on the user stack, i.e. the stack of the currently active thread. This has two problems: 1) The stack size of the current stack is likely insufficient (unless using sigaltstack threads) because our stack sizes are normally below MINSIGSTKSIZE which is needed to deliver a signal. 2) Some of our asm code does nasty tricks with the stack pointer. When a signal comes in during this bad things can happen, e.g. random memory being overwritten or simply a crash. Using a well defined stack fixes this. This is comparable with the separate irq stack on native targets.
2012-01-21Fix FS#12555: Use smoothed battery voltage for level and runtime calculationBoris Gjenero
The debug screen gets un-smoothed battery status via battery_read_info(). The level and runtime that is normally presented to the user needs to be based on smoothed voltage. Change-Id: Icb448853973aa1d5832e9094176938cfa12b2e48
2012-01-17Set HOME_DIR to "/". Should fix FS#12500.Frank Gevaerts
The reasons for not using / don't seem to be valid (It can lead to //, true, but not on any system where // is actually special, and create_*_filename() handles / fine albeit not perfectly (more //)). Handling /./ is desirable, but we can't afford to leave all automatic filename generation broken indefinitely while people discuss possible approaches. Change-Id: I6718ea28d7c91e19f7da89f76c8cefd92e12fe5e
2012-01-17HM-60x: Implement power off.Andrew Ryabinin
Change-Id: Ia3ae38bba09996e1d1e6043f340dbbc3a2ad68b5
2012-01-16usb-s3c6400: store endpoint status per directionRafaël Carré
Just as like all other drivers do Confirmed to work on Nano2g
2012-01-15imx233: oops, forgot fileAmaury Pouly
Change-Id: I2c672b51ac24bfcea7ce2b663deef18e02bc4b1f
2012-01-15imx233: add DCP driver (only memcpy implemented), move channel arbiter to ↵Amaury Pouly
kernel-imx233 Change-Id: I2bc5a49459c354027fc67a880bbf3b87c942bdd0
2012-01-15fuzeplus: fix lcd-target.h (LCD_FRAMEBUF_ADDR must point to lcd_framebuffer ↵Amaury Pouly
and not FRAME) Change-Id: Ia1f16f9b8e3041517b60336c06aedd40dfd2be12
2012-01-14Cut a few instructions from lcd_copy_buffer_rect.Michael Sevakis
Change-Id: I5159534f90b041c6ffefc00c8f91abc68ca6eb42
2012-01-11lcd: fix function name in comments in assembly files (lcd_write_yup_420 ↵Amaury Pouly
instead of lcd_write_yuv420)
2012-01-09Fix Clip Zip bootloader build.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31644 a1c6a512-1295-4272-9138-f99709370657
2012-01-09Commit FS#12454 - Faster line scroll speed by Martin Sagmuller.Michael Giacomelli
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31643 a1c6a512-1295-4272-9138-f99709370657
2012-01-08AS3525v1/2: Enable nested handling of interruptsMichael Sevakis
Mostly for the sake of reducing latency for audio servicing where other service routines can take a long time to complete, leading to occasional drops of a few samples, especially in recording, where they are fairly frequent. One mystery that remains is GPIOA IRQ being interrupted causes strange undefined instruction exceptions, most easily produced on my Fuze V2 with a scrollwheel. Making GPIOA the top ISR for now, thus not interruptible, cures it. SVC mode is used during the actual calls. Hopefully the SVC stack size is sufficient. Prologue and epilogue code only uses the IRQ stack and is large enough. Any routine code that should not be interrupted should disable IRQ itself from here on in. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31642 a1c6a512-1295-4272-9138-f99709370657
2012-01-08Remove duplicate #include "button.h"Bertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31636 a1c6a512-1295-4272-9138-f99709370657
2012-01-08adc-as3514.c : move to driversRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31629 a1c6a512-1295-4272-9138-f99709370657
2012-01-08remove now unused prototypeRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31627 a1c6a512-1295-4272-9138-f99709370657
2012-01-08ascodec-target.h: removeRafaël Carré
move prototypes to ascodec.h move code to ascodec*.c YPR0: use adc-as3514.c instead of duplicating it TODO: merge as3514.h and ascodec.h ? git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31626 a1c6a512-1295-4272-9138-f99709370657
2012-01-08lcd-target.h: remove some duplicate declarationsRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31625 a1c6a512-1295-4272-9138-f99709370657
2012-01-08remove cargo-cult empty i2c-target.hRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31624 a1c6a512-1295-4272-9138-f99709370657
2012-01-08adc-target.h: cleanupRafaël Carré
move adc_close() prototype to adc.h don't duplicate prototypes of adc.h remove license header and guards for a single include of another file or for empty content git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31623 a1c6a512-1295-4272-9138-f99709370657
2012-01-08fix fuze+ build: we need stdbool.h for boolRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31622 a1c6a512-1295-4272-9138-f99709370657
2012-01-08fix previous commitRafaël Carré
implement button_init_device for ondio include button.h to get prototypes git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31621 a1c6a512-1295-4272-9138-f99709370657
2012-01-08button-target.h : move prototypes to button.hRafaël Carré
no need to define BUTTON_REMOTE anymore git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31620 a1c6a512-1295-4272-9138-f99709370657
2012-01-07charging_algorithm_close() declaration has movedRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31619 a1c6a512-1295-4272-9138-f99709370657
2012-01-07cowond2's power-target.h -> rename in pmu-target.hRafaël Carré
other targets (ipod nano2g / classic) use that name for pmu git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31618 a1c6a512-1295-4272-9138-f99709370657
2012-01-07powermgmt-target.h: move prototypes to powermgmt.hRafaël Carré
Implement empty stubs if needed instead of empty static inline git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31617 a1c6a512-1295-4272-9138-f99709370657
2012-01-07ingenic_jz: remove ata-nand-target.hRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31616 a1c6a512-1295-4272-9138-f99709370657
2012-01-07Clean spi.h and spi-target.hRafaël Carré
Only target-specific (list of SPI targets) go in spi-target.h API go into spi.h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31615 a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd-remote-target.h: Use only in firmware/target/Rafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31614 a1c6a512-1295-4272-9138-f99709370657
2012-01-07Only use lcd-remote.h #ifdef HAVE_REMOTE_LCDRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31613 a1c6a512-1295-4272-9138-f99709370657
2012-01-07powermgmt.c : include lcd-remote.h only when neededRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31612 a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd_remote_powersave: unusedRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31611 a1c6a512-1295-4272-9138-f99709370657
2012-01-07rolo: include lcd-remote.h only when neededRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31610 a1c6a512-1295-4272-9138-f99709370657
2012-01-07mr500: move remote button reading code to buttom-mr500.cRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31609 a1c6a512-1295-4272-9138-f99709370657
2012-01-07move _remote_backlight_* to common headerRafaël Carré
remove unused REMOTE_INIT_LCD / REMOTE_DEINIT_LCD git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31607 a1c6a512-1295-4272-9138-f99709370657
2012-01-07remote_detect(): move to lcd-remote.hRafaël Carré
Reorganize lcd-remote.h so it works for iaudio-m3 too git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31605 a1c6a512-1295-4272-9138-f99709370657
2012-01-07move lcd remote common declarations to lcd-remote.hRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31604 a1c6a512-1295-4272-9138-f99709370657
2012-01-07lcd-remote-target.h: remove more duplicatesRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31603 a1c6a512-1295-4272-9138-f99709370657