[U-Boot-Users] tsec help

Reeve Yang yang.reeve at gmail.com
Fri Oct 27 23:56:56 CEST 2006


Thanks for the help from Spence. I applied patch, it's partially working.
Actually I set REDUCED flag on interface, so the real problem should phy
register 20. I originally I set it to 0x0ce2, the mac's speed is wrong.
Thank you very much!

But it's only partially working now. I can ping out from my customized board
to another PC NIC, but cannot ping from PC to my board. I noticed tsec_halt
is call after calling ping, so maccfg1 is retored back to disable tx/rx, and
phy is shutdown. Could this be the reason? I tried to remove tsec_halt,
things become worse. Beside I can only ping one way, now it's only pingable
from my board for the first time. Anyone has solution for this?

Regards,

- Reeve

On 10/27/06, Spence Nick-rxtd10 <Nick.Spence at freescale.com> wrote:
>
>
> Try the following that was submitted as a patch for u-boot but has not
> yet been integrated:
>
> [DNX#2006102042000014] Add Marvell Phy and RGMII support to eTSEC setup
>
> This sets up the eTSEC and the Marvel Phy to support 10M,
> 100M and 1000M rates when configured in RGMII mode.
> ---
> drivers/tsec.c |    8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/tsec.c b/drivers/tsec.c index
> 7ec565c..6cc6444 100644
> --- a/drivers/tsec.c
> +++ b/drivers/tsec.c
> @@ -583,11 +583,10 @@ static void adjust_link(struct eth_devic
>                                 regs->maccfg2 =
> ((regs->maccfg2&~(MACCFG2_IF))
>                                         | MACCFG2_MII);
>
> -                               /* If We're in reduced mode, we need
> -                                * to say whether we're 10 or 100 MB.
> +                               /* Set R100 bit in all modes although
> +                                * it is only used in RGMII mode
>                                  */
> -                               if ((priv->speed == 100)
> -                                   && (priv->flags & TSEC_REDUCED))
> +                               if (priv->speed == 100)
>                                         regs->ecntrl |= ECNTRL_R100;
>                                 else
>                                         regs->ecntrl &= ~(ECNTRL_R100);
> @@ -785,6 +784,7 @@ struct phy_info phy_info_M88E1111S = {
>                 {0x1d, 0x5, NULL},
>                 {0x1e, 0x0, NULL},
>                 {0x1e, 0x100, NULL},
> +               {0x14, 0x0cd2, NULL}, /* Add delay to RGMII TX and RX */
>                 {MIIM_GBIT_CONTROL, MIIM_GBIT_CONTROL_INIT, NULL},
>                 {MIIM_ANAR, MIIM_ANAR_INIT, NULL},
>                 {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
> --
> 1.4.2.3
>
> >       From: u-boot-users-bounces at lists.sourceforge.net
> [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf Of Reeve
> Yang
> >       Sent: Thursday, October 26, 2006 7:31 PM
> >       To: u-boot-users at lists.sourceforge.net
> >       Subject: [U-Boot-Users] tsec help
> >
> >
> >       Hello,
> >
> >       My cpu is MPC8343E with dual tsec, phy is marvell 88E1111S. Now
> the physical link is up, but I just cannot ping. I printed some debug
> message about maccfg1/2 registers:
> >
> >       => ping 192.168.1.1
> >       tsec_halt
> >       Trying TSEC0
> >       tsec_halt
> >       Speed: 100, full duplex
> >       TSEC0: maccfg2 = 0x7205
> >       TSEC0: maccfg1 = 0xf
> >       Using TSEC0 device
> >       tsec_halt
> >       ping failed; host 192.168.1.1 is not alive
> >
> >       I checked the MAC transmi counter register there are packets
> sending out, but no packet on the wire. The PHY is hard wired into RGMII
> to copper mode. Could anyone who has done similiar work point to where
> the problem is? Where to look at?
> >
> >       Regards,
> >
> >       - Reeve
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20061027/f60aec74/attachment.htm 


More information about the U-Boot mailing list