Commit graph

661 commits

Author SHA1 Message Date
Marcin Bukat
f30043a0db rk27xx: add rolo_restart() rk27xx specific variant
Change-Id: Ib786a9ef6318d259ecef783becdd7c0fa6f52730
2012-03-04 00:34:59 +01:00
Marcin Bukat
2f8b44aae2 Add RKW firmware file format loader
Change-Id: I5283fdcdb8d263fd9375a6d29396f82650aeb686
2012-03-04 00:34:26 +01:00
Marcin Bukat
b4eab59951 Arm stack unwinder
Simplified stack unwinder for ARM. This is port of
http://www.mcternan.me.uk/ArmStackUnwinding/
backtrace() is called from UIE() on native targets
and from panicf() on both native and ARM RaaA.

Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
2012-02-22 08:33:26 +01:00
Cástor Muñoz
e29619b4d2 FS#12524 - iPod Classic/6G: hardware click support
Based on the piezo driver for the nano2g.

Signed-off-by: Nils Wallménius <nils@rockbox.org>
2012-02-11 23:46:35 +01:00
Amaury Pouly
d32891fa59 fuze+: change rendering scheme, do not rely on generic framebuffer and 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-27 20:08:33 +01:00
Thomas Martitz
9e7b417452 firmware/target/arm doesn't contain code for hosted anymore.
Change-Id: Id6149d4b81d4c402d18571567645c066224cf6f1
2012-01-22 18:46:45 +01:00
Thomas Martitz
c94cf3b888 Move optimized ffs to firmware/asm, using the new automatic-asm-picking infrastructure.
Change-Id: I5e7bdc8be7de50ef604c16078857fff1b84650dc
2012-01-22 18:46:45 +01:00
Thomas Martitz
5e9b62cd8a ypr0: Use generic lcd memframe driver. 2012-01-22 18:46:45 +01:00
Thomas Martitz
094cbd586f Implement a C version lcd-as-memframe.c and move it and the asm to firmware/asm.
Change-Id: I20c3af0368202493d54fb776530300a39d47873a
2012-01-22 18:46:45 +01:00
Thomas Martitz
a035261089 Move optimized memcpy and friends and strlen to firmware/asm,
using the new automatic-asm-picking infrastructure.
2012-01-22 18:46:45 +01:00
Thomas Martitz
d3ae11d75a android/ypr0: Merge lc-*.c to generic lc-unix.c.
Change-Id: Ica76dec903486c32fda8355acdc58f0315c4d384
2012-01-21 18:39:20 +01:00
Thomas Martitz
5d13ecc4a8 android/ypr0: Merge fs-*.c to generic filesystem-unix.c.
Change-Id: I52e2c29346baf0d282243880477cd149311ce3d1
2012-01-21 18:39:19 +01:00
Thomas Martitz
954cd771fb android/ypr0: Merge kernel-*.c to generic kernel-unix.c.
Change-Id: Ife3fceb53829ef4e13bae73d8d2f10d7e56d484d
2012-01-21 18:39:19 +01:00
Thomas Martitz
5b4a6c4267 Hosted: Merge debugf() implementations. Cleanup debug.h.
Fixes debug build for ypr0.

Change-Id: I9c0eff651dcf268a3fafed1a71fcc47f3e323d36
2012-01-21 18:39:19 +01:00
Thomas Martitz
cf333a61c7 Move supprt-arm.S to separate library.
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-21 18:39:19 +01:00
Amaury Pouly
35ba39e57f imx233: add DCP driver (only memcpy implemented), move channel arbiter to kernel-imx233
Change-Id: I2bc5a49459c354027fc67a880bbf3b87c942bdd0
2012-01-15 02:29:30 +01:00
Rafaël Carré
4fc27c16ae adc-as3514.c : move to drivers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31629 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 02:33:43 +00:00
Rafaël Carré
8552824284 ascodec-target.h: remove
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-08 01:43:16 +00:00
Thomas Martitz
c1bd9b0361 Rework powermgmt to enable code re-use on appliation and sims.
* Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application)
to break powermgmt.c's assumption about the ability to read battery voltage.
There's now additionally percentage (android) and remaining time measure
(maemo). No measure at all also works (sdl app). If voltage can't be measured,
then battery_level() is king and it'll be used for power_history and runtime
estimation.

* Implement target's API in the simulator, i.e. _battery_voltage(), so it
doesn't need to implement it's own powermgmt.c and other stubs. Now
the sim behaves much more like a native target, although it still
changes the simulated battery voltage quickly,

* Other changes include include renaming battery_adc_voltage() to
_battery_voltage(), for consistency with the new target functions and
making some of the apps code aware that voltage and runtime estimation
is not always available.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31548 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 23:44:38 +00:00
Thomas Martitz
c08ce1b829 ypr0: Enable headphone detection
Author: Lorenzo Miori
Flyspray: FS#12348

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31544 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 21:15:27 +00:00
Rafaël Carré
5cf79723ec move PP specific files to pp/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31533 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 04:39:56 +00:00
Rafaël Carré
cddb1cfb16 Remove USBOTG_AS3525v2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31502 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 20:08:34 +00:00
Rafaël Carré
249218a5c2 usb-s3c6400x.c: move usb_detect and usb_enable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31477 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 15:44:32 +00:00
Amaury Pouly
094e62a528 imx233/fuze+: implement rtc (time only, alarm still to implement)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31473 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 13:35:45 +00:00
Thomas Martitz
05f12e0877 ypr0: Enable battery voltage read-out, charging monitoring and charger detection.
Voltage can be read using as3543 adc (i.e. ascodec api, on this target implemented
via ioctl()). TODO: Look into possibly controlling charging more by re-using
powermgmt-ascodec.c. However, charging seems to be controlled by the kernel,
so may not be needed.

Charger state can be read using /dev/minivet. It allows to differentiate between
wall charger and usb charging, but that's not implemented (is it even worthwhile?)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31470 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 13:34:56 +00:00
Amaury Pouly
f7f1f7023f imx233/fuze+: implement power management(battery charger), add powermgmt debug info, add power debug info, move target specific powermgmt code to its own files, remove auto-slow setup which was forgotten for debugging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31424 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 19:20:12 +00:00
Thomas Martitz
249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
Thomas Martitz
287454de2e Hosted/linux: Add process/cpu info screen to the debug menu.
The new menu is very helpful on RaaA, but also shown in the sim. It shows
the process cpu usage, process' time stats (user,sys,real) and the cpu
frequency stats.

It uses a thread to sample the data, however the thread is not created
until the menu is visited for the first time.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31364 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 15:42:04 +00:00
Bertrik Sikken
8c19dcd598 FS#12370: Initial RDS support for Si4701/Si4703 tuner (beast and clip zip)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31346 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 20:24:19 +00:00
Michael Sevakis
95e6043d5e Convert remaining memframe LCDs that can be convert to common code.
Massage the way it interfaces a bit to make things more flexible.
The chroma_buf scheme on Sansa Connect and Creative ZVx calling the
lcd_write_yuv420_lines implementation in lcd-as-memframe.S with five params
with a chroma buffer that the function can't use wouldn't work anyway so just
have them use the stock implementation (really, how was that working?).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31335 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 23:40:39 +00:00
Rafaël Carré
014003afac factorize build of ipod files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31320 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 00:21:12 +00:00
Rafaël Carré
6a032a2db1 Factorize ipod mini common code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31318 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 00:03:32 +00:00
Rafaël Carré
5fdfe86af8 Fix mmu-arm.S selection
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31317 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 00:03:20 +00:00
Rafaël Carré
a522d66394 factorize build of mmu-arm.S (for armv4/5)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31316 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 23:56:07 +00:00
Rafaël Carré
99fba78eb5 bits-armv4.S: build on arm < 6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31315 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 23:55:54 +00:00
Rafaël Carré
856d888336 factorize common PP files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31313 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 23:29:11 +00:00
Michael Sevakis
71bb87e3fc Fix r31311 red and yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31312 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 23:24:35 +00:00
Michael Sevakis
62facd1ff2 Collect some of the memory frame LCD C code.
For this commit: Sansa e200v1, Gigabeat F, Gigabeat S and Mini2440 are
changed over. Quite a number of other targets probably can be as well.

General LCD code is moved out of the target drivers into
drivers/lcd-memframe.c.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31311 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 23:07:11 +00:00
Rafaël Carré
f53b8ff959 factorize s5l8700 common code (also used by s5l8701, but not s5l8702)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31310 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 22:27:28 +00:00
Rafaël Carré
e54ead8386 factorize S3C2440 common files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31308 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 22:01:30 +00:00
Rafaël Carré
b52619b5b4 factorize samsung yh common files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31307 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 21:56:52 +00:00
Rafaël Carré
26479534e2 factorize c200v1/e200v1 common files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31306 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 21:54:06 +00:00
Rafaël Carré
e38baa0fae philips hdd: factorize
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31304 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 21:47:22 +00:00
Rafaël Carré
47ea1b0bb7 SOURCES: remove duplicate entry
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31303 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 21:47:06 +00:00
Rafaël Carré
8b8e1081c6 build usb-s3c6400x according to CONFIG_USBOTG
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31302 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 21:46:46 +00:00
Rafaël Carré
213b8ce74b SOURCES: factorize TCC77x files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31300 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 21:26:03 +00:00
Rafaël Carré
8859c69bb3 SOURCES: factorize common iriver files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31299 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 21:10:22 +00:00
Rafaël Carré
1b5788819f SOURCES: factorize common iaudio x5/m5 files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31298 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 21:03:32 +00:00
Rafaël Carré
9ee0035733 move wmcodec-coldfire inside MPIO files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31297 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 20:59:05 +00:00
Rafaël Carré
160d9f6908 SOURCES: factorize target/coldfire/ata-as-coldfire.S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31295 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 20:48:15 +00:00