@@ -400,6 +400,21 @@ int ehci_hcd_init(void)
{
pr_debug("Initializing OMAP3 ECHI\n");
+ /* Enable power to the USB hub */
+ switch (get_board_revision()) {
+ case REVISION_XM_A:
+ case REVISION_XM_B:
+ twl4030_led_set(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
+ break;
+ case REVISION_AXBX:
+ case REVISION_CX:
+ case REVISION_C4:
+ case REVISION_XM_C:
+ default:
+ twl4030_led_set(TWL4030_LED_LEDEN_LEDBON);
+ break;
+ }
+
/* Put the PHY in RESET */
omap_request_gpio(GPIO_PHY_RESET);
omap_set_gpio_direction(GPIO_PHY_RESET, 0);
@@ -42,7 +42,11 @@ void twl4030_led_init(unsigned char ledon_mask)
if (ledon_mask & TWL4030_LED_LEDEN_LEDBON)
ledon_mask |= TWL4030_LED_LEDEN_LEDBPWM;
+ twl4030_led_set(ledon_mask);
+}
+
+void twl4030_led_set(unsigned char ledon_mask)
+{
twl4030_i2c_write_u8(TWL4030_CHIP_LED, ledon_mask,
TWL4030_LED_LEDEN);
-
}
@@ -523,6 +523,7 @@ void twl4030_power_mmc_init(void);
* LED
*/
void twl4030_led_init(unsigned char ledon_mask);
+void twl4030_led_set(unsigned char ledon_mask);
/*
* USB
This is an attempt to get the EHCI port working on the BeagleBoard-xM, but it is not working for me. It hangs when I do 'usb start'. Signed-off-by: Jason Kridner <jkridner@beagleboard.org> --- board/ti/beagle/beagle.c | 15 +++++++++++++++ drivers/misc/twl4030_led.c | 6 +++++- include/twl4030.h | 1 + 3 files changed, 21 insertions(+), 1 deletions(-)