Lines Matching refs:device

3 New USB device support
9 USB device support consists of the USB device controller (UDC) drivers
10 , :ref:`udc_api`, and USB device stack, :ref:`usbd_api`.
12 device controllers, and although, there a is clear separation between these
13 layers, the purpose of :ref:`udc_api` is to serve new Zephyr's USB device stack
16 The new device stack supports multiple device controllers, meaning that if a
18 high-speed device controllers are supported. It also provides support for
23 The new USB device support is considered experimental and will replace
35 Samples ported to new USB device support
38 To build a sample that supports both the old and new USB device stack, set the
52 * :zephyr:code-sample:`zperf` To build the sample for the new device support,
57 How to configure and enable USB device support
60 For the USB device support samples in the Zephyr project repository, we have a
69 The USB device stack requires a context structure to manage its properties and
70 runtime data. The preferred way to define a device context is to use the
73 be instantiated. A USB controller device can be assigned to multiple contexts,
80 :start-after: doc device instantiation start
81 :end-before: doc device instantiation end
83 Your USB device may have manufacturer, product, and serial number string
97 String descriptors must be added to the device context at runtime before
98 initializing the USB device with :c:func:`usbd_add_descriptor`.
106 USB device requires at least one configuration instance per supported speed.
108 a configuration. Later, USB device functions are assigned to a configuration.
116 Each configuration instance for a specific speed must be added to the device
117 context at runtime before the USB device is initialized using
129 Although we have already done a lot, this USB device has no function. A device
131 speeds. A function or class can be registered on a USB device before
144 The last step in the preparation is to initialize the device with
145 :c:func:`usbd_init`. After this, the configuration of the device cannot be
146 changed. A device can be deinitialized with :c:func:`usbd_shutdown` and all
148 possible to shutdown a device, register another type of configuration or
155 steps, which should be performed prior to initializing the USB device.
160 :start-after: doc device init start
161 :end-before: doc device init end
163 The final step to enable the USB device is :c:func:`usbd_enable`, after that,
164 if the USB device is connected to a USB host controller, the host can start
165 enumerating the device. The application can disable the USB device using
171 :start-after: doc device enable start
172 :end-before: doc device enable end
178 receive message notification from the USB device support subsystem. The
179 messages are mostly about the common device state changes, and a few specific
185 :start-after: doc device init-and-msg start
186 :end-before: doc device init-and-msg end
192 application may want to enable the USB device only when it is connected to a
199 :start-after: doc device msg-cb start
200 :end-before: doc device msg-cb end
205 The USB device stack has built-in USB functions. Some can be used directly in
218 | USB CDC ECM class | Ethernet device | :samp:`cdc_ecm_{n}` |
256 static void interrupt_handler(const struct device *dev, void *user_data)
278 All these functions are not directly dependent on the status of the USB device.
280 successfully reading the RX FIFO does not mean that the device is still