Commit graph

746 commits

Author SHA1 Message Date
Franklin Wei
74fc3efb60 Prevent configure from being run in the root of the tree, fix a typo in the configure script
Change-Id: I61205c2f00edbdcd726ca455a67c810fafe3ca92
2015-02-15 21:03:36 +01:00
Udo Schläpfer
dbabd0d9c3 iBasso DX50/DX90: Major code cleanup and reorganization.
Reorganization

- Separated iBasso devices from PLATFORM_ANDROID. These are now standlone
  hosted targets. Most device specific code is in the
  firmware/target/hosted/ibasso directory.
- No dependency on Android SDK, only the Android NDK is needed.
  32 bit Android NDK and Android API Level 16.
- Separate implementation for each device where feasible.

Code cleanup

- Rewrite of existing code, from simple reformat to complete reimplementation.
- New backlight interface, seperating backlight from touchscreen.
- Rewrite of device button handler, removing unneeded code and fixing memory
  leaks.
- New Debug messages interface logging to Android adb logcat (DEBUGF, panicf,
  logf).
- Rewrite of lcd device handler, removing unneeded code and fixing memory leaks.
- Rewrite of audiohw device handler/pcm interface, removing unneeded code and
  fixing memory leaks, enabling 44.1/48kHz pthreaded playback.
- Rewrite of power and powermng, proper shutdown, using batterylog results
  (see http://gerrit.rockbox.org/r/#/c/1047/).
- Rewrite of configure (Android NDK) and device specific config.
- Rewrite of the Android NDK specific Makefile.

Misc

- All plugins/games/demos activated.
- Update tinyalsa to latest from https://github.com/tinyalsa/tinyalsa.

Includes

- http://gerrit.rockbox.org/r/#/c/993/
- http://gerrit.rockbox.org/r/#/c/1010/
- http://gerrit.rockbox.org/r/#/c/1035/

Does not include http://gerrit.rockbox.org/r/#/c/1007/ due to new backlight
interface and new option for hold switch, touchscreen, physical button
interaction.

Rockbox needs the iBasso DX50/DX90 loader for startup, see
http://gerrit.rockbox.org/r/#/c/1099/

The loader expects Rockbox to be installed in /mnt/sdcard/.rockbox/. If
/mnt/sdcard/ is accessed as USB mass storage device, Rockbox will exit
gracefully and the loader will restart Rockbox on USB disconnect.

Tested on iBasso DX50.
Compiled (not tested) for iBasso DX90.
Compiled (not tested) for PLATFORM_ANDROID.

Change-Id: I5f5e22e68f5b4cf29c28e2b40b2c265f2beb7ab7
2015-02-02 21:57:55 +01:00
Simon Rothen
0b5ad60c26 Introducing Targets iBasso DX50 & iBasso DX90
The port to for this two targets has been entirely developped by Ilia Sergachev (alias Il or xzcc). His source
can be found at https://bitbucket.org/isergachev/rockbox . The few necesary modifications for the DX90 port
was done by headwhacker form head-fi.org. Unfortunately i could not try out the final state of the DX90 port.
The port is hosted on android (without java) as standalone app. The official Firmware is required to run this port.
Ilia did modify the source files for the "android" target in the rockbox source to make the DX port work. The work I did
was to separate the code for DX50 (&DX90) from the android target.
On this Target Ilia used source from tinyalsa from AOSP. I did not touch that part of the code because I do not understand it.
What else I changed from Ilias sources besides the separation from the target "android":
* removed a dirty hack to keep backlight off
* changed value battery meter to voltage battery meter
* made all plugins compile (named target as "standalone") and added keymaps
* i added the graphics for the manual but did not do anything else for the manual yet
* minor optimizations

known bugs:
* timers are slowed donw when playback is active (tinyalsa related?)
* some minor bugs

Things to do:
* The main prolem will be how to install the app correctly. A guy called DOC2008 added a CWM (by androtab.info) to the
  official firmware and Ilia made a CWM installation script and a dualboot selector (rbutils/ibassoboot, build with
  ndk-build). We will have to find a way to install rockbox in a proper way without breaking any copyrights.
  Maybe ADB is an option but it is not enable with OF by default. Patching the OF is probably the way to go.
* All the wiki and manual

to build:
needed: android ndk installed, android sdk installed with additional build-tools 19.1.0 installed

./tools/configure
select iBasso DX50 or iBasso DX90
make -j apk

the content of rockbox.zip/.rockbox needs to be copied to /system/rockbox/app_rockbox/rockbox/ (rockbox app not needed)
the content of libs/armeabi to /system/rockbox/lib/ (rockbox app needed)

The boot selector is needed as /system/bin/MangoPlayer and the iBasso app as /system/bin/MangoPlayer_original. There
is also the "vold" file. The one from OF does not work with DX50 rockbox (DX90 works!?), the one from Ilia is necessary.

Until we have found a proper way to install it, it can only be installed following the instructions of Ilia on his
bitbucket page, using the CWM-OF and his installation script package.

Change-Id: Ic4faaf84824c162aabcc08e492cee6e0068719d0
Reviewed-on: http://gerrit.rockbox.org/941
Tested: Chiwen Chang <rock1104.tw@yahoo.com.tw>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-09-18 18:19:01 +02:00
Amaury Pouly
e08331eef4 zen/zenxfi/zenxfistyle/zenmozaic: implement plugin keymaps and enable plugins
Plugins on the ZEN/ZEN X-Fi require to increase the plugin buffer size.

Change-Id: If4651c87b402060faa24530985c6e871379c8ea1
2014-07-17 10:40:17 +02:00
Nils Stec
c9816f57bf Introduce plugin keymaps for the Sony NWZ Series
Change-Id: I46b8766bd44118bce4931b7ee71815ae5f51cb2e
Reviewed-on: http://gerrit.rockbox.org/879
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-06-30 21:20:15 +02:00
Amaury Pouly
d5591a2b28 zen/zenxfi: switch lcd driver to 24-bit mode
Change-Id: I2c42f0e422130bcdaf1aaf92c7b56776752f4f64
2014-06-24 18:07:55 +02:00
Thomas Martitz
cd4fb9ee79 fix sdlapp and ypr0 builds
Change-Id: I3953350c04607691b427fc2a3b00e8ae08bcea45
2014-06-23 23:47:25 +02:00
Thomas Martitz
dbb76896ec lcd-24bit: fix up previous commit a1842c0
* e200v2 shouldn't use 24bit (was just for testing)
* samsung ypr0/ypr1 should enable it but the correct number must be passed to bmp2rb

Change-Id: Ia91b0ff80a54265d4c3111d9dcb8e7b9dd12b5d4
2014-06-21 00:20:24 +02:00
David Jilke
d489444119 Complete Plugin Keymaps for Creative Zen X-Fi3
This patch completes the plugin keymaps for the Zen X-Fi3 and enables those plugins for compilation.
One key was changed in "button-target.h" for compatibility with Rockboy.
This also caused the changes to "keymap-zenxfi3.c", to keep the stock functionality (no further changes in here).

Change-Id: Ic222faf89e9a9a2332a49d6e532cedb6eb16d3d7
Reviewed-on: http://gerrit.rockbox.org/762
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-04-06 20:51:12 +02:00
Szymon Dziok
173d9c6750 enable compiling of Sansa View
Change-Id: I3dda438cabf2a8f5f3ff5fed1ae16d0793341685
2014-03-27 21:47:35 +00:00
Thomas Martitz
6499ce3e44 android: Get the port up and running again
The build system needed fixes because the tools paths changed and one tool that
we used (apkbuilder) was removed entirely. Recent NDKs don't ship gcc 4.4.3
anymore, therefore switch to 4.6. The code itself needed a fix for a jni
reference bug that was uncovered by KitKat.

The port now builds with latest sdk (r22) and ndk (r9d).

Change-Id: Id74fa54ba93bbb0ee30373fbe79e92c5ff03201d
2014-03-09 18:11:35 +01:00
Frank Gevaerts
e32ace831a Disable rombox on the Player.
No more Archos rombox left...

Change-Id: I7de15b1ce1fabdb19ba7b0b69e0b7799664d8413
2014-02-05 19:50:47 +01:00
Lorenzo Miori
e876f4df6d Samsung YP-R1 target port
This is the basic port to the new target Samsung
YP-R1, which runs on a similar platform as YP-R0.
Port is usable, although there are still
some optimizations that have to be done.

Change-Id: If83a8e386369e413581753780c159026d9e41f04
2014-02-05 09:56:21 +01:00
Amaury Pouly
69d0dae55b Initial commit for the ZEN X-Fi Style
Change-Id: Ib25a357a7bafd2ef25f273cadff70fafbd8d4661
2014-01-21 18:52:28 +01:00
Thomas Martitz
9d26619465 Workarund GCC bug #52991 regarding packet attribute.
According to http://http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991, since
mingw-gcc 4.7.1 -mms-bitfields is on by default, and this option breaks the
packet attribute since around 4.2.0.

We haven't set this option so I'm assuming we don't need it. Therefore a
workaround in configure can make things work again, because we rely on
the packet attribute in quite a few places.

Change-Id: I8367c16594cecfdde97c548e04607deaa92e21de
2014-01-17 11:14:47 +01:00
Andrew Ryabinin
9dbdec14f0 creativezenv: change target_id & MODEL_NUMBER.
85 is already used by HIFI E.T. MA8C.

Change-Id: I7f30d6b1acbebd6152d11fa46ec87d95e6a809e7
Reviewed-on: http://gerrit.rockbox.org/703
Reviewed-by: Purling Nayuki <cyq.yzfl@gmail.com>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-01-02 13:35:05 +01:00
Andrew Ryabinin
5b5f0755d6 Introduce IHIFI760/960 targets.
Change-Id: Ie36e48742c0ed9aa3fd6f49aa034a11d2492327c
2013-12-16 00:45:18 +04:00
Lorenzo Miori
1deab73980 Initial commit for the YP-Z5 port
The port uses the imx233 soc, it's a STMP3650 based Samsung player

Change-Id: I50b6d7e77fd292fab5ed26de87853cd5aaf9eaa4
Reviewed-on: http://gerrit.rockbox.org/490
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-12-02 20:48:21 +01:00
Amaury Pouly
977a6c3ce7 Initial commit for the Creative ZEN V
Change-Id: I3408cfdf742ea5995d5c87bf76653f436e1ec2b0
2013-11-18 21:44:06 +00:00
Amaury Pouly
a8b816ae9c creativezenmozaic: factor out code with the zen/zenxfi
Most of the code is similar, only the lcd driver is significantly different.

Change-Id: I9eab1faf08d2356f2d820d6930ef3b0653349aa1
2013-11-18 21:44:05 +00:00
Amaury Pouly
776d51c1da configure: change E370 to E370/E380
Change-Id: I55e00f53bd8c7704b5c3fe5db0b716f980504887
2013-11-13 21:37:52 +00:00
Andrew Ryabinin
3a97e12fc5 Introduce HiFi E.T. MA8/MA8C ports.
HiFi E.T. MA8 is almost the same as MA9 except
another DAC(pcm1792 in ma8, df1704 in ma9).

MA8 has ILI9342 lcd, MA8C has ILI9342C lcd.

Change-Id: If2ac04f5a3382590b2a392c46286559f54b2ed6a
2013-11-05 09:59:45 +04:00
Andrew Ryabinin
d602717735 Introduce HiFi E.T. MA9C port.
The only difference between this target and HiFi E.T. MA9
is display driver (ILI9342 in MA9 and ILI9342c in MA9C)

Change-Id: Icc3d2490f850902a653175360f12283f3708bbb7
2013-11-05 09:59:45 +04:00
Amaury Pouly
5cfb148ae2 tools/configure: add the Creative targets to selector
Change-Id: I74c7c3cfea95350b88155c2d6d1111c84172b39d
2013-10-22 00:42:36 +02:00
Amaury Pouly
a0728672bf Initial commit for the Creative ZEN and ZEN X-Fi
Change-Id: Ibd7b1b0b957ef11c200cb63eff7da53f11774748
2013-10-22 00:34:45 +02:00
Amaury Pouly
d3bc64833c Initial commit for the Creative ZEN Mozaic
Change-Id: Ib65aad9f5de37e514047955cad7ca40dc0af4f74
2013-10-22 00:34:44 +02:00
Kevin Zheng
513914c347 Do not compile with "-ldl" on FreeBSD.
The dynmaic library support provided in dlfcn.h does not require
additional linker flags on FreeBSD. It is provided with the standard C
library and will fail to link if "-ldl" is specified.

Change-Id: I9f21d8369d45a9be94129a1b37b4607adf673c57
Reviewed-on: http://gerrit.rockbox.org/637
Tested-by: Kevin Zheng <kevinz5000@gmail.com>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2013-10-18 03:40:01 +02:00
Lorenzo Miori
9a8ed6ba35 Simulator for Samsung YP-R0
Enable simulator for the target ypr0 to
be built and used.

Change-Id: I1b080f07ab90f5c4856881d08ad70e1053bbb0c0
Reviewed-on: http://gerrit.rockbox.org/618
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2013-09-29 14:15:48 +02:00
Amaury Pouly
9392d036c4 Initial commit for the sony NWZ-E360 and NWZ-E370
Change-Id: I52d21e136a98eaf481615d641795cf7ecf325465
2013-09-25 14:31:39 +02:00
Rafaël Carré
b4ca244af2 Always build test plugins in simulators
Change-Id: I13094bfbed9fe05a48b4e81759978d112e19f48b
2013-06-13 18:42:29 +02:00
Andrew Ryabinin
fa4e1baa83 Introduce HiFi E.T MA9 port.
Change-Id: I79aadc958fd5222f26f91ed127f8c6fb2c465dc2
2013-05-06 14:09:24 +04:00
Bryan Childs
1489fa3a15 Adapt logic in configure script to cope with both x86 and x86_64 architecture Android NDKs
Change-Id: I520443a17f1d9ced43222e14182ca4726717bc32
Reviewed-on: http://gerrit.rockbox.org/458
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
Tested-by: Frank Gevaerts <frank@gevaerts.be>
2013-04-26 21:42:15 +02:00
Dominik Riebeling
7271ff603d Add ANDROID_SDK_PATH and ANDROID_NDK_PATH to generated Makefile.
Previously it was sufficient to set those variables when running configure.
Since ANDROID_NDK_PATH is now also used in the Android Makefile set both
variables in the generated Makefile as well -- not everyone has (or wants) to
set them globally in the environment.

Change-Id: Ib64ffeea379c58c9d361b3fbfefb67084dce666c
2013-04-04 22:42:22 +02:00
Lorenzo Miori
60592165ca Samsung YP-R0 hosted target code refactoring
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: http://gerrit.rockbox.org/409
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2013-03-06 00:21:22 +01:00
Thomas Martitz
6242d9f7fc android: Undo accidental switch to asm threads.
sigaltstack() is not available (more accurately, not exposed by the
NDK) pre-gingerbread/2.3. However the android-arm target runs on
down to eclair/2.1, where the asm threads still work fine.

Change-Id: I2bb14bc6bb5653c401552189699a676109ac6587
2012-11-07 23:32:58 +01:00
Thomas Martitz
3365a148ce configure: Remove leftover debugging output
Change-Id: I1a1f32faa72987b113f109b876639a1b153f0a88
2012-11-07 23:08:20 +01:00
Thomas Martitz
48572c6265 android: Add x86 target.
Change-Id: If205f8c69a7ac803eecab394e6d1758aeda86336
2012-11-06 12:21:14 +01:00
Thomas Martitz
8e3c77d53e configure: merge androidcc and androidmipscc.
Change-Id: Ice8ba3f2cb51091486b3f446447cc8d256bc4c00
2012-11-06 12:21:14 +01:00
Thomas Martitz
885079b8af configure: autodetect mips arch version
Change-Id: Icaaca3d23ca89da977a065396b1961f9fe40da41
2012-11-06 12:21:14 +01:00
Marcin Bukat
5dec7af1ec Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets"
This was commited by accident, sorry.
2012-10-24 14:05:39 +02:00
Boris Gjenero
c975de1534 SH gcc 4.6.3 with link-time optimization, for Archos targets
This is work from FS#12431 synced to current HEAD and slightly
tweaked (gcc 4.6.2 -> 4.6.3, binutils 2.21.1 -> 2.22)

Change-Id: I76af91e80ac2a9c16a776c7f0a33cc51603bbf9b
2012-10-24 14:02:41 +02:00
Amaury Pouly
dbe9436ff2 zenxfi2: correctly disable plugins in configure script
Change-Id: If766c39b1b70ded2089964c850affbe953ac17c4
2012-08-30 01:10:36 +02:00
Thomas Martitz
efe73e143a Fix database tool.
It was also broken functionally, probably since a while.So restore the
functionality. Run it on the dap, the tcd files will be placed into .rockbox folder.

Change-Id: Id7a6ce4389dfaf99799258902be80d630af0601c
2012-07-31 10:33:27 +02:00
Frank Gevaerts
bf6abf7b38 Define GCCNUM properly. Case matters!
Change-Id: I5c7e9879f95f454e2811edfeaaa7cedc395646c1
2012-06-11 23:25:53 +02:00
Frank Gevaerts
20261dd2f6 Fix YP-R0 build.
YP-R0 never used sigaltstack threading, although it was (inadvertently)
defined. Due to the new handling of ifdefs in 268b725 this definition
started to be used, so remove it.

Change-Id: Ib5247741fc6dcfb66022d50c269812dfc3c4e214
2012-06-11 23:21:45 +02:00
Huan Zhang
fbe33e0728 Fix libmad compilation on MIPS with newer gcc. FS#12013
Since gcc 4.4 the MIPS port no longer recognizes the "h" asm constraint.
It was necessary to remove this constraint in order to avoid generating
unpredictable code sequences. We can achieve the same effect using
128-bit types.

See also:GCC 4.4 release notes at  http://gcc.gnu.org/gcc-4.4/

Change-Id: I713cdf57cde1a989ad960aa441ab1ccf51f1cdc6
2012-06-11 23:17:19 +02:00
Frank Gevaerts
10b2143fbf The threading model should be set from configure, not config.h.
Change-Id: If87bbd4a02825df20e5fe29c4ada85bf5ba25e99
2012-06-11 23:05:41 +02:00
Frank Gevaerts
d1560e5869 Add the Android/MIPS target
Change-Id: Iec1d2f08c8a43e486ab1696566a718b18598ff95
2012-06-11 22:29:45 +02:00
Bertrik Sikken
2fb4fe90f6 zenxfi3: disable building of plugins ("no" means yes, use an empty string instead)
Change-Id: I85e01ae07daa8656be33ddc47592102d318a17e0
2012-05-27 00:39:24 +02:00
Amaury Pouly
12c64a4b79 Initial commit for the Creative ZEN X-Fi2 and X-Fi3 ports
These are really similar devices so one commit for both is ok.

Change-Id: I8bd1d3fef1eb6d00aaadfb7af56c771f62d0c9c3
2012-05-19 16:10:52 +02:00