From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Tue, 4 Nov 2014 11:33:34 +0100 Subject: [U-Boot] [PATCH v2 1/3] usb:ehci-mx6 add board_ehci_usb_mode function In-Reply-To: <1415087402-26007-2-git-send-email-Peng.Fan@freescale.com> References: <1415087402-26007-1-git-send-email-Peng.Fan@freescale.com> <1415087402-26007-2-git-send-email-Peng.Fan@freescale.com> Message-ID: <201411041133.34331.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tuesday, November 04, 2014 at 08:50:00 AM, Peng Fan wrote: > Include a weak function board_ehci_usb_mode to gives board code > a choice. What choice? > If the board want the otg port work in host mode but not > device mode, this should be handled. How? Also, isn't usb_phy_enable() supposed to do exactly this kind of selection between device and host mode ? > Signed-off-by: Peng Fan > Signed-off-by: Ye Li > --- > > Changes v2: > Introduce a new weak function to let board have a choice to decide which > mode to work at. > > drivers/usb/host/ehci-mx6.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c > index 9ec5a0a..3662a80 100644 > --- a/drivers/usb/host/ehci-mx6.c > +++ b/drivers/usb/host/ehci-mx6.c > @@ -193,6 +193,11 @@ static void usb_oc_config(int index) > __raw_writel(val, ctrl); > } > > +int __weak board_ehci_usb_mode(int index, enum usb_init_type *type) > +{ > + return 0; > +} > + > int __weak board_ehci_hcd_init(int port) > { > return 0; > @@ -223,6 +228,8 @@ int ehci_hcd_init(int index, enum usb_init_type init, > usb_internal_phy_clock_gate(index, 1); > type = usb_phy_enable(index, ehci) ? USB_INIT_DEVICE : USB_INIT_HOST; > > + board_ehci_usb_mode(index, &type); > + > *hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength); > *hcor = (struct ehci_hcor *)((uint32_t)*hccr + > HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase))); Best regards, Marek Vasut