path: root/firmware/target/hosted/ypr0
AgeCommit message (Collapse)AuthorFilesLines
2013-03-06Samsung YP-R0 hosted target code refactoringLorenzo Miori21-1593/+0
As per title this patch aims at splitting common target code and specific target code in a better way to support future ports within the same environment (e.g. Samsung YP-R1 where the Linux and the SoC are the same, with differences in hardware devices handling) Change-Id: I67b4918c46403b184d3d8f42ab5aae7d01037fd0 Reviewed-on: Reviewed-by: Thomas Martitz <> Tested-by: Thomas Martitz <>
2012-10-06This patch adds RDS capability to Samsung YP-R0 target.Lorenzo Miori1-1/+60
Uses register polling method to decide when it's time to decode RDS packets. Change-Id: I1d3cc995ea3350ec7b101438b8f2027130d4a4c9 Reviewed-on: Reviewed-by: Lorenzo Miori <> Tested-by: Lorenzo Miori <> Reviewed-by: Thomas Martitz <> Tested-by: Thomas Martitz <>
2012-05-28ypr0: This patch adds radio support to Samsung YP-R0Lorenzo Miori5-2/+280
Basically it uses the default SI4700 radio chip driver, the only thing that's different is the I2C access, written specifically to interact with my kernel module. Next things to add are: - RDS support! Change-Id: I0ed125641e00f93124d7a34f90dd508e7f1db5a4 Signed-off-by: Lorenzo Miori <>
2012-04-25Add codecs to librbcodec.Sean Bartell1-1/+1
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: Reviewed-by: Nils Wallménius <> Tested-by: Nils Wallménius <>
2012-04-04Refactor and unify objcopy calls in the build system. Also now properly ↵Thomas Martitz1-1/+1
handles DEBUG builds on hosted targets to keep debug symbols if necessary. Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
2012-03-26build system: unify/simplify library handling a bit.Thomas Martitz1-5/+3
libs in $ROOT/lib now add to $(CORE_LIBS) and $(EXTRA_LIBS) and are automatically linked by the core and codecs/plugins respectively. Change-Id: Iff482c792a8c8142718f6a16a450c6e2f1497c9a
2012-03-18Add RBCODEC_LIB to android and ypr0 builds so they link again.Frank Gevaerts1-1/+2
Change-Id: I022c7beba844a9b2cfcb8ec7950a1348e4bf511a
2012-02-28lcd drivers: Convert lcd_[remote_]framebuffer to a pointerJonathan Gordon1-2/+2
Change all lcd drivers to using a pointer to the static framebuffer instead of directly accessing the static array. This will let us later do fun things like dynamic framebuffer sizes (RaaA) or ability to use different buffers for different layers (dynamic skin backdrops!) Change-Id: I0a4d58a9d7b55e6c932131b929e5d4c9f9414b06
2012-02-22Arm stack unwinderMarcin Bukat1-1/+1
Simplified stack unwinder for ARM. This is port of backtrace() is called from UIE() on native targets and from panicf() on both native and ARM RaaA. Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
2012-01-23ypr0: Allow dection of multiple button presses at the same time.Thomas Martitz3-68/+60
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-22ypr0: Use generic lcd memframe driver.Thomas Martitz2-52/+27
2012-01-22Create fimrware/asm directory for assembly optimized stuff.Thomas Martitz1-4/+1
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-21android/ypr0: Merge lc-*.c to generic lc-unix.c.Thomas Martitz1-40/+0
Change-Id: Ica76dec903486c32fda8355acdc58f0315c4d384
2012-01-21android/ypr0: Merge fs-*.c to generic filesystem-unix.c.Thomas Martitz2-149/+1
Change-Id: I52e2c29346baf0d282243880477cd149311ce3d1
2012-01-21android/ypr0: Merge kernel-*.c to generic kernel-unix.c.Thomas Martitz2-170/+1
Change-Id: Ife3fceb53829ef4e13bae73d8d2f10d7e56d484d
2012-01-21ypr0: Fix build failure.Thomas Martitz2-3/+2
Change-Id: I327d58fde66fc7fa65f91e0ca724c3fd8066ccf6
2012-01-08ascodec-target.h: removeRafaël Carré7-103/+26
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:// a1c6a512-1295-4272-9138-f99709370657
2012-01-08remove cargo-cult empty i2c-target.hRafaël Carré1-25/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-08adc-target.h: cleanupRafaël Carré1-25/+0
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:// a1c6a512-1295-4272-9138-f99709370657
2012-01-08button-target.h : move prototypes to button.hRafaël Carré1-10/+0
no need to define BUTTON_REMOTE anymore git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2012-01-03Rework powermgmt to enable code re-use on appliation and sims.Thomas Martitz1-2/+2
* 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:// a1c6a512-1295-4272-9138-f99709370657
2012-01-03ypr0: Enable headphone detectionThomas Martitz6-1/+300
Author: Lorenzo Miori Flyspray: FS#12348 git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-31usb-target.h: removeRafaël Carré1-0/+0
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-31move usb_pin_init() declaration to PP's system-target.hRafaël Carré1-25/+0
remove duplicate usb_detect() declaration Remove all content from empty usb-target.h files git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-31ypr0: Proper battery curve measured with battery_bench.Thomas Martitz1-8/+4
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-31ypr0: Enable battery voltage read-out, charging monitoring and charger ↵Thomas Martitz3-88/+172
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:// a1c6a512-1295-4272-9138-f99709370657
2011-12-25ypr0: Fix ascodec_readbytes().Thomas Martitz1-4/+6
git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-24ypr0: Cleanup and simplify ascodec functions. Fix audiohw_{pre,post}init() ↵Thomas Martitz2-106/+43
not being called. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
2011-12-24Initial commit of the Samsung YP-R0 port.Thomas Martitz18-0/+1495
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. 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:// a1c6a512-1295-4272-9138-f99709370657