|
@@ -297,9 +297,15 @@ static int beagle_twl_gpio_setup(struct device *dev,
|
|
|
gpio_request(gpio + 1, "EHCI_nOC");
|
|
|
gpio_direction_input(gpio + 1);
|
|
|
|
|
|
- /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
|
|
|
+ /*
|
|
|
+ * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
|
|
|
+ * high / others active low)
|
|
|
+ */
|
|
|
gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
|
|
|
- gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
|
|
|
+ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
|
|
|
+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
|
|
|
+ else
|
|
|
+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
|
|
|
|
|
|
/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
|
|
|
gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
|