[U-Boot] [PATCH V3 03/20] nitrogen6x: add otg usb ethernet gadget support

Troy Kisky
2013-08-01T23:27:20Z

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
---
board/boundary/nitrogen6x/nitrogen6x.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c
index 1a29b6f..eedcd77 100644
--- a/board/boundary/nitrogen6x/nitrogen6x.c
+++ b/board/boundary/nitrogen6x/nitrogen6x.c
@@ -30,6 +30,7 @@
#include <i2c.h>

DECLARE_GLOBAL_DATA_PTR;
+#define GP_USB_OTG_PWR IMX_GPIO_NR(3, 22)

#define UART_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \
@@ -369,6 +370,13 @@ int board_eth_init(bd_t *bis)
free(bus);
}
#endif
+
+#ifdef CONFIG_MV_UDC
+ otg_enable();
+
+ /* For otg ethernet*/
+ usb_eth_initialize(bis);
+#endif
return 0;
}

@@ -717,6 +725,7 @@ int board_early_init_f(void)
gpio_direction_input(WL12XX_WL_IRQ_GP);
gpio_direction_output(WL12XX_WL_ENABLE_GP, 0);
gpio_direction_output(WL12XX_BT_ENABLE_GP, 0);
+ gpio_direction_output(GP_USB_OTG_PWR, 0); /* OTG power off */

imx_iomux_v3_setup_multiple_pads(wl12xx_pads, ARRAY_SIZE(wl12xx_pads));
setup_buttons();
@@ -738,6 +747,13 @@ int overwrite_console(void)

int board_init(void)
{
+ struct iomuxc_base_regs *const iomuxc_regs
+ = (struct iomuxc_base_regs *)IOMUXC_BASE_ADDR;
+
+ clrsetbits_le32(&iomuxc_regs->gpr[1],
+ IOMUXC_GPR1_OTG_ID_MASK,
+ IOMUXC_GPR1_OTG_ID_GPIO1);
+
/* address of boot parameters */
gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;

--
1.8.1.2