summaryrefslogtreecommitdiff
path: root/firmware
AgeCommit message (Collapse)Author
2021-10-04Sansa E200v1 Bootloader attempt at enabling USB in boot loaderWilliam Wilgus
there is a 1MB free region that is used to load the firmware but we shouldn't need that till after a USB connection so here is my 2nd try Change-Id: I2552db3a7fba019d7e7188984432f758ddafe548
2021-10-02Shanling Q1: default to USB force chargingAidan MacDonald
Force charging must be set or the Q1 will not draw 500 mA from an AC adapter (see 0ca0940f01). Change-Id: I4ec6dc7728a5aa4d7f07580556efb960948c24a8
2021-10-02scroll engine, allow clipped text in viewportWilliam Wilgus
loosen the requirements on the scroll viewport allow clipped text Change-Id: I7099d423ccfbd7bae12e6ba43b8a6b4b864175b7
2021-10-02x1000: fix hang that may occur in USB modeAidan MacDonald
Upon getting a USB reset, the USB core will update charging current by calling usb_charging_maxcurrent_change(). On all current X1000 targets this may cause a hang, since changing the charge current involves a blocking I2C transaction. Eg. if the host issues a reset when we're already configured as part of error recovery, the change from 500 mA -> 100 mA will cause a hang. Change-Id: I5b45272c01fa16b179ae3d16bbc50c7fab9a416b
2021-09-30Add ability to dump cpu boost log to disk, include thread namesWilliam Wilgus
0.) B 0 /rockbox/apps/main.c:405 1.) B 1 /rockbox/firmware/kernel/thread.c thread[dircache]:1508 2.) B 2 /rockbox/apps/tagcache.c:4772 3.) U 3 /rockbox/apps/tagcache.c:4793 add logic to show count after log rolls over clean-up Change-Id: Ibda0a56e5d8d89aa8b7649f4f9fa64eb1ff0e08f
2021-09-29Bugfix AS3525 usb driver unboosted the cpu without first boosting itWilliam Wilgus
Change-Id: Id2d45870a9128b19ace0e8d5c16d3b3fa4b923dd
2021-09-26ErosQ Native: Adjust battery % scaleDana Conrad
Adjust the battery scale to be a little better. I've set the 100% (discharge) point to be where the battery sags to when it is done charging but still plugged in. Not quite sure how best to set the charge scale, it's just equal to the discharge scale for now. Change-Id: I9a2730c0b2051300af9eeddb4f67164f38a29002
2021-09-26win32: Add a stub for os_modtime() to make sim builds happySolomon Peachy
Change-Id: Iea90776df2a92777c8e07c5a6b6635b6734d6690
2021-09-20usb: rename usb_drv_recv() to usb_recv_recv_nonblocking()Aidan MacDonald
IMHO the current name is somewhat misleading: - usb_drv_send() is blocking and we have usb_drv_send_nonblocking() for the non-blocking case. This inconsistent naming can only promote confusion. (And what would we call a blocking receive?) - Other hardware abstraction APIs in Rockbox are usually blocking: storage, LCD, backlight, audio... in other words, blocking is the default expected behavior, with non-blocking calls being a rarity. Change-Id: I05b41088d09eab582697674f4f06fdca0c8950af
2021-09-20usb_hid: fix accidental fallthroughAidan MacDonald
Successful SET REPORT requests would spuriously fail because of the fall through to GET REPORT. Change-Id: I8e7d1a1120afc6975d07d47b11c12c9e9ca51dd2
2021-09-19Make USB Charging default value configurable per deviceDana Conrad
A reasonable default assumption for a user would be that they can plug their device into a USB AC adapter and it will charge with as much current as it reasonably can. With the previous default, an AC adapter will only do 100mA, basically a trickle charge. Make this configurable default per-device, so as not to break old devices without testing. Define TARGET_USB_CHARGING_DEFAULT to USB_CHARGING_FORCE to use the new default. Tested on both erosQ Native and M3K. Change-Id: I77265d356a41d67357ebc6e9f7e0c25a37b74931
2021-09-19Dir cache: Fix resume of relative path playlists.James D. Smith
Slightly modified from original patch by Fabrice Bellard. Change-Id: I9ae04fa460f0f1b9c616e6f99505d4c5d4358f68
2021-09-12iPod mini backlight initializationChristian Soffke
Fixes backlight not turning on after booting (tested on an iPod Mini 2G). backlight_hw_init() copied from iPod 4G. Change-Id: I9c32ca5ecd3dc74ea997e6cb843da79d303b0615
2021-09-05ErosQ (both): avoid clipping due to DC offset bandaidDana Conrad
Set the maximum volume on both hosted and native ports to -2 dB. Verified behavior here on native and by borkitall on irc for hosted. Change-Id: I3aebc2bb4b9294a4137a33694c83139c0d76099a
2021-08-26lcd_putsxyofs 16 bit lcd_mono_bitmap_part [AS] part duexWilliam Wilgus
'Bugfix' mono_bitmap_part reads ahead in the buffer, if the height is <= char bit pixels other memory gets read found with [Address Sanitizer] also g#3332 since this is clearly a problem across the code instead place the check for height < 8 in the lcd_mono_bitmap_part function second try places the check above the negative y offset this was causing glitches on the Q1 and likely other TS targets since a negative y was added to height it made it < CHAR_BIT setting stride = 0 even though the bitmap was >= CHAR_BIT high Change-Id: I13bb8ab472c2ae61302a6de5d9e2c78243354460
2021-08-26xduoox3: Disable bootloader USB mode entirelySolomon Peachy
It's not yet working and because all storage is removable (and the OF works fine) it's of limited utility aynway. Change-Id: I8a6a59ac16503d0f4574c3934f473cac54e86858
2021-08-25Revert "lcd_putsxyofs 16 bit lcd_mono_bitmap_part [AS]"William Wilgus
This reverts commit 49edfc237ba9ae27eee5e915e86989d9ee01b1da. Reason for revert: font rendering bug, https://gist.github.com/amachronic/5fa75da280432127de4b44ee2d760281 Change-Id: I13b5f0eedb2926bce67051c8f0bb2ae5dea9f299
2021-08-18x1000: trigger the virtual LED on disk activityAidan MacDonald
Change-Id: Ic129e79e0b192cb0c39e5f05ad602e0ea7a9213f
2021-08-15Drop HAVE_RTC_RAMAidan MacDonald
Only Archos players ever used this feature and it isn't implemented on any current targets. Change-Id: I39c8455480a3fe33cd25b667e8d4d6ff3a092d3e
2021-08-15logf: Fix an incorrect fix in 835d0c737a7Solomon Peachy
Change-Id: I060033d9a7cd54bab75e4f82e3de002bdb027af2
2021-08-14Fix red from 04fe77a4Solomon Peachy
Change-Id: I13a7b067e60eabe27be1fe983a7cced3ae8b18e3
2021-08-14Remove the (very) incomplete port for the Tatung TPJ-1102Solomon Peachy
It was barely even a stub, and hasn't seen any development since 2009 Change-Id: I0aa15d9a7b90ae8c771924d9f401380d4cc0fab9
2021-08-14Remove Samsung YP-Z5 portAidan MacDonald
It has only a couple GB of onboard flash storage with no storage driver in Rockbox. It hasn't seen any meaningful development since its initial commit, it's not on the build farm, and the bootloader build is broken by other refactoring. Change-Id: Idd9e3c46fac9b96f416ce444182f97a50770e747
2021-08-13file_internal.c guard file_cache_reset() from null pointerWilliam Wilgus
I feel this is probably unlikely to be called with a NULL pointer for cachep but being that we are already doing the check why not guard file_cache_reset as well Change-Id: I1a13767ef28a4129ae3513f7aa999fb6c1d6fad8
2021-08-12Eros Q Hosted: Apply DC Bias to PCM DataDana Conrad
Similar to the native port, the hosted port benefits from adding a -1 dc bias to the PCM data. This prevents almost all clicking artifacts. Change-Id: Ic6378716774b6d88df23c476e2ef54d49f33dc72
2021-08-10Eros Q Native: Make Mute logic channel-independentDana Conrad
An oversight on my part meant that setting channel balance to 100% L or 100% R would mute both channels - this logic will prevent that. Change-Id: I912c2745784fbbbd7a773e1234179801f2ca4680
2021-08-09inflate: fix public function pointersJames Buren
Change-Id: I7f1273b832a04a7d7c1b386c08c17438e3d93fc2
2021-08-08As3525 wavpack_enc document some intentional switch fall throughWilliam Wilgus
Change-Id: I56bf439df2c05653d65f49238e886e4ef2291176
2021-08-07move PCM_NATIVE_BITDEPTH definiton into global config codeSolomon Peachy
Change-Id: I391bcffca670916c2c88426e2ba2603351326cee
2021-08-07Fix warnings from 56b0dde545Dana Conrad
Need a default bit depth in pcm-x1000.c Change-Id: I2c6af227975d2f47609b51090638012d8406ec1e
2021-08-07Higher bitdepth software volume scalingDana Conrad
Operates between 0 and -74 dB (mute) without issue Change-Id: I497e002bd8db43833a09ebbc29212fbb6cc8ebfd
2021-08-07ErosQ Native: Add DC Offset to PCM dataDana Conrad
A small negative offset seems to silence all play/pause clicking on the PCM5102A. Also adding PCM soft muting, and muting the headphone amp when the headphones are detected as removed. This has been tested to not cause any unintended side effects on the line out. Also confirmed the numerical dB values are (approx.) correct. Change-Id: I689d68887c86add9cc5e0ccb0c7de01aaa69b4d9
2021-08-07inflate: import initial module for deflate decompressionJames Buren
This will eventually be used by the ZIP module and other things that support DEFLATE based streams. Change-Id: I4acc9561eb56c9c368d1defab9c14e0454d105e1
2021-08-06Fix wrong printf format in system-hosted.cAidan MacDonald
Change-Id: I73722f0711a295152a98ab784cd6cf76379ef52e
2021-08-06Fix hosted glibc backtraceAidan MacDonald
According to backtrace(3) man page, the string returned from backtrace_symbols() contains the return address so we shouldn't need to print it ourselves. Change-Id: Ia779207285c9ea0052b9aee3d84ee8380bf46d82
2021-08-06Fix path buffer overflow in screendumpAidan MacDonald
Overflow is due to a hidden assumption in create_datetime_filename() and create_numbered_filename() where buffer must be >= MAX_PATH bytes. Change-Id: I9d36517d861b6925352380d551afc5439edbb340
2021-08-06logf: Fix two issues with logf_panic_dump()Solomon Peachy
* It had a (read) buffer overflow when dumping the stuff on the back half of the buffer * a highly questionable code construct was nuked Change-Id: I7f6f119524fc2095f788fc9b3d356459955d3ace
2021-08-05hosted: Fix rtc_write_datetime() error handlingSolomon Peachy
(if mktime() fails, don't attempt to write its result to the RTC) Change-Id: Ib09b8dccafdef032119db76f10af74dfc220cc21
2021-08-05disk.c ensure a valid volume is returned from get_free_volume()William Wilgus
volume is used for element math and indexing into buffers -1 volume is bad Change-Id: I1ec75ef3a848c154ea80905224ea9a3a14bf8151
2021-08-04Document intentional fallthroughs + fix harmless unintended onesAidan MacDonald
Change-Id: I1ca5b1027ec30cbf61093bab35b980196ed14e6b
2021-08-04powermgmt: Clean up some convoluted #ifdefsSolomon Peachy
Makes it more explicit what code is used under which circumstances. Change-Id: I0a482dd48e1eb4b119ca6d8dca2b8aa450445fd1
2021-08-01Software Volume: Remove sample roundingDana Conrad
Change-Id: I630139333d64b4c8cae86939ecfc52c44a34ffea
2021-07-31crc32/adler32: add full copyright notice to source filesJames Buren
Change-Id: Ifa04be9a6e419772c18b21e81fe1f246f4248af7
2021-07-30adler32: import adapted implementation from tinf/zlibJames Buren
This adds an adapted version of the adler32 algorithm from tinf/zlib which will be necessary to support ZLIB deflate streams in the future. Change-Id: Ie60e15acb288acf56a2d44e3d3e912e1b3eb2216
2021-07-30libc: atoi() is supposed to return 0 if handed a NULL pointerSolomon Peachy
Change-Id: I2d77532536ca83e5c9c2d7622a0e672082969f75
2021-07-25Fix remaining yellow from e532714d1fAidan MacDonald
Change-Id: If0bdd1fb3c8ee3324562638bc4c4181357a8fd53
2021-07-25Fix yellow from e532714d1fAidan MacDonald
Change-Id: I4f49e93fc1efa78874fb76de6a436ad1fc894cc5
2021-07-25pcm: Remove unused function pcm_play_dma_get_peak_buffer()Aidan MacDonald
Change-Id: Ifd20fb14a22489cdb99154c01f69809a1e70d0c5
2021-07-23usb_storage: Fix a memset in SCSI_INQUIRY that overflowed its bufferSolomon Peachy
The funny thing is that the memset() for the field in question was redundant, as the overall inquiry structure was memset(0) already. Change-Id: I8bec0c93c9317823ff39cf7133535e3bf58fb987
2021-07-20timefuncs.c valid_time() should return false if tm == NULL and not try to derefWilliam Wilgus
luckily no one has yet.. Change-Id: I4117db84b013fa826958aea635daa0a24ee534b6