On Fri, 2008-02-22 at 09:32 +0100, Stefan Roese wrote:
> 405EX(r) has SDR0_MFR[E0CS/E1CS] set after reset. This selects
> the internal loopback mode. Clear these bits so that both EMACs
> don't use loopback mode as default.
> 
> Signed-off-by: Stefan Roese <[EMAIL PROTECTED]>
> ---
> I'm not sure if this should be done here in the board platform code,
> or in the newemac driver or perhaps in some code common for 405EX.
> 
> Any thoughts on this welcome.

This should be done in EMAC since we also need to force internal
loopback & clocking when probing the PHY or we might not probe
it properly (and fail reset) if there is no link.

I need to work on that.

Ben.


> Thanks.
> 
>  arch/powerpc/platforms/40x/kilauea.c |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/40x/kilauea.c 
> b/arch/powerpc/platforms/40x/kilauea.c
> index f9206a7..b5456cc 100644
> --- a/arch/powerpc/platforms/40x/kilauea.c
> +++ b/arch/powerpc/platforms/40x/kilauea.c
> @@ -1,7 +1,7 @@
>  /*
>   * Kilauea board specific routines
>   *
> - * Copyright 2007 DENX Software Engineering, Stefan Roese <[EMAIL PROTECTED]>
> + * Copyright 2007-2008 DENX Software Engineering, Stefan Roese <[EMAIL 
> PROTECTED]>
>   *
>   * Based on the Walnut code by
>   * Josh Boyer <[EMAIL PROTECTED]>
> @@ -20,6 +20,8 @@
>  #include <asm/time.h>
>  #include <asm/uic.h>
>  #include <asm/pci-bridge.h>
> +#include <asm/dcr.h>
> +#include <asm/dcr-regs.h>
>  
>  static __initdata struct of_device_id kilauea_of_bus[] = {
>       { .compatible = "ibm,plb4", },
> @@ -45,6 +47,13 @@ static int __init kilauea_probe(void)
>  
>       ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
>  
> +     /*
> +      * 405EX(r) has SDR0_MFR[E0CS/E1CS] set after reset. This selects
> +      * the internal loopback mode. Clear these bits so that both EMACs
> +      * don't use loopback mode as deafult.
> +      */
> +     mtdcri(SDR0, SDR0_MFR, mfdcri(SDR0, SDR0_MFR) & ~0x0c000000);
> +
>       return 1;
>  }
>  

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to