mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 13:14:19 +08:00
usb: musb: blackfin: check anomaly workarounds at runtime too
The anomaly workarounds we need for older silicon might break things if used on newer versions where the anomalies don't exist. So check the silicon rev at runtime too. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
38e0745e4d
commit
081b59e453
@ -97,10 +97,25 @@ static void __def_musb_init(void)
|
||||
}
|
||||
void board_musb_init(void) __attribute__((weak, alias("__def_musb_init")));
|
||||
|
||||
int musb_platform_init(void)
|
||||
static void bfin_anomaly_init(void)
|
||||
{
|
||||
/* board specific initialization */
|
||||
board_musb_init();
|
||||
u32 revid;
|
||||
|
||||
if (!ANOMALY_05000346 && !ANOMALY_05000347)
|
||||
return;
|
||||
|
||||
revid = bfin_revid();
|
||||
|
||||
#ifdef __ADSPBF54x__
|
||||
if (revid > 0)
|
||||
return;
|
||||
#endif
|
||||
#ifdef __ADSPBF52x__
|
||||
if (ANOMALY_BF526 && revid > 0)
|
||||
return;
|
||||
if (ANOMALY_BF527 && revid > 1)
|
||||
return;
|
||||
#endif
|
||||
|
||||
if (ANOMALY_05000346) {
|
||||
bfin_write_USB_APHY_CALIB(ANOMALY_05000346_value);
|
||||
@ -111,6 +126,14 @@ int musb_platform_init(void)
|
||||
bfin_write_USB_APHY_CNTRL(0x0);
|
||||
SSYNC();
|
||||
}
|
||||
}
|
||||
|
||||
int musb_platform_init(void)
|
||||
{
|
||||
/* board specific initialization */
|
||||
board_musb_init();
|
||||
|
||||
bfin_anomaly_init();
|
||||
|
||||
/* Configure PLL oscillator register */
|
||||
bfin_write_USB_PLLOSC_CTRL(0x3080 |
|
||||
|
Loading…
Reference in New Issue
Block a user