Commit graph

31 commits

Author SHA1 Message Date
Michael Sevakis
a1a332e04b Gigabeat S: Implement MDMA and UDMA disk access for bootloader and main binary. Add a needed SDMA API to check channel errors. Increase audio DMA channels' priority as required. Reads and writes measure faster accross all test_disk tests and especially at 4KB and 1MB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20299 a1c6a512-1295-4272-9138-f99709370657
2009-03-12 06:31:40 +00:00
Michael Sevakis
cda8cbf455 imx31: Correct a register name typo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20171 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 06:20:11 +00:00
Michael Sevakis
2d8813e26b imx31 ATA: Correct a register #define error (due to error in user's manual). Fix timing for PIO tAX.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20169 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 06:10:13 +00:00
Michael Sevakis
94537f954e Gigabeat S: Implement an SDMA API and use it in the PCM driver. Some other miscellaneous adjustments to recording and PCM buffer to accomodate use of physical addresses and cache coherency.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19949 a1c6a512-1295-4272-9138-f99709370657
2009-02-08 22:32:41 +00:00
Michael Sevakis
4d3a020f27 Gigabeat S: Move the LCD framebuffer address so that DRAM can be mapped flat between physical and virtual addresses. NO BOOTLOADER UPDATE SHOULD BE NEEDED. The firmware image now handles low-level system setup as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19935 a1c6a512-1295-4272-9138-f99709370657
2009-02-07 10:09:13 +00:00
Michael Sevakis
7bcfc38b42 Gigabeat S: Implement a genuine udelay function. Timer is gated to not run in WFI mode to save power and as such time until rollover is variable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19820 a1c6a512-1295-4272-9138-f99709370657
2009-01-23 01:23:25 +00:00
Michael Sevakis
616c98b38f USB detection changes. c200/e200: Consider USB to be powered when charger is plugged but detect USB connection by bus reset. When received, disconnect and restart the driver fully enabled. imx31: Fix hack used to make initial connect succeeded-- set PHY type before initial reset. General: Move some target code out of usb-drv-arc.c and implement it in respective usb sources and CPU headers so things stay clean.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19797 a1c6a512-1295-4272-9138-f99709370657
2009-01-19 13:41:25 +00:00
Michael Sevakis
2e99b3d931 Gigabeat S: Allow recording from FM. Give FM the same volume range as playback. NOTE: This bumps the si4700 output volume to -0dB so other players with that may need a minor adjustment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19619 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 01:38:44 +00:00
Michael Sevakis
1fea6f6b22 Make si4700 tuner driver more sane with bit and field defines and entirely hide strange i2c interface from code with write/set/clear/masked functionality. On Gigabeat S use by-the-book busmode selection and GPIO lines. Implement some primitive station detection, debug registers in screen, and misc. changes to tie things together.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19600 a1c6a512-1295-4272-9138-f99709370657
2008-12-27 19:18:50 +00:00
Michael Sevakis
b2dd3c210e Fix yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19326 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 15:19:49 +00:00
Michael Sevakis
14d37cb455 Add some watchdog timer definitions for IMX31L
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19143 a1c6a512-1295-4272-9138-f99709370657
2008-11-19 06:32:06 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Michael Sevakis
71372162b1 Enable write buffering for the 1MB device memory section. This means using a different device framebuffer address too. You must update the firmware _and_ bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17458 a1c6a512-1295-4272-9138-f99709370657
2008-05-11 15:39:00 +00:00
Nils Wallménius
f24eaabcad Disable clocks for most modules in the imx31l on startup, individual drivers handle enabling/disabling clocks for used modules
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17417 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 16:27:23 +00:00
Michael Sevakis
5df4405317 Gigabeat S: Man it's so loud in here. We have SOUND! Someone please make keymaps consistent; it's rather messy atm.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17327 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 15:14:52 +00:00
Michael Sevakis
05423386d4 Remove some cruft not being used that interferes with building rockboy on Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17302 a1c6a512-1295-4272-9138-f99709370657
2008-05-02 00:34:19 +00:00
Michael Sevakis
88451d59c4 IMX31: Use template structures to access modules' registers from a base address (as for i2c) which makes drivers look nicer and makes array accesses of registers simpler. Throw in minor fix to fiq_handler dispatcher, otherwise no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17270 a1c6a512-1295-4272-9138-f99709370657
2008-04-27 21:32:10 +00:00
Michael Sevakis
27fac88548 Gigabeat S: Implement i2c driver - transmit works but no testing of receiving which will get a chance later. Add some seeds for codec driver. Correct a few #defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17254 a1c6a512-1295-4272-9138-f99709370657
2008-04-27 10:30:54 +00:00
Frank Gevaerts
7a2d9ddb08 move some data around to place qh_array at the start of iram. This saves up to about 2k iram on PP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17194 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 18:43:47 +00:00
Michael Sevakis
94f7d0f290 UMS for the Gigabeat S. Bootloader USB mode. Has a couple quirks 1) First plug has problems if cold. Replug if it doesn't connect or not at high speed 2) Linux doesn't like the odd bootable flag value used in the partitions so it won't mount but Windows works. Fix minor OTG driver bugs and clean up device memory handling. Generic name for ARC controller driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17154 a1c6a512-1295-4272-9138-f99709370657
2008-04-18 16:42:50 +00:00
Michael Sevakis
a7af9e4a7f Add GPIO manager. Get the PMIC interrupt handling working (along with power button and HP detect). Add some reg field defined instead of using raw numbers. Add PMIC info to debug ports screen. Refine PMIC driver ops a little bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17086 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 16:56:45 +00:00
Michael Sevakis
0b1d7e76d7 Serial driver for imx31. Perhaps not 100% but maybe 80-90% (future developments will tell). Factor-out the mc13783 stuff and make that driver a layer above the SPI. TODO: start processing PMIC interrupts. Start a clkctl API for imx31 (we'll see if this sticks around but it seems reasonable here). Misc. stuff for convenience/neatness.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17070 a1c6a512-1295-4272-9138-f99709370657
2008-04-11 08:51:27 +00:00
Michael Sevakis
404a204e58 Gigabeat S: Add some more register #defines to use later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16927 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 00:33:02 +00:00
Will Robertson
bc4621499a Bring the IMX31 serial driver in line with the CONTRIBUTING guidelines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16352 a1c6a512-1295-4272-9138-f99709370657
2008-02-19 14:15:59 +00:00
Michael Sevakis
02de55cc85 Gigabeat S: Get button driver at 100%. Disable SPI because it hangs and will be changed to interrupt-based. Add some more iMX.31 register definitions and flags.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16247 a1c6a512-1295-4272-9138-f99709370657
2008-02-09 07:59:53 +00:00
Michael Sevakis
bc057f91b5 Gigabeat S: Get boot to go a little father.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16245 a1c6a512-1295-4272-9138-f99709370657
2008-02-08 06:34:11 +00:00
Michael Sevakis
a07c034de7 Gigabeat S: Interrupt enabled bootloader. Miscellaneous integration changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16243 a1c6a512-1295-4272-9138-f99709370657
2008-02-08 02:20:05 +00:00
Michael Sevakis
5ded48dbea Oops. Dump some testing stuff that got left in.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16217 a1c6a512-1295-4272-9138-f99709370657
2008-02-05 04:53:05 +00:00
Michael Sevakis
1f021af60c Gigabeat S mixer: Make some progress. Get the tick and core sleep working using the AVIC. Redo the startup code to remap from IRAM and not include the lcd driver frambuffer in the remapping (until it can be moved). Clean up LCD driver. For other misc. changes, see the diffs. Now it progresses to ATA init and fails with -11 but without crashing or hanging. Replace all bootloaders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16216 a1c6a512-1295-4272-9138-f99709370657
2008-02-05 04:43:19 +00:00
Will Robertson
383a32a7ae Gigabeat S now uses the shared ARM MMU code rather than the (mostly duplicated) private code. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15961 a1c6a512-1295-4272-9138-f99709370657
2007-12-23 03:47:28 +00:00
Will Robertson
590501cfe4 Merge the Gigabeat S branch back into trunk. Fingers crossed nothing breaks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14805 a1c6a512-1295-4272-9138-f99709370657
2007-09-21 15:51:53 +00:00