First USB sketch. master
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Mon, 24 May 2010 11:45:47 +0000 (07:45 -0400)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Mon, 24 May 2010 11:45:47 +0000 (07:45 -0400)
13buses/usb [new file with mode: 0644]

diff --git a/13buses/usb b/13buses/usb
new file mode 100644 (file)
index 0000000..0ae9a96
--- /dev/null
@@ -0,0 +1,80 @@
+%USB
+%Thadeu Cascardo
+
+# Universal Serial Bus
+
+* USB 1.0 and 1.1, 1.5Mbps and 12Mbps
+* USB 2.0 - up to 480Mbps
+* USB 3.0 - up to 5Gbps
+* Wireless USB - over Ultra Wideband
+
+# USB - Cont.
+
+* A master/slave bus: the master asks the slave to send data
+* Auto-configurable and hotplugable
+* Standards specifications, allowing device classes, with no specific driver
+* HCDs, USB devices and Gadget devices and their respective drivers
+
+# USB Basics
+
+* Configurations
+* Interfaces
+* Settings
+* Endpoints
+* URBs
+
+# Endpoints and URBs
+
+* IN and OUT Endpoints
+* Control Endpoints
+* Interrupt Endpoints
+* Bulk Endpoints
+* Isochronous Endpoints
+
+# USB IDs
+
+* struct usb\\_device\\_id
+* USB\\_DEVICE
+* Others
+
+# USB Driver
+
+* struct usb\\_driver
+       - name
+       - id\\_table
+       - probe
+       - disconnect
+
+# USB Interface
+
+* struct usb\\_interface
+       - struct usb\\_host\\_interface cur\\_altsetting
+               * desc.bNumEndpoints
+               * struct usb\\_endpoint\\_descriptor endpoint[].desc
+* usb\\_get\\_intf
+* usb\\_put\\_intf
+
+# Endpoints
+
+* struct usb\\_endpoint\\_descriptor
+* usb\\_endpoint\\_is\\_isoc\\_in
+* usb\\_endpoint\\_num
+
+# URBs
+
+* struct urb
+       - status
+       - transfer\\_buffer
+       - actual\\_length
+* usb\\_alloc\\_urb
+* usb\\_free\\_usb
+* usb\\_submit\\_urb
+* usb\\_kill\\_urb
+* usb\\_fill\\_control\\_urb
+* usb\\_fill\\_bulk\\_urb
+* usb\\_control\\_msg
+
+# URBs
+
+* Callbacks execute in interrupt context
+* May resubmit an URB, but must use GFP\\_ATOMIC