Lines Matching refs:device

55 necessary settings from the device tree.
63 exists when the device is probed (not when it is bound) and is removed when
67 in USB device mode (OTG operation). It can be omitted if that is not
71 call ehci_register() to register itself as an EHCI device. It should call
72 ehci_deregister() in the remove() method. Registering a new EHCI device
88 This holds information about a device on the bus. All devices have
90 have this structure. You can access it for a device 'dev' with
93 handles that). Once the device is set up, you can find the device
102 This holds platform data for a device. You can access it for a
103 device 'dev' with dev_get_parent_plat(dev). It holds the device
104 address and speed - anything that can be determined before the device
106 used to provide essential information to the device driver.
111 device address to use.
121 root hub attached to it. This hub, which is itself a USB device, can provide
130 USB devices are enumerated by finding a device on a particular hub, and
139 timeouts are set for the slowest device.
144 newer (XHCI). If you connect a super-speed device to a high-speed hub, you
154 device itself - i.e. they don't pass down the stack to the controller.
155 U-Boot simply finds the controller to which the device is attached, and sends
157 properly. Having said that, the USB device which should receive the message
164 since XHCI needs to allocate a device context before it can even read the
165 device's descriptor.
169 recipient (device number).
180 By the time the device's probe() method is called, it is enumerated and is
184 device. It does this by examining the device class, interface class, vendor
204 (only) device that is attached to the controller - a root hub
208 - usb_setup_device() first calls usb_prepare_device() to set the device
210 - at this point the device is enumerated but we do not have a real struct
214 existing device which matches the one we just found on the bus. This can
215 happen if the device is mentioned in the device tree, or if we previously
216 scanned the bus and so the device was created before
217 - if usb_find_child() does not find an existing device, we call
221 new device.
223 to allow access to the device (sending it packets, etc.) but all
226 done, we have a device with the correct uclass. At this point we want to
227 probe the device
228 - first we store basic information about the new device (address, port,
230 since that will not exist until the device is probed.
231 - then we call device_probe() which probes the device
234 intended to set up a child device ready to be used with its parent bus. For
238 usb_select_config() again to make sure that everything about the device is
243 - at this point the device is set up and ready for use so far as the USB
245 - the device's probe() method is then called. It can send messages and do
246 whatever else it wants to make the device work.
248 Note that the first device is always a root hub, and this must be scanned to
260 - first, check if there is a device present. This happens in
262 scan the device, passing the appropriate port number.
264 device ready for use. If it is a hub, it will scan that hub before it
272 - the bus enumeration happens by virtue of driver model's natural device flow
273 - most logic is in the USB controller and hub uclasses; the actual device
294 As an example of a USB device driver, see usb_storage.c. It uses its own
318 When usb_find_and_bind_driver() is called on a USB device with the
348 (defined by the sandbox device tree sandbox.dts) which can be scanned and
354 Here is an example device tree fragment:
362 usb,device-class = <USB_CLASS_HUB>;
389 This may look confusing. Most of it mirrors the device tree, but the
390 'usb_mass_storage' device is not in the device tree. This is created by
392 'flash-stick' is the emulation device, 'usb_mass_storage' is the real U-Boot
393 USB device driver that talks to it.
406 root hub at first, then only progress to the next 'level' when a device is
408 statically declared in the device tree (which is acceptable for production