Searched hist:a4539a2aa7bde003d4318b1b2e21fd217cc2899f (Results 1 – 2 of 2) sorted by relevance
| /rk3399_rockchip-uboot/arch/arm/include/asm/arch-tegra/ |
| H A D | usb.h | a4539a2aa7bde003d4318b1b2e21fd217cc2899f Wed Apr 30 21:09:57 UTC 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 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>
|
| /rk3399_rockchip-uboot/drivers/usb/host/ |
| H A D | ehci-tegra.c | a4539a2aa7bde003d4318b1b2e21fd217cc2899f Wed Apr 30 21:09:57 UTC 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 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>
|