From patchwork Wed Dec 11 14:41:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yegor Yefremov X-Patchwork-Id: 300134 X-Patchwork-Delegate: trini@ti.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 54AAE2C00A4 for ; Thu, 12 Dec 2013 01:42:18 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A633A4B16E; Wed, 11 Dec 2013 15:42:16 +0100 (CET) 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 mNV1Xw55xo03; Wed, 11 Dec 2013 15:42:16 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1404A4B17F; Wed, 11 Dec 2013 15:42:14 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 281374B172 for ; Wed, 11 Dec 2013 15:42:07 +0100 (CET) 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 ZRN5I4v1PvSv for ; Wed, 11 Dec 2013 15:41:57 +0100 (CET) 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.visionsystems.de (ns.visionsystems.de [62.145.30.242]) by theia.denx.de (Postfix) with ESMTP id E8B464B07F for ; Wed, 11 Dec 2013 15:41:51 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail.visionsystems.de (Postfix) with ESMTP id 8A0A62D7C73; Wed, 11 Dec 2013 15:41:52 +0100 (CET) Received: from mail.visionsystems.de ([127.0.0.1]) by localhost (mail.visionsystems.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 15729-01; Wed, 11 Dec 2013 15:41:38 +0100 (CET) Received: from visionsystems.de (kallisto.visionsystems.local [192.168.1.3]) by mail.visionsystems.de (Postfix) with ESMTP id D65CC2D7A42; Wed, 11 Dec 2013 15:41:38 +0100 (CET) Received: from development1.visionsystems.local ([192.168.1.36]) by visionsystems.de with Microsoft SMTPSVC(6.0.3790.4675); Wed, 11 Dec 2013 15:41:27 +0100 From: yegorslists@googlemail.com To: u-boot@lists.denx.de Date: Wed, 11 Dec 2013 15:41:11 +0100 Message-Id: <1386772871-25381-2-git-send-email-yegorslists@googlemail.com> X-Mailer: git-send-email 1.7.7 In-Reply-To: <1386772871-25381-1-git-send-email-yegorslists@googlemail.com> References: <1386772871-25381-1-git-send-email-yegorslists@googlemail.com> X-OriginalArrivalTime: 11 Dec 2013 14:41:27.0497 (UTC) FILETIME=[12AD9B90:01CEF67F] X-Virus-Scanned: amavisd-new at visionsystems.de Cc: trini@ti.com Subject: [U-Boot] [PATCH v4] am3517_evm: activate Ethernet PHY 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: Yegor Yefremov Pin 30 is connected to PHY's RESET# signal, so it must be put to high. Otherwise PHY won't be found via MDIO interface. Signed-off-by: Yegor Yefremov --- Changes: v4: as Tom Rini's patch "AM3517 EVM: Enable Ethernet" activates EMAC by default, remove #if statements v3: use "__maybe_unused", instead of #if defined statement (Stefan Roese) v2: put ctr and reset under #if defined statement, to avoid compiler warnings, when EMAC is not selected board/logicpd/am3517evm/am3517evm.c | 32 ++++++++++++++++++++++++++++++++ board/logicpd/am3517evm/am3517evm.h | 2 +- include/configs/am3517_evm.h | 5 +++++ 3 files changed, 38 insertions(+), 1 deletions(-) diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c index b6c68da..5196b5d 100644 --- a/board/logicpd/am3517evm/am3517evm.c +++ b/board/logicpd/am3517evm/am3517evm.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -31,6 +32,9 @@ DECLARE_GLOBAL_DATA_PTR; +#define AM3517_IP_SW_RESET 0x48002598 +#define CPGMACSS_SW_RST (1 << 1) + /* * Routine: board_init * Description: Early hardware init. @@ -98,6 +102,9 @@ static void am3517_evm_musb_init(void) */ int misc_init_r(void) { + volatile unsigned int ctr; + u32 reset; + #ifdef CONFIG_DRIVER_OMAP34XX_I2C i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); #endif @@ -106,6 +113,31 @@ int misc_init_r(void) am3517_evm_musb_init(); + /* activate PHY reset */ + gpio_direction_output(30, 0); + gpio_set_value(30, 0); + + ctr = 0; + do { + udelay(1000); + ctr++; + } while (ctr < 300); + + /* deactivate PHY reset */ + gpio_set_value(30, 1); + + /* allow the PHY to stabilize and settle down */ + ctr = 0; + do { + udelay(1000); + ctr++; + } while (ctr < 300); + + /* ensure that the module is out of reset */ + reset = readl(AM3517_IP_SW_RESET); + reset &= (~CPGMACSS_SW_RST); + writel(reset,AM3517_IP_SW_RESET); + return 0; } diff --git a/board/logicpd/am3517evm/am3517evm.h b/board/logicpd/am3517evm/am3517evm.h index 704af84..d407d66 100644 --- a/board/logicpd/am3517evm/am3517evm.h +++ b/board/logicpd/am3517evm/am3517evm.h @@ -315,7 +315,7 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(SYS_CLKREQ), (IEN | PTD | DIS | M0)) \ MUX_VAL(CP(SYS_NIRQ), (IEN | PTU | EN | M0)) \ /*SYS_nRESWARM */\ - MUX_VAL(CP(SYS_NRESWARM), (IDIS | PTU | DIS | M4)) \ + MUX_VAL(CP(SYS_NRESWARM), (IDIS | PTU | EN | M4)) \ /* - GPIO30 */\ MUX_VAL(CP(SYS_BOOT0), (IEN | PTD | DIS | M4)) /*GPIO_2*/\ /* - PEN_IRQ */\ diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h index 5e259f5..e22a46b 100644 --- a/include/configs/am3517_evm.h +++ b/include/configs/am3517_evm.h @@ -58,6 +58,11 @@ */ /* + * OMAP GPIO configuration + */ +#define CONFIG_OMAP_GPIO + +/* * NS16550 Configuration */ #define V_NS16550_CLK 48000000 /* 48MHz (APLL96/2) */