summaryrefslogtreecommitdiff
path: root/board/solidrun
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2015-04-29 22:28:10 -0300
committerStefano Babic <sbabic@denx.de>2015-05-15 19:20:47 +0200
commite1d74379efff764a41a2e151bd1e4c8fca203755 (patch)
tree8725f837fe5e91f35abe7731710c1fe18006c43f /board/solidrun
parentf68a9c6b3db80f00d62963e788f8dadc0657b2b6 (diff)
downloadu-boot-imx-e1d74379efff764a41a2e151bd1e4c8fca203755.zip
u-boot-imx-e1d74379efff764a41a2e151bd1e4c8fca203755.tar.gz
u-boot-imx-e1d74379efff764a41a2e151bd1e4c8fca203755.tar.bz2
mx6cuboxi: Add USB host support
Enable USB Host1 port. Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Tested-By: Vagrant Cascadian <vagrant@aikidev.net>
Diffstat (limited to 'board/solidrun')
-rw-r--r--board/solidrun/mx6cuboxi/mx6cuboxi.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c
index eab92f1..9aa0259 100644
--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
@@ -31,6 +31,8 @@
#include <asm/io.h>
#include <asm/arch/sys_proto.h>
#include <spl.h>
+#include <usb.h>
+#include <usb/ehci-fsl.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -52,6 +54,7 @@ DECLARE_GLOBAL_DATA_PTR;
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST)
#define ETH_PHY_RESET IMX_GPIO_NR(4, 15)
+#define USB_H1_VBUS IMX_GPIO_NR(1, 0)
int dram_init(void)
{
@@ -79,6 +82,10 @@ static iomux_v3_cfg_t const hb_cbi_sense[] = {
IOMUX_PADS(PAD_EIM_DA4__GPIO3_IO04 | MUX_PAD_CTRL(UART_PAD_CTRL)),
};
+static iomux_v3_cfg_t const usb_pads[] = {
+ IOMUX_PADS(PAD_GPIO_0__GPIO1_IO00 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+};
+
static void setup_iomux_uart(void)
{
SETUP_IOMUX_PADS(uart1_pads);
@@ -253,6 +260,21 @@ static int setup_display(void)
}
#endif /* CONFIG_VIDEO_IPUV3 */
+#ifdef CONFIG_USB_EHCI_MX6
+static void setup_usb(void)
+{
+ SETUP_IOMUX_PADS(usb_pads);
+}
+
+int board_ehci_hcd_init(int port)
+{
+ if (port == 1)
+ gpio_direction_output(USB_H1_VBUS, 1);
+
+ return 0;
+}
+#endif
+
int board_early_init_f(void)
{
int ret = 0;
@@ -261,6 +283,10 @@ int board_early_init_f(void)
#ifdef CONFIG_VIDEO_IPUV3
ret = setup_display();
#endif
+
+#ifdef CONFIG_USB_EHCI_MX6
+ setup_usb();
+#endif
return ret;
}