summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2019-05-20 11:23:58 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2019-05-21 11:48:38 +0200
commita10886302c9bb548b6f94d47b77c243bfe164642 (patch)
tree4dc7352ccb8be879ae2e10cf41a49c80b673aad7 /drivers/usb
parent3da7b102b17e8ba1311749cbd2fb0be1c62bb615 (diff)
downloadbarebox-a10886302c9bb548b6f94d47b77c243bfe164642.tar.gz
barebox-a10886302c9bb548b6f94d47b77c243bfe164642.tar.xz
usb: imx-usb-phy: Import register definitions from Linux driver
Import register definitions from Linux driver to simplify comparing/sharing code a bit. No functional change intended. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/imx/imx-usb-phy.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/drivers/usb/imx/imx-usb-phy.c b/drivers/usb/imx/imx-usb-phy.c
index 274153bd58..df7e192d3a 100644
--- a/drivers/usb/imx/imx-usb-phy.c
+++ b/drivers/usb/imx/imx-usb-phy.c
@@ -24,16 +24,17 @@
#include <linux/clk.h>
#include <linux/err.h>
-#define SET 0x4
-#define CLR 0x8
-
-#define USBPHY_CTRL 0x30
+#define HW_USBPHY_PWD 0x00
+#define HW_USBPHY_TX 0x10
+#define HW_USBPHY_CTRL 0x30
+#define HW_USBPHY_CTRL_SET 0x34
+#define HW_USBPHY_CTRL_CLR 0x38
#define USBPHY_CTRL_SFTRST (1 << 31)
#define USBPHY_CTRL_CLKGATE (1 << 30)
-#define USBPHY_CTRL_ENUTMILEVEL3 (1 << 15)
-#define USBPHY_CTRL_ENUTMILEVEL2 (1 << 14)
-#define USBPHY_CTRL_ENHOSTDISCONDETECT (1 << 1)
+#define BM_USBPHY_CTRL_ENUTMILEVEL3 BIT(15)
+#define BM_USBPHY_CTRL_ENUTMILEVEL2 BIT(14)
+#define BM_USBPHY_CTRL_ENHOSTDISCONDETECT BIT(1)
struct imx_usbphy {
struct usb_phy usb_phy;
@@ -50,20 +51,20 @@ static int imx_usbphy_phy_init(struct phy *phy)
clk_enable(imxphy->clk);
/* reset usbphy */
- writel(USBPHY_CTRL_SFTRST, imxphy->base + USBPHY_CTRL + SET);
+ writel(USBPHY_CTRL_SFTRST, imxphy->base + HW_USBPHY_CTRL_SET);
udelay(10);
/* clr reset and clkgate */
writel(USBPHY_CTRL_SFTRST | USBPHY_CTRL_CLKGATE,
- imxphy->base + USBPHY_CTRL + CLR);
+ imxphy->base + HW_USBPHY_CTRL_CLR);
- /* clr all pwd bits => power up phy */
- writel(0xffffffff, imxphy->base + CLR);
+ /* Power up the PHY */
+ writel(0, imxphy->base + HW_USBPHY_PWD);
/* set utmilvl2/3 */
- writel(USBPHY_CTRL_ENUTMILEVEL3 | USBPHY_CTRL_ENUTMILEVEL2,
- imxphy->base + USBPHY_CTRL + SET);
+ writel(BM_USBPHY_CTRL_ENUTMILEVEL3 | BM_USBPHY_CTRL_ENUTMILEVEL2,
+ imxphy->base + HW_USBPHY_CTRL_SET);
return 0;
}
@@ -74,8 +75,8 @@ static int imx_usbphy_notify_connect(struct usb_phy *phy,
struct imx_usbphy *imxphy = container_of(phy, struct imx_usbphy, usb_phy);
if (speed == USB_SPEED_HIGH) {
- writel(USBPHY_CTRL_ENHOSTDISCONDETECT,
- imxphy->base + USBPHY_CTRL + SET);
+ writel(BM_USBPHY_CTRL_ENHOSTDISCONDETECT,
+ imxphy->base + HW_USBPHY_CTRL_SET);
}
return 0;
@@ -86,8 +87,8 @@ static int imx_usbphy_notify_disconnect(struct usb_phy *phy,
{
struct imx_usbphy *imxphy = container_of(phy, struct imx_usbphy, usb_phy);
- writel(USBPHY_CTRL_ENHOSTDISCONDETECT,
- imxphy->base + USBPHY_CTRL + CLR);
+ writel(BM_USBPHY_CTRL_ENHOSTDISCONDETECT,
+ imxphy->base + HW_USBPHY_CTRL_CLR);
return 0;
}