From 4535a24c0c06e367bc40c43b4807bdb335513a1a Mon Sep 17 00:00:00 2001 From: Heiko Schocher Date: Mon, 18 Nov 2013 08:07:23 +0100 Subject: arm926ejs, at91: add common phy_reset function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit add common phy reset code into a common function. Signed-off-by: Heiko Schocher Cc: Andreas Bießmann Cc: Bo Shen Cc: Jens Scharsig Cc: Sergey Lapin Cc: Stelian Pop Cc: Albin Tonnerre Cc: Eric Benard Cc: Markus Hubig Acked-by: Jens Scharsig (BuS Elektronik) Tested-by: Jens Scharsig (BuS Elektronik) Tested-by: Bo Shen Acked-by: Bo Shen Signed-off-by: Andreas Bießmann --- board/bluewater/snapper9260/snapper9260.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'board/bluewater/snapper9260') diff --git a/board/bluewater/snapper9260/snapper9260.c b/board/bluewater/snapper9260/snapper9260.c index 8a6919d..bfde129 100644 --- a/board/bluewater/snapper9260/snapper9260.c +++ b/board/bluewater/snapper9260/snapper9260.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -31,8 +30,6 @@ static void macb_hw_init(void) { struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC; struct at91_port *pioa = (struct at91_port *)ATMEL_BASE_PIOA; - struct at91_rstc *rstc = (struct at91_rstc *)ATMEL_BASE_RSTC; - unsigned long erstl; /* Enable clock */ writel(1 << ATMEL_ID_EMAC0, &pmc->pcer); @@ -54,18 +51,7 @@ static void macb_hw_init(void) /* Enable ethernet power */ pca953x_set_val(0x28, IO_EXP_ETH_POWER, 0); - /* Need to reset PHY -> 500ms reset */ - erstl = readl(&rstc->mr) & AT91_RSTC_MR_ERSTL_MASK; - writel(AT91_RSTC_KEY | AT91_RSTC_MR_ERSTL(13) | - 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); + at91_phy_reset(); /* Bring the ethernet out of reset */ pca953x_set_val(0x28, IO_EXP_ETH_RESET, 1); -- cgit v1.1