summaryrefslogtreecommitdiff
path: root/board/samsung/arndale/arndale.c
diff options
context:
space:
mode:
authorInderpal Singh <inderpal.singh@linaro.org>2014-01-08 09:19:57 +0530
committerMarek Vasut <marex@denx.de>2014-01-13 12:23:28 +0100
commit7da765125165c172078489336117f95de2904322 (patch)
tree897f312da42e3def08ce30fe12d56ab73591dcaf /board/samsung/arndale/arndale.c
parent16f9480dfcac19f59fe9d7896b2af3bcbfc78f23 (diff)
downloadu-boot-imx-7da765125165c172078489336117f95de2904322.zip
u-boot-imx-7da765125165c172078489336117f95de2904322.tar.gz
u-boot-imx-7da765125165c172078489336117f95de2904322.tar.bz2
usb: exynos5: arndale: Add network support
Arndale board has AX88760, which is USB 2.0 Hub & USB 2.0 Ethernet Combo controller, connected to HSIC Phy of USB host controller via USB3503 hub. This patch uses board specific board_usb_init function to perform reset sequence for USB3503 hub and enables the relevant config options for network to work. Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Diffstat (limited to 'board/samsung/arndale/arndale.c')
-rw-r--r--board/samsung/arndale/arndale.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
index 052fecd..9efc355 100644
--- a/board/samsung/arndale/arndale.c
+++ b/board/samsung/arndale/arndale.c
@@ -5,12 +5,33 @@
*/
#include <common.h>
+#include <usb.h>
#include <asm/arch/pinmux.h>
#include <asm/arch/dwmmc.h>
+#include <asm/arch/gpio.h>
#include <asm/arch/power.h>
DECLARE_GLOBAL_DATA_PTR;
+#ifdef CONFIG_USB_EHCI_EXYNOS
+int board_usb_init(int index, enum usb_init_type init)
+{
+ struct exynos5_gpio_part1 *gpio = (struct exynos5_gpio_part1 *)
+ samsung_get_base_gpio_part1();
+
+ /* Configure gpios for usb 3503 hub:
+ * disconnect, toggle reset and connect
+ */
+ s5p_gpio_direction_output(&gpio->d1, 7, 0);
+ s5p_gpio_direction_output(&gpio->x3, 5, 0);
+
+ s5p_gpio_direction_output(&gpio->x3, 5, 1);
+ s5p_gpio_direction_output(&gpio->d1, 7, 1);
+
+ return 0;
+}
+#endif
+
int board_init(void)
{
gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);