Skip to content

Commit 19e434d

Browse files
finikorgioannisg
authored andcommitted
doc: usb: Update USB documentation
Update documentation, removing outdated usb_set_config() initialization method. Signed-off-by: Andrei Emeltchenko <[email protected]>
1 parent 0ee2f14 commit 19e434d

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

doc/reference/usb/index.rst

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,33 @@ device controller driver and USB device class drivers or customer applications.
5555
It's a port of the LPCUSB device stack. It provides the following
5656
functionalities:
5757

58-
* Responds to standard device requests and returns standard descriptors,
59-
essentially handling 'Chapter 9' processing, specifically the standard
60-
device requests in table 9-3 from the universal serial bus specification
61-
revision 2.0.
62-
* Provides a programming interface to be used by USB device classes or
63-
customer applications. The APIs are described in the usb_device.h file.
64-
* Uses the APIs provided by the device controller drivers to interact with
65-
the USB device controller.
58+
* Responds to standard device requests and returns standard descriptors,
59+
essentially handling 'Chapter 9' processing, specifically the standard
60+
device requests in table 9-3 from the universal serial bus specification
61+
revision 2.0.
62+
* Provides a programming interface to be used by USB device classes or
63+
customer applications. The APIs are described in the usb_device.h file.
64+
* Uses the APIs provided by the device controller drivers to interact with
65+
the USB device controller.
6666

6767
USB device class drivers
6868
************************
6969

70-
To initialize the device class driver instance the USB device class driver
71-
should call :c:func:`usb_set_config()` passing as parameter the instance's
72-
configuration structure.
70+
Zephyr USB Device Stack supports many standard classes, such as HID, MSC
71+
Ethernet over USB, DFU, Bluetooth.
72+
73+
Implementing non standard USB class
74+
===================================
75+
76+
Configuration of USB Device is done in the stack layer.
77+
78+
The following structures and callbacks need to be defined:
79+
80+
* Part of USB Descriptor table
81+
* USB Endpoint configuration table
82+
* USB Device configuration structure
83+
* Endpoint callbacks
84+
* Optionally class, vendor and custom handlers
7385

7486
For example, for USB loopback application:
7587

@@ -95,10 +107,9 @@ USB Device configuration structure:
95107
:end-before: usb.rst device config data end
96108
:linenos:
97109

98-
Configuration of USB Device is done in the stack layer.
99110

100111
The vendor device requests are forwarded by the USB stack core driver to the
101-
class driver through the registered class handler.
112+
class driver through the registered vendor handler.
102113

103114
For the loopback class driver, :c:func:`loopback_vendor_handler` processes
104115
the vendor requests:
@@ -123,7 +134,7 @@ Run built sample with:
123134

124135
.. code-block:: console
125136
126-
make -Cbuild run
137+
west build -t run
127138
128139
In a terminal window, run the following command to list USB devices:
129140

0 commit comments

Comments
 (0)