summaryrefslogtreecommitdiff
path: root/board/atmel/at91sam9263ek/at91sam9263ek.c
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2008-07-07 09:51:25 +0200
committerStefan Roese <sr@denx.de>2008-07-07 09:51:25 +0200
commit7c6237b3e2f2ee0098897da39b79aff4642b8946 (patch)
treed768b7851bb688f543da0a3ed50c927a2bde2804 /board/atmel/at91sam9263ek/at91sam9263ek.c
parentdd1c5523d6f44e842e69f2fcb50788c6060eab86 (diff)
parentc956717ab25c962ef49d49064dfc73f4edcba1fb (diff)
downloadu-boot-imx-7c6237b3e2f2ee0098897da39b79aff4642b8946.zip
u-boot-imx-7c6237b3e2f2ee0098897da39b79aff4642b8946.tar.gz
u-boot-imx-7c6237b3e2f2ee0098897da39b79aff4642b8946.tar.bz2
Merge branch 'master' of /home/stefan/git/u-boot/u-boot
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 ba7fc71..927fc91 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);