summaryrefslogtreecommitdiff
path: root/firmware/export/usb_core.h (follow)
Commit message (Collapse)AuthorAge
* usb: move usb charging function prototype from usb_core.h to usb.hAmaury Pouly2015-01-08
| | | | | | Change-Id: Id29c60d3aa26f8badca6c38c1cbb2e5a39c554dc Reviewed-on: http://gerrit.rockbox.org/1094 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
* usb: add support for hardware handled SET ADDR/CONFIGAmaury Pouly2012-12-07
| | | | | | | | | | | | | | | | | | | | | | | Some USB controllers like the one of the Rockchip 27xx handle some requests in pure hardware. This is especially a problem for two of them: - SET ADDR which is used by our core to track the DEFAULT/ADDRESS state and is required for the drivers to work properly - SET CONFIG which is used by our core to initialise the drivers by calling init_connection() In these cases we need a way to notify the core that such requests happened. We do this by exporting two functions which directly notify the core about these requests and perform the necessary init steps required without doing the actual USB transfers. Special care is needed because these functions could be called from an interrupt handler. For this reason we still use the usb_queue and introduce new IDs so that they are processed in order and safely. No functional change is intended, both in the usbstack and on targets without such quirks. Change-Id: Ie42feffd4584e88bf37cff018b627f333dca1140
* New USB charging system, part 1 - API rework and user-visible setting updateTorne Wuff2010-06-05
| | | | | | | | | | | | | | | 1) "Charge during USB connection" option is now tristate: off/on/force. Currently "force" behaves just like "on", but in future it will allow charging even when it was not possible to positively identify a charger. 2) The H300 code has been adjusted to use the new system but there should be no functional differences, it already had the USB charging option and its USB/charging support is hardware controlled. 3) The Gigabeat S code has been adjusted to use the new system: the player now has the USB charging option, which wasn't previously available. The player will only charge at full speed when allowed to do so by a working USB host, so USB AC adapters won't work very well; however, they didn't work before either, so this is not a change in functionality. 4) The iPod Nano 2G code has been adjusted to use the new system: it already had the USB charging option. Using a USB AC adapter won't charge at full speed any more (it did before) - the old implementation was equivalent to the not-yet-implemented "force" option in the new system. No other target should be affected. Support for the "force" mode and support for at least some other iPod models will come in a future commit :) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26570 a1c6a512-1295-4272-9138-f99709370657
* Change control handling to start expecting host packets before sending data ↵Frank Gevaerts2009-10-19
| | | | | | to the host. This makes the handling less timing sensitive on some controllers git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23263 a1c6a512-1295-4272-9138-f99709370657
* Reorganise USB stack defines. Now config.h decides which class drivers get ↵Frank Gevaerts2009-05-23
| | | | | | | | | enabled instead of usb_core.h Also enable HID, and use that as the dummy class instead of charging-only for controllers that have working interrupt transfers. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21053 a1c6a512-1295-4272-9138-f99709370657
* Add working USB HID driver, by Tomer Shalev (part of his GSoC work).Frank Gevaerts2009-05-16
| | | | | | | | | This needs support for usb interrupt transfers, so there are some changes in various USB drivers as well (only usb-drv-arc supports it at this point, others won't have working HID yet). HID is disabled for now, as the apps/ part is not included yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20962 a1c6a512-1295-4272-9138-f99709370657
* Add preliminary HID driver. It doesn't do anything yet, but that should ↵Frank Gevaerts2009-04-19
| | | | | | change soon (FS#10116 by Tomer Shalev) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20750 a1c6a512-1295-4272-9138-f99709370657
* reorganise usb_core.c a bit, to make the code more readable and more ↵Frank Gevaerts2009-04-19
| | | | | | maintainable (FS#10150 by Tomer Shalev)) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20748 a1c6a512-1295-4272-9138-f99709370657
* Correct Björn's name in various file headers.Nicolas Pennequin2009-03-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20491 a1c6a512-1295-4272-9138-f99709370657
* USB detection changes. c200/e200: Consider USB to be powered when charger is ↵Michael Sevakis2009-01-19
| | | | | | 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
* USB retweaking: Take out the USB_REQUEST/RELEASE_DISK scheme and simply ask ↵Michael Sevakis2009-01-13
| | | | | | the USB core whether or not any drivers require exclusive access at the moment of connect. Doing anthing else just produces nasty effects on Windows because it expects some communication just for enabling the PHY and not allowing it to mount volumes if a thread doesn't ack causes annoying error message boxes. Make behavior of each USB type identical from the system perspective. Some miscellaneous changes (simplify, ata->storage naming, define only used USB_* enums values were possible). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19762 a1c6a512-1295-4272-9138-f99709370657
* reorganise the USB stack a bit to allow for easier integration of non-ARC ↵Frank Gevaerts2008-10-03
| | | | | | controller drivers git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18703 a1c6a512-1295-4272-9138-f99709370657
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | 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
* add usb_allowed_current() function, so powermanagement code can know when ↵Frank Gevaerts2008-06-04
| | | | | | it's allowed to charge from usb git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17688 a1c6a512-1295-4272-9138-f99709370657
* Convert the whole codebase to UTF-8, except docs/COMMITTERS and ↵Nicolas Pennequin2008-05-05
| | | | | | tools/creative.c, which need checking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
* - change the usb class driver framework to allow for device classes with ↵Frank Gevaerts2008-04-26
| | | | | | | | | | 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
* Put USB controller structures in IRAM. This seems to make the connection ↵Frank Gevaerts2008-04-20
| | | | | | much more stable on PP502x git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17191 a1c6a512-1295-4272-9138-f99709370657
* Add keywords and fix more headers.Michael Sevakis2008-04-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17157 a1c6a512-1295-4272-9138-f99709370657
* UMS for the Gigabeat S. Bootloader USB mode. Has a couple quirks 1) First ↵Michael Sevakis2008-04-18
| | | | | | 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
* left USB_SERIAL enabled by default yet again...Frank Gevaerts2008-03-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16620 a1c6a512-1295-4272-9138-f99709370657
* make the usb storage driver handle hotswap correctly, and exit the usb ↵Frank Gevaerts2008-03-10
| | | | | | 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
* disable USB_SERIAL by default again. It got enabled accidentally in the last ↵Frank Gevaerts2008-03-06
| | | | | | commit git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16542 a1c6a512-1295-4272-9138-f99709370657
* reorganise the usb stack to provide a clean separation between core and ↵Frank Gevaerts2008-03-06
| | | | | | class drivers git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16541 a1c6a512-1295-4272-9138-f99709370657
* remove usb_benchmark. Its usefulness is extremely limited, and the usb stack ↵Frank Gevaerts2008-03-03
| | | | | | around it is moving fast, so it's likely to suffer from bit rot very soon. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16500 a1c6a512-1295-4272-9138-f99709370657
* move the usb_core thread functionality to the main usb threadFrank Gevaerts2008-02-27
| | | | | | | | | fix button-detection so screenshots and charge-only mode work without enabling UMS firewire detection is now handled separately from usb detection increase the usb thread priority while an UMS connection is active git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16435 a1c6a512-1295-4272-9138-f99709370657
* Major USB stack improvements. It now works at nearly the maximum speed for a ↵Frank Gevaerts2008-02-20
| | | | | | | | | full speed connection, and does seem stable. Still not enabled by default, #define USE_ROCKBOX_USB is still required to enable it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16360 a1c6a512-1295-4272-9138-f99709370657
* Re-added USB charger detection and auto reboot on host connect.Björn Stenberg2007-11-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15774 a1c6a512-1295-4272-9138-f99709370657
* New USB stackBjörn Stenberg2007-11-22
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15758 a1c6a512-1295-4272-9138-f99709370657