Commit graph

21 commits

Author SHA1 Message Date
mojyack
41caf678fe usb: allow more flexible endpoint allocation
the capabilities of endpoint of several devices such as dwc2 change during
runtime, so they cannot be determined during driver initialization.
therefore, allocation using ep_specs is inappropriate.

to support these devices, add functions to the driver that determine whether
endpoints are available and make allocation more flexible.

tested with ipodvideo(arc) and erosqnative(designware)

Change-Id: I8005c17f3d763cd17306bf49918e1cd8084bdeff
2026-05-04 13:31:21 -04:00
Solomon Peachy
5bbd4d63f0 Fix build errors+warnings introduced in 350a2250b1
Change-Id: Ia5f2079ccc99da30e0058b0d9ce5bb8369201804
2026-01-03 13:59:53 -05:00
mojyack
350a2250b1 usb: implement endpoint allocation
this commit has following changes:
- introduce `usb_drv_ep_spec` table to udc drivers, which represents
  endpoint characteristics.
- introduce 'ep_allocs' table to class drivers, which represents what
  endpoint type does the class driver want.
- implement endpoint matching logic to usb core.

this is a required step to implement usb config switching, because we
need to create config descriptors without actually initializing endpoints.

Change-Id: I11c324cd35189ab636744488f6259d0cdb2179f0
2026-01-03 13:23:53 -05:00
Aidan MacDonald
ec164c389c usb: introduce new control request API
Change-Id: I6545d8985ab683c026f28f6a7c0e23b40d0a6506
2021-10-16 15:58:43 -04:00
Aidan MacDonald
672bbe434b usb: rename usb_drv_recv() to usb_recv_recv_nonblocking()
IMHO the current name is somewhat misleading:

- usb_drv_send() is blocking and we have usb_drv_send_nonblocking()
  for the non-blocking case. This inconsistent naming can only
  promote confusion. (And what would we call a blocking receive?)

- Other hardware abstraction APIs in Rockbox are usually blocking:
  storage, LCD, backlight, audio... in other words, blocking is the
  default expected behavior, with non-blocking calls being a rarity.

Change-Id: I05b41088d09eab582697674f4f06fdca0c8950af
2021-09-20 22:41:29 +01:00
Solomon Peachy
26bebd77ab Fix more red.
Change-Id: Id1a45b420f8eb70a25010b058822b78f80db33d8
2020-10-13 19:45:03 -04:00
Solomon Peachy
09785a8499 fix more yellow
Change-Id: I74bad58707d05ea167169d4315c05eb0cd1c8b7b
2020-10-13 17:23:56 -04:00
Rafaël Carré
a51879dd01 creative zvm isp1583 defines: move to isp1583.h
zvm is the only user of this file

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31495 a1c6a512-1295-4272-9138-f99709370657
2011-12-31 18:44:32 +00:00
Bertrik Sikken
4a8ea6c9d9 Various minor clean-ups for Zen Vision
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27636 a1c6a512-1295-4272-9138-f99709370657
2010-07-31 12:43:38 +00:00
Tomer Shalev
9b2f4c3a65 FS#10226 - isp1583.c code cosmetics
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22866 a1c6a512-1295-4272-9138-f99709370657
2009-10-01 05:40:20 +00:00
Nils Wallménius
c9d0961138 fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22441 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 17:03:50 +00:00
Frank Gevaerts
69a4117c1d Add working USB HID driver, by Tomer Shalev (part of his GSoC work).
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
2009-05-16 15:30:09 +00:00
Maurus Cuelenaere
ee1e8be37f Creative ZVM:
* Re-enable USB
 * Acknowledge EP0SETUP packets
 * Spin disk down when no files get loaded in the bootloader
 * Clean up/fix some other stuff


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19931 a1c6a512-1295-4272-9138-f99709370657
2009-02-05 21:47:54 +00:00
Michael Sevakis
47509fafa4 Fix up ZVM builds. It appeared to share common definitions with PP502x targets so use those. Remove one stale comment left behind in last commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19798 a1c6a512-1295-4272-9138-f99709370657
2009-01-19 14:06:47 +00:00
Frank Gevaerts
f235f1d4c0 Remove usb_drv_wait from the public usb api, and remove the implementation from usb-drv-arc.c, as it is not actually used
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19275 a1c6a512-1295-4272-9138-f99709370657
2008-11-30 15:56:49 +00:00
Frank Gevaerts
d16fe2d36a implement usb_drv_release_endpoint() and usb_drv_request_endpoint() (a.k.a. fix red)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18705 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 23:08:11 +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
Maurus Cuelenaere
7a8fc3fd9d 1) Put USB in IRAM
2) Use defines from usb_drv.h


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17546 a1c6a512-1295-4272-9138-f99709370657
2008-05-16 21:05:18 +00:00
Maurus Cuelenaere
ed5f1ed3e2 1) add debug menu for USB & PIC
2) update keymap
3) fix yellow


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17324 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 14:43:43 +00:00
Maurus Cuelenaere
88455338f7 Fixes some warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17245 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 21:07:43 +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