summaryrefslogtreecommitdiffstats
path: root/firmware/target/hosted
AgeCommit message (Collapse)AuthorFilesLines
2020-10-11New port: AIGO EROS Q / EROS KSolomon Peachy13-4/+630
The Q and K have a slightly different case, but the hardware under the shell is completely identical. These models are rebadged versions: * Hifiwalker H2 (== Q) * AGPTek H3 (== K) * Surfans F20 (== K) Other notes: * Significant improvements in the shared Hiby-platform launcher/loader * SD card can theoretically be hot-swapped now * Support external USB mass storage! * Some consolidation of Hiby-platform targets * Some consolidation of plugin keymaps Todo/known issues: * Keymaps need to be gone over properly * Convert to HAVE_SCROLLWHEEL? Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
2020-10-11hosted: Add ROLO support for hosted targetsSolomon Peachy1-0/+102
Change-Id: I2d46a63ee8225a9d9d77dd80a06c418af78c260c
2020-10-11nwztools: fix MW-WM1/A30 KAS, fix KAS lengthAmaury Pouly2-3/+6
Split WM1A/WM1Z because they don't have the same KAS. On newer devices, the KAS is actually 64 bytes, not 60. The strange thing is that "get_dnk_nvp kas" returns 60 bytes whereas "get_dnk_prop kas" returns 64, not sure why. Change-Id: I944d3d838209ba58388439af0cdf5d7c74f1f7fc
2020-10-11hosted: Use O_CLOEXEC for all open() and "e" for fopen() callsSolomon Peachy14-31/+27
This way we'll automatically close the files upon exec() Change-Id: Ic0daca8fb56432830de4a2f4a86a77337121ecc7
2020-10-09m3k: Fix red bootloader buildSolomon Peachy1-4/+0
Change-Id: I3a6e9e6222e6219484c6903325c985bff8af39ef
2020-10-09New port: FiiO M3KSolomon Peachy15-6/+1003
Most credit goes to: Roman Skylarov Additional integration and refactoring by myself. *** COMPLETELY UNTESTED *** Change-Id: Ia64c36d92e0214c6b15f7a868df286f8113ea27b
2020-10-09xduoox3ii/x20: Define a sane BUTTON_LEFT/RIGHT aliasSolomon Peachy1-2/+2
Change-Id: If11dfa50aeb8cb8b80de730c494d81a9e87880c4
2020-10-08Don't compile audio codecs into native bootloader builds.Solomon Peachy3-6/+10
Change-Id: I0b2cc143572bf88423bdf7647cee0af567aee684
2020-10-05FS13241: Get rid of the hacky hold switch emulation on the X3ii & X20Solomon Peachy2-36/+0
It doesn't work properly and interferes with the power button in the keymap. Rework WPS keymap a bit to make single-tap power emulate lock. Change-Id: I9d9b9b4adcea3764e6e427f484e051c9bab9d13b
2020-10-03hosted: control buttonlights along with the display backlight.Solomon Peachy1-0/+6
Change-Id: I03385db46e94ca1bb6a4e35c89f630145c9d40e5
2020-10-03alsa: Refactor pcm_dma_apply_settings_nolock()Solomon Peachy1-14/+7
Change-Id: I32190e6987afca99b24197ca7ae2853053062d30
2020-10-03alsa: introduce AUDIOHW_MUTE_ON_PAUSE, and have rocker use it.Solomon Peachy1-7/+11
Change-Id: I1edbb8e71a9c73baaeecb01b66cbee6c3f7b5f8f
2020-10-03alsa: Explicitly mute the output when we stop playing, and unmute after ↵Solomon Peachy1-1/+14
playback starts Allows us to avoid hearing the codec powering on and off. Change-Id: Idaaff437932009952ed248be97eedf54cb4cf28e
2020-10-03alsa: Handle underruns when starting a new streamSolomon Peachy1-47/+69
Unsure why this is happening, but now we detect and recover errors at startup. Also clean up the mismash of printf(), DEBUGF(), etc in favor of panicf() for the really serious stuff and logf() for everything else. Change-Id: I9aaa620d55d556645c9a6d108541b987983b32a8
2020-10-02alsa: Use larger playback buffers for higher bitratesSolomon Peachy1-4/+16
(existing ones apply up to 48KHz, scale up linearly to 192KHz) Change-Id: Iac32d49b8073b63a5d40fd21f41437e6051cb8de
2020-10-02hosted: Don't use O_SYNC for the framebuffer handle.Solomon Peachy1-1/+1
Change-Id: Iff4b1947fe053313d677b894c78250760aaef967
2020-10-02hosted: Fix overzealous spamming of backlight and lcd enableSolomon Peachy2-10/+27
This caused random delays in LCD activity, and also caused key inputs to go nuts Change-Id: Ie483c86f7461455308f8c5f8999df313521c6b55
2020-10-01Fix warnings and errors introduced in b030bf5Solomon Peachy1-0/+1
Change-Id: I23966b6a79c0d2cbab2e01c649c1b991f460d8ad
2020-10-01xduoox3ii/x20: Proper lineout detection and volume mangling.Solomon Peachy3-21/+19
hotplugging hp and lineout works, without blowing out eardrums. Change-Id: I2df5c7a618bb2d1d77d416548d45dff9cfc619db
2020-10-01fix some of the red introduced in e43726dSolomon Peachy1-1/+1
Change-Id: Id1abb0dd11f8a8e79a80fc54e58a5a22706a03ad
2020-10-01hosted pcm-alsa improvementsSolomon Peachy4-39/+118
* xduoo x3ii/x20: Better line out support * less granular volume settings (too many steps before) * Better handling of swiching sample rates * Log actual sample rate in debug menu Most credit goes to Roman Stolyarov Additional integration [re]work by myself Change-Id: I63af3740678cf2ed3170f61534e1029c81826bb6
2020-10-01hosted: fix shutdown crash in framebuffer code.Solomon Peachy1-1/+9
Change-Id: I78315b81ab8df0408abc64d5edb6af37db568ad7
2020-10-01Hosted: Improvements in the LCD code. (Roman Stolyarov)Solomon Peachy2-21/+31
* Kill LCD when turning off the backlight * Fix logic errors in lcd_enable() calls * Use ioctls instead of sysfs to twiddle lcd enable Change-Id: I6864ff63d87b747ac48719b0f4ba2de00333a1d3
2020-09-30Leave HOME_DIR out of default recording and playlist pathsSolomon Peachy1-3/+3
The hosted filesystem code will automatically prepend HOME_DIR. Change-Id: I36a76e51637ab2bb68353f8eb9ffac25ca75bad1
2020-09-28xduoox20: UI Simulator supportSolomon Peachy1-4/+4
Change-Id: I2a03cea07fbad9fb5862ca69e4cfca2e8ca6b17f
2020-09-29hosted: Slightly cleaner shutdown; kill the display first.Solomon Peachy1-0/+4
Change-Id: I620d7afb2eb0556cde07c7828b134b13892e6db4
2020-09-29rocker: Increase the long-press shutdown delay a bit.Solomon Peachy1-1/+1
Change-Id: Ief64f3d39556efa7de7df32eb7613a29a466a02e
2020-08-24SDL: If our eventloop fails, log the reason!Solomon Peachy1-1/+1
Change-Id: I028eb118b7da2701b54fce639ee0dbbb1e5a85bc
2020-08-09Fix HOME_DIR path for Rocker, X3ii, and X20Solomon Peachy1-1/+1
Prevented plugins from accessing their config files properly Change-Id: Ic3b115aaa9168fa30b98607aeacb1a12b5498a5f
2020-08-09Un-hardcode 44.1KHz settings from ALSA and iBasso PCM codeSolomon Peachy2-14/+12
Change-Id: I69a69dabc799f360b73b1cf252645bd4cde13715
2020-07-24[4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice.Solomon Peachy1-2/+0
Note: I left behind lcd_bitmap in features.txt, because removing it would require considerable work in the manual and the translations. Change-Id: Ia8ca7761f610d9332a0d22a7d189775fb15ec88a
2020-07-24[3/4] Completely remove HWCODEC supportSolomon Peachy2-7/+0
'swcodec' is now always set (and recording_swcodec for recording-capable units) in feature.txt so the manual and language strings don't need to all be fixed up. Change-Id: Ib2c9d5d157af8d33653e2d4b4a12881b9aa6ddb0
2020-07-24[2/4] get rid of HAVE_LCD_CHARCELLSSolomon Peachy4-243/+0
HAVE_LCD_BITMAP is now redundant. lcd_bitmap is always-on in features.txt so manual and lang strings don't have to change Change-Id: I08eeb20de48099ffc2dc23782711af368c2ec794
2020-07-24[1/4] Remove SH support and all archos targetsSolomon Peachy1-37/+1
This removes all code specific to SH targets Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2020-07-07yp-r0: Silence a build warning in simulator build.Solomon Peachy1-1/+2
Change-Id: I024b6393d778261da151c9756ed38230054b0e7b
2020-07-07Samsung YP-R0/YP-R1: use Linux i2c-dev for radio chip accessLorenzo Miori5-107/+144
Linux offers the high-level i2c-dev driver to directly access the i2c bus(ses) on the system. This system device is used to get rid of the (rather silly) radio chip kernel module for ypr0 target and correctly enables radio access also for the ypr1 target. fm-radio chip is located on i2c-0 bus on the ypr0 target while it is located on i2c-1 bus on the ypr1 target. Power-up (RST) pin is also handled for both targets, which is wired to another GPIO of the i.MX 37 platform. Additionally, this patch simplifies the RDS low-level handling by exploiting the Si4709 debug interface which comes with a mutex protection as free bonus. Change-Id: I839282bec4a27ad0ad8403c5a8dd86963b77e1bf
2020-07-06sdl: Get rid of duplicate instantiation of 'button_queue'Solomon Peachy1-4/+0
(Caused a build failure under GCC10's stricter '-fno-common' default) Change-Id: I7d49c630771e8294e2ad8c740a4ada136a6befd7
2020-06-12xduoox3ii: Add UI Simulator bitmap, keymap, and fix offsets.Solomon Peachy1-4/+4
Change-Id: I8e322b93653cb43b010dfd5c0f566ea1c4c7b7ff
2020-05-03filesystem: don't PIVOT_ROOT for checkps and simulator builds for hiby targetsSolomon Peachy1-1/+1
Change-Id: I297cbfb60aa18c0895b27ffa787ef6fb9440e03c
2020-04-14Fix checkwps build for dx50 & dx90 targetsSolomon Peachy2-90/+0
Their codec headers weren't in the right place. Change-Id: Iae16c10defc937cc227afd8992ff45cd6d664898
2020-04-11RTC: Add support RTC alarms on hosted targetsSolomon Peachy1-8/+146
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-08hiby: Use HAVE_LCD_ENABLE instead of HAVE_LCD_SLEEPSolomon Peachy1-5/+5
Change-Id: I93819f5ecaad9101a711a0cca626570c7aef0e57
2020-04-08hiby: Refactor X3ii/X20 and Rocker LCD codeSolomon Peachy2-142/+10
Once some missing power optimization stuff was added to the X3ii code, they were completely identical. Change-Id: I68e4db5e270e8ff22f91e521616a054bd7baa95d
2020-04-06xDuoo X3II and X20 portMarcin Bukat20-5/+818
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-05simulator: Fix sim build for sdl/hosted targetsSolomon Peachy1-0/+2
Change-Id: I39a7be7cf0ace47cd4aba2a01d9450e1ba41cb7b
2020-01-29sonynwz/scsitools: add NWZ-S610 seriesAmaury Pouly1-1/+1
Change-Id: I8977e1bcc805df463f7b08f11be889368db4eab2
2020-01-12sonynwz/scsitools: add support for NW-A56Amaury Pouly2-3/+4
Change-Id: I07e57218638ef62c0e4bf92833add6c3ba7bdcd8
2019-10-17Fix timer Agptek Rocker (other hosted players)William Wilgus1-4/+12
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-07-26Fix issue with building the UI Simulator for WindowsLiveboxAndy1-3/+4
Addition of rtc support for AGPtEK ROCKER broke building the UI Simulator for Windows. This patch removes the rtc support if building UI Simulator for Windows.
2019-07-10Fix Truncation warning cpufreq-linux.c->cpufreq_available_governorsWilliam Wilgus1-1/+1
limit cpu identifer to 0xFFFF Change-Id: I6fb170aa7ce32b7b5c0366bbd689878bb5069be8