summaryrefslogtreecommitdiff
path: root/firmware
AgeCommit message (Collapse)Author
2018-12-25FS#7814 - Enable RTC Alarms on H300, X5, and M5Solomon Peachy
Original patch by Alexander Spyridakis Modified by Steve Bavin and Igor Poretsky Keymap fixes by Marianne Arnold Change-Id: I5a252d97d2b05c533e048931f7354f4261f76499
2018-12-22FS#12610 - Clip+ Ticking Noise Fixed in RadioSolomon Peachy
Patch taken from Igor Poretsky's tree. Original clip-radio-tick.patch modified to acts only when screen is deemed, or when recording, in order to preserve indicators functionality. Change-Id: I62afb24a0dad7ad2ecc9272c24810b37f032408d
2018-12-22Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss)William Wilgus
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-08Fix Sim & checkwps for newer distrosWilliam Wilgus
__builtin found fix for rbendian.h tools/configure defines SIM_USE_BYTESWAP_H if byteswap.h is found in /usr/include/ maybe there is a better mechanism for this Change-Id: I4d004e68313e8b32aa5587582be36bc459fdaf6b
2018-12-07Fix Sim for newer distrosWilliam Wilgus
__builtin found fix for rbendian.h tools/configure defines SIM_USE_BYTESWAP_H if byteswap.h is found in /usr/include/ maybe there is a better mechanism for this genshortcut.sh is a simple script to make .desktop shortcut files several newer distros don't allow you to run the simulator from the file manager, this or perhaps a different method can probably be included while building a sim at a later date. for now it can be run manually like so: similar to ../tools/configure run from your simulator folder ../tools/genshortcut.sh exepath shortname icon ex. ../tools/genshortcut.sh ./rockboxui clip+sim music-app Change-Id: Ia05d3a9349b27c5968a4a7a68b2eb480e60faec3
2018-12-06More keymap refinementsMarcin Bukat
Change-Id: If3ae6ece7848b143088d5f9ec8c00ed593d59ed2
2018-11-30sonynwz: add NW-A57 and NW-ZX300G to the databaseAmaury Pouly
Change-Id: I9bbfa56c5b2d79568de5443f1098d724c4beda6a
2018-11-30Add the NWZ-A844 to the databaseAmaury Pouly
For some reason even Sony didn't have it in its list... Change-Id: I26de6071e5887cc7c6ebb695ea333c7b3d1b50db
2018-11-10Fix vuprintf fix possible %s buffer over-readWilliam Wilgus
when precision is not specified memchr recieved -1 for count count is unsigned so it looks in a potentially very large area for a terminator and returns this whole area if \0 is not found Instead we should use memchr when precision is specified and if precision is not specified use strlen Fixes 60+Mb Config.cfg files Change-Id: Ic4d1439334588f999c9071235430c42df2af5cc4
2018-11-09debug: Wrap rb_backtrace with HAVE_RB_BACKTRACE instead of CPU_ARMSolomon Peachy
Basically, preparation for a non-ARM backtrace support. Change-Id: Icfd09fbc65a98f859e2a19f8d1111827a262a969
2018-10-29sonynwz: add nvp map for NW-A50 seriesAmaury Pouly
Change-Id: I49f3399552721e515cc01021c2e0aa28c781ec28
2018-10-29sonynwz: add NW-A55 to databaseAmaury Pouly
Change-Id: I59861119c59490f586b3c6ed32a1c41df8b3d365
2018-10-18Diacritic.c add newline to EOFWilliam Wilgus
Change-Id: Ide8934fa267bfb745fc397cdb7450f3ac0453174
2018-10-18Optimize is_diacriticWilliam Wilgus
is_diacritic is used for pretty much all of the text display sizing Timing here matters, so important it uses a priority buffer in order to cut down on searching the database. This patch is verified functionally equlivalent but saves 80 bytes and is ~20% faster for the clip+ I tested it on Several things were done: Optimizing the copy loop for the priority buffer Globbing some operations together but the main one has to do with the database structure its self -- Rather than a bit packed struct it combines the lower 8 bytes into one value [info] and uses flags to access the values instead Change-Id: I475073419b647639ef1eeaa3b9213e4e1067c0db
2018-10-09mips: fix some compile warnings.Solomon Peachy
Change-Id: Ia5e83702313c1c184480290d3b0e6a66f01b7277
2018-10-09mips: jz4740: JZ4740 does not have a MSC clock source select.Solomon Peachy
Change-Id: Ic2af37d92bcb8b6b35684f113eb8e392fc2eb609
2018-09-28misc: Fix some assorted compiler warningsSolomon Peachy
Change-Id: Ibc4aac79e6fce92ad4414ed50122c2d4d6295f89
2018-09-20jz4760: Lots of stability fixes to the USB driver.Solomon Peachy
It actually works for transferring data now! Igor Poretsky gets full credit for this patch. Change-Id: I247c70fdf45e590b4699b9b8668bbdab7bc3ef03
2018-09-20xduoo_x3: Disable keypress IRQ since we poll for keypresses.Solomon Peachy
Change-Id: Ieab5f864751cf798b62c4e89e670acf7ade756ab
2018-09-20jz4760: Enhancements and fixes to SD driver.Solomon Peachy
* Fully Interrupt-driven, with proper task yielding * Much more robust error handling * Eliminate duplicate code * Pile of bugfixes (Much of this adapted from Igor Poretsky's tree) Change-Id: I46006412323cba2088b70094635d62a241be1d7e
2018-09-20jz7460: Silence codec when changing playback frequency/modeSolomon Peachy
Silences some annoying clicks. Change-Id: I3d32d4b33c0ccc61877e10f5af97fe05084d66e5
2018-09-20jz7640: SD driver improvements:Solomon Peachy
* Better multidrive support * Common slot1/slot2 handling code Change-Id: Id0aed90cbba4246fdc71b42e03f016f8060d258a
2018-09-20jz74x0: MSC clock needs to be divided from PLL clock.Solomon Peachy
Change-Id: I0cf2f0d55e0859f896afef289e833935d7c5a599
2018-09-20jz4760: Greatly enhance debug code and silence some compilation warnings.Solomon Peachy
Change-Id: I1746d67c818ad099edea83e6242ffd5c79be0000
2018-09-20Get rid of the last remnants of HAVE_FUNCTIONAL_MODESolomon Peachy
Change-Id: I4f9339019884aceedc8c9d0ab779a2e32ace0288 Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
2018-09-20Xduoo_X3: Update target configurationSolomon Peachy
Change-Id: Ibc6b204357524550a0d6fa917e7d074ec2e52773
2018-09-07mips: Update the MIPS threading codeSolomon Peachy
Taken from Amaury Pouly's Fiio X1 patches in gerrit. Xduoo X3 no longer panics on startup Change-Id: I4c2dee832306755b9e496084cb47fb61f804af20
2018-09-07MIPS: fix memset()Marcin Bukat
swr/swl instructions used for word aligning were wrong. This made memset() terribly broken. I can't imagine how it went uncaught for soooo long. Spotted by Solomon Peachy. I run unit tests for alignments 0,1,2,3 size 1, 2, 3, 4, 5, 63, 64, 65, 127, 128, 129; and fill pattern 0x00 and other (since 0 is special case in this implementation). Change-Id: I513a10734335fe97734c10ab5a6c3e3fb3f4687a
2018-07-30iPod Classic: disable IRAM1Cástor Muñoz
On Classic, IRAM1 (second 128Kb of a total of 256KB available IRAM) is slower than DRAM. Codecs that actually are using regions of IRAM1 runs faster when DRAM is used, so IRAM1 is disabled and only IRAM0 remains enabled: 48KB for core and 80KB for codecs/plugins. The next test_codec results shows how decode time is decreased: file boosted unboosted *.ra ~1.5% ~0.5% *.mpc ~21% ~4.5% *.ogg ~0.5% ~0% nero_he*.m4a ~8% ~1% nero*.m4a ~25% ~7% wmapro*.wma ~4.5% ~0% wma*.wma ~25% ~7% In addition there is a small power save when IRAM1 HW is disabled. Change-Id: I102adee11458e82037f23076d5d5956e23235de8
2018-07-30Workaround for usb_storage_init_connection() panicCástor Muñoz
For s5l8701, s5l8702 and as3525v2 targets. The crash occurs when USB is inserted or extracted while the playlist is being loaded or updated (it could take a few seconds for huge playlists), at this point all buflib memory is allocated and not freed before usb_starage_init_connection() is executed. This workaround mitigates this panic by using static memory for USB buffers, so this memory cannot be used for other tasks, in addition the problem still persist when playlist load is 'paused' by USB insertion and then updated after USB extraction. Change-Id: Iff1db5a949361fd543e0b494924d1f2906c84b5e
2018-07-29Remove leftover merge conflict markerFranklin Wei
Change-Id: Ie34657fe652d3613429d3fa233faac9608a8b826
2018-07-28Revert "As3525 v1/v2 Add power savings menu"William Wilgus
This reverts commit 6f0320a9535bc1aa81d83fa879ac14d5ee603658. Change-Id: I7425d422a4a0af7a49e9194cfe0bb55d431bc401
2018-07-28Revert "Fix Red on PowerSave in Simulator"William Wilgus
This reverts commit 568b81202ebd24a3f7e9efe0558b5f6beed05b44. Change-Id: I2af42cd53d0ce490bf96c68288e9fbde034c0069
2018-07-28Slightly raise voltage on FuzeV2 devices.Michael Giacomelli
Some devices seem to have trouble accessing the storage at lower voltages.
2018-07-28Add cleaned-up xDuoo X3 supportSolomon Peachy
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 Wilgus
fix one off error Change-Id: I9b3b23c9f6c36107e73e511d8cb1bc5cd987e765
2018-07-28Fix Red on PowerSave in SimulatorWilliam Wilgus
Change-Id: Ic5d9de230efceabc2c428e5c78fa6596a5a34840
2018-07-27As3525 v1/v2 Add power savings menuWilliam Wilgus
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-26Optimize lcd-ssd1303 driver (clip series)William Wilgus
Saves 100+ bytes (50 of it in iram), saves a bit of power Internal LCD clock decreased but with added efficiency of drawing routines loses only around 2 Hz on the scanrate (~75Hz) while fps is slightly increased Column offsets are now calculated outside the loops saving a few instructions Passing a LCD_NOP command after lcd_update turns off Data/Cmd# gpio saving a bit more power Added a function lcd_write_cmd_triple() that allows 3 commands to be sent at once when enabled with LCD_USE_FIFO_FOR_COMMANDS it sends them back to back without checking FIFO status in between or sending to thhe D/C# Gpio. Makes an assumption about the FIFO being large enough to accept 3 commands after being emptied which should be the case on the clipv1, clipv2, clipplus. I have only enabled it for the clip plus as thats the only device I have to test it on. On clip+ the SSP clock is now turned off when screen is off Change-Id: Ib5fd24697bfe4ac8b8ee017361e789e4a7910d21
2018-07-26Update AS3525 v1/v2 debug menu; add scrolling and missing frequenciesWilliam Wilgus
On the clip zip most debug menu items get cut off and there is no way to read most of the debug menu items. This patch makes the menu button scroll the text 1 character to the right with each press and the center (select) button re-aligns the text Adds SSP frequency(v2) & register Adds SD slot frequency(v2) Change-Id: If4705d6790e25061931ca654062e22fc2e0a6f16
2018-07-25Fix lcd-scroll.c truncation warningsWilliam Wilgus
Change-Id: I312ec7ad06fde5b2f9747661cd2d4ffcb4cbf755
2018-07-25Revert "Ignore truncation in lcd-scroll.c"William Wilgus
This reverts commit 540637ed3334364fe9d1b54cdc96a52f59afda83. Change-Id: I88e71ef47a11818a5acb407ff9c0723d3c197243
2018-07-25Ignore truncation in lcd-scroll.cWilliam Wilgus
Change-Id: Id1008300e58cf12ab920c1023354a74a6d32daae
2018-07-25AMS v1/v2: Fix I2C2_CSPR debug menu entryWilliam Wilgus
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-25CLIPPLUS -- Remove un-needed handling for power button button ↵William Wilgus
button_read_device() switching GPIOB in order to read GPIOD96) (power button) is apparently unneeded Change-Id: I1fbf13f67f938806086754cdd5e389ef6746ae5f
2018-07-04AMS v1/v2: Remove sd_enabled as an externally-visible variable.Michael Sevakis
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-06-28Agptek: Fix headphones detectionMarcin Bukat
Change-Id: Id43bfee7357eef8dda6a617c1207b930f3ea90a0
2018-06-28Agptek: Fix support for empty strings in sysfs helper functionsMarcin Bukat
Change-Id: Id5573059da2b454f5336b3cebce7c09a83a7826f
2018-06-20Agptek Rocker: Add missing lcd_set_active(true) in lcd_init_device()Marcin Bukat
This should fix problem introduced in 5c015ad resulting in not updating screen properly in wps. Change-Id: Ie36b6edfcfc7d425c84381402adae79d77fcc92f
2018-06-14Agptek Rocker: Slightly tweak build procedureMarcin Bukat
In bootloader build create stripped binary bootloader.rocker Change-Id: Id67bebe82251fac22ad905ad3d49525691816746