summaryrefslogtreecommitdiffstats
path: root/firmware/export
AgeCommit message (Collapse)AuthorFilesLines
2020-04-11RTC: Add stub support RTC alarms on hosted targetsSolomon Peachy3-1/+7
No targets are enabled, but the hosted Hiby-based targets could have this feature enabled if they weren't so buggy: * No generic way to determine wakeup reason under Linux * No generic way to be asynchronously notified if the alarm is triggered when we're already awake * Shutting down may clobber RTC wakeup (driver/etc dependent) * Rocker's kernel's RTC driver has some 24h clock and timezone-related issues. So, the infrastructure is arguably useful, but the only applicable hardware I have is pathologically brain-dead. Change-Id: Ie1aa38e72b831c8a0695ff684f260e514eef9710
2020-04-11RTC: Add support RTC alarms on hosted targetsSolomon Peachy1-0/+3
Only AGPTeck Rocker is enabled for now, and it doesn't work properly: * No generic way to determine wakeup reason under Linux * No generic way to be asynchronously notified if the alarm is triggered when we're already awake * Shutting down may clobber RTC wakeup (driver/etc dependent) And finally: * AGPTek kernel's RTC driver has some 24h clock and some timezone-related issues. So, the infrastructure is arguably useful, but the only applicable hardware I have is pathologically brain-dead. Change-Id: Iac6a26a9b6e4efec5d0b3030b87f456eb23fc01d
2020-04-06xDuoo X3II and X20 portMarcin Bukat7-2/+269
Provided by Roman Stolyarov Integration, Refactoring, and Upstreaming by Solomon Peachy X3II confirmed working by forum tester, X20 is nearly identical. This includes bootloader, main firmware, and the flash image patcher. Eventual Todo: * Further refactor AGPTek Rocker & xduoo hiby bootloaders * Further refactor AGPTek Rocker & xduoo hosted platform code Change-Id: I34a674051d368efcc75d1d18c725971fe46c3eee
2020-04-05checkwps: #undef CONFIG_STORAGE_MULTI for __PCTOOL__ buildsSolomon Peachy1-0/+1
Fixes checkwps build on xDuooX3 (only target that uses it!) Change-Id: I4dfe095338c938f88a2791351c82f310d0531ad7
2020-03-29headers: Don't blindly include <inttypes.h> in files used by ASMSolomon Peachy3-2/+7
Causes things to go boom with newer toolchains. Change-Id: Ibd00edc9ea16aae8115b63ebce08ac920b0608a2
2019-10-17Fix timer Agptek Rocker (other hosted players)William Wilgus1-0/+5
on timer_unregister callbacks are not removed It seems (at least on the Rocker) timers continue to fire (for a bit??) Now we store the registered callback in the sigev structure and check that the callback matches the one registered when the timer is created. This should stop the possible case of a new timer getting spurious callbacks We also now NULL the callbacks on un-register which should stop the segfaults Added some notes to timer.c and timer.h Change-Id: Ia155c3a4e4af89f474d55ed845560ccc1fab85aa
2019-08-08Introduce HW_SAMPR_MIN_GE_22 macroSolomon Peachy1-0/+16
Gives us the lowest HW sample rate that's >= 22KHz. Needed because some targets that don't support 22K support 11K or 8K, so HW_SAMPR_MIN will give us much lower quality than is acceptable. Take advantage of this new macro in the SDL, MIDI, and MIKMOD plugins, and implement a crude "fast enough" test to enable higher sample rates on more capable targets. Change-Id: I6ad38026fb3410c62da028e78512e027729bb851
2019-08-01Remove "HAVE_TRANSFLECTIVE_LCD" from iPod 6G configSebastian Leonhardt1-3/+0
The screen content is only poorly visible without backlight, it's not really usable this way. Removing HAVE_TRANSFLECTIVE_LCD also fixes the "flashing screen" issue that appeared on some models when "lcd_awake()" is called. Change-Id: I3ba954c944077a32016820462f782dc27a31f8d8
2019-07-31Revert "cleanup: Remove HAVE_MULTIVOLUME from targets with HAVE_MULTIDRIVE"Solomon Peachy4-0/+4
This reverts commit a89bf68e889dd989e486b0a131618f69e5fc26c6. HAVE_MULTIVOLUME && HAVE_MULTIDRIVE implicitly means "allow 4 volumes per drive" whereas the normal MULTIDRIVE behavior is to only allow 1 volume per drive.
2019-07-30cleanup: Remove HAVE_MULTIVOLUME from targets with HAVE_MULTIDRIVESolomon Peachy4-4/+0
The latter always enables the former. There are no remaining HAVE_MULTIVOLUME users in-tree. Change-Id: I0f4fd03a6ffed5c0eb3fb5f916f671bd199f1c8e
2019-07-29Correct MODEL_NUMBERs used by xDuoo X3, and IHIFI 770, 770C, and 800.Solomon Peachy4-4/+4
This should correct ROLO operation on all targets. Change-Id: Icefbf1af83fd756283a0f6c78ba2370fe41f4473
2019-07-28volume_ismounted is gated by HAVE_DIRCACHE rather than HAVE_MULTIVOLUMESolomon Peachy1-0/+2
Should fix the various sim builds. Change-Id: I1dc5e8228698afb32c84ada2aa916e52e19f49d7
2019-07-25Add sound_current to plugin apiWilliam Wilgus1-0/+1
Adds: sound_current(int setting) returns the current sound setting from global_settings complements sound_max, sound_min and sound_default Change-Id: I35bd893753c958f808492906fe533edc51d5d57c
2019-02-08Fix red and remove duplicated function declarationSebastian Leonhardt1-4/+0
Change-Id: I5fed7fdad077eedfc1e36fbd9e1669f11b90288d
2019-02-07Add YH820 current usage for runtime estimationSebastian Leonhardt1-0/+7
Change-Id: If50d7e6db3077853dfba438d9765cdb3513f2910
2019-02-07Fix lcd not waking up when backlight is always offSebastian Leonhardt1-0/+4
This patch is relevant for targets with a transflective display. If the backlight was set to "always off" (e.g. to use the lcd in a pure passive way), and the sleep timer ran off, the LCD would stay disabled and didn't wake up when a button is pressed. Change-Id: I0a157c7f421d9fc4c7d8ba903f2cf93f6cef51d0
2019-02-07YH820: implement LCD sleepSebastian Leonhardt2-4/+15
use sleep setting to keep transflective LCD active without backlight Change-Id: Iccd97e956d5e4a2a22abc90d15e9123782126ecb
2019-01-04Add HAVE_LINEOUT_DETECTION and associated logicSolomon Peachy2-1/+7
This allows targets to automatically switch audio settings when the line out is plugged/unplugged. Only hooked up on the xDuoo X3, but there are other potential users. Change-Id: Ic46a329bc955cca2e2ad0335ca16295eab24ad59
2019-01-02Add Xuelin iHIFI 770/770C/800 supportSolomon Peachy9-6/+738
Taken from the xvortex fork (Roman Stolyarov) Ported, rebased, and cleaned up by myself. Change-Id: I7b2bca2d29502f2e4544e42f3d122786dd4b7978
2019-01-02Fix Xduoo X3 bootloader build, and silence all warnings.Solomon Peachy1-0/+1
Also enable USB bootloader mode Change-Id: I73224c2e694b9941993c89a114b48d2a907e0dfb
2018-12-25FS#7814 - Enable RTC Alarms on H300, X5, and M5Solomon Peachy3-0/+9
Original patch by Alexander Spyridakis Modified by Steve Bavin and Igor Poretsky Keymap fixes by Marianne Arnold Change-Id: I5a252d97d2b05c533e048931f7354f4261f76499
2018-12-22Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss)William Wilgus2-2/+2
Unifies time formatting in settings_list.c allows time format to display as HH:MM:SS.MSS or any consecutive combination thereof (hh:mm:ss, mm:ss, mm:ss.mss, ss.mss, hh, mm, ss ,mss) works in INT and TABLE settings with the addition of flag 'F_TIME_SETTING' Time is auto-ranged dependent on value Adds talk_time_intervals to allow time values to be spoken similar to display format: x Hours, x Minutes, x Seconds, x Milliseconds Table lookups merged or removed from recording, clip meter and lcd timeout -String_Choice replaced with TABLE_SETTING or INT_SETTING for these functions as well, cleaned-up cfg_vals that get saved to cfgfile RTL Languages ARE supported Negative values ARE supported Backlight on/off are now Always and Never to share formatter with LCD Timeout Added flag to allow ranged units to be locked to a minimum index Added flag to allow leading zero to be supressed from the largest unit merged talk_time_unit() and talk_time_intervals() optimized time_split() optimized format_time_auto() Backlight time-out list same as original Change-Id: I59027c62d3f2956bd16fdcc1a48b2ac32c084abd
2018-12-06More keymap refinementsMarcin Bukat1-0/+3
Change-Id: If3ae6ece7848b143088d5f9ec8c00ed593d59ed2
2018-11-09debug: Wrap rb_backtrace with HAVE_RB_BACKTRACE instead of CPU_ARMSolomon Peachy1-0/+5
Basically, preparation for a non-ARM backtrace support. Change-Id: Icfd09fbc65a98f859e2a19f8d1111827a262a969
2018-09-20jz4760: Greatly enhance debug code and silence some compilation warnings.Solomon Peachy1-71/+77
Change-Id: I1746d67c818ad099edea83e6242ffd5c79be0000
2018-09-20Get rid of the last remnants of HAVE_FUNCTIONAL_MODESolomon Peachy1-3/+0
Change-Id: I4f9339019884aceedc8c9d0ab779a2e32ace0288 Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
2018-09-20Xduoo_X3: Update target configurationSolomon Peachy1-3/+1
Change-Id: Ibc6b204357524550a0d6fa917e7d074ec2e52773
2018-07-28Revert "As3525 v1/v2 Add power savings menu"William Wilgus9-58/+0
This reverts commit 6f0320a9535bc1aa81d83fa879ac14d5ee603658. Change-Id: I7425d422a4a0af7a49e9194cfe0bb55d431bc401
2018-07-28Revert "Fix Red on PowerSave in Simulator"William Wilgus8-8/+8
This reverts commit 568b81202ebd24a3f7e9efe0558b5f6beed05b44. Change-Id: I2af42cd53d0ce490bf96c68288e9fbde034c0069
2018-07-28Add cleaned-up xDuoo X3 supportSolomon Peachy10-11/+9981
Cleaned up, rebased, and forward-ported from the xvortex fork. (original credit to vsoftster@gmail.com) Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
2018-07-28Fix scroll_engine truncationWilliam Wilgus1-1/+1
fix one off error Change-Id: I9b3b23c9f6c36107e73e511d8cb1bc5cd987e765
2018-07-28Fix Red on PowerSave in SimulatorWilliam Wilgus8-8/+8
Change-Id: Ic5d9de230efceabc2c428e5c78fa6596a5a34840
2018-07-27As3525 v1/v2 Add power savings menuWilliam Wilgus9-0/+58
Allow user to select cpu undervolt There have been quite a few issues across the SANSA AMS line related to CPU undervolting while most players show greatly increased runtime some crash. Rather than constanly upping the voltage we now have a setting with a safe value for all players and the option for lower voltages I plan to add a few other options here later such as disk timings and maybe some other clocks/experimental settings Added: Disk Low speed option for AS3525v2 devices cuts frequency to 12 MHz from 24 MHz Added: Disk Low speed option for AS3525v1 devices cuts frequency to 15.5 MHz from 31 MHz Added: I2c Low Speed AS3525 devices, should be bigger improvement for v1 devices Fixed: Debug menu for AS3525v2 No SDSLOT frequency, Showed IDE freq though it is unused Added: DBOP and SSP underclocking affects display on v1/v2 respectively Fixed: debug menu now has SSP frequency, and SSP_CPSR Update: made settings menu more generic Update: cleaned up code Added: Clip v1 & Fuze v1 didn't have HAVE_ADJUSTABLE_CPU_VOLTAGE. not sure why but, waiting on testing to confirm Added: C200v2 and E200v2 devices and HAVE_ADJUSTABLE_CPU_VOLTAGE. Fixed: v1 devices don't like display timing set lower (dbop) v1 devices don't have a divider set for ssp (causes divide by 0) Fixed: ClipZip display lags with Max SSP divider changed from 0xFE to 0x32 Fixed: v1 devices didn't work properly with highspeed sd cards Added code from http://gerrit.rockbox.org/r/#/c/1704/ Added powersave and IDE interface enable/disable Added: V2 devices now have powersave enabled on sd interface Update: cleaned up code, lang defines, added manual entries Update ssp clock mechanism added calculated ssp divider to clipzip Update turn display clock off when clip+ turns off display Fixed: clipzip wrong register for SSP clock Change-Id: I04137682243be92f0f8d8bf1cfa54fbb1965559b TODO: add other players?
2018-07-25Fix lcd-scroll.c truncation warningsWilliam Wilgus1-1/+1
Change-Id: I312ec7ad06fde5b2f9747661cd2d4ffcb4cbf755
2018-06-14Agptek Rocker: Implement lcd_enable()Marcin Bukat1-1/+3
In theory this should slightly improve battery life. Change-Id: Iaf55beb7dbc20e7562017958aeb0386459d49a31
2018-06-12Add XRGB8888 native formatMarcin Bukat1-1/+8
This got lost somehow during Agptek port merge Change-Id: Ie84463ba523d2307466b49354867117e7393a440
2018-06-12Agptek Rocker: Implement RTC supportMarcin Bukat1-1/+1
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-12Agptek Rocker: Add bass, treble and balance controlsMarcin Bukat1-0/+3
Change-Id: Ib84620850bbdc81afbdfff1610a0be7eab4f0ac0
2018-06-12Agptek Rocker: Implement USB mass storage driverMarcin Bukat1-1/+1
Agptek uses composite android driver. Change-Id: Iece188ad640f3dfd24c171946c14da4c3516b6d5
2018-06-12Agptek Rocker: Restrict root directory to SD onlyMarcin Bukat1-2/+0
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-12Agptek Rocker: Initial commitMarcin Bukat5-1/+136
Change-Id: I26b51106c7b1c36a603fba6d521e917d79b5a95b
2017-12-23Port of Duke Nukem 3DFranklin Wei1-1/+3
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL for Rockbox. Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
2017-12-12Get voice event out of playback.cMichael Sevakis1-0/+1
Purpose: A step in removing all voice references from playback code and prelude to other changes. Change-Id: Ic3ad7f7a33b979693e18a3456ced37eb1d2281a4
2017-12-09Playback: Move internal track list onto bufferMichael Sevakis1-0/+5
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-11-21Convert i.MX31 and AMS target to use RTC interruptMichael Sevakis1-0/+10
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-06nwzlinux: add support for radioAmaury Pouly2-0/+13
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-10-30Make atomic bit modification functions return previous value.Michael Sevakis1-8/+9
Change-Id: I19a94cf946735e1d9e51c3207cd82198fd4dfc1a
2017-10-29Add boot from other volumes in bootloader on targets with HAVE_MULTIVOLUMEWilliam Wilgus6-0/+17
Adds the ability to load firmware from other drives on MULTIVOLUME targets Mihail Zenkov <mihail.zenkov@gmail.com> had posted a hard coded patch to allow this on several Sansa players, I made it more universal Redirect file rockbox_main.<name> should placed in root of drive you would like to be main, if this file empty or there a single slash '/' firmware will be loaded from /.rockbox in root of this drive If instead a /<*DIRECTORY*> is supplied in rockbox_main.<name> then firmware will be loaded from /<dir>/.rockbox/ NOTES* The directory can have multiple levels however.. leading slash MUST be included trailing slash can be omitted (eg. /test/.rockbox would be simply '/test' in the redirect file) Redirect file will not work on internal drive (whatever is default boot drive) Volume with the highest index containing redirect file will be loaded first. Firmware file is checked for boot data region, if missing, firmware image will not be loaded. On failure or if no redirect file is found load will fallback to internal drive Currently only Sansa Fuze+, Sansa Clip+, Sansa Clip Zip, Sansa Fuzev2, and Sansa Fuzev1 are implemented. Players (with HAVE_MULTIVOLUME) will need #define HAVE_BOOTDATA and #define BOOT_REDIR "rockbox_main.<name>" added to their config file boot_data is implemented in crt0.s file (See g#1552) ARM and IMX233 have aleady been implemented Once these conditions are met <HAVE_MULTIBOOT> will be defined by config.h Partitions on the drives are able to have a redirect as well. Change-Id: Iada3263919f6bcad7d0d7d8279b4239aafa07ee9
2017-10-29Add boot data to MOST AS3525 DevicesWilliam Wilgus5-0/+10
Adds boot data to as3525 devices Sansa C200v2 E200v2 Clip Clipv2 Clip+ ClipZip fuze, fuzev2 m200v4 Adds boot_data to features.txt default arm crt0.s now had boot data if HAVE_BOOTDATA is defined Change-Id: I614a556696540511a69fc12a4520b01c268bf8a9
2017-10-29Add boot data support to rockbox.William Wilgus8-0/+98
Bootdata is a special location in the Firmware marked by a magic header The bootloader is able to copy information to the firmware by locating this struct and passing data to the firmware when it is loaded but before it is actually executed Data is verified by a crc of the bootdata Change-Id: Ib3d78cc0c3a9d47d6fe73be4747a11b7ad6f0a9e