diff options
| author | Heiko Schocher <hs@denx.de> | 2013-11-18 08:07:23 +0100 | 
|---|---|---|
| committer | Andreas Bießmann <andreas.devel@googlemail.com> | 2013-12-01 22:38:52 +0100 | 
| commit | 4535a24c0c06e367bc40c43b4807bdb335513a1a (patch) | |
| tree | 96299cbb0828cf3d43e8b14984ebf6e97967ea07 /board/atmel/at91sam9263ek/at91sam9263ek.c | |
| parent | c5e8885aab9d282fa480cfa359cf5fd84248abb8 (diff) | |
| download | olio-uboot-2014.01-4535a24c0c06e367bc40c43b4807bdb335513a1a.tar.xz olio-uboot-2014.01-4535a24c0c06e367bc40c43b4807bdb335513a1a.zip | |
arm926ejs, at91: add common phy_reset function
add common phy reset code into a common function.
Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Bo Shen <voice.shen@atmel.com>
Cc: Jens Scharsig <esw@bus-elektronik.de>
Cc: Sergey Lapin <slapin@ossfans.org>
Cc: Stelian Pop <stelian@popies.net>
Cc: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Cc: Eric Benard <eric@eukrea.com>
Cc: Markus Hubig <mhubig@imko.de>
Acked-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
Tested-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
Tested-by: Bo Shen <voice.shen@atmel.com>
Acked-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Diffstat (limited to 'board/atmel/at91sam9263ek/at91sam9263ek.c')
| -rw-r--r-- | board/atmel/at91sam9263ek/at91sam9263ek.c | 19 | 
1 files changed, 2 insertions, 17 deletions
| diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c index 2e9246f31..d42a1730c 100644 --- a/board/atmel/at91sam9263ek/at91sam9263ek.c +++ b/board/atmel/at91sam9263ek/at91sam9263ek.c @@ -12,7 +12,6 @@  #include <asm/arch/at91sam9_smc.h>  #include <asm/arch/at91_common.h>  #include <asm/arch/at91_pmc.h> -#include <asm/arch/at91_rstc.h>  #include <asm/arch/at91_matrix.h>  #include <asm/arch/at91_pio.h>  #include <asm/arch/clk.h> @@ -82,10 +81,9 @@ static void at91sam9263ek_nand_hw_init(void)  #ifdef CONFIG_MACB  static void at91sam9263ek_macb_hw_init(void)  { -	unsigned long 	erstl;  	at91_pmc_t	*pmc	= (at91_pmc_t *) ATMEL_BASE_PMC;  	at91_pio_t	*pio	= (at91_pio_t *) ATMEL_BASE_PIO; -	at91_rstc_t	*rstc	= (at91_rstc_t *) ATMEL_BASE_RSTC; +  	/* Enable clock */  	writel(1 << ATMEL_ID_EMAC, &pmc->pcer); @@ -97,23 +95,10 @@ static void at91sam9263ek_macb_hw_init(void)  	 *  	 * PHY has internal pull-down  	 */ -  	writel(1 << 25, &pio->pioc.pudr);  	writel((1 << 25) | (1 <<26), &pio->pioe.pudr); -	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); +	at91_phy_reset();  	/* Re-enable pull-up */  	writel(1 << 25, &pio->pioc.puer); |