mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-26 06:30:39 +00:00
USB: EHCI: Allow EHCI post-powerup configuration in board files
This patch allows USB to work on some hosts, which need additional frobing after the host was powered up via regular USB powerup sequence. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Remy Bohmer <linux@bohmer.net> Cc: Wolfgang Grandegger <wg@denx.de> Cc: Jason Liu <r64343@freescale.com>
This commit is contained in:
parent
055d969332
commit
3874b6d674
1 changed files with 10 additions and 2 deletions
|
@ -205,6 +205,14 @@ static inline void ehci_invalidate_dcache(struct QH *qh)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_EHCI_DCACHE */
|
#endif /* CONFIG_EHCI_DCACHE */
|
||||||
|
|
||||||
|
void __ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg)
|
||||||
|
{
|
||||||
|
mdelay(50);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg)
|
||||||
|
__attribute__((weak, alias("__ehci_powerup_fixup")));
|
||||||
|
|
||||||
static int handshake(uint32_t *ptr, uint32_t mask, uint32_t done, int usec)
|
static int handshake(uint32_t *ptr, uint32_t mask, uint32_t done, int usec)
|
||||||
{
|
{
|
||||||
uint32_t result;
|
uint32_t result;
|
||||||
|
@ -713,8 +721,8 @@ ehci_submit_root(struct usb_device *dev, unsigned long pipe, void *buffer,
|
||||||
* usb 2.0 specification say 50 ms resets on
|
* usb 2.0 specification say 50 ms resets on
|
||||||
* root
|
* root
|
||||||
*/
|
*/
|
||||||
wait_ms(50);
|
ehci_powerup_fixup(status_reg, ®);
|
||||||
/* terminate the reset */
|
|
||||||
ehci_writel(status_reg, reg & ~EHCI_PS_PR);
|
ehci_writel(status_reg, reg & ~EHCI_PS_PR);
|
||||||
/*
|
/*
|
||||||
* A host controller must terminate the reset
|
* A host controller must terminate the reset
|
||||||
|
|
Loading…
Reference in a new issue