From cc2a9d4cd0dceb8c4475abca6e0d55532ab2277b Mon Sep 17 00:00:00 2001 From: Frank Li Date: Wed, 12 Feb 2020 15:44:40 -0600 Subject: [PATCH] MLK-23311-1 ehci-mx6: usb phy support multi gadget controller fix usb_power_config hard code to first one Signed-off-by: Frank Li (cherry picked from commit dbe54e1f3625269f7bc422ccf53693cb9e0f949b) (cherry picked from commit a9dadac19d87a5812c2bbbd50bc22a76cb432f9b) --- drivers/usb/imx/usb-mx6-common.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/usb/imx/usb-mx6-common.c b/drivers/usb/imx/usb-mx6-common.c index 42b94847e7..d2dd715eaf 100644 --- a/drivers/usb/imx/usb-mx6-common.c +++ b/drivers/usb/imx/usb-mx6-common.c @@ -80,13 +80,13 @@ static void usb_internal_phy_clock_gate(int index, int on) static void usb_power_config(int index) { + if (index >= ARRAY_SIZE(phy_bases)) + return; + #if defined(CONFIG_MX7ULP) struct usbphy_regs __iomem *usbphy = (struct usbphy_regs __iomem *)USB_PHY0_BASE_ADDR; - if (index > 0) - return; - writel(ANADIG_USB2_CHRG_DETECT_EN_B | ANADIG_USB2_CHRG_DETECT_CHK_CHRG_B, &usbphy->usb1_chrg_detect); @@ -94,12 +94,11 @@ static void usb_power_config(int index) scg_enable_usb_pll(true); #elif defined(CONFIG_IMX8) - struct usbphy_regs __iomem *usbphy = - (struct usbphy_regs __iomem *)USB_PHY0_BASE_ADDR; - int timeout = 1000000; - if (index > 0) - return; + + struct usbphy_regs __iomem *usbphy = (struct usbphy_regs __iomem *)phy_bases[index]; + + int timeout = 1000000; writel(ANADIG_USB2_CHRG_DETECT_EN_B | ANADIG_USB2_CHRG_DETECT_CHK_CHRG_B, -- 2.17.1