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: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
27f782b6a1
commit
727fce369e
@ -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, ®);
|
||||
ehci_powerup_fixup(ctrl, status_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);
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user