summaryrefslogtreecommitdiffstats
path: root/firmware
AgeCommit message (Collapse)AuthorFilesLines
2020-08-09Enable full sample rate sets for X3ii, X20, and RockerSolomon Peachy3-0/+12
Change-Id: I89e139efb8a7662afaaabec360e6579907f8d025
2020-08-09Fix HOME_DIR path for Rocker, X3ii, and X20Solomon Peachy2-2/+4
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-08-08jz4760: Move 11/22/44/88KHz back onto the PLLSolomon Peachy1-8/+16
PLL1 clock for those frequencies has been dropped from 508 to 169.5 MHz, so it's still a respectable reduction. (I'm not sure how/why it ever worked with the XTAL source, but it did, and was off by an audible amount) Change-Id: I614d87e7dfdfe9210702b9c646d3863c06d6780b
2020-08-08ROLO - Enable multiboot firmwareWilliam Wilgus2-1/+15
I never added multiboot awareness to ROLO When a new firmware file was loaded [Bootdata] would not be copied to the new instance resulting in the firmware running off the internal drive till next reboot Bootloaders shares the rb-loader code but should not be affected by the removal of static from write_bootdata() Change-Id: Iccb18eebeee5c59f9534df51eb6826876c441762
2020-08-07jz4760: Major clocking improvements for audio PLLSolomon Peachy1-37/+55
* for <= 48KHz, BCLK must be 256*freq (ie bdiv = 4) * for <= 96KHz, BCLK must be 128*freq (ie bdiv = 2) * for 11/22/44/88 KHz, disable PLL1 and run off XTAL * cut PLL1 with 12/24/48/98 KHz audio from 516->86MHz * cut PLL1 with 8/16/32/64 KHz audio from 426->106.5MHz This should result in significant power savings for common 44.1KHz audio playback, and pretty good savings for everything else. As an added bonus: * enable de-emphasis filters at 32, 44.1, and 48 KHz Change-Id: Ie59067cd46c47e62abf4a32c53519efad104d6c8
2020-08-07jz4760: Support dynamic reclocking!Solomon Peachy3-25/+66
default/low speed is 192 MHz, Max is 576 Downclock PCLK/MCLK/etc to 96MHz to save a bit of juice Honestly the high speed could be dialed down to, eg 384 as this thing is so bloody fast.. Change-Id: Ie65597c74290f1603e65f69dae8e75b59c8ba0b4
2020-08-07jz4760: Fixes in PLL calculation and reportingSolomon Peachy3-14/+12
Change-Id: I890c661fbff549de5a224d90e3fbda34c71b3a7e
2020-08-07xduoox3: Enable HAVE_PLAY_FREQSolomon Peachy1-0/+1
This way the player can natively play back 48KHz audio Change-Id: I1d525ec7cb5540062b9e13489d3b53479e68435f
2020-08-07xduoox3: Set PLL0 to 480MHz, not 492.Solomon Peachy2-2/+2
PLL0 Needs to be a multiple of 48MHz for sane USB operation! (Indeed, "typical" clock for this part is 528, but that seems a waste of power) Also fixes a minor bugaboo in the jz4670 usb divisor calculation that won't matter until we enable reclocking Change-Id: I40b1fd1ae48871e50885981ccc8b01feb711b9a5
2020-08-07jz4760: Don't enable PLL1 until we need audio.Solomon Peachy2-29/+48
Change-Id: I6320ee9ac809da93c80e571d45f01e22c5bd1c40
2020-08-07jz7460: debugging improvementsSolomon Peachy1-15/+14
Change-Id: Ie03609ebe8bff51eed26e3781fe2b8663cc49e3a
2020-08-06FS#9295: Detect external power supply for ipod 1st & 2nd gen (Mark Fawcus)Solomon Peachy2-3/+3
Change-Id: I7b64c37ead60152c8a12556cfa344e225abc1980
2020-07-28imx233: rtc: generalize PERSISTENT0 fixMoshe Piekarski1-1/+4
Change-Id: Id8452055534df239dcf5e535943ee918a93ec10c
2020-07-28Fix IPod 3G USB Recognition ProblemMichaelRey1-5/+11
Allow IPod 3rd generation to recognize when USB is connected and reboot into disk mode. This problem is listed at the bottom of the Ipod status page https://www.rockbox.org/wiki/IpodStatus Change-Id: I8f32afd065d3a91cddc56fe63454bd082bfa29b9
2020-07-28FS#8778: Fix iPod 1G scroll wheel not being enabled (Mark Fawcus and Rune Pade)Solomon Peachy3-5/+5
They confirmed it worked in the original ticket. Change-Id: I949f119554a1e8bbdd0e4160c104cbc4aa2bd17d
2020-07-27imx233: rtc: Initialize PERSISTENT0 registerMoshe Piekarski1-0/+1
Prevents the rtc from breaking on power removal Change-Id: I1e434285ccc27d864d2fd9454993d02cae32711d
2020-07-24Fix two variable-set-but-not-used warningsSolomon Peachy1-0/+4
(found using -Os with gcc494 on the nano2g) Change-Id: If0deee3e3cde50e6bf5aff595bebc0f134dcc393
2020-07-24[4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice.Solomon Peachy117-322/+203
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 Peachy111-392/+208
'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 Peachy13-2305/+4
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 Peachy129-15864/+19
This removes all code specific to SH targets Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2020-07-16storage: Clean up storage_xxxx macros when STORAGE_MULTI is not setSolomon Peachy1-16/+17
Change-Id: I1652eac1743f4b8b84da08ea5a6d04ac7e17e21d
2020-07-15imx233: rtc: Explicitly clear the soft reset bit when initializingSolomon Peachy1-0/+2
If we come up and the RTC is in a reset state, we need to release that before trying to initialze anything else. (See IMX23RM 23.8.1 and 39.3.10) Change-Id: I1820ab771ba81f7d428d07040b7d188d9f688127
2020-07-15rk27xx: rename 'start' to '__start'Solomon Peachy3-5/+5
Change-Id: I3c5bbbc952222e840e82171431ba996a6a5d298b
2020-07-15mips: Adjust stack sizesSolomon Peachy2-4/+4
Main/IRQ from: 7.5/0.75 to: 7.25/1.0 With the reduction of the opus codec stack usage, giving the IRQ stack some additional breathing room is now possible. Change-Id: Id0cd3747fcaab70e2360667ac8c1a97ba7234ccf
2020-07-15Buflib_init Bugfix MinsizeWilliam Wilgus1-0/+6
when buflib_init is called with a buffer smaller than sizeof(union buflib_data); size will be zero Later when the alloc fails buflib will keep try to free items in order to satisify the request this crashes in the sim I suspect this behavior holds true on device as well but I havent verified this as of yet. patch adds minimal overhead to the buflib and panics when the size is too small Change-Id: I46e510367fc1cac19ce01ee6f92d8cf0d65ef914
2020-07-14Enabled hotkey for Sansa Clip playersIgor B. Poretsky4-4/+4
Change-Id: Ic0fb331415bf0cc0fce5916befce64f4a41c46ee
2020-07-11ATA: Make sure "hard disk" supports power managementSolomon Peachy1-0/+5
The FC-1307 CF->SD converter that is the basis of a lot of ATA->CF devices (including several iflash iFlash models) claims to not support ATA power management commands. Rockbox unconditionally issues those commands as support is mandated by the ATA spec. This patch checks the capability bit, and if it's not supported, does not attempt to put the ATA subsystem to sleep. It is not clear if the problems lie with the SLEEP commands or the wakeup process, but who knows where else the FC1307 violates the ATA specs, and reliability is much more important than power savings. Change-Id: I8b539c579d0449a8a3cfa63cdd1387db990fe820
2020-07-11fat: Validate FS Info Sector signature when attempting to mount volumeSolomon Peachy1-0/+11
The "try to mount as superfloppy" fails with some partitioning layouts because sector 0 can have a mostly-valid FAT32 signature. However, in all dumps I've looked at, sector 0's fsinfo offset value points at a place which lacks the fsinfo signature. Resolves FS#13213, no known regressions. Change-Id: Ib323d35cca6ca54e11aca6ba77041bf33a05a277
2020-07-09Update to allow the Apple Radio Remote to function on iPod Video 5G.LiveboxAndy1-17/+59
This was broken when the major update to iap was comitted. ia-lingo7.c created and various iap related files modified. On 4G, 6G and Nano 1/2Gen iPods the remote will function even though the radio won't. Tested on 4G Greyscale, 4G Color, 4G Photo, 4G Mini 1st Gen, 4G Mini 2Gen, Nano 1G, Nano 2G, Video 5G, Video 5.5G Change-Id: Ia74e3d07d9ab5edc6da8eafa96801ede722be331
2020-07-09add some documentation in usb.h and usb_drv.hAmaury Pouly2-0/+39
Change-Id: Icd39ee5c017fc219144b33ef96b0df85c5d430da
2020-07-09FS#12082: Add Tuner support to the Nano2G (Bertrik Sikken)Solomon Peachy2-5/+5
(The serial portions of the patch were already present, this just pulls in the tuner enablements) Change-Id: I8090e318f34835769ac0a56d7a48b9250631eb4f
2020-07-08ATA: In picking PIO modes, word 64 is only valid if word 53 bit 1 is set.Solomon Peachy1-5/+6
Change-Id: I0a7681be7d703c1baa7f8bd7b5e31f04f20f299d
2020-07-07yp-r1: Fix some of the simulator build issues.Solomon Peachy1-17/+25
Change-Id: I167b801acaff9d36f3fd2fa57ba295d05816c60d
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-07Samsung YP-R0: fix simulator buildLorenzo Miori1-0/+2
Protect source code files which are not meant to be built on simulator builds. Change-Id: I81ad440d8f86e9eda27807e6b71647ced5071b44
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-07-05portalplayer: Fix three set-but-not-used warnings.Solomon Peachy2-1/+7
(They show up when building with gcc494) Change-Id: Id5e2bccf18114ed78a557ac1b369f46b4f07d042
2020-07-05imx31: Fix regression in bootloader caused by cd9906Solomon Peachy1-1/+1
Change-Id: I1b561c9136a727f49e02e53798e46ef9197a3958
2020-07-05imx233: Fix bootloader link regression caused by cd9906Solomon Peachy1-2/+2
Change-Id: I6341069aa3855a8a3ea9ed021c27aaa742cab698
2020-07-05arm: Fix PortalPlayer linker scripts with binutils 2.21+Solomon Peachy5-7/+7
For reasons that are still unclear, the 'ncbss' region was overlapping the "audiobuffer" when linked with 2.21, but okay with 2.20. Fixed it by making the audiobuffer explcitly use the current position instead of relying on it being implicit. With this change, portalplayer-based targets generate working binaries when built with binutils 2.21 or newer. This bug also theoretically affects imx233/imx31 targets as they also have NOCACHE_BASE games in their linker scripts, but I lack access to one to test with. Change-Id: Idb38ab20f03599b9ed3d4bc0eafe519f38677438
2020-07-03ARM: Rejigger the asm corelock functionsSolomon Peachy1-34/+37
This appears to solve _some_ of the crashes experienced when using gcc494 on the multicore PP targets (eg most older ipods). (With this change, the asm vs plain-C versions behave identically) corelock_lock(), corelock_unlock(), and corelock_trylock() were declared with the 'naked' attribute. However, naked functions are only allowed to have 'Basic Asm' components, and we used some extended asm, but without declaring clobbered registers, making assumptions about register arguments, and also directly returned to the caller via asm code. This is what the GCC docs have to say about this stuff: "While using extended asm or a mixture of basic asm and C code may appear to work, they cannot be depended upon to work reliably and are not supported." Change-Id: I79a9c4895584f9af365e6c2387595e9c45d89c7d
2020-06-30Try mounting as "superfloppy" firstMoshe Piekarski1-35/+37
This allows for a superfloppy that has MBR-like data in the BPB. this solves FS#12294 while allowing arbitrary partition types. Change-Id: I53880fe7dd53e5015f5f15be0ddba11105fcd778
2020-06-30Also remove the fat_partition_types array.Moshe Piekarski1-11/+0
If we aren't going to check for the partition type, we don't need the array of known FAT partition types. Original Author: Torne Wuff <torne@wolfpuppy.org.uk> Change-Id: I558d4287189408c513dfbca49e13906cdb7918b1
2020-06-30Allow any partition type, not just known FAT types.Moshe Piekarski1-3/+2
Instead of only mounting partitions with a FAT partition type, try any partition that isn't type 0 (unallocated) or 5 (extended). This makes it easier to reformat SDXC cards which have the exFAT partition type, and also brings us in line with pretty much every other OS at this point. Anything with a valid-looking FAT superblock will get mounted. original author: Torne Wuff <torne@wolfpuppy.org.uk> Change-Id: I3ea8d437a79f9da270f9d119cc670e472331a9da
2020-06-27button: allow disabling software poweroffFranklin Wei2-1/+20
On some devices, the button driver allows a "software poweroff" by long- pressing a certain key. This behavior is inconvnient when that button needs to be held down for other purposes, such as moving the cursor in rockpaint or sgt-untangle. This patch allows selectively disabling the software poweroff (enabled by default) from both core and plugin code. Change-Id: I7580752888ae5c7c7c5eb1be5966e3d67f17d4b4
2020-06-12xduoox3ii: Add UI Simulator bitmap, keymap, and fix offsets.Solomon Peachy1-4/+4
Change-Id: I8e322b93653cb43b010dfd5c0f566ea1c4c7b7ff
2020-06-07misc: Remove all 'twiki' references in favor of up-to-date 'wiki' links.Solomon Peachy2-2/+2
(This migration happened over a decade ago!) Change-Id: Ib396414a16f2d763e549af49e3f3b03047dab49c