From patchwork Sat Oct 19 06:49:27 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chander Kashyap X-Patchwork-Id: 284839 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id AF2872C00E0 for ; Sat, 19 Oct 2013 17:56:42 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id AEA964A0A2; Sat, 19 Oct 2013 08:56:39 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IVIpH3xOseOC; Sat, 19 Oct 2013 08:56:39 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id BC6BA4A097; Sat, 19 Oct 2013 08:56:36 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6BF9B4A097 for ; Sat, 19 Oct 2013 08:56:30 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wgyblZecWxQ8 for ; Sat, 19 Oct 2013 08:56:24 +0200 (CEST) X-Greylist: delayed 392 seconds by postgrey-1.27 at theia; Sat, 19 Oct 2013 08:56:15 CEST X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pd0-f179.google.com (mail-pd0-f179.google.com [209.85.192.179]) by theia.denx.de (Postfix) with ESMTPS id 18E484A090 for ; Sat, 19 Oct 2013 08:56:15 +0200 (CEST) Received: by mail-pd0-f179.google.com with SMTP id y10so2488437pdj.38 for ; Fri, 18 Oct 2013 23:56:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=jJZ1V1mISNcR1GKnEOdn4KjnKHRUHJbZjcXVlS1btkE=; b=CagPXm/K5FntM49S7VcvQ9aQjDPZ1/zbjiJjikLq/aWgDbMgq42qjqBnuNGyTZh57g o6rPEe1rpXPMW7eSpHTwSyn8e6TIOzIDbybqkW/TX6MpV4E9q5gHf5H25zssheRTWJtk jqaSATodkwHc+2t46oWkfxh3quxPycfDStqeoDUIgLXhnYHAS0gvGongMxWR3Cs12GMM Arsrf2efectXro91TnfC0gPCmT+mW5bsgl8jgnp417F1jZq3Pp/Aso0uSDxfV/uYnOtT nLRZ9mx7g6GNcmAIKd+F8zS900TIdTMtRoHb8VaRr8HXymkRZ9oPIJMj2UQ7XGV0Rh5N IXlQ== X-Gm-Message-State: ALoCoQlJTavJj7fShKj7HYbcoFDcqtByBlNJueMvPJvnHpJhWb6GqTgnXE9mW/Y9g3dFJDld/zJ2 X-Received: by 10.66.250.163 with SMTP id zd3mr7226493pac.109.1382165385876; Fri, 18 Oct 2013 23:49:45 -0700 (PDT) Received: from localhost.localdomain ([115.113.119.130]) by mx.google.com with ESMTPSA id xs1sm9383248pac.7.2013.10.18.23.49.43 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 18 Oct 2013 23:49:45 -0700 (PDT) From: Inderpal Singh To: u-boot@lists.denx.de Date: Sat, 19 Oct 2013 12:19:27 +0530 Message-Id: <1382165367-6618-3-git-send-email-inderpal.singh@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1382165367-6618-1-git-send-email-inderpal.singh@linaro.org> References: <1382165367-6618-1-git-send-email-inderpal.singh@linaro.org> Subject: [U-Boot] [PATCH 2/2] exynos5: arndale: Add network support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de From: Chander Kashyap 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 implements a board specific board_usb_init function in ehci driver to perform reset sequence for USB3503 hub and enables the relevant config options for network to work. Signed-off-by: Inderpal Singh Signed-off-by: Chander Kashyap --- board/samsung/arndale/arndale.c | 23 +++++++++++++++++++++++ drivers/usb/host/ehci-exynos.c | 9 +++++++++ include/configs/arndale.h | 6 ++++++ 3 files changed, 38 insertions(+) diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c index 052fecd..44f20b9 100644 --- a/board/samsung/arndale/arndale.c +++ b/board/samsung/arndale/arndale.c @@ -7,10 +7,23 @@ #include #include #include +#include #include DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_USB_EHCI_EXYNOS +void board_usb_init(int value) +{ + struct exynos5_gpio_part1 *gpio = (struct exynos5_gpio_part1 *) + samsung_get_base_gpio_part1(); + + /* Configure gpios for usb 3503 hub's reset and connect */ + s5p_gpio_direction_output(&gpio->x3, 5, value); + s5p_gpio_direction_output(&gpio->d1, 7, value); +} +#endif + int board_init(void) { gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL); @@ -91,6 +104,16 @@ int board_early_init_f(void) } #endif +#ifdef CONFIG_BOARD_LATE_INIT +int board_late_init(void) +{ +#ifdef CONFIG_PREBOOT + setenv("preboot", CONFIG_PREBOOT); + setenv("usbethaddr", "00:40:5c:26:0a:5b"); +#endif +} +#endif + #ifdef CONFIG_DISPLAY_BOARDINFO int checkboard(void) { diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c index 50fbf36..cba450e 100644 --- a/drivers/usb/host/ehci-exynos.c +++ b/drivers/usb/host/ehci-exynos.c @@ -170,6 +170,11 @@ static void reset_usb_phy(struct exynos_usb_phy *usb) set_usbhost_phy_ctrl(POWER_USB_HOST_PHY_CTRL_DISABLE); } +inline void __board_usb_init(int value) +{ +} +void board_usb_init(int) __attribute__((weak, alias("__board_usb_init"))); + /* * EHCI-initialization * Create the appropriate control structures to manage @@ -189,8 +194,12 @@ int ehci_hcd_init(int index, struct ehci_hccr **hccr, struct ehci_hcor **hcor) ctx->hcd = (struct ehci_hccr *)samsung_get_base_usb_ehci(); #endif + board_usb_init(0); + setup_usb_phy(ctx->usb); + board_usb_init(1); + *hccr = ctx->hcd; *hcor = (struct ehci_hcor *)((uint32_t) *hccr + HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase))); diff --git a/include/configs/arndale.h b/include/configs/arndale.h index ed44a04..ea24661 100644 --- a/include/configs/arndale.h +++ b/include/configs/arndale.h @@ -116,6 +116,10 @@ #define CONFIG_USB_EHCI_EXYNOS #define CONFIG_USB_STORAGE +#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3 +#define CONFIG_USB_HOST_ETHER +#define CONFIG_USB_ETHER_ASIX +#define CONFIG_PREBOOT "usb start" /* MMC SPL */ #define CONFIG_SPL #define COPY_BL2_FNPTR_ADDR 0x02020030 @@ -179,6 +183,8 @@ #define CONFIG_ENV_IS_IN_MMC #define CONFIG_SECURE_BL1_ONLY +#define CONFIG_BOARD_LATE_INIT + /* Secure FW size configuration */ #ifdef CONFIG_SECURE_BL1_ONLY #define CONFIG_SEC_FW_SIZE (8 << 10) /* 8KB */