Commit 727fce36 authored by Simon Glass's avatar Simon Glass
Browse files

dm: usb: Pass EHCI controller pointer to ehci_powerup_fixup()



Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller.
Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
Reviewed-by: default avatarMarek Vasut <marex@denx.de>
parent 27f782b6
......@@ -173,7 +173,8 @@ int board_ehci_hcd_init(int port)
return 0;
}
void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg)
void ehci_powerup_fixup(struct ehci_ctrl *ctrl, uint32_t *status_reg,
uint32_t *reg)
{
uint32_t port = OTG_BASE_ADDR + (0x200 * CONFIG_MXC_USB_PORT);
struct usb_ehci *ehci = (struct usb_ehci *)port;
......
......@@ -138,7 +138,8 @@ __weak void ehci_set_usbmode(int index)
ehci_writel(reg_ptr, tmp);
}
__weak void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg)
__weak void ehci_powerup_fixup(struct ehci_ctrl *ctrl, uint32_t *status_reg,
uint32_t *reg)
{
mdelay(50);
}
......@@ -843,7 +844,7 @@ ehci_submit_root(struct usb_device *dev, unsigned long pipe, void *buffer,
* usb 2.0 specification say 50 ms resets on
* root
*/
ehci_powerup_fixup(status_reg, &reg);
ehci_powerup_fixup(ctrl, status_reg, &reg);
ehci_writel(status_reg, reg & ~EHCI_PS_PR);
/*
......
......@@ -198,7 +198,8 @@ static struct fdt_usb_controller *controller;
* This ehci_powerup_fixup overrides the weak function ehci_powerup_fixup
* in "ehci-hcd.c".
*/
void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg)
void ehci_powerup_fixup(struct ehci_ctrl *ctrl, uint32_t *status_reg,
uint32_t *reg)
{
mdelay(50);
/* This is to avoid PORT_ENABLE bit to be cleared in "ehci-hcd.c". */
......
......@@ -254,7 +254,8 @@ struct ehci_ctrl {
/* Weak functions that drivers can override */
int ehci_get_port_speed(struct ehci_ctrl *ctrl, uint32_t reg);
void ehci_set_usbmode(int index);
void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg);
void ehci_powerup_fixup(struct ehci_ctrl *ctrl, uint32_t *status_reg,
uint32_t *reg);
uint32_t *ehci_get_portsc_register(struct ehci_hcor *hcor, int port);
/**
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment