summaryrefslogtreecommitdiff
path: root/firmware
AgeCommit message (Collapse)Author
2012-02-05Make generic pcm-mixer.c more generic in the way it writes output.Michael Sevakis
Also remove unused firmmware/asm/generic directory. Change-Id: If1961f96f4292f00227a9b0148181152ac405e51
2012-02-05fuze+: the radio chip needs a few milliseconds to power upAmaury Pouly
Change-Id: I7e7f3bf86ab69d6c7e94e8b16c1a26f74a76f1a2
2012-02-05imx233: add audioin init code, add adc dma interrupts, fix register definesAmaury Pouly
Change-Id: I204afbd3390f8dcde6ea1315ea6aa8dde12d3749
2012-02-04Fix Fuze+ bootloader redBoris Gjenero
Change-Id: I434e3f4930e6ab7f8d9f5ba43a5bfe0a387e0f09
2012-02-04Use commit_dcache() instead of commit_discard_idcache() where possibleBoris Gjenero
- PCM playback DMA doesn't need the discard. Only recording DMA would need it. - When creating threads for another core, the core creating the thread only needs to commit. The discard on the other core is handled elsewhere. Change-Id: I864a0777e22f221a66218efd2c02ff3ad3889736
2012-02-04Generic find_first_set_bit can use __builtin_ctz instead of __builtin_ffsMichael Sevakis
The former gives 0-based indexes, which is what our implementation returns, making the "- 1" unnecessary. Change-Id: I172ab5e06695be62e4a18d4fd0415b8314f5dc26
2012-02-03imx233/fuze+: fix a typo, handle volume differently because of the line1/dac ↵Amaury Pouly
mode difference. The headphone volume register value reads differently in Line1 and DAC mode. Since the volume is not set again when switching between playback and radio, we need to remember the hp volume and reapply setting when changing the mode. Change-Id: I8fbd344f78653c19d81a39dd3f680ec6885cb1ec
2012-02-02fuze+: don't use the DCP to copy the framebuffer since it can yield and then ↵Amaury Pouly
several lcd udpates could run concurrently with undefined behaviour Change-Id: I39167188f354859fc8e4f9f979c97343b40beb7d
2012-02-01fuze+: use the si4700 internal oscillator and set a pin on power down (seems ↵Amaury Pouly
important) Change-Id: If737438ddb726e51e0a725e27bc93950eb3657bd
2012-02-01fuze+: check rectangle coordinates in lcd_update_rectAmaury Pouly
Change-Id: I5f23063751d7650b8eefd0f37393498d9a27bd19
2012-02-01fuze+: add basi pinctrl debug screenAmaury Pouly
Change-Id: I999d55a00a03eecc88d726ed33b2edaf339a138c
2012-02-01fuze+: pin B1P30 is volume down key and has no relation with SDAmaury Pouly
Change-Id: Iee93e90d3054442ae873c55c05c030ed690ccbd6
2012-02-01imx233/fuze+: set a few recommended power bits by Freescale, remove some ↵Amaury Pouly
uneeded headers, implement audio path selection for playback and radio Change-Id: If926ead9b776504a58eb102fcc0e9acadf4f7379
2012-01-30Clipv2: fix button reading on some modelsRafaël Carré
We neet to setup the XPD to work as GPIO storage unaffected Tested on working-already Clipv2 and on a 'brickable' clipv2 Change-Id: Idcbdfb6bd50d51b7f6f7e00b21df24fac9b3a6d8
2012-01-29AMSv1/AMSv2: show CCU_IO in debug menuBertrik Sikken
Change-Id: I8ee9d464a6a3aebc21b60ac88e1b3833dca48885
2012-01-27fuze+: change rendering scheme, do not rely on generic framebuffer and ↵Amaury Pouly
implement rect updating and yuv blitting correctly. Now lcd_framebuffer is the only framebuffer in the system. We still use a ARM-buffered buffer which serve as an intermediate buffer for copying, to accomodate the requirement of the controller. We implement lcd_update_rect() properly using this new scheme (this requires two little quirks), this allows to implement lcd_blit_yuv with the right semantic (bypasses the framebuffer). YUV to RGB conversion is still done in software but the DCP CSC should be able to do that but the hardware rotation scheme is not the same as our software so it will require some tricks. Change-Id: I0752e9c2f1a705d2e6a6010084e1f150965d8370
2012-01-27imx233: update arbiter to get more debug information, update debug screen ↵Amaury Pouly
accordingly Change-Id: Ia229e5303692712295f1dbd37a76f865a3eef4ea
2012-01-27imx233: implement dcp blitting, simplify code and make it work even in ↵Amaury Pouly
context interrupt by busy waiting Change-Id: Ife949e13e3e04a56a2b5bc554eb46c726e719712
2012-01-27imx233: fix PHYISCAL_ADDR to handle the buffered region (hard to debug if ↵Amaury Pouly
misused) Change-Id: Ibbe9d42ecb91aa04925d557f8231f8a9140dd60a
2012-01-27find_first_set_bit tweaksMichael Sevakis
Correct sizing in m68k asm. Make the gerneric version far more generic. Change-Id: I32945f7431771979b3fe0da5472bdb110fd054ae
2012-01-26Fix FS#12559: sigaltstack threads fortify failureBoris Gjenero
Ubuntu defines _FORTIFY_SOURCE=2, which causes glibc longjmp() to check sp when gcc optimization is enabled. The check does not allow longjmp() to be used for switching threads and results in a "longjmp causes uninitialized stack frame" error. This disables the check. Change-Id: Idb8877b43ce711df880ca88875ba5477445a577a
2012-01-25Include stdlib.h for atexit().Thomas Martitz
Change-Id: I561bdaf0c6a0b806a136909e40cc4fb2805f6aa3
2012-01-25Fix win32 simulator build (FS#12564).Thomas Martitz
Change-Id: Ia8c805fd63b6d2d05133e6dd0ad257d31b38e2a0
2012-01-25Remove ata_removable() and ata_present() from multidriver code.Frank Gevaerts
ata_removable() and ata_present() no longer exist (ATA drives are never removable with our current drivers), so storage.c shouldn't try to call them from the wrapper functions. This was never noticed because these wrapper functions are only used for multidriver code, which happens not to be used with ATA currently. Change-Id: Icb5e8cb27cdbef3edc0e51c35dc40dadf4f9de29
2012-01-25WM8750: Extend recording gain range.Marcin Bukat
Use two stage amplification (PGA gain and digital stage gain) combined to extend recgain range to -17.25 +60.0dB. Change-Id: I4df8af801730b7efb2d35096de077ba31d331222
2012-01-25MPIO HD300: Fix scrollstip issue at driver level.Marcin Bukat
Scrollstrip (as well as scrollwheel on ipods/sansas) works like quadrature encoder. The states of input lines are tracked by the gpio ISR and when the sequence is correct, appropriate button event is pushed to the button queue directly. The downside of this implementation is that scrollstrip doesn't emit _REL events which has some weird consequences. For the scrollwheels some hack have been crafted in action system to accomodate for this. I don't like this approach. IMO the correct fix is to properly emit _REL event when the user stops interacting with the device or reverses the direction of the move. This patch implements timeout which forces to emit _REL when expired. Change-Id: I588ac5810dd2ab00c68935d23a62979cb1c2a912
2012-01-24MPIO HD300: Use MENU button to go back from debug screens.Marcin Bukat
Change-Id: I17c0f573de75ab1fd0119d148337e45552eb04b0
2012-01-24MPIO HD200/HD300: Decrease ADC scanrate.Marcin Bukat
The adclk is decreased 4x. This solves problems with battery readout drop during system startup. Change-Id: I46d7c4b9ffcfdc812a6dd2a932c9e397d33c1168
2012-01-23ypr0: Allow dection of multiple button presses at the same time.Thomas Martitz
Reading from /dev/r0Btn only allowed to read one button at a time. Reading GPIO directly via ioctl() doesn't have this limitation. This adds a more complete GPIO list also. Change-Id: If47b0846472f0817305dbf930731255f875e0269 Author: Lorenzo Miori
2012-01-22Fix incomplete comment.Thomas Martitz
Change-Id: I1874b4e64b3ae19689a0230f10ea623a4d0d1dea
2012-01-22Fix typo in comment.Thomas Martitz
Change-Id: I3a6813a5eb024aad799bc59c569db54337cb8d1f
2012-01-22ypr0: Work around warning introduced by buggy alsa headers.Thomas Martitz
Change-Id: I7c57ad5504db51d2f7563d2f26ff66f8d189b360
2012-01-22Fix checkwps.Thomas Martitz
Change-Id: Ia530de560c17b9b3a71c3d9117c7cdc72ec7569d
2012-01-22Fix sdl build warningsThomas Martitz
Change-Id: I3e85c63ce246b93572f856b364c9e2ff1b53e52f
2012-01-22ypr0: Enable asm optimizations.Thomas Martitz
Change-Id: Ib9f98563a9687827a384e5c7587638f5874cf485
2012-01-22firmware/target/arm doesn't contain code for hosted anymore.Thomas Martitz
Change-Id: Id6149d4b81d4c402d18571567645c066224cf6f1
2012-01-22Move optimized ffs to firmware/asm, using the new automatic-asm-picking ↵Thomas Martitz
infrastructure. Change-Id: I5e7bdc8be7de50ef604c16078857fff1b84650dc
2012-01-22ypr0: Use generic lcd memframe driver.Thomas Martitz
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