path: root/firmware/target/arm
AgeCommit message (Collapse)AuthorFilesLines
4 daysDM320: Use SD/MMC data done interruptTomasz Moń1-17/+32
Wait on semaphore until DMA finishes instead of busy waiting. This allows the CPU to be used by other tasks during transfers. Increase peripheral clock frequency, divide AHB by 2 instead of 3. Function clock frequency is AHB divided by MMC divider + 1. Change-Id: Ic890634da7e3541962ea3501eae8fa2ca2db606a
5 daysSansa Connect: Properly setup internal speakerTomasz Moń1-52/+56
Switch to internal speaker when headphones are disconnected. Change-Id: I7c04ac139ad540d85f960e9dadc2faaf4f856055
7 daysSansa Connect: Disable endpoint double bufferingTomasz Moń1-2/+8
Disabling double buffering results in expected CPPI TX behaviour. With the double buffering enabled, sending single ZLP resulted in two ZLPs being available. The two ZLPs is problematic because this causes Windows to reset USB device after failed SCSI command. The problematic sequence on Windows 10 was as follows: * Host sends SCSI Mode Sense(6) Informational Exceptions Control(0x1C) * Device sends ZLP * Device sends command failed response With endpoint double buffering enabled the ZLP was read twice by host. As host was expecting command response on the second read (and got ZLP instead), host attempts recovery by resetting USB device and retrying. Change-Id: I64e95998f429ffb7b14143d956b1f29d20218d14
9 daysSansa Connect: Remove fake battery voltage scaleTomasz Moń2-68/+8
Use battery percentage as reported by AVR. Change-Id: Id697d460b240798eb0b103f9e1f419906b87e9ca
9 daysSansa Connect: Add missing includeTomasz Moń1-0/+1
Include usb.h to have usb_acknowledge() prototype. Change-Id: I2dd951315a93e7c1c456358d715f9ec44bf9e5af
10 daysSansa Connect: Working USB Mass StorageTomasz Moń3-17/+9
Acknowledge SYS_USB_CONNECTED in all queues so USB task can gain exclusive access to the storage. Reduce CPPI requeue timeout to speed up disk access. Change-Id: I322aae4cac679696bb8186ccacf838a18f0715e9
10 daysSansa Connect: Fix sending ZLP on non-zero endpointTomasz Moń1-2/+13
This fixes panic when mass storage driver sends failed result. Change-Id: I14ae975b1f23aee7bc2f7bad6ed68dde29cf5e36
10 daysSansa Connect: Fix bulk transfers greater than 64 bytesTomasz Moń1-4/+19
Correctly set endpoint maximum packet size so host will not consider end of transfer after receiving first packet when transfer is larger than 64 bytes (at High Speed the endpoint max packet size was set to 64 but according to descriptor it is 512). Split DMA transfers up to CPPI_MAX_FRAG so we get single interrupt after each call to tnetv_cppi_send(). Change-Id: I385b66bc5d71975a4e3e9167efac0b1334bd3ffc
10 daysDM320: Fix SDHC response format 2 handlingTomasz Moń1-9/+17
Return complete R2 response to caller. Due to incorrect bitfield handling only bits [127-96] were ever returned to caller. Change-Id: I83726af35fb24a8051fcca8b8d019ad89d17500e
13 daysSansa Connect: Initial TNETV105 driver portTomasz Moń7-54/+3033
Port USB driver from Sansa Connect Linux kernel sources. The device successfully enumerates and responds to SCSI commands but actual disk access does not work. The SCSI response sent to host mentions that both internal storage and microsd card are not present. Change-Id: Ic6c07da12382c15c0b069f23a75f7df9765b7525
14 daysDM320: Fix buffer overrun in sdmmc driverTomasz Moń1-5/+4
Modify count, buffer and start address only after successful transfer. This makes the retry operation to use the same address and buffer as the just failed transfer. Change-Id: I4f49bbdc861d634e33ea5e939a9693474411d24d
2021-06-04ipod6g:: Get rid of magic command numbers in ata driverSolomon Peachy1-14/+33
Use CMD_* macros instead. Makes the code a bit easier to follow. No functional change. Change-Id: Ieb3d8f6fcca503421d3067aafbd0011a908368e0
2021-05-21Sansa Connect: Clear recoverzap parameterTomasz Moń2-9/+9
Clearing recoverzap parameter exists the Recovery Mode. This makes it possible to run Rockbox on Sansa Connect without relying on original Linux firmware. Enable write-through cache on flash memory as write-back complicates handling without any real benefits. The flash memory accepts commands as series of writes at predefined addresses, so it is important that the cache does not interfere with the writes. Change-Id: I219f962f20953d84df43012cf16bbb16d673add8
2021-05-12Add tm->yday to RTC ports missing itMoshe Piekarski2-2/+2
Change-Id: I86882262bafb8d06f925aabb87ebd1b5dcb0cd53
2021-04-26Nuke the never-functional iriver ifp-7xx portSolomon Peachy19-1780/+0
It never worked, and hasn't compiled in something like a decade, Given the HW capabilities (limited onboard flash, no expandability) there's really no point in trying to fix/complete it. Change-Id: I7d175089840396f8891645bd10010d730dd5bfdc
2021-04-26Nuke all TCC77x targets: iAudio 7, Sansa C100, M200(v1-3), Logik DAXSolomon Peachy45-3370/+3
They were never finished, never saw any release ever, and haven't compiled for the better part of a decade. Given their HW capabilities [1], they are not worth trying to fix. [1] 1-2MB RAM, ~256MB onboard flash, no expandability Change-Id: I7b2a5806d687114c22156bb0458d4a10a9734190
2021-04-18Move usb-designware out of ARM target treeAidan MacDonald1-1381/+0
Change-Id: Ic981737976655596ea622b7b4d15a2d841bd993d
2021-04-10pp: fix adc mistake where base 10 was used instead of base 16James Buren1-1/+1
Change-Id: I8562af8a11a22cd9edec149b2519ac0205d2b2dc
2021-04-01gigabeats: Fix hang on startup caused by a stack overflowSolomon Peachy1-1/+1
headphone ADC thread stack was slightly too small. Bump it up a bit. (it was _perfectly_ sized for the prior older toolchain+optimization flags...) Change-Id: I2ca67c2b85c54f879892a31e281d7696f893389c
2021-04-01PP: More cache invalidation fixesSolomon Peachy1-4/+4
Take into account the size of the pointer in the loop termination condition. Change-Id: Ib4f7625ef143149a0d691a2109bad67aece6241c
2021-04-01PP: Use CURRENT_CORE instead of IF_COP_CORE(CPU)Solomon Peachy1-8/+8
Use of IF_COP_CORE was mistakenly introduced as part of 89acde6af2, effectively short-circuiting multiple tests resulting in the code paths always being executed, on both cores. Use the correct macro, so per-CPU paths are handled properly. Change-Id: Id346cf759fc1b06b7d56694d7af1f469caf785a4
2021-04-01H10 PP Crash -- FixedWilliam Wilgus1-25/+56
This appears to finally fix the issue turns out the status register we were writing was only for the CPU COP cache flush wiped out the CPU cache -- Added some defines to cut down on the magic numbers Added some comments explaining such Set the address to full 20 bit address 0x1FFFFF which is then left shifted 11 internally -- somewhere around 4GB? Link explains the cache status bits Change-Id: I57b7187c2f71a5b54ce145bf3a21ed492a8993cb
2021-03-27rk27xx: Take advantage of STORAGE_NEEDS_BOUNCE_BUFFERSolomon Peachy2-0/+10
(And get rid of its custom realignment code) Change-Id: Iff27d717b870d3db239310421776744ea6863373
2021-02-27Disable UDMA 2 on iPod4G targetChristian Soffke1-2/+4
ATA DMA was enabled for all PP502x targets in d118f47 after previously reported instabilities were thought to have been fixed. The iPod 4G target remains unstable when UDMA 2 is enabled. File system corruption will eventually occur even using stock hardware in normal usage, according to both my own experience and that of several other forum users. UDMA 1 appears to be stable. Change-Id: I8526bad9e879f5dad5174cfe07cd8828d8b72406
2020-11-29FS#5320: Keypad hold doesn't let go until scrolling is used (ipod 4g/5g)Solomon Peachy1-0/+8
Patch by Boris Gjenero Change-Id: I7df956fb63478bbbe891104faf5ab35096da7576
2020-11-12pcm: Further cleanup of unused bits of the PCM ACPI:Solomon Peachy14-102/+1
* pcm_get_bytes_remaining() * pcm_calculate_peaks() * pcm_get_peak_buffer() Nothing in-tree uses these at all (except for the lua plugin wrapper) Change-Id: I971b7beed6760250c8b1ce58f401a601e1e2d585
2020-11-08Fuze+: Fix misplaced rectangle when lcd_flip setMoshe Piekarski1-7/+30
Change-Id: Ic5197d8dffd66cfefdb42242869b48b33aa4d042
2020-11-04pp5020: use ipod firmware timings for ATA PIO.Torne Wuff2-27/+39
Some mSATA adapters seem to have trouble working with Rockbox using our normal PIO timings; the timing value we use is probably out of spec and is different to the OF. Switch to using the OF's timings according to which PIO mode we select. This may not completely resolve problems with these adapters but allows Rockbox to boot and play audio. Change-Id: If73210700eb4af01864b373709ee1d15c775fb11
2020-10-31pcm: Get rid of pcm_play_pause() and associated APIsSolomon Peachy14-167/+1
Nothing in the core has used it for some time. It's exported to the plugin API but the last plugins to use it were switched to the mixer API back in 2011. This allows us to get rid of pcm_play_dma_pause() from all audio drivers Change-Id: Ic3fa02592316f84963e41d792d1cabb436d1ff6b
2020-10-26'Fix RED e200 Framebuffer_viewport_rewriteWilliam Wilgus1-2/+2
Free malloc in checkwps too Change-Id: I2b8fcbc94beb0644b643d3b7a9cb53bc26fc8a51
2020-10-26LCD core move buf ptr and address look up function viewport structWilliam Wilgus3-4/+4
I'm currently running up against the limitations of the lcd_draw functions I want these functions to be able to be used on any size buffer not just buffers with a stride matching the underlying device [DONE] allow the framebuffer to be decoupled from the device framebuffer [DONE need examples] allow for some simple blit like transformations [DONE] remove the device framebuffer from the plugin api [DONE}ditto remote framebuffer [DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr while remote lcds may compile (and work in the sim) its not been tested on targets [FIXED] backdrops need work to be screen agnostic [FIXED] screen statusbar is not being combined into the main viewport correctly yet [FIXED] screen elements are displayed incorrectly after switch to void* [FIXED] core didn't restore proper viewport on splash etc. [NEEDS TESTING] remote lcd garbled data [FIXED] osd lib garbled screen on bmp_part [FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport [FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer [FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw) [UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear scrolling viewports no longer trigger wps refresh also fixed a bug where guisyncyesno was displaying and then disappearing [ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes (LCD_ and LCD_REMOTE_) LCD_STRIDE(w, h) same as STRIDE_MAIN LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH) test_viewports.c has an example of usage [FIXED!!] 2bit targets don't respect non-native strides [FIXED] Few define snags Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-13Work around wonky inline asm issue with creativezenvm build.Solomon Peachy1-1/+13
The right thing here probably to just not bother at all, as this bootloader can't launch rockbox yet anyway. Change-Id: I62bd22353b6adc9dbe35b94f3b60a6a67348356a
2020-10-13Fix more red.Solomon Peachy1-2/+4
Change-Id: Id1a45b420f8eb70a25010b058822b78f80db33d8
2020-10-13fix more yellowSolomon Peachy2-1/+5
Change-Id: I74bad58707d05ea167169d4315c05eb0cd1c8b7b
2020-10-13Fix more warnings.Solomon Peachy3-1/+11
Change-Id: Ib3a9fc622a46b1fc72e94dcbc6d29d2e430cd81b
2020-10-13imx31: Work around an apparently not-quite-kosher abuse of CPPSolomon Peachy3-4/+19
(we were trying to foward-declare functions from within static initializer context. GCC no longer accepts this) Change-Id: I58f316ecc84c8ab45fffc054955727a55714b0a3
2020-10-13Fix a pile of yellow in the bootloaderSolomon Peachy6-45/+59
Change-Id: Ia89a33bbb13683566e421ac2a002baa20cdb07de
2020-10-08Undo the hacks that allowed targets without LEFT/RIGHT (UP/DN) to build.Solomon Peachy2-6/+2
Replaced them with warnings until they are fixed *PROPERLY* Change-Id: I4425200e60f8b5224262a54f105b974cec471d22
2020-10-02imx233: Hardware codec supports up to 192KHz. Make it so!Solomon Peachy2-2/+8
Change-Id: If08a1d244f28092a5d5332d666fb9afdc78f35a9
2020-08-19Enable boot from SD for Sansa e200Johannes Rauh2-12/+161
Change-Id: I0940f2cd5fc914d6d5061b5798b1a636009649b7
2020-08-06FS#9295: Detect external power supply for ipod 1st & 2nd gen (Mark Fawcus)Solomon Peachy1-1/+1
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 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-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-09FS#12082: Add Tuner support to the Nano2G (Bertrik Sikken)Solomon Peachy1-1/+1
(The serial portions of the patch were already present, this just pulls in the tuner enablements) Change-Id: I8090e318f34835769ac0a56d7a48b9250631eb4f
2020-07-05portalplayer: Fix three set-but-not-used warnings.Solomon Peachy2-1/+7
(They show up when building with gcc494) Change-Id: Id5e2bccf18114ed78a557ac1b369f46b4f07d042