|
@@ -176,8 +176,12 @@ static void samsung_usb2phy_enable(struct samsung_usbphy *sphy)
|
|
|
phypwr &= ~PHYPWR_NORMAL_MASK;
|
|
|
rstcon |= RSTCON_SWRST;
|
|
|
break;
|
|
|
- case TYPE_EXYNOS4210:
|
|
|
case TYPE_EXYNOS4X12:
|
|
|
+ phypwr &= ~(PHYPWR_NORMAL_MASK_HSIC0 |
|
|
|
+ PHYPWR_NORMAL_MASK_HSIC1 |
|
|
|
+ PHYPWR_NORMAL_MASK_PHY1);
|
|
|
+ rstcon |= RSTCON_HOSTPHY_SWRST;
|
|
|
+ case TYPE_EXYNOS4210:
|
|
|
phypwr &= ~PHYPWR_NORMAL_MASK_PHY0;
|
|
|
rstcon |= RSTCON_SWRST;
|
|
|
default:
|
|
@@ -190,6 +194,8 @@ static void samsung_usb2phy_enable(struct samsung_usbphy *sphy)
|
|
|
/* reset all ports of PHY and Link */
|
|
|
writel(rstcon, regs + SAMSUNG_RSTCON);
|
|
|
udelay(10);
|
|
|
+ if (sphy->drv_data->cpu_type == TYPE_EXYNOS4X12)
|
|
|
+ rstcon &= ~RSTCON_HOSTPHY_SWRST;
|
|
|
rstcon &= ~RSTCON_SWRST;
|
|
|
writel(rstcon, regs + SAMSUNG_RSTCON);
|
|
|
}
|
|
@@ -240,8 +246,11 @@ static void samsung_usb2phy_disable(struct samsung_usbphy *sphy)
|
|
|
case TYPE_S3C64XX:
|
|
|
phypwr |= PHYPWR_NORMAL_MASK;
|
|
|
break;
|
|
|
- case TYPE_EXYNOS4210:
|
|
|
case TYPE_EXYNOS4X12:
|
|
|
+ phypwr |= (PHYPWR_NORMAL_MASK_HSIC0 |
|
|
|
+ PHYPWR_NORMAL_MASK_HSIC1 |
|
|
|
+ PHYPWR_NORMAL_MASK_PHY1);
|
|
|
+ case TYPE_EXYNOS4210:
|
|
|
phypwr |= PHYPWR_NORMAL_MASK_PHY0;
|
|
|
default:
|
|
|
break;
|