mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
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: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
56d4273045
commit
11d18a1946
4 changed files with 7 additions and 8 deletions
|
@ -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);
|
||||
tmp |= USBMODE_CM_HC;
|
||||
#if defined(CONFIG_EHCI_MMIO_BIG_ENDIAN)
|
||||
|
@ -187,7 +187,7 @@ static int ehci_reset(int index)
|
|||
}
|
||||
|
||||
if (ehci_is_TDI())
|
||||
ehci_set_usbmode(index);
|
||||
ehci_set_usbmode(&ehcic[index]);
|
||||
|
||||
#ifdef CONFIG_USB_EHCI_TXFIFO_THRESH
|
||||
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);
|
||||
|
|
Loading…
Reference in a new issue