From 944a4894c047f9fc17d21f1e4ca92d5909b8405b Mon Sep 17 00:00:00 2001 From: Ajay Kumar Gupta Date: Thu, 10 Jun 2010 11:20:50 +0530 Subject: musb: Program extvbus for OMAP3EVM Rev >= E OMAP3EVM Rev >=E uses external Vbus supply so setting 'extvbus' to '1' for OMAP3EVM Rev >=E runtime based on EVM revision. CC: Remy Bohmer Signed-off-by: Ajay Kumar Gupta diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c index fcc1803..9948b9c 100644 --- a/board/ti/evm/evm.c +++ b/board/ti/evm/evm.c @@ -65,6 +65,19 @@ static void omap3_evm_get_revision(void) } /* + * MUSB port on OMAP3EVM Rev >= E requires extvbus programming. + */ +u8 omap3_evm_need_extvbus(void) +{ + u8 retval = 0; + + if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) + retval = 1; + + return retval; +} + +/* * Routine: board_init * Description: Early hardware init. */ diff --git a/drivers/usb/musb/omap3.c b/drivers/usb/musb/omap3.c index 785629c..a983552 100644 --- a/drivers/usb/musb/omap3.c +++ b/drivers/usb/musb/omap3.c @@ -119,6 +119,9 @@ int musb_platform_init(void) stdby &= ~OMAP3_OTG_FORCESTDBY_STANDBY; writel(stdby, &otg->forcestdby); +#ifdef CONFIG_OMAP3_EVM + musb_cfg.extvbus = omap3_evm_need_extvbus(); +#endif platform_needs_initialization = 0; } diff --git a/drivers/usb/musb/omap3.h b/drivers/usb/musb/omap3.h index b591862..c934e0c 100644 --- a/drivers/usb/musb/omap3.h +++ b/drivers/usb/musb/omap3.h @@ -44,4 +44,8 @@ int musb_platform_init(void); +#ifdef CONFIG_OMAP3_EVM +extern u8 omap3_evm_use_extvbus(void); +#endif + #endif /* _MUSB_OMAP3_H */ -- cgit v0.10.2