From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Tue, 27 Jan 2009 22:13:48 -0800 Subject: [U-Boot] [PATCH v2 5/9] AVR32: macb - Disable 100mbps if clock is slow In-Reply-To: References: <7e5f5fd7693284246714c42b6a3014f82f670b82.1232710611.git.gunnar@rangoy.com> <20090123153856.GA16585@game.jcrosoft.org> Message-ID: <497FF79C.10500@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Gunnar, Gunnar Rang?y wrote: > On Fri, Jan 23, 2009 at 4:38 PM, Jean-Christophe PLAGNIOL-VILLARD > wrote: > >> On 12:56 Fri 23 Jan , Gunnar Rangoy wrote: >> >>> From: Olav Morken >>> >>> For 100mbps operation, the ethernet controller requires a 25 MHz clock >>> in MII mode, and a 50 MHz clock in RMII mode. If the clock is slower, >>> disable 100 Mbps mode. >>> >>> Signed-off-by: Gunnar Rangoy >>> Signed-off-by: Paul Driveklepp >>> Signed-off-by: Olav Morken >>> --- >>> drivers/net/macb.c | 12 +++++++++++- >>> 1 files changed, 11 insertions(+), 1 deletions(-) >>> >>> diff --git a/drivers/net/macb.c b/drivers/net/macb.c >>> index 08bebf7..d47a052 100644 >>> --- a/drivers/net/macb.c >>> +++ b/drivers/net/macb.c >>> @@ -297,7 +297,17 @@ static void macb_phy_reset(struct macb_device *macb) >>> int i; >>> u16 status, adv; >>> >>> - adv = ADVERTISE_CSMA | ADVERTISE_ALL; >>> + adv = ADVERTISE_CSMA | ADVERTISE_ALL ; >>> >> ?? >> > > Oops... Will fix this. > > >>> + >>> +#ifdef CONFIG_MACB_FORCE10M >>> + printf("%s: 100Mbps is not supported on this board - forcing 10Mbps.\n", >>> + netdev->name); >>> + >>> + adv &= ~ADVERTISE_100FULL; >>> + adv &= ~ADVERTISE_100HALF; >>> + adv &= ~ADVERTISE_100BASE4; >>> +#endif >>> >> not a fan >> could you be more specific about the problem? >> >> Best Regards, >> J. >> >> > > On the EVK1100 board, the CPU (UC3A0512) is connected to the PHY via an > RMII bus. This requires the CPU clock to be at least 50 MHz. > Unfortunately, the chip on current EVK1100 boards may be unable to run > at more than 50 MHz, and with the oscillator on the board, the closest > frequency we can generate is 48 MHz. > > This patch makes it possible to limit the macb to 10 MBit for this > case. We are open for suggestions for other solutions. > > How about using a PHY capability override CONFIG. Something like this: #if defined(CONFIG_MACB_PHY_CAPAB) <-- insert better name here adv = ADVERTISE_CSMA | CONFIG_MACB_PHY_CAPAB; #else adv = ADVERTISE_CSMA | ADVERTISE_ALL #endif Just an idea... regards, Ben