Lines Matching refs:device
51 necessary settings from the device tree.
59 exists when the device is probed (not when it is bound) and is removed when
63 in USB device mode (OTG operation). It can be omitted if that is not
67 call ehci_register() to register itself as an EHCI device. It should call
68 ehci_deregister() in the remove() method. Registering a new EHCI device
84 This holds information about a device on the bus. All devices have
86 have this structure. You can access it for a device 'dev' with
89 handles that). Once the device is set up, you can find the device
98 This holds platform data for a device. You can access it for a
99 device 'dev' with dev_get_parent_platdata(dev). It holds the device
100 address and speed - anything that can be determined before the device
102 used to provide essential information to the device driver.
107 device address to use.
117 root hub attached to it. This hub, which is itself a USB device, can provide
126 USB devices are enumerated by finding a device on a particular hub, and
135 timeouts are set for the slowest device.
140 newer (XHCI). If you connect a super-speed device to a high-speed hub, you
150 device itself - i.e. they don't pass down the stack to the controller.
151 U-Boot simply finds the controller to which the device is attached, and sends
153 properly. Having said that, the USB device which should receive the message
160 since XHCI needs to allocate a device context before it can even read the
161 device's descriptor.
165 recipient (device number).
176 By the time the device's probe() method is called, it is enumerated and is
180 device. It does this by examining the device class, interface class, vendor
200 (only) device that is attached to the controller - a root hub
204 - usb_setup_device() first calls usb_prepare_device() to set the device
206 - at this point the device is enumerated but we do not have a real struct
210 existing device which matches the one we just found on the bus. This can
211 happen if the device is mentioned in the device tree, or if we previously
212 scanned the bus and so the device was created before
213 - if usb_find_child() does not find an existing device, we call
217 device.
219 to allow access to the device (sending it packets, etc.) but all
222 done, we have a device with the correct uclass. At this point we want to
223 probe the device
224 - first we store basic information about the new device (address, port,
226 since that will not exist until the device is probed.
227 - then we call device_probe() which probes the device
230 intended to set up a child device ready to be used with its parent bus. For
234 usb_select_config() again to make sure that everything about the device is
239 - at this point the device is set up and ready for use so far as the USB
241 - the device's probe() method is then called. It can send messages and do
242 whatever else it wants to make the device work.
244 Note that the first device is always a root hub, and this must be scanned to
256 - first, check if there is a device present. This happens in
258 scan the device, passing the appropriate port number.
260 device ready for use. If it is a hub, it will scan that hub before it
268 - the bus enumeration happens by virtue of driver model's natural device flow
269 - most logic is in the USB controller and hub uclasses; the actual device
290 As an example of a USB device driver, see usb_storage.c. It uses its own
312 When usb_find_and_bind_driver() is called on a USB device with the
342 (defined by the sandbox device tree sandbox.dts) which can be scanned and
348 Here is an example device tree fragment:
354 usb,device-class = <USB_CLASS_HUB>;
381 This may look confusing. Most of it mirrors the device tree, but the
382 'usb_mass_storage' device is not in the device tree. This is created by
384 'flash-stick' is the emulation device, 'usb_mass_storage' is the real U-Boot
385 USB device driver that talks to it.
398 root hub at first, then only progress to the next 'level' when a device is
400 statically declared in the device tree (which is acceptable for production