[U-Boot] [PATCH] at91sam9260/9263: add back up fot the rst(reset controller).

On the boards at91sam9260ek, at91sam9263ek and afed9260, the rstc register was set to 0 after being set to 500 ms for the PHY reset. Do backup the old reset length and restore it after the MACB initialisation.
Signed-off-by: Sedji Gaouaou sedji.gaouaou@atmel.com --- board/afeb9260/afeb9260.c | 6 +++++- board/atmel/at91sam9260ek/at91sam9260ek.c | 6 +++++- board/atmel/at91sam9263ek/at91sam9263ek.c | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/board/afeb9260/afeb9260.c b/board/afeb9260/afeb9260.c index a247663..b9d0929 100644 --- a/board/afeb9260/afeb9260.c +++ b/board/afeb9260/afeb9260.c @@ -81,6 +81,8 @@ static void afeb9260_nand_hw_init(void) #ifdef CONFIG_MACB static void afeb9260_macb_hw_init(void) { + unsigned long rstc; + /* Enable clock */ at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_EMAC);
@@ -103,6 +105,8 @@ static void afeb9260_macb_hw_init(void) pin_to_mask(AT91_PIN_PA28), pin_to_controller(AT91_PIN_PA0) + PIO_PUDR);
+ rstc = at91_sys_read(AT91_RSTC_MR) & AT91_RSTC_ERSTL; + /* Need to reset PHY -> 500ms reset */ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | AT91_RSTC_ERSTL | (0x0D << 8) | @@ -115,7 +119,7 @@ static void afeb9260_macb_hw_init(void)
/* Restore NRST value */ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | - AT91_RSTC_ERSTL | (0x0 << 8) | + (rstc) | AT91_RSTC_URSTEN);
/* Re-enable pull-up */ diff --git a/board/atmel/at91sam9260ek/at91sam9260ek.c b/board/atmel/at91sam9260ek/at91sam9260ek.c index 6bd3b44..d7d60ba 100644 --- a/board/atmel/at91sam9260ek/at91sam9260ek.c +++ b/board/atmel/at91sam9260ek/at91sam9260ek.c @@ -86,6 +86,8 @@ static void at91sam9260ek_nand_hw_init(void) #ifdef CONFIG_MACB static void at91sam9260ek_macb_hw_init(void) { + unsigned long rstc; + /* Enable clock */ at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_EMAC);
@@ -108,6 +110,8 @@ static void at91sam9260ek_macb_hw_init(void) pin_to_mask(AT91_PIN_PA28), pin_to_controller(AT91_PIN_PA0) + PIO_PUDR);
+ rstc = at91_sys_read(AT91_RSTC_MR) & AT91_RSTC_ERSTL; + /* Need to reset PHY -> 500ms reset */ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | (AT91_RSTC_ERSTL & (0x0D << 8)) | @@ -120,7 +124,7 @@ static void at91sam9260ek_macb_hw_init(void)
/* Restore NRST value */ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | - (AT91_RSTC_ERSTL & (0x0 << 8)) | + (rstc) | AT91_RSTC_URSTEN);
/* Re-enable pull-up */ diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c index 57d5c95..59c6a96 100644 --- a/board/atmel/at91sam9263ek/at91sam9263ek.c +++ b/board/atmel/at91sam9263ek/at91sam9263ek.c @@ -91,6 +91,8 @@ static void at91sam9263ek_nand_hw_init(void) #ifdef CONFIG_MACB static void at91sam9263ek_macb_hw_init(void) { + unsigned long rstc; + /* Enable clock */ at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9263_ID_EMAC);
@@ -108,6 +110,8 @@ static void at91sam9263ek_macb_hw_init(void) pin_to_mask(AT91_PIN_PE26), pin_to_controller(AT91_PIN_PE0) + PIO_PUDR);
+ rstc = at91_sys_read(AT91_RSTC_MR) & AT91_RSTC_ERSTL; + /* Need to reset PHY -> 500ms reset */ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | (AT91_RSTC_ERSTL & (0x0D << 8)) | @@ -120,7 +124,7 @@ static void at91sam9263ek_macb_hw_init(void)
/* Restore NRST value */ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | - (AT91_RSTC_ERSTL & (0x0 << 8)) | + (rstc) | AT91_RSTC_URSTEN);
/* Re-enable pull-up */

Hi Sedji,
On Wed, Jun 24, 2009 at 10:32:09AM +0200, Sedji Gaouaou wrote:
On the boards at91sam9260ek, at91sam9263ek and afed9260, the rstc register was set to 0 after being set to 500 ms for the PHY reset. Do backup the old reset length and restore it after the MACB initialisation.
Signed-off-by: Sedji Gaouaou sedji.gaouaou@atmel.com
Signed-off-by: Stelian Pop stelian@popies.net
And sorry for the delay.
Stelian.

On 10:32 Wed 24 Jun , Sedji Gaouaou wrote:
On the boards at91sam9260ek, at91sam9263ek and afed9260, the rstc register was set to 0 after being set to 500 ms for the PHY reset. Do backup the old reset length and restore it after the MACB initialisation.
Signed-off-by: Sedji Gaouaou sedji.gaouaou@atmel.com
board/afeb9260/afeb9260.c | 6 +++++- board/atmel/at91sam9260ek/at91sam9260ek.c | 6 +++++- board/atmel/at91sam9263ek/at91sam9263ek.c | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-)
applied to u-boot-arm
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090627152133.GJ8587@game.jcrosoft.org you wrote:
On 10:32 Wed 24 Jun , Sedji Gaouaou wrote:
On the boards at91sam9260ek, at91sam9263ek and afed9260, the rstc register was set to 0 after being set to 500 ms for the PHY reset. Do backup the old reset length and restore it after the MACB initialisation.
Signed-off-by: Sedji Gaouaou sedji.gaouaou@atmel.com
board/afeb9260/afeb9260.c | 6 +++++- board/atmel/at91sam9260ek/at91sam9260ek.c | 6 +++++- board/atmel/at91sam9263ek/at91sam9263ek.c | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-)
applied to u-boot-arm
Can you please fix the commit message? "fot" is obviously a typo; I guess it should read "for" ? Thanks.
Best regards,
Wolfgang Denk

On 01:06 Sun 05 Jul , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090627152133.GJ8587@game.jcrosoft.org you wrote:
On 10:32 Wed 24 Jun , Sedji Gaouaou wrote:
On the boards at91sam9260ek, at91sam9263ek and afed9260, the rstc register was set to 0 after being set to 500 ms for the PHY reset. Do backup the old reset length and restore it after the MACB initialisation.
Signed-off-by: Sedji Gaouaou sedji.gaouaou@atmel.com
board/afeb9260/afeb9260.c | 6 +++++- board/atmel/at91sam9260ek/at91sam9260ek.c | 6 +++++- board/atmel/at91sam9263ek/at91sam9263ek.c | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-)
applied to u-boot-arm
Can you please fix the commit message? "fot" is obviously a typo; I guess it should read "for" ? Thanks.
please accept it as this, I other patch applied over it and I prefer to not break the branch history.
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090705095925.GF30172@game.jcrosoft.org you wrote:
Can you please fix the commit message? "fot" is obviously a typo; I guess it should read "for" ? Thanks.
please accept it as this, I other patch applied over it and I prefer to not break the branch history.
Please fix it.
Best regards,
Wolfgang Denk
participants (4)
-
Jean-Christophe PLAGNIOL-VILLARD
-
Sedji Gaouaou
-
Stelian Pop
-
Wolfgang Denk