@@ -43,8 +43,6 @@ static const char driver_desc[] = DRIVER_DESC;
static struct usb_dr_device *dr_regs;
-static struct usb_sys_interface *usb_sys_regs;
-
static const struct usb_endpoint_descriptor
fsl_ep0_desc = {
.bLength = USB_DT_ENDPOINT_SIZE,
@@ -170,10 +168,10 @@ static int dr_controller_setup(struct fsl_udc *udc)
if (udc->pdata->have_sysif_regs) {
if (udc->pdata->controller_ver) {
/* controller version 1.6 or above */
- ctrl = __raw_readl(&usb_sys_regs->control);
+ ctrl = readl(&udc->usb_sys_regs->control);
ctrl &= ~USB_CTRL_UTMI_PHY_EN;
ctrl |= USB_CTRL_USB_EN;
- __raw_writel(ctrl, &usb_sys_regs->control);
+ writel(ctrl, &udc->usb_sys_regs->control);
}
}
portctrl |= PORTSCX_PTS_ULPI;
@@ -185,10 +183,10 @@ static int dr_controller_setup(struct fsl_udc *udc)
if (udc->pdata->have_sysif_regs) {
if (udc->pdata->controller_ver) {
/* controller version 1.6 or above */
- ctrl = __raw_readl(&usb_sys_regs->control);
+ ctrl = readl(&udc->usb_sys_regs->control);
ctrl |= (USB_CTRL_UTMI_PHY_EN |
USB_CTRL_USB_EN);
- __raw_writel(ctrl, &usb_sys_regs->control);
+ writel(ctrl, &udc->usb_sys_regs->control);
mdelay(FSL_UTMI_PHY_DLY); /* Delay for UTMI
PHY CLK to become stable - 10ms*/
}
@@ -254,9 +252,9 @@ static int dr_controller_setup(struct fsl_udc *udc)
/* Config control enable i/o output, cpu endian register */
#ifndef CONFIG_ARCH_MXC
if (udc->pdata->have_sysif_regs) {
- ctrl = __raw_readl(&usb_sys_regs->control);
+ ctrl = readl(&udc->usb_sys_regs->control);
ctrl |= USB_CTRL_IOENB;
- __raw_writel(ctrl, &usb_sys_regs->control);
+ writel(ctrl, &udc->usb_sys_regs->control);
}
#endif
@@ -267,9 +265,9 @@ static int dr_controller_setup(struct fsl_udc *udc)
if (udc->pdata->have_sysif_regs) {
/* Setup Snooping for all the 4GB space */
tmp = SNOOP_SIZE_2GB; /* starts from 0x0, size 2G */
- __raw_writel(tmp, &usb_sys_regs->snoop1);
+ writel(tmp, &udc->usb_sys_regs->snoop1);
tmp |= 0x80000000; /* starts from 0x8000000, size 2G */
- __raw_writel(tmp, &usb_sys_regs->snoop2);
+ writel(tmp, &udc->usb_sys_regs->snoop2);
}
#endif
@@ -326,7 +324,7 @@ static void dr_controller_stop(struct fsl_udc *udc)
udc->stopped = 1;
/* disable IO output */
-/* usb_sys_regs->control = 0; */
+/* udc->usb_sys_regs->control = 0; */
/* set controller to Stop */
tmp = readl(&dr_regs->usbcmd);
@@ -2130,12 +2128,12 @@ static int fsl_proc_read(char *page, char **start, off_t off, int count,
#ifndef CONFIG_ARCH_MXC
if (udc->pdata->have_sysif_regs) {
- tmp_reg = usb_sys_regs->snoop1;
+ tmp_reg = udc->usb_sys_regs->snoop1;
t = scnprintf(next, size, "Snoop1 Reg : = [0x%x]\n\n", tmp_reg);
size -= t;
next += t;
- tmp_reg = usb_sys_regs->control;
+ tmp_reg = udc->usb_sys_regs->control;
t = scnprintf(next, size, "General Control Reg : = [0x%x]\n\n",
tmp_reg);
size -= t;
@@ -2388,7 +2386,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev)
#ifndef CONFIG_ARCH_MXC
if (pdata->have_sysif_regs)
- usb_sys_regs = (void *)dr_regs + USB_DR_SYS_OFFSET;
+ udc->usb_sys_regs = (void *)dr_regs + USB_DR_SYS_OFFSET;
#endif
/* Initialize USB clocks */
@@ -498,6 +498,7 @@ struct fsl_udc {
dma_addr_t ep_qh_dma; /* dma address of QH */
struct ep_td_struct *last_free_td;
+ struct usb_sys_interface *usb_sys_regs;
u32 max_pipes; /* Device max pipes */
u32 bus_reset; /* Device is bus resetting */