From patchwork Thu Jan 27 15:15:14 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asen Dimov X-Patchwork-Id: 80708 X-Patchwork-Delegate: info@emk-elektronik.de 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 906D3B711E for ; Fri, 28 Jan 2011 02:52:04 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 8B32228081; Thu, 27 Jan 2011 16:52:02 +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 fRoL4uZwTwel; Thu, 27 Jan 2011 16:52:02 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6BB7428086; Thu, 27 Jan 2011 16:52:00 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 185FB28086 for ; Thu, 27 Jan 2011 16:51:58 +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 EuLDzoNQ9Lb1 for ; Thu, 27 Jan 2011 16:51:56 +0100 (CET) X-Greylist: delayed 2199 seconds by postgrey-1.27 at theia; Thu, 27 Jan 2011 16:51:54 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 tserv.ronetix.at (sofia30-122.pip.digsys.bg [193.68.122.30]) by theia.denx.de (Postfix) with ESMTPS id 077E128081 for ; Thu, 27 Jan 2011 16:51:54 +0100 (CET) Received: from tserv.ronetix.at (localhost.localdomain [127.0.0.1]) by tserv.ronetix.at (8.13.8/8.13.8) with ESMTP id p0RFFEPd009601; Thu, 27 Jan 2011 17:15:14 +0200 Received: (from dimov@localhost) by tserv.ronetix.at (8.13.8/8.13.8/Submit) id p0RFFEHc009600; Thu, 27 Jan 2011 17:15:14 +0200 From: Asen Dimov To: u-boot@lists.denx.de Date: Thu, 27 Jan 2011 17:15:14 +0200 Message-Id: <1296141314-9580-1-git-send-email-dimov@ronetix.at> X-Mailer: git-send-email 1.5.5.6 Subject: [U-Boot] [PATCH] pm9g45_v1.3: make ethernet works X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.9 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 Signed-off-by: Asen Dimov --- board/ronetix/pm9g45/pm9g45.c | 15 +++++++++++++++ include/configs/pm9g45.h | 5 +++++ 2 files changed, 20 insertions(+), 0 deletions(-) diff --git a/board/ronetix/pm9g45/pm9g45.c b/board/ronetix/pm9g45/pm9g45.c index 79b7c9d..0e1d6b2 100644 --- a/board/ronetix/pm9g45/pm9g45.c +++ b/board/ronetix/pm9g45/pm9g45.c @@ -96,6 +96,8 @@ static void pm9g45_nand_hw_init(void) static void pm9g45_macb_hw_init(void) { at91_pmc_t *pmc = (at91_pmc_t *) AT91_PMC_BASE; + at91_rstc_t *rstc = (at91_rstc_t *) AT91_RSTC_BASE; + unsigned long erstl; /* * PD2 enables the 50MHz oscillator for Ethernet PHY @@ -120,6 +122,19 @@ static void pm9g45_macb_hw_init(void) at91_set_pio_pullup(AT91_PIO_PORTA, 12, 0); at91_set_pio_pullup(AT91_PIO_PORTA, 13, 0); + erstl = readl(&rstc->mr) & AT91_RSTC_MR_ERSTL_MASK; + + /* Need to reset PHY -> 500ms reset */ + writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(0x0D) | + AT91_RSTC_MR_URSTEN, &rstc->mr); + writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST, &rstc->cr); + + /* Wait for end hardware reset */ + while (!(readl(&rstc->sr) & AT91_RSTC_SR_NRSTL)); + + /* Restore NRST value */ + writel(AT91_RSTC_KEY | erstl | AT91_RSTC_MR_URSTEN, &rstc->mr); + /* Re-enable pull-up */ at91_set_pio_pullup(AT91_PIO_PORTA, 15, 1); at91_set_pio_pullup(AT91_PIO_PORTA, 12, 1); diff --git a/include/configs/pm9g45.h b/include/configs/pm9g45.h index ec51ccf..4d8089f 100644 --- a/include/configs/pm9g45.h +++ b/include/configs/pm9g45.h @@ -125,6 +125,11 @@ #define CONFIG_NET_MULTI 1 #define CONFIG_NET_RETRY_COUNT 20 #define CONFIG_RESET_PHY_R 1 +#define CONFIG_MACB_SEARCH_PHY +#define CONFIG_CMD_MII +#define CONFIG_OVERWRITE_ETHADDR_ONCE +/* MAC is Organizationally Unique Identifier + 3 octects user numbers */ +#define CONFIG_ETHADDR "02:00:00:fe:ed:00" /* USB */ #define CONFIG_USB_ATMEL