|
@@ -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 */
|