| #
1a4f6af8 |
| 02-Mar-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
92937b1f |
| 18-Aug-2019 |
Michal Suchanek <msuchanek@suse.de> |
UPSTREAM: usb: Add nonblock argument to submit_int_msg
This will be used to implement non-blocking keyboard polling in case of errors.
Conflicts: common/usb.c common/usb_kbd.c common/usb_storage
UPSTREAM: usb: Add nonblock argument to submit_int_msg
This will be used to implement non-blocking keyboard polling in case of errors.
Conflicts: common/usb.c common/usb_kbd.c common/usb_storage.c include/usb.h
Change-Id: I4a951d779e2cf9e80380f93000a87a617453fb32 Signed-off-by: Michal Suchanek <msuchanek@suse.de> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 3437121c037f502a3b0faaec97059777034a1ead)
show more ...
|
| #
79e8eddf |
| 19-Mar-2019 |
Ismael Luceno Cortes <ismael.luceno@silicon-gears.com> |
UPSTREAM: usb: host: Print device name when scanning
Drop the counter, it has no meaning other than being the order in which the interface is found; the name assigned to the USB host controller inte
UPSTREAM: usb: host: Print device name when scanning
Drop the counter, it has no meaning other than being the order in which the interface is found; the name assigned to the USB host controller interface is a better indicator.
Example of the original output: > USB0: USB EHCI 1.10 > scanning bus 0 for devices... 2 USB Device(s) found > scanning usb for storage devices... 1 Storage Device(s) found
Patched output: > Bus usb@ee080100: USB EHCI 1.10 > scanning bus usb@ee080100 for devices... 2 USB Device(s) found > scanning usb for storage devices... 1 Storage Device(s) found
Change-Id: I4d009cd00a03018c4fec2f9ba573e35010f6328f Signed-off-by: Ismael Luceno <ismael.luceno@silicon-gears.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 89aea23abb971fa89b7a96c02024b63d0b918a78)
show more ...
|
| #
929b32f8 |
| 01-Oct-2017 |
Bin Meng <bmeng.cn@gmail.com> |
UPSTREAM: dm: usb: emul: Drop usb_emul_reset()
With the root hub unbinding in usb_stop(), there is no need to do a Sandbox-specific reset operation. usb_emul_reset() is no longer used anywhere, drop
UPSTREAM: dm: usb: emul: Drop usb_emul_reset()
With the root hub unbinding in usb_stop(), there is no need to do a Sandbox-specific reset operation. usb_emul_reset() is no longer used anywhere, drop it.
Change-Id: I07087b328686bcf0020a938fcd4ea8ac74396b9b Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit ad56e4b684a97565cdce15c28df1ccff9032d594)
show more ...
|
| #
57058838 |
| 01-Oct-2017 |
Bin Meng <bmeng.cn@gmail.com> |
UPSTREAM: dm: usb: Remove no longer needed blk_unbind_all()
With the root hub unbinding in usb_stop(), there is no need to do a blk uclass specific unbind operation.
Change-Id: I1f8fef976ba14efc836
UPSTREAM: dm: usb: Remove no longer needed blk_unbind_all()
With the root hub unbinding in usb_stop(), there is no need to do a blk uclass specific unbind operation.
Change-Id: I1f8fef976ba14efc836041e79b23c0cd916a39ee Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit ad0a9378bf5cc9280e117b7db94b6bfa1b6e8e76)
show more ...
|
| #
4f46a20e |
| 01-Oct-2017 |
Bin Meng <bmeng.cn@gmail.com> |
UPSTREAM: dm: usb: Fix broken usb_stop()
At present we only do device_remove() during usb stop. The DM API device_remove() only marks the device state as inactivated, but still keeps its USB topolog
UPSTREAM: dm: usb: Fix broken usb_stop()
At present we only do device_remove() during usb stop. The DM API device_remove() only marks the device state as inactivated, but still keeps its USB topology (eg: parent, children, etc) in the DM device structure. There is no issue if we only start USB subsystem once and never stop it. But a big issue occurs when we do 'usb stop' and 'usb start' multiple times.
Strange things may be observed with current implementation, like: - the enumeration may report only 1 mass storage device is detected, but the total number of USB devices is correct. - USB keyboard does not work anymore after a bunch of 'usb reset' even if 'usb tree' shows it is correctly identified. - read/write flash drive via 'fatload usb' may complain "Bad device"
In fact, every time when USB host controller starts the enumeration process, it takes random time for each USB port to show up online, hence each USB device may appear in a different order from previous enumeration, and gets assigned to a totally different USB address. As a result, we end up using a stale USB topology in the DM device structure which still reflects the previous enumeration result, and it may create an exact same DM device name like generic_bus_0_dev_7 that is already in the DM device structure. And since the DM device structure is there, there is no device_bind() call to bind driver to the device during current enumeration process, eventually creating an inconsistent software representation of the hardware topology, a non-working USB subsystem.
The fix is to clear the unused USB topology in the usb_stop(), by calling device_unbind() on each controller's root hub device, and the unbinding will unbind all of its children automatically.
For Sandbox, we need scan the device tree each time when we start the USB stack, in order to re-create the emulated USB devices and bind drivers for them before we actually do the driver probe.
Change-Id: I690fd9e4bd18421ea5f11772aab39806a2208b4e Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit d4efefe32ea8a45b7b30f4769b3928c28e181c73)
show more ...
|
| #
51da7f21 |
| 07-Sep-2017 |
Bin Meng <bmeng.cn@gmail.com> |
UPSTREAM: dm: usb: Add a new USB controller operation 'get_max_xfer_size'
The HCD may have limitation on the maximum bytes to be transferred in a USB transfer. USB class driver needs to be aware of
UPSTREAM: dm: usb: Add a new USB controller operation 'get_max_xfer_size'
The HCD may have limitation on the maximum bytes to be transferred in a USB transfer. USB class driver needs to be aware of this.
Change-Id: I6084946910810d5dbbe66a9191e6da768b084fe6 Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit 3e59f59015e39ceb870fa8a7a12e0464e775512b)
show more ...
|
| #
211aaf30 |
| 29-Jul-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-usb
|
| #
9ca1b4ba |
| 19-Jul-2017 |
Bin Meng <bmeng.cn@gmail.com> |
dm: usb: Add a new USB controller operation 'update_hub_device'
For USB host controllers like xHC, its internal representation of hub needs to be updated after the hub descriptor is fetched. This ad
dm: usb: Add a new USB controller operation 'update_hub_device'
For USB host controllers like xHC, its internal representation of hub needs to be updated after the hub descriptor is fetched. This adds a new op that does this.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
dfa96e06 |
| 19-Jul-2017 |
Bin Meng <bmeng.cn@gmail.com> |
usb: hub: Use 'struct usb_hub_device' as hub device's uclass_priv
Use USB hub device's dev->uclass_priv to point to 'usb_hub_device' so that with driver model usb_hub_reset() and usb_hub_allocate()
usb: hub: Use 'struct usb_hub_device' as hub device's uclass_priv
Use USB hub device's dev->uclass_priv to point to 'usb_hub_device' so that with driver model usb_hub_reset() and usb_hub_allocate() are no longer needed.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
121a4d13 |
| 22-Jun-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
usb: add static to local symbols
Sparse reports "... was not declared. Should it be static?"
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
| #
d20fd27d |
| 19-May-2017 |
Simon Glass <sjg@chromium.org> |
dm: usb: Convert uclass to livetree
Update the usb uclass to support a live device tree.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
| #
433647a7 |
| 05-Apr-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-dm
|
| #
706865af |
| 20-Mar-2017 |
Stefan Roese <sr@denx.de> |
dm: core: Add flags parameter to device_remove()
This patch adds the flags parameter to device_remove() and changes all calls to this function to provide the default value of DM_REMOVE_NORMAL for "n
dm: core: Add flags parameter to device_remove()
This patch adds the flags parameter to device_remove() and changes all calls to this function to provide the default value of DM_REMOVE_NORMAL for "normal" device removal.
This is in preparation for the driver specific pre-OS (e.g. DMA cancelling) remove support.
Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
21342d4a |
| 08-Feb-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-dm
|
| #
e160f7d4 |
| 17-Jan-2017 |
Simon Glass <sjg@chromium.org> |
dm: core: Replace of_offset with accessor
At present devices use a simple integer offset to record the device tree node associated with the device. In preparation for supporting a live device tree,
dm: core: Replace of_offset with accessor
At present devices use a simple integer offset to record the device tree node associated with the device. In preparation for supporting a live device tree, which uses a node pointer instead, refactor existing code to access this field through an inline function.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
fe34b6a4 |
| 28-Jul-2016 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-dm
|
| #
91195485 |
| 05-Jul-2016 |
Simon Glass <sjg@chromium.org> |
dm: Use dm_scan_fdt_dev() directly where possible
Quite a few places have a bind() method which just calls dm_scan_fdt_dev(). We may as well call dm_scan_fdt_dev() directly. Update the code to do th
dm: Use dm_scan_fdt_dev() directly where possible
Quite a few places have a bind() method which just calls dm_scan_fdt_dev(). We may as well call dm_scan_fdt_dev() directly. Update the code to do this.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
2e3f1ff6 |
| 05-Jul-2016 |
Simon Glass <sjg@chromium.org> |
dm: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev()
This new function is more convenient for callers, and handles pre-relocation situations automatically.
Signed-off-by: Simon Glass <sjg
dm: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev()
This new function is more convenient for callers, and handles pre-relocation situations automatically.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
9b977568 |
| 13-Mar-2016 |
Simon Glass <sjg@chromium.org> |
dm: usb: Unbind old block devices when shutting down USB
When 'usb start' is used, block devices are created for any USB flash sticks and disks, etc. When 'usb stop' is used, these block devices are
dm: usb: Unbind old block devices when shutting down USB
When 'usb start' is used, block devices are created for any USB flash sticks and disks, etc. When 'usb stop' is used, these block devices are currently not removed.
We don't want old block devices hanging around since they can still be visible to U-Boot. Therefore, when USB is shut down, remove and unbind all the block devices created by the USB subsystem.
Possibly we should unbind all devices which don't cause problems by being unbound. Most likely we can remove everything except USB controllers, hubs and emulators. We can consider that later.
Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Stephen Warren <swarren@nvidia.com>
show more ...
|
| #
eae11bec |
| 09-Nov-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Remove inactive children after a bus scan
Each scan of the USB bus may return different results. Existing driver-model devices are reused when found, but if a device no longer exists it wil
dm: usb: Remove inactive children after a bus scan
Each scan of the USB bus may return different results. Existing driver-model devices are reused when found, but if a device no longer exists it will stay around, de-activated, but bound.
Detect these devices and remove them after the scan completes.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
e8ea5e8c |
| 09-Nov-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Deprecate usb_get_dev_index()
This function should not be used with driver model. While there are users of USB Ethernet that use driver model for USB but not Ethernet, we have to keep it ar
dm: usb: Deprecate usb_get_dev_index()
This function should not be used with driver model. While there are users of USB Ethernet that use driver model for USB but not Ethernet, we have to keep it around. Add a comment to that effect.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
ba94e839 |
| 09-Nov-2015 |
Simon Glass <sjg@chromium.org> |
Revert "dm: usb: Use device_unbind_children to clean up usb devs on stop"
This reverts commit 6cda369509e0d3fa5f9e33c9d71589c4523799fa.
We want to avoid having the USB stack rely on unbind.
Signed
Revert "dm: usb: Use device_unbind_children to clean up usb devs on stop"
This reverts commit 6cda369509e0d3fa5f9e33c9d71589c4523799fa.
We want to avoid having the USB stack rely on unbind.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
1b6a1dff |
| 09-Nov-2015 |
Simon Glass <sjg@chromium.org> |
Revert "dm: usb: Rename usb_find_child to usb_find_emul_child"
This reverts commit 9b510df703d282effba4f56ac567aa8011d56e6b.
We want to avoid having the USB stack rely on unbind.
Signed-off-by: Si
Revert "dm: usb: Rename usb_find_child to usb_find_emul_child"
This reverts commit 9b510df703d282effba4f56ac567aa8011d56e6b.
We want to avoid having the USB stack rely on unbind.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
e573bdb3 |
| 30-Oct-2015 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
|