summaryrefslogtreecommitdiffstats
path: root/firmware
AgeCommit message (Collapse)AuthorFilesLines
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
2020-05-24Comment details, typosSylvain Saubier1-1/+1
Change-Id: I71a283b8e705ad8b9274858bc3cde19d25fc7253
2020-05-24cowond2: Disable internal NAND storage; use only the SD card.Solomon Peachy1-2/+4
This allows the player to be usable. Slightly adapted from: https://forums.rockbox.org/index.php/topic,10164.msg245357.html#msg245357 Change-Id: I7bdd681b132cac4c82e3ba6aabe74169645eee4c
2020-05-23Sansa AMS add Minimum Clocks for I2c IDE SDSLOT SSPWilliam Wilgus1-7/+28
This patch doesn't implement them just defines them Change-Id: I1762152c3c683cc68bcedac5923c536316441613
2020-05-23Sansa AMS set I2C properlyWilliam Wilgus1-5/+18
Change-Id: I95c93933487c4260a7aa43ebed273ab2c05e55c1
2020-05-23Sansa Clip+ set lcd SSP properlyWilliam Wilgus1-1/+15
Change-Id: I152f038954ac1649b30dd17c3e6332e4d756502c
2020-05-23Sansa ClipZip set lcd SSP properlyWilliam Wilgus1-1/+16
Change-Id: Ice62dfa7f266ee4369793777a39e675bceae1831
2020-05-12m66591: Fix out-of-bounds array accessSolomon Peachy1-7/+7
Loop terminator needed a preincrement rather than postincrement, and also used a proper #define instead of a magic number. Change-Id: Iafd6a0dce0304cb94e4f1d04cce46d2ca603507a
2020-05-03filesystem: don't PIVOT_ROOT for checkps and simulator builds for hiby targetsSolomon Peachy1-1/+1
Change-Id: I297cbfb60aa18c0895b27ffa787ef6fb9440e03c
2020-04-17ClipZip LCD Corruption Backlight fixWilliam Wilgus1-3/+5
User reported LCD screen corruption via forum in 3.14 and 3.15 turning backlight off and back on seems to fix the issue http://forums.rockbox.org/index.php/topic,53192.0.html Change-Id: Id0b34d2f9b77e79ab0ecabace331f0b203184724
2020-04-14Fix checkwps build for dx50 & dx90 targetsSolomon Peachy3-2/+2
Their codec headers weren't in the right place. Change-Id: Iae16c10defc937cc227afd8992ff45cd6d664898
2020-04-13obsolete: Nuke the very-incomplete Archos AV300 targetSolomon Peachy5-212/+0
It's even missing a config header file. Just shoot it in the head. Change-Id: I4c5cdb4fb63361a4e4fc893e93d73d3890fe17df
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 Peachy2-8/+149
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 Peachy3-144/+12
Once some missing power optimization stuff was added to the X3ii code, they were completely identical. Change-Id: I68e4db5e270e8ff22f91e521616a054bd7baa95d
2020-04-07Consider sector size when checking cluster sizeStefan Ott1-1/+6
On file systems with 2048 bytes per cluster, the bpb_secperclus value gets multiplied by 4 when the meta data is loaded. This patch changes the sanity check to consider (and reverse) that multiplication before checking the cluster size. Signed-off-by: Stefan Ott <stefan@ott.net>
2020-04-06xDuoo X3II and X20 portMarcin Bukat30-20/+1236
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-04-05simulator: Fix sim build for sdl/hosted targetsSolomon Peachy1-0/+2
Change-Id: I39a7be7cf0ace47cd4aba2a01d9450e1ba41cb7b
2020-04-05threads: Move stack_size to end of struct thread (followup to f19ffe2)Solomon Peachy1-3/+3
Makes the structure more compact. Fixes the build failure on the m68k M5 target Change-Id: If17b872f4923d3a52b344e3c59ed6f870d5a7725
2020-04-05Threading: Use 'size_t' for stack size in core threading codeSolomon Peachy1-1/+1
For some reason it was defined as 'unsigned short' but all arguments to the threading functions and other structs used size_t. The SDL plugin tried to allocate a 2MB stack and this resulted in much badness. This is a _very_ old bug, and might be responsible for countless subtle bugs! Change-Id: I8b7fd79a10c21e3ab524a89b4d40d9afa4fab638
2020-04-04pp502x: Don't fill the cache starting from address 0x0Solomon Peachy1-1/+5
The pp502x cache init code tries to flush the cache by reading a block of DRAM. Change the starting point from 0x0 to 0x1000 so the compiler doesn't helpfully insert an undefined instruction to deliberately crash the target. (This behavior is intentional on the part of GCC, and was triggered by using -Os with my experimental 4.9.4 toolchain) Change-Id: I2d2719615a1164a035f3dac8a56dd3737bbab1d5
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
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-12-30Fix As3525 SD unused parameter warningWilliam Wilgus1-2/+3
Change-Id: I0a4bbcf94e9cadf43a822c1cb2f2dad3bd4f7588
2019-12-31Sansa AS3525V1 Sd Interface implement powersave modeWilliam Wilgus1-30/+65
This patch cleans up the sd driver for the V1 sansas powersave implemented for the sd interface Change-Id: I3d864f7aa304cf792cc65fa4ff06c1e52fbed329
2019-11-15MultiBoot_Firmware Fix red for bootloadersWilliam Wilgus1-2/+2
Change-Id: I0446258d1f14f5423cca55de04abf545a92c61cf
2019-11-15MultiBoot_FirmwareWilliam Wilgus1-0/+21
Stop gap till I get a chance to work on the root folder stuff Makes whatever volume marked by bootdata.boot_volume the base or root volume, mounts all other volumes after the specified boot volume. Has the effect of swapping the SD card to the slot for internal and Internal storage is mounted as the Sd-card. Does not honor root redirect -- uses .rockbox folder in the root of boot volume Change-Id: I0f786aa0c8721e21cba607366775be3e3c0cf474
2019-10-17Fix timer Agptek Rocker (other hosted players)William Wilgus3-4/+21
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