Commit 11d18a19 authored by Simon Glass's avatar Simon Glass
Browse files

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

Adjust this function so that it is passed an EHCI controller pointer so that
implementations can look up their controller. This makes the weak functions
use a consistent API.

Signed-off-by: default avatarSimon Glass <>
Reviewed-by: default avatarMarek Vasut <>
parent 56d42730
......@@ -92,7 +92,7 @@ int ehci_hcd_stop(int index)
* This ehci_set_usbmode() overrides the weak function
* in "ehci-hcd.c".
void ehci_set_usbmode(int index)
void ehci_set_usbmode(struct ehci_ctrl *ctrl)
/* nothing needs to be done */
......@@ -124,12 +124,12 @@ __weak int ehci_get_port_speed(struct ehci_ctrl *ctrl, uint32_t reg)
return PORTSC_PSPD(reg);
__weak void ehci_set_usbmode(int index)
__weak void ehci_set_usbmode(struct ehci_ctrl *ctrl)
uint32_t tmp;
uint32_t *reg_ptr;
reg_ptr = (uint32_t *)((u8 *)&ehcic[index].hcor->or_usbcmd + USBMODE);
reg_ptr = (uint32_t *)((u8 *)&ctrl->hcor->or_usbcmd + USBMODE);
tmp = ehci_readl(reg_ptr);
......@@ -187,7 +187,7 @@ static int ehci_reset(int index)
if (ehci_is_TDI())
cmd = ehci_readl(&ehcic[index].hcor->or_txfilltuning);
......@@ -219,13 +219,12 @@ void ehci_powerup_fixup(struct ehci_ctrl *ctrl, uint32_t *status_reg,
* This ehci_set_usbmode overrides the weak function ehci_set_usbmode
* in "ehci-hcd.c".
void ehci_set_usbmode(int index)
void ehci_set_usbmode(struct ehci_ctrl *ctrl)
struct fdt_usb *config;
struct fdt_usb *config = ctrl->priv;
struct usb_ctlr *usbctlr;
uint32_t tmp;
config = &port[index];
usbctlr = config->reg;
tmp = ehci_readl(&usbctlr->usb_mode);
......@@ -253,7 +253,7 @@ 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_set_usbmode(struct ehci_ctrl *ctrl);
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);
Supports Markdown
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