Commit graph

109 commits

Author SHA1 Message Date
Frank Gevaerts
19dfe330a1 Add a disconnect handler for usb storage. It doesn't do anything yet, but it will apparently be needed to reset the audio buffer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19418 a1c6a512-1295-4272-9138-f99709370657
2008-12-13 14:49:44 +00:00
Frank Gevaerts
b9c49fd474 Replace USE_HIGH_SPEED with USB_NO_HIGH_SPEED, as high speed support is the normal case
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19274 a1c6a512-1295-4272-9138-f99709370657
2008-11-30 15:53:36 +00:00
Frank Gevaerts
caaf3c0b97 Move tcc77x/usb-tcc77x.c to usb-tcc.c as it is more general than just tcc77x (even usb-tcc is too specific, but I don't know anything better)
Add #if0ed USB defines to config-cowond2.h, so experimenting with USB is easy
Add dummy set_serial_descriptor() implementation to usb_core.c. This one doesn't generate a unique serial, so it must never be used for non-testing purposes. When usaed, a compiler warning will be generated


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19273 a1c6a512-1295-4272-9138-f99709370657
2008-11-30 15:43:15 +00:00
Frank Gevaerts
214cd81f08 Add ramdisk storage driver. It will be useful for developing multi-driver storage
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18993 a1c6a512-1295-4272-9138-f99709370657
2008-11-03 20:52:27 +00:00
Frank Gevaerts
430343bca7 implement single-driver storage layer with macros instead of inlines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18975 a1c6a512-1295-4272-9138-f99709370657
2008-11-02 01:14:46 +00:00
Frank Gevaerts
2f8a0081c6 Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*.
This should be a good first step to allow multi-driver targets, like the Elio (ATA/SD), or the D2 (NAND/SD).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18960 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 16:14:28 +00:00
Frank Gevaerts
19d1cacb1a cleanup storage defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18950 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 21:25:04 +00:00
Dave Chapman
42f77d4eb0 Abstract the PortalPlayer AS3514 handling with an "ascodec" API - inspired by the wmcodec API used with the Wolfson codecs. The intention is to implement this API for the AS3525 and then share code with the Sansa V2 ports.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18940 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 00:16:42 +00:00
Frank Gevaerts
b0b3f0339a add optional USB mass storage from ramdisk. This can be useful for development
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18849 a1c6a512-1295-4272-9138-f99709370657
2008-10-20 21:49:59 +00:00
Frank Gevaerts
20e704ba78 disable logf again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18704 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 22:49:36 +00:00
Frank Gevaerts
478fc5baed reorganise the USB stack a bit to allow for easier integration of non-ARC controller drivers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18703 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 22:43:16 +00:00
Jens Arnold
b1a584a1b6 Simplify & fix the MMC driver. After more than 3 years I found that the MMC specs were a bit misleading, and the 'large' MMC which state a block size of 1024 or 2048 bytes and no partial read and/or partial write capability are happily accepting a block size of 512 bytes. So go KISS and remove all the variable/partial block handling code. This fixes the driver for the Transcend 4GB MMCplus, which doesn't cope when we actually set the 2048 byte block size it states. It also makes write operations involving small blocks faster and more reliable. * Note: The 4GB Transcend still doesn't work when plugged at boot, but works when hotplugged.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18515 a1c6a512-1295-4272-9138-f99709370657
2008-09-14 20:33:24 +00:00
Frank Gevaerts
ab7cfd2855 revert r18327, as it introduces serious issues on non-sd players (like ipods)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18370 a1c6a512-1295-4272-9138-f99709370657
2008-08-31 15:11:04 +00:00
Frank Gevaerts
1f7b22bd37 Make usb_storage work on all targets again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18357 a1c6a512-1295-4272-9138-f99709370657
2008-08-28 09:02:28 +00:00
Frank Gevaerts
3dad671ef3 Use cached memory for ata_write_sectors(). This seems to finally fix FS#8663
Thanks to Martin Ritter for finding out that the uncached accesses were somehow causing this

SERIALIZE_WRITES can probably be removed, but this requires a bit more testing first


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18327 a1c6a512-1295-4272-9138-f99709370657
2008-08-21 10:10:58 +00:00
Frank Gevaerts
df7d6d0e6e define SERIALIZE_WRITES for all HAVE_ATA_SD, not just the sansas
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18001 a1c6a512-1295-4272-9138-f99709370657
2008-07-09 21:00:38 +00:00
Frank Gevaerts
3f3bb75d6a Don't do overlapping USB transactions and SD writes. This seems to avoid FS#8663
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17997 a1c6a512-1295-4272-9138-f99709370657
2008-07-09 19:56:09 +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
Frank Gevaerts
27ad822a44 add usb_allowed_current() function, so powermanagement code can know when it's allowed to charge from usb
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17688 a1c6a512-1295-4272-9138-f99709370657
2008-06-04 18:55:58 +00:00
Mark Arigo
3e743ec6c9 Preparing for the Philips SA9200 part 2. Since the SA9200 doesn't have a microsd card (no hotswap), use HAVE_ATA_SD for the Sansa flash driver so we don't rely on HAVE_HOTSWAP in some places.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17488 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 02:50:31 +00:00
Frank Gevaerts
bc1ce741c9 typo fixes (; instead of , at the end of two assignments) (same as r17398 for usb_serial. lesson learned : always check if there are similar bugs elsewhere)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17400 a1c6a512-1295-4272-9138-f99709370657
2008-05-06 21:00:07 +00:00
Frank Gevaerts
ee8ebc9160 typo fixes (; instead of , at the end of two assignments)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17398 a1c6a512-1295-4272-9138-f99709370657
2008-05-06 20:48:50 +00:00
Nicolas Pennequin
357ffb3c46 Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:32:46 +00:00
Bertrik Sikken
ba39a5c110 Added missing usb #includes to usb source files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17309 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 07:10:21 +00:00
Frank Gevaerts
bec6aa3176 - change the usb class driver framework to allow for device classes with more than one interface or more than one endpoint pair
- move the charging-only dummy driver out of usb_core



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17252 a1c6a512-1295-4272-9138-f99709370657
2008-04-26 19:02:16 +00:00
Maurus Cuelenaere
95167e0177 Commit whole Creative Zen Vision:M target tree + all related firmware/
changes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17241 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 20:08:28 +00:00
Frank Gevaerts
02bfba6c61 Put USB controller structures in IRAM. This seems to make the connection much more stable on PP502x
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17191 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 16:51:09 +00:00
Michael Sevakis
1eed012cfc Add keywords and fix headers for files the usbstack files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17156 a1c6a512-1295-4272-9138-f99709370657
2008-04-18 17:05:15 +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
689020f689 Fix yellow. usb_strings needs to point to const data as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17141 a1c6a512-1295-4272-9138-f99709370657
2008-04-16 16:11:09 +00:00
Michael Sevakis
5ff61eee6a Simpilify the uncached buffer allocation for the USB stack using NOCACHEBSS_ATTR. This will probably get abstracted since the appropriate way to handle it will be somewhat target-specific.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17140 a1c6a512-1295-4272-9138-f99709370657
2008-04-16 15:48:54 +00:00
Bertrik Sikken
a24f4b7a80 FS#8898 - Prefix AS3514 registers with AS3514_
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17130 a1c6a512-1295-4272-9138-f99709370657
2008-04-15 21:33:32 +00:00
Frank Gevaerts
be77cf5279 only reconnect mass storage if there is actually an active usb connection, with mass storage enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17098 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 17:16:50 +00:00
Frank Gevaerts
688f8decf4 Clean up the way empty transfers are sent in error cases.
correctly zero out all data that gets sent to the host
I'm just committing this. The actual work was done by Martin Ritter (thanks)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16922 a1c6a512-1295-4272-9138-f99709370657
2008-04-01 20:36:51 +00:00
Frank Gevaerts
ecde125fa7 Sending an empty data block before sending the FAIL CSW seems to make Windows happier if a device is not present (e.g. an empty sd card slot) (fix proposed by Martin Ritter)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16750 a1c6a512-1295-4272-9138-f99709370657
2008-03-22 21:21:37 +00:00
Frank Gevaerts
ea5903dbf1 move boosting for usb around a bit, so the cpu is boosted for the entire duration of actual use of storage. On some setups just boosting for the actual transfers doesn't seem to work
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16726 a1c6a512-1295-4272-9138-f99709370657
2008-03-20 22:05:11 +00:00
Frank Gevaerts
455fabfcb8 fix SCSI_FORMAT_CAPACITY_FORMATTED_MEDIA flag endianness. Thanks to Martin Ritter for spotting this
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16694 a1c6a512-1295-4272-9138-f99709370657
2008-03-18 10:16:27 +00:00
Frank Gevaerts
7fcd26e479 Only boost the CPU for large transactions. It would be nice to get rid of boosting for USB altogehter, but it doesn't seem to work then.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16656 a1c6a512-1295-4272-9138-f99709370657
2008-03-13 19:56:52 +00:00
Frank Gevaerts
292f139f4c fix the last warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16622 a1c6a512-1295-4272-9138-f99709370657
2008-03-10 21:28:44 +00:00
Frank Gevaerts
a0290607e0 remember to test a bit more when doing larger changes...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16621 a1c6a512-1295-4272-9138-f99709370657
2008-03-10 21:16:31 +00:00
Frank Gevaerts
745133014e make the usb storage driver handle hotswap correctly, and exit the usb screen once all drives are "ejected" (either as a command from the OS or physically)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16617 a1c6a512-1295-4272-9138-f99709370657
2008-03-10 20:55:24 +00:00
Frank Gevaerts
326d0ab8c3 make usb_serial work again. Also know as "make sure arrays are allocated at their correct size"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16615 a1c6a512-1295-4272-9138-f99709370657
2008-03-10 20:28:59 +00:00
Frank Gevaerts
f0b4a32d6f reorganise the usb stack to provide a clean separation between core and class drivers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16541 a1c6a512-1295-4272-9138-f99709370657
2008-03-06 21:25:09 +00:00
Frank Gevaerts
1e6d550087 handle interface-specific control requests a bit more cleanly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16519 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 19:32:23 +00:00
Barry Wardell
4c67c334fe Oops. Didn't mean to commit this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16515 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 14:40:04 +00:00
Barry Wardell
46973f7f9f Only need to include these for e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16514 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 14:36:22 +00:00
Frank Gevaerts
52df7addcf present a different USB serial number depending on which USB class drivers are enabled. This is needed for Windows to correctly detect the device if a different set of drivers is active than on the previous plugin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16511 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 12:08:00 +00:00
Frank Gevaerts
931ceed47f MODE SENSE output data length field has to be the length of the response excluding the length field.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16508 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 00:55:26 +00:00
Frank Gevaerts
19815f8197 fix endianness bug in MODE SENSE 10 response
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16507 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 00:46:52 +00:00
Frank Gevaerts
6cfa909002 handle START_STOP_UNIT eject command, to make TEST_UNIT_READY return false once the OS ejects
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16503 a1c6a512-1295-4272-9138-f99709370657
2008-03-03 22:53:25 +00:00