From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Sat, 18 Jun 2016 00:48:07 +0200 Subject: [U-Boot] =?utf-8?q?=5BPATCH=5D_ehci=3A_mx7=EF=BC=9A_Fix_OTG_ID_de?= =?utf-8?q?tection?= In-Reply-To: <1466144342-32629-1-git-send-email-peng.fan@nxp.com> References: <1466144342-32629-1-git-send-email-peng.fan@nxp.com> Message-ID: <57647E27.7090504@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 06/17/2016 08:19 AM, Peng Fan wrote: > From: Ye Li > > 1. The offset for phy_status register in usbnc_regs is not correct. > 2. We should clear the USBNC_PHYCFG2_ACAENB bit to enable the OTG ID detection, > not set it. When the bit is set, the ACA Resistance Detection is enabled, > which disables the OTG ID detection, because the internal pull up is off. So this is one patch which does two things? This should be split into two patches then. > Signed-off-by: Peng Fan > Signed-off-by: Ye Li > Cc: Marek Vasut > Cc: Mateusz Kulikowski > Cc: Stefan Agner > --- > drivers/usb/host/ehci-mx6.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c > index bb48d0d..922ef29 100644 > --- a/drivers/usb/host/ehci-mx6.c > +++ b/drivers/usb/host/ehci-mx6.c > @@ -194,8 +194,9 @@ struct usbnc_regs { > u32 reserve1[10]; > u32 phy_cfg1; > u32 phy_cfg2; > + u32 reserve2[1]; > u32 phy_status; > - u32 reserve2[4]; > + u32 reserve3[4]; This will also shift all the registers below by 8 bytes, is that correct ? > u32 adp_cfg1; > u32 adp_cfg2; > u32 adp_status; > @@ -207,8 +208,11 @@ static void usb_power_config(int index) > (0x10000 * index) + USBNC_OFFSET); > void __iomem *phy_cfg2 = (void __iomem *)(&usbnc->phy_cfg2); > > - /* Enable usb_otg_id detection */ > - setbits_le32(phy_cfg2, USBNC_PHYCFG2_ACAENB); > + /* > + * Clear the ACAENB to enable usb_otg_id detection, > + * otherwise it is the ACA detection enabled. > + */ > + clrbits_le32(phy_cfg2, USBNC_PHYCFG2_ACAENB); > } > > int usb_phy_mode(int port) > -- Best regards, Marek Vasut