| #
ce2f4ca4 |
| 21-Feb-2022 |
Frank Wang <frank.wang@rock-chips.com> |
usb: ehci/xhci: add hub descriptor in its ctrl structure
Since the "bNrPorts" in hub descriptor is runtime modified, and it may be rewritten by the later initialized controller. So copy and maintain
usb: ehci/xhci: add hub descriptor in its ctrl structure
Since the "bNrPorts" in hub descriptor is runtime modified, and it may be rewritten by the later initialized controller. So copy and maintain a private instance for each controller.
Change-Id: I6cd05aef5251d05464b3eb1e9927661effa433ec Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
show more ...
|
| #
1a4f6af8 |
| 02-Mar-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
f5439a16 |
| 08-Aug-2018 |
Marek Vasut <marek.vasut+renesas@gmail.com> |
UPSTREAM: usb: ehci: Make the PHY handling generic
Pull out the EHCI PHY functions into the ehci-hcd.c to let other EHCI drivers use them.
Change-Id: I5b1cbaf7acb4cee6034e891ee7aecf0ca7d50728 Signe
UPSTREAM: usb: ehci: Make the PHY handling generic
Pull out the EHCI PHY functions into the ehci-hcd.c to let other EHCI drivers use them.
Change-Id: I5b1cbaf7acb4cee6034e891ee7aecf0ca7d50728 Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit b43cdf9b3fe246a8920d2b62ee41fc1722315ef0)
show more ...
|
| #
02b25dcd |
| 17-Nov-2017 |
Alexey Brodkin <Alexey.Brodkin@synopsys.com> |
UPSTREAM: usb: ehci: Fix accessors for big-endian platforms and descriptors
Commit 9000eddbae0d ("drivers/usb/ehci: Use platform-specific accessors") broke USB 2.0 on big-endian platforms because fo
UPSTREAM: usb: ehci: Fix accessors for big-endian platforms and descriptors
Commit 9000eddbae0d ("drivers/usb/ehci: Use platform-specific accessors") broke USB 2.0 on big-endian platforms because for them writel/readl() does automatic conversion of BE data to LE.
Proper implementation requires to use "raw" variant of these accessors which read/write data without messing with endianess.
While at it replace cpu_to_be32() to be32_to_cpu() in readl() to keep sane semantics.
Change-Id: I35e193f08aa56967c831bce1b2892e2c51527796 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Marek Vasut <marex@denx.de> Reported-by: Vladimir Boroda <boroda@yahoo.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit 9829ce2ff25c659ca29cd15ab773312ac4b6cfc6)
show more ...
|
| #
211aaf30 |
| 29-Jul-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-usb
|
| #
99c22556 |
| 19-Jul-2017 |
Bin Meng <bmeng.cn@gmail.com> |
usb: ehci: Get rid of CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS
EHC reports supported maximum number of ports in the HCSPARAMS register, so it's unnecessary to use a hardcoded config option CONFIG_SYS_USB_
usb: ehci: Get rid of CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS
EHC reports supported maximum number of ports in the HCSPARAMS register, so it's unnecessary to use a hardcoded config option CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de> Tested-by: Stefan Roese <sr@denx.de>
show more ...
|
| #
eab76dfd |
| 19-Jun-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-usb
|
| #
9000eddb |
| 05-Jun-2017 |
Alexey Brodkin <Alexey.Brodkin@synopsys.com> |
drivers/usb/ehci: Use platform-specific accessors
Current implementation doesn't allow utilization of platform-specific reads and writes.
But some arches or platforms may want to use their accessor
drivers/usb/ehci: Use platform-specific accessors
Current implementation doesn't allow utilization of platform-specific reads and writes.
But some arches or platforms may want to use their accessors that do some extra work like adding barriers for data serialization etc.
Interesting enough OHCI accessors already do that so just aligning EHCI to it now.
This is a resend of http://patchwork.ozlabs.org/patch/726714/ Back in the day this patch broke some PPC and Sandbox boards as they we missing inclusion of "asm/io.h". Those missing items were fixed with: 1) http://patchwork.ozlabs.org/patch/751397/ 2) http://patchwork.ozlabs.org/patch/771099/
So now it should be safe to apply this patch. FWIW TravisCI builds everything with all 3 patches in place, see https://travis-ci.org/abrodkin/u-boot/builds/239563813
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Simon Glass <sjg@chromium.org> Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Acked-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
3f9f8a5b |
| 31-Mar-2016 |
Mateusz Kulikowski <mateusz.kulikowski@gmail.com> |
ehci-hcd: Add init_after_reset
Some host controllers need addidional initialization after ehci_reset() In non-dm implementation it is possible to use CONFIG_EHCI_HCD_INIT_AFTER_RESET. This patch add
ehci-hcd: Add init_after_reset
Some host controllers need addidional initialization after ehci_reset() In non-dm implementation it is possible to use CONFIG_EHCI_HCD_INIT_AFTER_RESET. This patch adds similar option to ehci drivers using dm.
Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Acked-by: Marek Vasut <marex@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
fec26e72 |
| 24-Feb-2016 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|
| #
e88a1b75 |
| 23-Jan-2016 |
Marek Vasut <marex@denx.de> |
usb: ehci: Be explicit about the BE IO accessors
Add explicit cpu_to_be32()/be32_to_cpu() conversion to BE EHCI I/O accessors to align them with their LE counterpart. No functional change.
Signed-o
usb: ehci: Be explicit about the BE IO accessors
Add explicit cpu_to_be32()/be32_to_cpu() conversion to BE EHCI I/O accessors to align them with their LE counterpart. No functional change.
Signed-off-by: Marek Vasut <marex@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Hans de Goede <hdegoede@redhat.com>
show more ...
|
| #
cdc7732f |
| 07-Sep-2015 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-usb
|
| #
49b4c5c7 |
| 20-Aug-2015 |
Stephen Warren <swarren@nvidia.com> |
usb: ehci: remember init mode
When an EHCI device is registered in device mode, the HW isn't actually initialized at all, and hence isn't left in a running state. Consequently, when the device is de
usb: ehci: remember init mode
When an EHCI device is registered in device mode, the HW isn't actually initialized at all, and hence isn't left in a running state. Consequently, when the device is deregistered, ehci_shutdown() will fail, since the HW bits it expects to see set in response to its shutdown requests will not be sent, and the message "EHCI failed to shut down host controller." will be printed.
Fix ehci-hcd.c to remember whether the device was registered in host or device mode, and only call ehci_shutdown() for host mode registrations.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
show more ...
|
| #
e62b5266 |
| 06-Jul-2015 |
Simon Glass <sjg@chromium.org> |
usb: Update some EHCI driver licenses to use SPDX
A few drivers still write out the license in full. Fix these.
Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de>
|
| #
b939689c |
| 05-May-2015 |
Albert ARIBAUD <albert.u.boot@aribaud.net> |
Merge branch 'u-boot/master' into 'u-boot-arm/master'
|
| #
46b01797 |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Add driver model support to EHCI
Add a way for EHCI controller drivers to support driver model. Drivers can call ehci_register() to register themselves in their probe() methods.
Signed-off
dm: usb: Add driver model support to EHCI
Add a way for EHCI controller drivers to support driver model. Drivers can call ehci_register() to register themselves in their probe() methods.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
deb8508c |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Drop the EHCI weak functions
These are a pain with driver model because we might have different EHCI drivers which want to implement them differently. Now that they use consistent function
dm: usb: Drop the EHCI weak functions
These are a pain with driver model because we might have different EHCI drivers which want to implement them differently. Now that they use consistent function signatures, we can in good conscience move them to a struct.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de> Fix non-driver-model EHCI to set up the EHCI operations correctly: Signed-off-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
7372b5bd |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Refactor EHCI init
Move the bulk of the code in usb_lowlevel_init() into a separate function which will also be used by driver model. Keep the CONFIG options out of this function by providi
dm: usb: Refactor EHCI init
Move the bulk of the code in usb_lowlevel_init() into a separate function which will also be used by driver model. Keep the CONFIG options out of this function by providing a tweak flag for Faraday. We need to avoid using CONFIG options in driver model code where possible, since it makes it impossible to use multiple controllers in that code where they have different options.
The CONFIG_EHCI_HCD_INIT_AFTER_RESET option is also kept out of the common init function. With driver model the controller will be able to perform this extra init itself after registering with the EHCI layer.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
6a1a8162 |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Pass EHCI controller pointer to ehci_get_portsc_register()
Adjust this function so that it is passed an EHCI controller pointer so that implementations can look up their controller. This ma
dm: usb: Pass EHCI controller pointer to ehci_get_portsc_register()
Adjust this function so that it is passed an EHCI controller pointer so that implementations can look up their controller. This makes the weak functions use a consistent API.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
11d18a19 |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Pass EHCI controller pointer to ehci_set_usbmode()
Adjust this function so that it is passed an EHCI controller pointer so that implementations can look up their controller. This makes the
dm: usb: Pass EHCI controller pointer to ehci_set_usbmode()
Adjust this function so that it is passed an EHCI controller pointer so that implementations can look up their controller. This makes the weak functions use a consistent API.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
727fce36 |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Pass EHCI controller pointer to ehci_powerup_fixup()
Adjust this function so that it is passed an EHCI controller pointer so that implementations can look up their controller.
Signed-off-b
dm: usb: Pass EHCI controller pointer to ehci_powerup_fixup()
Adjust this function so that it is passed an EHCI controller pointer so that implementations can look up their controller.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
c4a3141d |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Allow ECHI to hold private data for the controller
Add a private data pointer that clients of EHCI can use to access their private information. This establishes a link between struct ehci_c
dm: usb: Allow ECHI to hold private data for the controller
Add a private data pointer that clients of EHCI can use to access their private information. This establishes a link between struct ehci_ctrl and its associated controller data structure.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
7338287d |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Pass EHCI controller pointer to ehci_get_port_speed()
Adjust this function so that it is passed an EHCI controller pointer so that implementations can look up their controller.
Signed-off-
dm: usb: Pass EHCI controller pointer to ehci_get_port_speed()
Adjust this function so that it is passed an EHCI controller pointer so that implementations can look up their controller.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
aac064f7 |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: Move all the EHCI weak functions together and declare them
Put these at the top of the file so they are in one place. Also add function prototypes to the header file to avoid call site mism
dm: usb: Move all the EHCI weak functions together and declare them
Put these at the top of the file so they are in one place. Also add function prototypes to the header file to avoid call site mismatches.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
6841deb6 |
| 11-Nov-2014 |
Tom Rini <trini@ti.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|