Commit graph

10590 commits

Author SHA1 Message Date
William Wilgus
c15af64452 AMS v1/v2: Fix I2C2_CSPR debug menu entry
I2c controller needs to be enabled in order to read CSPR0, CSPR1
registers function sets CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE
and only clears if it wasn't previously enabled

Use divider set in register to calculate frequency rather than
hard coded divider

Change-Id: I54ecc0c1859e906c00f4c2ae8ae2424a4619df98
2018-07-25 06:03:44 +02:00
William Wilgus
6a568761c8 CLIPPLUS -- Remove un-needed handling for power button button button_read_device()
switching GPIOB in order to read GPIOD96)
(power button) is apparently unneeded

Change-Id: I1fbf13f67f938806086754cdd5e389ef6746ae5f
2018-07-25 06:01:56 +02:00
Michael Sevakis
19b2964d78 AMS v1/v2: Remove sd_enabled as an externally-visible variable.
Also removes the sd_enable() function call. It was only used in
the debug screen on AMSv1 and not used at all on AMS v2.

For v1,obtain debug info in a struture passed to a dedicated
debug info function so that enabling and disabling the controller
isn't racy.

Change-Id: I7c44693bc2df5a1f16168b05b3abfe622f9584ce
2018-07-04 15:20:47 +02:00
Marcin Bukat
8742f6f0e2 Agptek: Fix headphones detection
Change-Id: Id43bfee7357eef8dda6a617c1207b930f3ea90a0
2018-06-28 09:52:59 +02:00
Marcin Bukat
971001d141 Agptek: Fix support for empty strings in sysfs helper functions
Change-Id: Id5573059da2b454f5336b3cebce7c09a83a7826f
2018-06-28 09:52:59 +02:00
Marcin Bukat
28cfeed4c1 Agptek Rocker: Add missing lcd_set_active(true) in lcd_init_device()
This should fix problem introduced in 5c015ad resulting
in not updating screen properly in wps.

Change-Id: Ie36b6edfcfc7d425c84381402adae79d77fcc92f
2018-06-20 21:17:08 +02:00
Marcin Bukat
203e4adb1e Agptek Rocker: Slightly tweak build procedure
In bootloader build create stripped binary bootloader.rocker

Change-Id: Id67bebe82251fac22ad905ad3d49525691816746
2018-06-14 11:02:18 +02:00
Marcin Bukat
5c015ada90 Agptek Rocker: Implement lcd_enable()
In theory this should slightly improve battery life.

Change-Id: Iaf55beb7dbc20e7562017958aeb0386459d49a31
2018-06-14 10:03:07 +02:00
Marcin Bukat
f2075a5709 Add XRGB8888 native format
This got lost somehow during Agptek port merge

Change-Id: Ie84463ba523d2307466b49354867117e7393a440
2018-06-12 13:25:12 +02:00
Marcin Bukat
0e48cb7768 Silence warnings
Change-Id: Ied5ad7d3c193427892b681f95b44fcac5af0e16e
2018-06-12 13:09:31 +02:00
Marcin Bukat
32e8028a04 Cleanup comment
Change-Id: If39a5d2f64a9453a9b9b0cf0a2e3ad36027978ff
2018-06-12 13:02:47 +02:00
Marcin Bukat
307ea8382e Fix merge errors which broke sony linux targets
Change-Id: Ic0c618c6e2034609d1964bb3e9ff96c7a7cf1d40
2018-06-12 12:50:09 +02:00
Marcin Bukat
71dc1a789a Fix MIPS threading code to compile with older compiler
Official rockbox mips gcc is old and doesn't support
symbolic register names in inline assembly

Change-Id: If67230d06e28ccf31b0f8f8e1b622275fed3f6ff
2018-06-12 12:41:03 +02:00
Marcin Bukat
9be14c014f Fix merge error
Change-Id: If1b5258bb86e477ac4cb1adb95f6c887a2ef8810
2018-06-12 11:44:01 +02:00
Marcin Bukat
7f4d183f17 Fix ipod classic build
Change-Id: I55a2849bd1a22b40c0f75dcaeac481866f7dbf61
2018-06-12 11:19:24 +02:00
Marcin Bukat
c0bdbb43ea Agptek Rocker: Callibrate power discharge/charge curve
Thanks 'elakir' and 'pechenyh' rockbox forum users for performing
battery bench.

Change-Id: I25d350deaa805a9ecdc236f81f0ad127a169de52
2018-06-12 10:31:16 +02:00
Marcin Bukat
a81391b623 Agptek Rocker: Fix saving time in hwclock
Rocker is configured with CST (China Standard Time) timezone
which is UTC+8. Time in RTC is stored in UTC.

Change-Id: Ib9c03e0f0a1d3ea3a69f238cb083809ea9386e2a
2018-06-12 10:31:16 +02:00
Marcin Bukat
fbaa97496f Agptek Rocker: Implement RTC support
Add define in config file to enable RTC support in rockbox,
Fix time_menu.c to include radio.h only when tuner is present
Implement time setting function on linux (was empty stub)

Not tested.

Change-Id: I40e6c4a6c1b66ada9cf4e698e502e221d0fc44df
2018-06-12 10:31:15 +02:00
Marcin Bukat
937589ca3a Agptek Rocker: Add bass, treble and balance controls
Change-Id: Ib84620850bbdc81afbdfff1610a0be7eab4f0ac0
2018-06-12 10:31:15 +02:00
Marcin Bukat
7692558674 Agptek Rocker: Implement USB mass storage driver
Agptek uses composite android driver.

Change-Id: Iece188ad640f3dfd24c171946c14da4c3516b6d5
2018-06-12 10:31:15 +02:00
Marcin Bukat
d5889b3d94 Agptek Rocker: Make simulator compile and run
There are some things to fix left but at least it starts
and you can navigate.

Change-Id: I76084bfc50334deeb55f46a10e97b5d6639815ac
2018-06-12 10:31:15 +02:00
Marcin Bukat
0538ba3d59 Agptek Rocker: Restrict root directory to SD only
Actual / of underlying linux OS should not be available to user.
I am still not sure if implementation is correct. It doesn't
perform any relative path sandboxing for example.

Change-Id: Ic577a10f3947f6e950e2c4d03173f9f207395eb7
2018-06-12 10:31:15 +02:00
Marcin Bukat
d55680993d Agptek Rocker: Initial commit
Change-Id: I26b51106c7b1c36a603fba6d521e917d79b5a95b
2018-06-12 10:31:14 +02:00
William Wilgus
1f63604e2c Fuze PLUS Fix lcd_update_rect()
Lcd_update rect was hanging during horizontal screen update x = 238 and width = 2
which was within the bounds of the screen, this seems to be a weird corner case
but more testing needs done.

Update_rect now properly bounded between 0 - screen w/h
--Cleaned up code

Pixels in x are now multiples of 4.

Datasheet states:
-------------------------------------------------------------------------------------------
WORD_LENGTH=0 implies the input frame buffer is RGB 16 bits per pixel.
DATA_FORMAT_16_BIT field indicates if the pixels are in RGB 555 or RGB 565 format.
Limitations:
— BYTE_PACKING_FORMAT [3:0] should be 0x3 or 0xC if there is only one pixel per word.
— If there are two pixels per word, BYTE_PACKING_FORMAT [3:0] should be 0xF and
H_COUNT will be restricted to be a multiple of 2 pixels.

and

WORD_LENGTH=3 indicates that the input frame-buffer is RGB 24 bits per pixel (RGB 888). If
BYTE_PACKING_FORMAT [3:0] is 0x7, it indicates that there is only one pixel per 32-bit word
and there is no restriction on H_COUNT.
Limitations:
— If BYTE_PACKING_FORMAT [3:0] is 0xF, it indicates that the pixels are packed, i.e. there
are 4 pixels in 3 words or 12 bytes. In that case, H_COUNT must be a multiple of 4 pixels.
-------------------------------------------------------------------------------------------

We are using 16 bits per pixel and byte_packing = 0xF but device crashes with multiple of 2 pixels

Behaviour can be verified with plugin - oscilloscope, Horizontal mode device hangs as indicator
reaches right of screen

Change-Id: I1445f5334f4e7fe59304c65c76b47d0daa0614b2
2018-05-25 22:48:01 +02:00
William Wilgus
038a10220e Fix Remove lcd_scroll_worker from bootloader except remote displays/charcell
This patch was supposed to only remove scroll worker from devices without
remote displays, the build system said otherwise

Change-Id: I240db89ee6b55818dbd2567338515b53ebe09300
fixed: conditional define
2018-05-25 19:16:45 +02:00
William Wilgus
0999a22ef8 Remove lcd_scroll_worker from bootloader except remote displays and charcell
Removes unneeded scrolling fuctionality from bootloaders

Change-Id: Iebe308144cc11c9139399702e3dcd1a548cb9831
2018-05-23 00:37:27 +01:00
Michael Giacomelli
0b2f5187a3 Don't enable full vuprintf file in bootloader. Saves ~2KB packed space when patching clip+ OF.
Change-Id: Ie03714778918bfb4a1087f60534d60ff349a8330
2018-05-23 00:07:57 +01:00
Michael Giacomelli
56803c80d0 Add battery calibration for Sony NWZ A10. 2018-04-20 20:14:46 +01:00
Sebastian Leonhardt
0486e5b93e Zen XFi2: Enable Plugins
Keymaps aren't tested, there may be room for improvement.


Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
2018-04-03 11:34:01 +02:00
Michael Sevakis
a1123de28f Gigabeat S: Remove unwanted partitions on the fly
Windows now ignores the hidden flag, so just nullify the entries
to hide depending upon whether or not bootloader install mode is
activated.

Change-Id: I00d0797e40ea3b5f5d5d8e1243b50cfcdd029bb4
2018-01-14 08:23:48 -05:00
Amaury Pouly
6c856c412a Add information for NWZ-S630 and NWZ-S730
Change-Id: I4c48c9a8d862eaf67ec27c1c13b9b7f1fb204fc0
2018-01-13 12:07:21 +01:00
Amaury Pouly
0d794c0c06 sonynwz: Add NVP information for NWZ-A810
Change-Id: I37671ddf15ee1a4b469f97fe06ec86249ff9ce60
2018-01-07 23:24:58 +01:00
Franklin Wei
6a843ca2b2 Revert "Support floating-point formatting"
This reverts commit 01c6dcf6c7.

The hack isn't used in duke, so having it is redundant.

Change-Id: Ieb36d75718e0c2d1305440d08021744625117886
2017-12-24 19:22:17 -05:00
Franklin Wei
6416d96fbc fix red
Change-Id: I20f1bd6f0208f6108d68fb59206b09dd9da4f1af
2017-12-23 21:28:20 -05:00
Franklin Wei
a855d62025 Port of Duke Nukem 3D
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL
for Rockbox.

Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
2017-12-23 21:01:26 -05:00
Franklin Wei
01c6dcf6c7 Support floating-point formatting
This is just a quick and dirty way to get %f formatting to work for
some games. It works.

Change-Id: I75585e0c6a0f9d6db41a87b71ca405b067d8b85d
2017-12-23 20:55:02 -05:00
Marcin Bukat
a8423321b8 stdio compat layer for plugins
This is attempt to simplify porting programs to rockbox (as plugins).
Currently this compat layer implements:
fopen(), fclose(), fflush(), fread(), fwrite(), fseek(), fseeko(),
ftell(), ftello(), fgetc(), ungetc(), fputc(), fgets(), clearerr(),
ferror(), feof(), fprintf()

In order to use it you need to include in ported sources
"lib/stdio_compat.h"

Change-Id: I5add615dd19c5af9c767ccbfb1bd5a4e466741cb
2017-12-23 20:54:56 -05:00
Michael Sevakis
c8564f1ca8 Get voice event out of playback.c
Purpose: A step in removing all voice references from playback code
and prelude to other changes.

Change-Id: Ic3ad7f7a33b979693e18a3456ced37eb1d2281a4
2017-12-12 20:28:56 -05:00
Michael Sevakis
c1a01beded Playback: Move internal track list onto buffer
Does away the statically-allocated track list which frees quite
a fair amount of in-RAM size.

There's no compile-time hard track limit.

Recommended TODO (but not right away): Have data small enough use
the handle structure as its buffer data area. Almost the entire
handle structure is unused for simple allocations without any
associated filesystem path.

Change-Id: I74a4561e5a837e049811ac421722ec00dadc0d50
2017-12-09 17:05:59 -05:00
Michael Sevakis
055e2115de Add a small 32-byte write buffer to fdprintf.
Avoids a call to write() for every output character. It doesn't
need to be very large to have a great effect on speed and realize
most of the potential.

Change-Id: I11820c1968ed7b20aa00e106a022c1b864b03d21
2017-11-28 09:01:17 -05:00
Michael Sevakis
f4c4221306 Convert i.MX31 and AMS target to use RTC interrupt
Instead of checking ticks, set a sticky dirty flag that indicates
that the RTC needs to be read. This gives a timely update and more
accurate readout without actually reading the RTC until it changes.
The implementation should atomically read the flag and clear it.
Setting the flag would typically happen in an RTC tick ISR.

Change-Id: I6fd325f22845029a485c502c884812d3676026ea
2017-11-21 07:52:02 -05:00
Michael Sevakis
aced667f48 Undo hacks to meant to get around string formatting limitations
The new vuprintf makes unnecessary workarounds due to formatting
limitations. I checked grep output for whatever appeared to fit
but it's possible I missed some instances because they weren't
so obvious.

Also, this means sound settings can dynamically work with any
number of decimals rather than the current assumption of one or
two. Add an ipow() function to help and take advantage of dynamic
field width and precision. Consolidate string formatting of sound
settings.

Change-Id: I46caf534859dfd1916cd440cd25e5206b192fcd8
2017-11-21 05:01:14 -05:00
Michael Sevakis
5c9688961e Implement a much more capable vuprintf()
New support as well as some buggy support fixed.

Still no floating point support if ever that would be desired.

Support (*):
* Flags: '-', '+', ' ', '#', '0'

* Width and precision: 'n', '.n', '*' and '.*'

* Length modifiers: 'hh', 'h', 'j', 'l', 'll', 't', 'z'

* Radix: 'c', 'd', 'i', 'n', 'o', 'p/P', 's', 'u', 'x/X'

(*) Provision exists to switch lesser-used stuff on or off or when
certain functionality isn't desired (bootloader?). The compulsory
radixes are everything but 'o', 'n', 'p/P' and 'x/X' with length
modifiers being optional. The default setup is 'l', 'z', 'c', 'd',
'p/P', 's', 'u', 'x/X'.

* Move fdprintf() to its own file. It was in a strange place.

* Make callers compatible and fix a couple snprintf() bugs while
at it.

Could smush it down in size but I'm gonna get over the binsize
neurosis and just the let optimizer do its thing.

Change-Id: Ibdc613a9b6775802c188b29b9dd46c568c94f7c3
2017-11-21 05:00:27 -05:00
Amaury Pouly
bd8dd62db7 nwz: fix tuner on older players (also fixes audio because Sony)
Change-Id: I1915bcfc27708d34a9dde81fce1e0bc0b01e1040
2017-11-14 00:27:28 +01:00
William Wilgus
7272f821da Imx233 Disable Autoslow only at maximum cpu frequency
At normal loads:
- disabling auto slow boosts performance at the cost of runtime (~ -5%)
- disabling at max cpu does not noticibly decrease runtime

Change-Id: I5de80201c9a24ce556862151cbd6b21b01708b63
2017-11-12 14:28:03 +01:00
Michael Sevakis
63eae4339a rolo.c: Change 'int errno' to 'int err'
It can cause issues if errno.h finds itself included there

Change-Id: Id5d2be66cd3af4c2760e4a37d3332853e9b54f95
2017-11-07 16:48:07 -05:00
Amaury Pouly
0fe7b8becf nwzlinux: add support for radio
None of the Sony up to A15 seem to support RDS (they use either Si4702 or Si4708),
thus I did not add any code to support RDS.

Change-Id: I64838993b9705b36b94665f8470c7a89c772c961
2017-11-06 21:37:06 +01:00
Amaury Pouly
8a925d283d fuzep: fix rds
Change-Id: I15900f638f8f45cb7035a0e7b1caecb62d1d70e8
2017-11-04 19:28:40 +01:00
Amaury Pouly
62f0ba1c30 nwztools: add NW-A46 to the database
Change-Id: I85dc2080e0be07ff689384c0445f4f1595baf4ac
2017-11-01 12:43:33 +01:00
Michael Sevakis
8ef33f479e AMS: Convert ascodec_endofch() to use bit mod function's return value.
It cleans up the code and it was the initial inspiring reason to
change them.

Change-Id: I299499117b8a12d93d13d6563683bab89ab80555
2017-10-30 22:12:58 -04:00