summaryrefslogtreecommitdiffstats
path: root/board/atmel/at91sam9263ek/at91sam9263ek.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2008-07-07 00:48:02 +0200
committerWolfgang Denk <wd@denx.de>2008-07-07 00:48:02 +0200
commitc956717ab25c962ef49d49064dfc73f4edcba1fb (patch)
tree4cf220a8ab54e275e3b9c17ca6d558c67e65591c /board/atmel/at91sam9263ek/at91sam9263ek.c
parent3ab4827cbe409488ebea1a2ee5094783f2672214 (diff)
parent4e0018f1cf91b3f38f8478d6a174c198b72fe6df (diff)
downloadblackbird-obmc-uboot-c956717ab25c962ef49d49064dfc73f4edcba1fb.tar.gz
blackbird-obmc-uboot-c956717ab25c962ef49d49064dfc73f4edcba1fb.zip
Merge branch 'master' of /home/wd/git/u-boot/custodians
Diffstat (limited to 'board/atmel/at91sam9263ek/at91sam9263ek.c')
-rw-r--r--board/atmel/at91sam9263ek/at91sam9263ek.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c
index ba7fc71d75..927fc912c9 100644
--- a/board/atmel/at91sam9263ek/at91sam9263ek.c
+++ b/board/atmel/at91sam9263ek/at91sam9263ek.c
@@ -83,8 +83,8 @@ static void at91sam9263ek_nand_hw_init(void)
/* Configure SMC CS3 for NAND/SmartMedia */
at91_sys_write(AT91_SMC_SETUP(3),
- AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0) |
- AT91_SMC_NRDSETUP_(0) | AT91_SMC_NCS_RDSETUP_(0));
+ AT91_SMC_NWESETUP_(1) | AT91_SMC_NCS_WRSETUP_(0) |
+ AT91_SMC_NRDSETUP_(1) | AT91_SMC_NCS_RDSETUP_(0));
at91_sys_write(AT91_SMC_PULSE(3),
AT91_SMC_NWEPULSE_(3) | AT91_SMC_NCS_WRPULSE_(3) |
AT91_SMC_NRDPULSE_(3) | AT91_SMC_NCS_RDPULSE_(3));
@@ -147,7 +147,7 @@ static void at91sam9263ek_macb_hw_init(void)
/* Need to reset PHY -> 500ms reset */
at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
- AT91_RSTC_ERSTL | (0x0D << 8) |
+ (AT91_RSTC_ERSTL & (0x0D << 8)) |
AT91_RSTC_URSTEN);
at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_EXTRST);
@@ -155,6 +155,11 @@ static void at91sam9263ek_macb_hw_init(void)
/* Wait for end hardware reset */
while (!(at91_sys_read(AT91_RSTC_SR) & AT91_RSTC_NRSTL));
+ /* Restore NRST value */
+ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
+ (AT91_RSTC_ERSTL & (0x0 << 8)) |
+ AT91_RSTC_URSTEN);
+
/* Re-enable pull-up */
writel(pin_to_mask(AT91_PIN_PC25),
pin_to_controller(AT91_PIN_PC0) + PIO_PUER);
OpenPOWER on IntegriCloud