Commit graph

1758 commits

Author SHA1 Message Date
Karl Kurbjun
30c3382a48 M:Robe 500: Improve audio DMA shutdown for Pause/Stop and significantly reduce the size of the DSP code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23817 a1c6a512-1295-4272-9138-f99709370657
2009-12-02 04:30:08 +00:00
Jack Halpin
c67ce499f3 Sansa AMS: Check if SD controllers are already enabled before attempting to enable in order to read the registers.
If the controllers were already enabled there was a chance we could try to read the MCI_CLOCK registers while the cards were buffering and then disable the controllers prematurely.

I guess funman knows and sees all!!  Thanks funman.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23811 a1c6a512-1295-4272-9138-f99709370657
2009-12-01 21:23:11 +00:00
Jack Halpin
5bd4ec0c87 Sansa AMS: Force sd_enable(true) when using the Debug View HW info page so we can read the registers immediately.
Because we turn off the clocks to the SD controllers between disk accesses we were unable to read the MCI_CLOCK registers until there was a disk access.  Now we can read them immediately.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23810 a1c6a512-1295-4272-9138-f99709370657
2009-12-01 20:12:25 +00:00
Jack Halpin
a22ab34649 Sansa AMS: Reorganize sd_enable() and add/change comments. No real functional changes.
Enabling/disabling of the NAF and IDE clocks is now grouped together as both are related to the internal SD.
Sequence for disabling SD now mirrors the enable sequence.
Comments added to make it easier to follow the configuration change for XPD from gpio to mci-sd and back.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23808 a1c6a512-1295-4272-9138-f99709370657
2009-12-01 18:22:25 +00:00
Laurent Gautier
2f4bce3f2c correction on DEFINE, thanks to Kugel who spotted it ;)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23807 a1c6a512-1295-4272-9138-f99709370657
2009-12-01 18:11:06 +00:00
Laurent Gautier
0260852771 Add support for the ipod FM remote to the 4G, Color, 5G, nano 1G with RDS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23805 a1c6a512-1295-4272-9138-f99709370657
2009-12-01 17:54:40 +00:00
Thomas Martitz
ee7cf6c63c Remove unused card_detect(), and make card_detect_target() static inline in each sd driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23757 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 00:51:09 +00:00
Thomas Martitz
82bbd1ed9f Revert unrelated commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23756 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 00:38:56 +00:00
Thomas Martitz
1ecb753668 Redo a hack that precluded entering a folder on an ejected hotswap drive. Use storage api and proper defines for the drive folder instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23755 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 00:37:27 +00:00
Thomas Martitz
10753f195b Mini2440: Cleanup SD driver a bit, undefine SD_DEBUG for faster transfers, implement hotswap and HAVE_HOTSWAP_STORAGE_AS_MAIN.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23754 a1c6a512-1295-4272-9138-f99709370657
2009-11-25 23:23:21 +00:00
Jack Halpin
84f04a57ee AMS Sansa: For consistency, replace references to SECTOR_SIZE with SD_BLOCK_SIZE which is defined in sd.h as 512 bytes.
We had 3 different references to the same value.  Rockbox always uses a blocksize of 512 bytes for SD and we were using SECTOR_SIZE, SD_BLOCK_SIZE, & card_info[drive].blocksize to use this value.  Now the only reference being used is SD_BLOCK_SIZE.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23746 a1c6a512-1295-4272-9138-f99709370657
2009-11-25 03:24:28 +00:00
Rafaël Carré
231e54d80f Sansa AMS : fix recording
Flyspray: FS#10371
Authors: Fred Bauer and myself

Only enabled on e200v2 and Fuze (crashes on clipv1)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23739 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 17:59:25 +00:00
Jack Halpin
cb9dff0a95 AMS Sansa: Include time spent yielding when figuring timeout in sd_wait_for_state().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23738 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 17:43:53 +00:00
Robert Kukla
1511d75f9d Tatung Elio: a few more buttons identified
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23737 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 15:42:54 +00:00
Rafaël Carré
ed13fd6dca Sansa AMS: VIC_INT_ENABLE register is not a mask
When read it returns all enabled interrupt sources
When written it enables interrupt sources for each bit set
So just like VIC_INT_EN_CLEAR, we don't have to read the previous value
before writing to it (VIC_INT_EN_CLEAR is write-only anyway)

Thanks to Fred Bauer for spotting

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23734 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 12:05:53 +00:00
Jack Halpin
4314ceb73b AMS Sansa: Remove MCI_RX_ACTIVE FIFO check following SD transfers.
We don't need to check the FIFO for MCI_RX_ACTIVE because we don't experience problems reading from the SD cards.
We need the MCI_TX_ACTIVE FIFO check during writes because some SD cards spend longer times in the PRG state
programming the data that has been written to them.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23733 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 06:37:36 +00:00
Jack Halpin
9e9db20357 AMS Sansa: Remove wait_for_state() following transfer in sd_select_bank() function.
We use wait_for_state() before any command that requires a state prior to being sent.  Waiting after a transfer is not needed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23732 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 06:12:17 +00:00
Jack Halpin
f5b59cdf5e AMS Sansa: dma-pl081.c: dma_enable_channel() Add step to clear pending interrupts from the previous operation. Add comments and make construction
of the CH_CONTROL and CH_CONFIGURATION registers easier to follow.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23725 a1c6a512-1295-4272-9138-f99709370657
2009-11-23 19:44:13 +00:00
Jack Halpin
fab80009bc AMS Sansa: Handle responses to SD Commands so that response crc checking is accounted for. Adjust sd error codes appropriately.
The crc check on responses to sd commands was being bypassed due to a SD_APP_OP_COND special case.  Now a short response is returned
even if the crc check fails so we can check the busy bit.  The send_cmd() function still returns a false value but it loads the response
variable with the cmd response.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23718 a1c6a512-1295-4272-9138-f99709370657
2009-11-23 04:22:11 +00:00
Jack Halpin
ecbb01fe0a AMS Sansa: Remove a now redundant sd_wait_for_state() and adjust error codes in ata_sd_as3525.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23698 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 14:13:39 +00:00
Jack Halpin
6df98f690d AMS Sansa: Make send_cmd() function a bit less complicated and save ~96 bytes.
Also move sd_wait_for_state() to immediately precede SD_READ/WRITE_MULTIPLE_BLOCK commands.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23692 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 04:50:26 +00:00
Michael Chicoine
bbc8b1b8cb FS#10796 - Clip - prevent power switch activation when coming out of hold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23686 a1c6a512-1295-4272-9138-f99709370657
2009-11-21 21:16:08 +00:00
Nils Wallménius
7d4ca1a85a Increase stack space for the Gigabeat S specific headphone thread to fix stack overflow when compiled with gcc 4.4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23678 a1c6a512-1295-4272-9138-f99709370657
2009-11-20 16:42:07 +00:00
Thomas Martitz
3b402e254a Change "r" back to "i" (i is for immediate, so no syntax error) and reclaim a bit binsize. Live with that those function don't build with -O0 since they rely on inlining.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23641 a1c6a512-1295-4272-9138-f99709370657
2009-11-15 22:29:22 +00:00
Thomas Martitz
a1bc3401f1 Fix a few possible problems discovered in -O0 / eabi experiments.
- two essential parts of Sansa AMS drivers are optimzed away in newer gcc, so mark them volatile.
- use "r" instead of "i" (which is apparently invalid syntax) for the input list in some inline assembly

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23634 a1c6a512-1295-4272-9138-f99709370657
2009-11-15 17:23:25 +00:00
Andrew Mahone
6d93285087 Fix dangling #endif
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23624 a1c6a512-1295-4272-9138-f99709370657
2009-11-14 11:37:16 +00:00
Andrew Mahone
81f72ddef6 Set DRMODE_SOLID, uniform colors, and sysfont before clearing LCD to display panic or exception messages - see FS#10665.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23623 a1c6a512-1295-4272-9138-f99709370657
2009-11-14 11:27:41 +00:00
Bertrik Sikken
daff26b1da Meizu M3: configure and use SDRAM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23614 a1c6a512-1295-4272-9138-f99709370657
2009-11-11 21:31:38 +00:00
Bertrik Sikken
69b7dab5f0 pcm-s5l8700: add missing header file, remove out-of-date comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23612 a1c6a512-1295-4272-9138-f99709370657
2009-11-11 20:30:53 +00:00
Michael Sparmann
91d982a1b6 Fix mpegplayer on S5L870x
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23587 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 15:50:13 +00:00
Karl Kurbjun
2a93cee8e2 M:Robe 500 - Enable ASM optimized ATA interface improving disk access speed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23572 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 00:38:10 +00:00
Michael Sparmann
64ac121e2c Squash another bunch of iPod Nano 2G NAND bugs by moving the idle powerdown code down into the lowlevel driver. Move even more things from the FTL to the bss instead of the stack to prevent USB stkovs. Also fix some evil whitespace.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23570 a1c6a512-1295-4272-9138-f99709370657
2009-11-08 14:55:30 +00:00
Karl Kurbjun
487d088e12 M:Robe 500: Disable LED above screen and add a change for the 256 color blitter
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23564 a1c6a512-1295-4272-9138-f99709370657
2009-11-07 23:00:36 +00:00
Karl Kurbjun
c3edcad1aa M:Robe 500 - Add some more debug information.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23561 a1c6a512-1295-4272-9138-f99709370657
2009-11-07 22:49:34 +00:00
Bertrik Sikken
c87270fb75 Meizu M6SP: initial button driver (adapted from Meizu M3)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23559 a1c6a512-1295-4272-9138-f99709370657
2009-11-07 21:37:28 +00:00
Bertrik Sikken
3f70b661a3 Meizu M6SP: initialise and use SDRAM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23544 a1c6a512-1295-4272-9138-f99709370657
2009-11-06 22:47:09 +00:00
Michael Chicoine
a06feaa7ec Fix FS#10751 - Fuze freezes when using radio while charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23517 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 15:58:18 +00:00
Thomas Martitz
1566705984 Simplify uart_printf() a bit by using vuprintf(), that also makes removing a static buffer possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23504 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 21:28:02 +00:00
Thomas Martitz
310346ebcc Fix a #elif without condion (is an error with newer gcc/cpp versions).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23502 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 21:20:02 +00:00
Torne Wuff
2d0af6f3c7 FS#9728: Battery current measuring on the Video iPod
Patch by Boris Gjenero. Displays the current flowing into or out of the
battery on the ipodvideo. Other ipods do not appear to have this ADC channel
connected.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23500 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 20:35:04 +00:00
Jeffrey Goode
9d842683eb Comment out LOGF_ENABLE defines everywhere, replace evil comments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23497 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 16:25:03 +00:00
Bob Cousins
deb1b0e51c Improvements to mini2440 audio; change CPU freq to 406MHz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23495 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 13:50:52 +00:00
Rafaël Carré
9b46960baf Sansa AMS PCM : cleanup
Init CGU_AUDIO with correct clock source (for play & rec)
Do not disable recording clocks when starting playback, they are already disabled
Move clock enable/disable code from dma callback to init

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23493 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 08:14:28 +00:00
Rafaël Carré
d06aafc03a Sansa AMS: fix system_exception_wait()
If a panicf() is called while a button is still pressed, the Sansa would
reboot immediately with no chance to see the message

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23490 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 07:42:42 +00:00
Michael Sparmann
890444c917 Hopefully fix the remaining iPod Nano 2G flash issues, by adding a tiny sleep after resetting the chip. Also remove some evil tabs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23489 a1c6a512-1295-4272-9138-f99709370657
2009-11-02 22:18:09 +00:00
Karl Kurbjun
02385cb5b0 M:Robe 500/M66591 USB improvements: Interrupts now work, a bug in odd-length transfers has been fixed. Buffers that are not initially short aligned are also now supported. Enable USB HID mouse mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23483 a1c6a512-1295-4272-9138-f99709370657
2009-11-02 04:37:57 +00:00
Rafaël Carré
fb126d4305 Sansa AMS : reduce size of interrupt source/isr mapping table
INT_GPIOB is not used
INT_MCI0 and INT_GPIOA are only put in the table if needed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23481 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 23:41:10 +00:00
Rafaël Carré
f64a3fe149 Sansa AMS PCM: remove runtime sanity checks
Unaligned memory ops will cause a data abort anyway
Make the check for samplerate at buildtime

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23480 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 23:35:34 +00:00
Bob Cousins
33040275cf Improvements to mini2440/UDA1341 audio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23478 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 22:58:08 +00:00
Rafaël Carré
9b4057bbd4 Sansa AMS recording support (Microphone and FM)
Still disabled on all targets:
- Fuze and e200v2 see spurious interrupts with no source defined
- Clip/m200v4 deadlock instantly when starting recording (perhaps due to low memory size)

Having the code in SVN will make working on this feature easier

Also add keymaps for Fuze, and correct Frequency section of recording
options : the 22.05kHz limitation of e200v1 and c200v1 doesn't apply to
Sansa AMS (different I2S hardware, unrelated to as3514)

Flyspray: FS#10371
Authors: Fred Bauer and myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23476 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 22:51:31 +00:00