History log of /rk3399_rockchip-uboot/drivers/usb/host/ehci-tegra.c (Results 26 – 50 of 68)
Revision Date Author Comments
# 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 ...


# 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 ...


# 56d42730 25-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: tegra: Drop use of global controller variable

We don't need this anymore, so adjust the code to avoid using it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <mare

dm: usb: tegra: Drop use of global controller variable

We don't need this anymore, so adjust the code to avoid using it.

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 ...


# 27f782b6 25-Mar-2015 Simon Glass <sjg@chromium.org>

dm: usb: tegra: Store the controller type explicitly

At present the tegra driver uses a separate pointer to know which controller
type is in use. This works because only one controller type is used

dm: usb: tegra: Store the controller type explicitly

At present the tegra driver uses a separate pointer to know which controller
type is in use. This works because only one controller type is used at a
time.

With driver model we want to make the controller state hermetic in the sense
that it is not necessary to look elsewhere to know the controller type. This
will permit a controller to implement the EHCI weak functions without
reference to global data structures.

To achieve this, define an enum for the controller type and store it with
the information on each EHCI controller.

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 ...


# 96df9c7e 20-Mar-2015 Thierry Reding <treding@nvidia.com>

usb: ehci-tegra: Build warning fixes for 64-bit

Cast pointers to unsigned long instead of a sized 32-bit type to avoid
pointer to integer cast size mismatch warnings.

Cc: Tom Warren <twarren@nvidia

usb: ehci-tegra: Build warning fixes for 64-bit

Cast pointers to unsigned long instead of a sized 32-bit type to avoid
pointer to integer cast size mismatch warnings.

Cc: Tom Warren <twarren@nvidia.com>
Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>

show more ...


# e1cc4d31 24-Feb-2015 Albert ARIBAUD <albert.u.boot@aribaud.net>

Merge remote-tracking branch 'u-boot/master' into 'u-boot-arm/master'


# e72d3443 13-Feb-2015 Stefano Babic <sbabic@denx.de>

Merge branch 'master' of git://git.denx.de/u-boot


# 8e3da9dd 30-Jan-2015 Tom Rini <trini@ti.com>

Merge branch 'master' of git://git.denx.de/u-boot-dm


# 46927e1e 06-Jan-2015 Simon Glass <sjg@chromium.org>

dm: usb: Remove use of fdtdec GPIO support

These functions are going away, so use the new uclass support instead.

Signed-off-by: Simon Glass <sjg@chromium.org>


# 790af815 10-Oct-2014 Albert ARIBAUD <albert.u.boot@aribaud.net>

Merge branch 'u-boot/master' into 'u-boot-arm/master'


# 8a6b088a 06-Oct-2014 Tom Rini <trini@ti.com>

Merge branch 'master' of git://git.denx.de/u-boot-usb


# d1fcbae1 03-Oct-2014 Marcel Ziswiler <marcel@ziswiler.com>

usb: tegra: ULPI regression on tegra20

Trying to enumerate USB devices connected via ULPI to T20 failed as
follows:

USB2: ULPI integrity check failed

Git bisecting revealed the following commit

usb: tegra: ULPI regression on tegra20

Trying to enumerate USB devices connected via ULPI to T20 failed as
follows:

USB2: ULPI integrity check failed

Git bisecting revealed the following commit being at odds:

commit 2d34151f7501ddaa599897f0d89ad576126b03eb
usb: tegra: refactor PHY type selection

Looking at above commit one quickly identifies a copy paste error which
this patch fixes. Happy ULPIing again (;-p).

Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>

show more ...


# 8e381285 22-May-2014 Tom Rini <trini@ti.com>

Merge branch 'pr-15052014' of git://git.denx.de/u-boot-usb


# a4539a2a 30-Apr-2014 Stephen Warren <swarren@nvidia.com>

usb: tegra: support device mode

A few changes are made to the Tegra EHCI driver so that it can set
everything up for device-mode operation on the first USB controller.
This can be used in conjunctio

usb: tegra: support device mode

A few changes are made to the Tegra EHCI driver so that it can set
everything up for device-mode operation on the first USB controller.
This can be used in conjunction with ci_udc.c to operate as a USB
device.

Detailed changes are:

* Rename set_host_mode() to set_up_vbus() since that's really what it
does.

* Modify set_up_vbus() to know whether it's initializing in host or
device mode, and:

- Skip the external VBUS check in device mode, since external VBUS is
expected in this case.

- Disable VBUS output in device mode.

* Modify init_phy_mux() to know whether it's initializing in host or
device mode, and hence skip setting USBMODE_CM_HC (which enables host
mode) in device mode. See the comments in that function for why this
is safe w.r.t. the ordering requirements of PHY selection.

* Modify init_utmi_usb_controller() to force "b session valid" in device
mode, since the HW requires this. This is done in UTMI-specific code,
since we only support device mode on the first USB controller, and that
controller can only talk to a UTMI PHY.

* Enhance ehci_hcd_init() to error-check the requested host-/device-mode
vs. the dr_mode (dual-role mode) value present in device tree, and the
HW configurations which support device mode.

* Enhance ehci_hcd_init() not to skip HW initialization when switching
between host and device mode on a controller. This requires remembering
which mode the last initialization used.

Cc: Jim Lin <jilin@nvidia.com>
Cc: Stefan Agner <stefan@agner.ch>
Signed-off-by: Stephen Warren <swarren@nvidia.com>

show more ...


# 2d34151f 30-Apr-2014 Stephen Warren <swarren@nvidia.com>

usb: tegra: refactor PHY type selection

Both init_{utmi,ulpi}_usb_controller() have nearly identical code for
PHY type selection. Pull this out into a common function to remove the
duplication.

Cc:

usb: tegra: refactor PHY type selection

Both init_{utmi,ulpi}_usb_controller() have nearly identical code for
PHY type selection. Pull this out into a common function to remove the
duplication.

Cc: Jim Lin <jilin@nvidia.com>
Cc: Stefan Agner <stefan@agner.ch>
Signed-off-by: Stephen Warren <swarren@nvidia.com>

show more ...


# 9b20fe6f 30-Apr-2014 Stephen Warren <swarren@nvidia.com>

usb: tegra: fix PHY selection code

The TRM for Tegra30 and later all state that USBMODE_CM_HC must be set
before writing to hostpc1_devlc to select which PHY to use for a USB
controller. However, ne

usb: tegra: fix PHY selection code

The TRM for Tegra30 and later all state that USBMODE_CM_HC must be set
before writing to hostpc1_devlc to select which PHY to use for a USB
controller. However, neither init_{utmi,ulpi}_usb_controller() do this
today, so the register writes they perform for PHY selection do not
work.

For the UTMI case, this was hacked around in commit 7e44d9320ed4 "ARM:
Tegra: USB: EHCI: Add support for Tegra30/Tegra114" by adding code to
ehci_hcd_init() which sets USBMODE_CM_HC and duplicates the PHY
selection register write. This code doesn't cover the ULPI case, so I
wouldn't be surprised if ULPI doesn't work with the current code, unless
the ordering requirement only ends up being an issue in HW for UTMI not
ULPI.

This patch fixes init_{utmi,ulpi}_usb_controller() to correctly set
USBMODE_CM_HC before selecting the PHY. Now that this works, we can
remove the duplicate UTMI-specific code in ehci_hcd_init(), thus
simplifying that function.

Cc: Jim Lin <jilin@nvidia.com>
Cc: Stefan Agner <stefan@agner.ch>
Signed-off-by: Stephen Warren <swarren@nvidia.com>

show more ...


# 4180b3db 14-May-2014 Marek Vasut <marex@denx.de>

Merge remote-tracking branch 'u-boot/master' into test


# bcb879c0 09-May-2014 Tom Rini <trini@ti.com>

Merge branch 'master' of git://git.denx.de/u-boot-arm


# 3deb22a4 29-Apr-2014 Stefano Babic <sbabic@denx.de>

Merge branch 'master' of git://git.denx.de/u-boot-arm


# 94b972d3 21-Apr-2014 Albert ARIBAUD <albert.u.boot@aribaud.net>

Merge branch 'u-boot-tegra/master' into 'u-boot-arm/master'


# 8f9fd6ca 02-Mar-2014 Stefan Agner <stefan@agner.ch>

usb: tegra: combine header file

Combine the Tegra USB header file into one header file for all SoCs.
Use ifdef to account for the difference, especially Tegra20 is quite
different from newer SoCs. T

usb: tegra: combine header file

Combine the Tegra USB header file into one header file for all SoCs.
Use ifdef to account for the difference, especially Tegra20 is quite
different from newer SoCs. This avoids duplication, mainly for
Tegra30 and newer devices.

Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Tom Warren <twarren@nvidia.com>

show more ...


# b1d615f3 02-Mar-2014 Stefan Agner <stefan@agner.ch>

usb: tegra: fix PHY configuration

On Tegra30 and later, the PTS (parallel transceiver select) and STS
(serial transceiver select) are part of the HOSTPC1_DEVLC_0 register
rather than PORTSC1_0 regis

usb: tegra: fix PHY configuration

On Tegra30 and later, the PTS (parallel transceiver select) and STS
(serial transceiver select) are part of the HOSTPC1_DEVLC_0 register
rather than PORTSC1_0 register. Since the reset configuration
usually matches the intended configuration, this error did not show
up on Tegra30 devices.

Also use the slightly different bit fields of first USB, (USBD) on
Tegra20 and move those definitions to the Tegra20 specific header
file.

Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Tom Warren <twarren@nvidia.com>

show more ...


# b03f4b37 02-Mar-2014 Stefan Agner <stefan@agner.ch>

usb: tegra: fix USB2 powerdown for Tegra30 and later

Clear the forced powerdown bit in the UTMIP_PLL_CFG2_0 register
which brings USB2 in UTMI mode to work. This was clearly missing
since the forced

usb: tegra: fix USB2 powerdown for Tegra30 and later

Clear the forced powerdown bit in the UTMIP_PLL_CFG2_0 register
which brings USB2 in UTMI mode to work. This was clearly missing
since the forced powerdown bit is set in reset by default for all
USB ports.

Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>

show more ...


123