Skip to contentSkip to conversation

usb: ehci-orion: add more constants for register values

PATCH Superseded Thomas Petazzoni 2 participants 2 messages Mar 19, 2015

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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().

---
 drivers/usb/host/ehci-orion.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)
drivers/usb/host/ehci-orion.c +12 -6
index f6eafec..0feca8a 100644
@@ -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
Signature · 1 line
2.1.0
#1 lore raw

PATCH 1/1 usb: ehci-orion: add more constants for register values

Hello.

Quoted 14 lines · Thomas Petazzoni

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().

---
  drivers/usb/host/ehci-orion.c | 18 ++++++++++++------
  1 file changed, 12 insertions(+), 6 deletions(-)
drivers/usb/host/ehci-orion.c +0 -0
index f6eafec..0feca8a 100644

drivers/usb/host/ehci-orion.c line 33

Quoted 5 lines
drivers/usb/host/ehci-orion.c +2 -0
@@ -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)

Please use tabs to align the values, not spaces.

drivers/usb/host/ehci-orion.c line 38

Quoted 5 lines
drivers/usb/host/ehci-orion.c +4 -0
  #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)

Here too.

drivers/usb/host/ehci-orion.c line 41

Quoted 3 lines
drivers/usb/host/ehci-orion.c +0 -0
  #define USB_CAUSE		0x310
  #define USB_MASK		0x314
  #define USB_WINDOW_CTRL(i)	(0x320 + ((i) << 4))

[...]

WBR, Sergei