|
|
|
Re: [PATCH v6.5 20/25] usb: chipidea: add host role | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
|
>
> [three time's the charm; sorry for spam]
>
> > Note that some chipidea version need special callback for phy init
> > or errata workaround.
>
> It can be done similarly to how it's currently done in ehci-mv, I
> guess. I'm not sure which particular workaround you are referring to,
> though.
See http://marc.info/?l=linux-usb&m=133558407107168&w=2 for example.
I added Peter Chen on CC. I could provide more info on this.
tegra one also got special callback (tegra_ehci_hub_control, ...)
>
> > In the current version, this is done in platform driver (ehci-fsl.c,
> > ehci-tegra.c, ...).
>
> Are these two even chipideas? They don't look like they are from the
> register definitions.
Yes, but fsl got some extra register for special stuff (non_ehci base).
Nearly all ehci core with has_tt are chipidea.
>
> > I don't know you do you plan to manage them ?
>
> My idea is that if we need workarounds in the controller code for
> certain versions of the controller, we can do that based on the
> chipidea version that we can determine at run time and/or platform
> supplied information. This, of course, has to be part of the hdrc
> driver. If there is any platform specific phy code though, it has to
> be managed by usb_phy layer.
But AFAIK the phy setting are lost after a ehci_reset, and in the current host
code I don't see call to phy layer.
> +static int ci_ehci_setup(struct usb_hcd *hcd)
> +{
> + struct ehci_hcd *ehci = hcd_to_ehci(hcd);
> + int ret;
> +
> + ret = ehci_halt(ehci);
> + if (ret)
> + return ret;
> +
> + ret = ehci_init(hcd);
> + if (ret)
> + return ret;
> +
> + ehci_reset(ehci);
> +
> + return ret;
> +}
Why can't you use ehci_setup here ?
> + ret = hw_device_reset(ci, USBMODE_CM_HOST);
Why do you need to do that ? ehci_reset will do it (with tdi_reset).
Matthieu
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html

[Linux Media] [Video for Linux] [Linux Input] [Linux Audio Users] [Photo] [Yosemite News] [Yosemite Photos] [Free Online Dating] [Linux Kernel] [Linux SCSI] [Old Linux USB Devel Archive] [More Archives]
![]() |
![]() |