diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-03-19 15:01:07 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-03-26 10:50:52 +0100 |
commit | 24677af8693647d611448651f7df3ddc3211aa83 (patch) | |
tree | 2b716639834a92c98d44a0b8c26e128b4363915d | |
parent | bb3247a34257a271b32d43244eabf71198f40ff0 (diff) | |
download | linux-24677af8693647d611448651f7df3ddc3211aa83.tar.gz linux-24677af8693647d611448651f7df3ddc3211aa83.tar.bz2 linux-24677af8693647d611448651f7df3ddc3211aa83.zip |
usb: ehci-orion: add more constants for register values
This commit adds new register values for the USB_CMD and USB_MODE
registers, which allows to avoid the usage of a number of magic values
in orion_usb_phy_v1_setup().
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/host/ehci-orion.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c index f6eafecab15c..bfcbb9aa8816 100644 --- a/drivers/usb/host/ehci-orion.c +++ b/drivers/usb/host/ehci-orion.c @@ -29,7 +29,13 @@ #define wrl(off, val) writel_relaxed((val), hcd->regs + (off)) #define USB_CMD 0x140 +#define USB_CMD_RUN BIT(0) +#define USB_CMD_RESET BIT(1) #define USB_MODE 0x1a8 +#define USB_MODE_MASK GENMASK(1, 0) +#define USB_MODE_DEVICE 0x2 +#define USB_MODE_HOST 0x3 +#define USB_MODE_SDIS BIT(4) #define USB_CAUSE 0x310 #define USB_MASK 0x314 #define USB_WINDOW_CTRL(i) (0x320 + ((i) << 4)) @@ -69,8 +75,8 @@ static void orion_usb_phy_v1_setup(struct usb_hcd *hcd) /* * Reset controller */ - wrl(USB_CMD, rdl(USB_CMD) | 0x2); - while (rdl(USB_CMD) & 0x2); + wrl(USB_CMD, rdl(USB_CMD) | USB_CMD_RESET); + while (rdl(USB_CMD) & USB_CMD_RESET); /* * GL# USB-10: Set IPG for non start of frame packets @@ -112,16 +118,16 @@ static void orion_usb_phy_v1_setup(struct usb_hcd *hcd) /* * Stop and reset controller */ - wrl(USB_CMD, rdl(USB_CMD) & ~0x1); - wrl(USB_CMD, rdl(USB_CMD) | 0x2); - while (rdl(USB_CMD) & 0x2); + wrl(USB_CMD, rdl(USB_CMD) & ~USB_CMD_RUN); + wrl(USB_CMD, rdl(USB_CMD) | USB_CMD_RESET); + while (rdl(USB_CMD) & USB_CMD_RESET); /* * GL# USB-5 Streaming disable REG_USB_MODE[4]=1 * TBD: This need to be done after each reset! * GL# USB-4 Setup USB Host mode */ - wrl(USB_MODE, 0x13); + wrl(USB_MODE, USB_MODE_SDIS | USB_MODE_HOST); } static void |