Commit graph

31752 commits

Author SHA1 Message Date
Amaury Pouly
2a01b3766f imx233: rewrite clkctrl using new register headers
Change-Id: I6c79e99ed4ab20e00c3110d870e144a6c8596769
2013-06-16 15:28:04 +02:00
Amaury Pouly
f545908c16 imx233: rewrite icoll to use new register headers
Change-Id: I0bf30849d18a8493627025b383ce75ce524777ab
2013-06-16 14:46:58 +02:00
Amaury Pouly
81224c62bb imx233: add subtarget and package type to configure files
Change-Id: I234dab0e861d38abf866803bfcd729c63a8ee3ed
2013-06-16 14:39:58 +02:00
Amaury Pouly
d561017f35 mkimxboot: factor code, add support for ELF files
Refactor code.
This tool can now either load a scrambled rockbox
firmware (in which case the model is check against the
firmware), or any ELF file. This is useful for example
for hwstub which produces a ELF file and still needs
to be loaded by producing a SB file.

Change-Id: I7aa381b3f6587788d1950793e89ce5608c53cccc
2013-06-16 02:14:52 +02:00
Amaury Pouly
7c7fa36918 sbtools,mkximboot: fix whitespace
Change-Id: I8d8adb783707172d1aaef302366c240310350ed8
2013-06-15 22:27:34 +02:00
Amaury Pouly
58e27b9fa1 mkimxboot: refactor code, no functional change
The mkimxboot was becoming messy with juge functions and
redundant code. Factor reading/writing/loading code into smaller
functions. Introduce the concept of rockbox firmware to simplify
support of other formats than scramble.

Change-Id: I3a61295ca5abca1a0eee8c9e8709c6b8dfa256a6
2013-06-15 22:27:34 +02:00
Amaury Pouly
6483e23f07 mkximxboot: fix usage() formatting
Change-Id: I2f708e2830168f481018b8d8ce98134e40b4e8f8
2013-06-15 22:27:34 +02:00
Amaury Pouly
5aab4431fb Cosmetics
Change-Id: Id7974f1a79b5d803155ccfc417277a73ffd9046a
2013-06-15 22:27:34 +02:00
Amaury Pouly
dda1d5ca48 imx233: add register selector file
Register set selection is based on the value of the
IMX233_SUBTARGET value. The reg-select.h file (used by the
generated headers), does the selection based on this value as
follows:
- 3600 <= . < 3700: stmp3600 register set
- 3700 <= . < 3780: stmp3700 register set
- 3780 <= .: imx233 register set
Note that this selector relies on the name of the socs in the
register description to be respectively stmp3600, stmp3700 and
imx233.

Change-Id: I793b18e6c4f3fea85aa74f4c6be3affb0622c14e
2013-06-15 22:27:34 +02:00
Amaury Pouly
017667c2dc imx233: generate register headers for stmp3600, stmp3700 and imx233
Change-Id: Ia87086f4f4f4ecbb844ffd869407b14ea2509934
2013-06-15 22:27:34 +02:00
Amaury Pouly
97b9ade639 regtools: improve header generator
The generator now has more options to generate or not selectors.
It can also generate a macro header containing lots of using
macros for register operations.

Change-Id: I9dd6b4bdc7daeabd1a2c9365ce082358475721b5
2013-06-15 22:27:33 +02:00
Dominik Riebeling
b6ddbc41a5 Fix id3v2 album art if more than one image is present.
Rockbox only uses the first album art image (APIC / PIC frame) found in id3v2
tags. When a file contains more than one image the second one is ignored but
the parsealbumart() callback overwrites the already set data. This causes the
metadata structure to contain an invalid pointer to the image data, resulting
in no image shown.

Make parsealbumart() aware of this and skip parsing when an albumart image has
already been found. Fixes FS#12870.

Change-Id: Id8164f319cd5e1ee868b581f8f4ad3ea69c17f77
2013-06-15 21:04:13 +02:00
Nils Wallménius
084c75e5f9 Fix building of sh, arm and m68k toolchains with new texinfo
Recent versions of texinfo breaks various binutils and GCC
builds. For GCC setting MAKEINFO=missing at configure time works
but not for binutils where patches are used to fix parsing errors.
This also makes rockboxdev.sh handle applying multiple patches.

Change-Id: Ia8e6dc7662ab725490e4b4428676d235f0bd38bb
Reviewed-on: http://gerrit.rockbox.org/471
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2013-06-15 21:01:26 +02:00
Rafaël Carré
ab56afefc1 test_mem: silence -Wunused-but-set-variable warning
Change-Id: I4a14c8b0cf1a8c822166ce01087b31c06722d8ae
2013-06-13 18:56:23 +02:00
Rafaël Carré
b4ca244af2 Always build test plugins in simulators
Change-Id: I13094bfbed9fe05a48b4e81759978d112e19f48b
2013-06-13 18:42:29 +02:00
Amaury Pouly
9ad50ade17 imxtools: add Zen, Zen Mozaic and Zen X-Fi bootloader keys
Change-Id: I856e5b91c8e9a1c02b367960052c36f9b527046b
2013-06-13 02:31:19 +02:00
Amaury Pouly
07e82c163e imxtools: rewrite sbloader to handle both versions + user friendly
The tool can now load sb1 and sb files to devices. Detection has
been improved and the tool can infer the packet size for the HID
description as well. The command line interface has been vastly
improved too, this breaks the old one.

Change-Id: I01a0ff8f8a007514aa81c56f114c0f0a86e3303c
2013-06-13 02:29:36 +02:00
Amaury Pouly
1dae3a82e2 sbtools: fix encryption and cosmetics
Change-Id: Id302f236ad3ec13a5166de4e22a3fc85b2a6c64f
2013-06-13 02:27:30 +02:00
Amaury Pouly
f9cb5de580 hwstub: introduce lua code for the STMP and Creative ZEN V/Mozaic
Change-Id: Ice5f509a2e0d2114436d4760f338b9203ef96691
2013-06-13 02:25:15 +02:00
Amaury Pouly
c5357940ab hwstub: major improvement in the stub and the tools
Fix the stub in many way to correctly detect the STMP family and
act upon that. Drop some unused commands and bump version.
Rewrite the tool to allows scripting in lua and load the register
description from an XML file using the regtools. Introduce a new
tool to load and run code using the hwstub (either binary format
or Rockbox additive scramble format). Also switch to an optimise
version of the memcpy/move/set functions to correctly handle
alignement issue (like writing a full word/half-word when
possible for registers which is crucial)

Change-Id: Id1d5cfe0b1b47e8b43900d32c5cd6eafae6414f6
2013-06-13 02:25:15 +02:00
Amaury Pouly
934e1e15af regtools: add the STMP3600 register map
Change-Id: Ief34c219bbe05c9aeed665235942bb158bb0f4d4
2013-06-13 02:25:14 +02:00
Amaury Pouly
73db73dbd3 regtools: modify description format and refactor tools
Change the XML description to unify multi dev/reg in a clean
fashion. Move the description parser to its own library. Fix
the tester and headergen tools to work with the new format and
library. Move the STMP3700/3780 descriptions to the new format
(and fixes many errors as well). Drop the hwemulgen tool
in favor on the upcoming hwstub tools revamp.

Change-Id: I7119a187aab5c8b083cc5228cb1b248ee29f184d
2013-06-13 02:25:08 +02:00
Amaury Pouly
7143ea681c imxtools: move regtools to its own directory
The register tools are in no way stmp specific. The XML
description of the registers is powerful enough to describe
the STMP register which should be more than enough to describe
virtually all other SoCs. The generators follow the STMP coding
convention but others could be used as well.

Change-Id: If1a9f56e4a3594161688de34adbea698e5aaecd8
2013-06-12 19:49:26 +02:00
Amaury Pouly
11da9d23fe imxtools: move hwemul to its own directory
The hwemul is only partly imx specific: the stub is stmp specific
but could be ported to other targets, the computer side and the
protocol are mostly stmp independent (or should be).

Change-Id: If88febffe591b0de86ea11cb740455ba20ddc401
2013-06-12 19:46:04 +02:00
Amaury Pouly
3f4eeb850e Enable key lock in radio screen
Change-Id: I75efbf1077359e4218ad33f4c1d885b24c0b7b01
Reviewed-on: http://gerrit.rockbox.org/421
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-06-10 15:19:45 +02:00
Max Zerzouri
575cb63a92 Fix rockblox instadrop behaviour
Prevents the player from moving an instadropped block (could happen
before the next game tick when using left/right buttons anticipatorily).

Change-Id: Id62168842d8458f864a2e05c5d236f054bf54f65
Reviewed-on: http://gerrit.rockbox.org/473
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-06-09 21:44:01 +02:00
Thomas Martitz
4263f67e4b Fix warning (move variable into #ifdef section).
Change-Id: Ic6ba4b786eef00eab7f20abd5fbf2bcb8977993a
2013-06-09 21:08:49 +02:00
Thomas Martitz
770fadddd6 Fix reds (this code needs #ifdef HAVE_ALBUMART)
Change-Id: Ia50cd846d5451b0cb5cf3a6f8097ea9fe3b3c60a
2013-06-09 21:01:47 +02:00
Dominik Riebeling
67e1de7b43 Only show mountpoints containing a supported filesystem in dropdown.
Change configuration to use filtered mountpoints list. Add HFS+ to the list of
supported filesystems -- while Rockbox doesn't run on HFS+ MacPods will use
that format, and not having them in the list will then make OS X users wonder
why their Ipod isn't showing up. This might need to get revised later.

Change-Id: I5eeeb05be6780cb3952a0081df0ce782eca01589
2013-06-09 19:51:08 +02:00
Dominik Riebeling
a2c3e3fd0d Add note to AMS bootloader installation about OF file.
Some devices contain a bin file in the root folder of the player. This caused
confusion a couple of times, since the installer asks for a bin file. Add a
note that the required file is not present on the player and will get removed
automatically.

Change-Id: I6cd5c25b319770555c3939377a3ed86ed3181dad
2013-06-09 19:51:08 +02:00
Dominik Riebeling
9574b30066 time-sync: allow passing an arbitrary time.
During testing it can be useful to set an arbitrary (non-current) time on the
device. Extend time-sync to accept an additional (optional) parameter with the
time to set. Only changes date / time, no timezone.

Change-Id: Ib320777cb245cff19ca00b20540db3a43a4e488f
2013-06-09 19:51:08 +02:00
Dominik Riebeling
11280e20cc Don't pass -Wno-unused-local-typedefs on OS X.
OS X' gcc 4.0 (still used to be able building fat binaries) doesn't ignore that
option and instead errors out.

Change-Id: Id5927ff04dc606480af9add554eeaa75c169510f
2013-06-09 19:45:16 +02:00
Dominik Riebeling
33bda05469 Treat arch flags separately when building libraries.
On OS X we're passing -arch twice which dependency generation doesn't like.
Since we don't have dependencies that differ between architectures simply don't
add them during dependency generation.

Change-Id: Ie3d58bf9af31edcacb88345c7debf39eb798e302
2013-06-09 19:43:37 +02:00
Thomas Martitz
836cf14860 Fix multiple problems in radioart.c
The code was pretty broken with regard to the handle management of radio art
images, e.g. passing the wrong data to bufopen().

Change-Id: I3480f40bce81af05d14dbf045a78485c857fb261
2013-06-09 17:44:11 +02:00
Thomas Martitz
58b4e71d32 skin_engine: Fix albumart logic on skin reloading.
This logic checks whether the skin's albumart dimensions differ from the
previous skin to force rebuffering if necessary. This was broken since
a while as the necessary information was reset.

Change-Id: I3b9f3a819c6af202af8ad66c13742f704ce45ab1
Reviewed-on: http://gerrit.rockbox.org/476
Tested-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-06-09 17:39:08 +02:00
Dominik Riebeling
280a0eb27e Fix temporary files stored in current folder on first start.
If Rockbox Utility has no configuration file on the machine updateSettings()
will overwrite the global cache folder settings with an empty string before the
value is set properly by the user confirming the configuration dialog.  QDir()
getting an empty string will result in the current working directory getting
used, and thus the temporary files ending up there.

On Windows most users are unlikely to have noticed this since running the
executable from within the distribution zip file will make Windows execute it
in the systems temporary path.

Change-Id: I7724a82af403955786798c7380198086837e128f
2013-06-09 16:55:15 +02:00
Dominik Riebeling
9edc63b0d4 Suppress unused-local-typedefs warning with Qt4.
gcc 4.8 introduces this new warning which some Qt4 headers triggers. Since we
don't want to change Qt simply disable it. The warning doesn't show up when
compiling with Qt5, so only disable it for Qt4.

Change-Id: Ia8fcf0859e0a370def36bc9b43ed4d096a80db28
2013-06-09 16:54:59 +02:00
Dominik Riebeling
6b3c4beba4 Rework langstat.
- Generally improve code and make it compliant to PEP8.
- Make it work with Python3 as well.

Change-Id: I9e99999c59dc501664c36dd38fcb85fb60d6d9e6
2013-06-09 16:54:59 +02:00
Dominik Riebeling
43d8d6fece Don't pass ar output to /dev/null.
Since ar is not running in verbose mode there is normally no output to get rid
of, and in case of errors it's useful to see them. Also, Windows doesn't know
about /dev/null.
Make dependency generation for librbspeex more silent as well.

Change-Id: Ie0d4a406e665ebd67331d6cd1fa2fc02f8bf21b9
2013-06-09 16:54:59 +02:00
Boris Gjenero
15fa7f866f Fix color of files with no extension.
Based on all other references, unknown_file.color is a color, not an
index into custom_colors[]. Previously, custom_colors[-1] was returned
for files without an extension, accessing outside array boundaries
and making files without an extension black, which is hard to see.

Change-Id: Ia0883aba929582324b767df7828a36a84c0b36b9
2013-06-05 18:35:09 -04:00
Michael Sevakis
98c34d8723 Argh, move a comment to the (now) proper location. :)
Change-Id: I13847b99d9aeaa05efa5b22a8e4842f193f01a3c
2013-05-31 19:01:24 -04:00
Michael Sevakis
e62cb56644 Have voice fire an event when it starts and stops playing.
Further decouples voice_thread.c from other playback areas. Also allows
other audio sources, such as FM radio, to be attenuated when voice is
playing by implementing a callback.

Defined as another playback event rather than a new event class:
PLAYBACK_EVENT_VOICE_PLAYING

Change-Id: I2e3e218be6cd6bebbf39e7883a8c0e4ed42b62bb
2013-05-31 18:45:51 -04:00
Michael Sevakis
1b4135ec0d Should use HAVE_RECORDING, not AUDIO_HAVE_RECORDING in playback.c
SIM should work like target, sort of, when recording is initialized.

Change-Id: I12314bb98cec53d574f4b25984ef803b2c038a96
2013-05-31 06:24:06 -04:00
Michael Sevakis
92f1ecfc7b Just init audio thread event with Q_NULL instead of SYS_TIMEOUT.
What was I thinking? Anyway, it's a little nicer and it's reserved so
shouldn't end up as a case value anywhere.

Change-Id: If745c24951518608e3f4fc51f7419ef07d7cf2ac
2013-05-31 05:17:11 -04:00
Michael Sevakis
344b9d0986 Some corrections after 5857c44.
Playback needs to receive a couple of settings-related messages even
when not playing.

Put the message reply back where it was when loading an encoder for
recording.

Change-Id: I8cc80f46e42a0afd119991d698510e1ebef38ead
2013-05-31 04:13:39 -04:00
Michael Sevakis
5857c44017 Refactor audio thread to run both recording and playback.
Eliminates the pcmrec thread and keeps playback and recording engine
operation mutually-exclusive.

audio_thread.c contains the audio thread which branches to the
correct engine depending upon the request. It also handles the main
audio initialization.

Moves pcm_init into main.c just before dsp_init because I don't want
that one in audio_init in the new file.

(Also makes revision df6e1bc pointless ;)

Change-Id: Ifc1db24404e6d8dd9ac42d9f4dfbc207aa9a26e1
2013-05-31 03:20:35 -04:00
Michael Sevakis
df6e1bcce5 pcm_record: Track initialization state
It should not access audio hardware and change settings unless it has
been initialized first and given control of it.

Change-Id: I5004602d7caa604ded751f6838b792d1ff24b3fb
2013-05-30 18:42:59 -04:00
Michael Sevakis
5a1e697e2a PP Sansa: Use better I2S divider settings for 48kHz.
The previous ones produced some crackling.

Change-Id: I70de901172aba156f58d4b1088d0038b2ed53d49
2013-05-30 03:34:10 -04:00
Michael Sevakis
46688a60db Missed removing a couple unwanted includes in previous commit.
Get those too.

Change-Id: Id2a39afe7a61d6ec0cea38633b94fe1b7122204f
2013-05-27 03:40:02 -04:00
Michael Sevakis
b5a6517e9d Remove explicit config.h and system.h includes from DSP code.
Replace with rbcodecconfig.h and platform.h includes. Remove now-
unneeded ones as well.

Change-Id: I6111b71e90bf86d9fe272a7916f2d34a5c6dd724
2013-05-27 03:23:33 -04:00