Subject: Re: [Bugme-new] [Bug 33042] New: Marvell 88E1145 phy configured incorrectly in fiber mode

From: Alex Dubov <[email-masked]>
Date: Thu, 14 Apr 2011 00:59:26 -0700 (PDT)

--- On Thu, 14/4/11, Andy Fleming <[email-masked]> wrote:

> 
> I've just rewritten the U-Boot code for PHY management, so
> I'd be
> interested in hearing if this breaks your board.  But
> what's
> interesting to me is that, in order for U-Boot to report
> that the link
> is a "fiber" link, something had to set the TSEC_FIBER
> flag, and only
> one PHY in the public source did.  This implies to me
> that your board
> isn't supported by mainline U-Boot, and suggests that
> someone may have
> modified the 88e1145 driver. Otherwise, I don't see any
> fiber-related
> differences between the U-Boot 1145 driver, and the Linux
> one.

I had not seen any difference, that's true. But the problem somehow
creeps in.

The u-boot is standard stock u-boot pulled from the recent git,
no special configuration involved.

I actually managed to make kernel transmit stuff by playing with register
values from other marvell phy varieties, but it keeps receiving garbage,
so the link is still not operational.

I tried to prevent kernel from reconfiguring the phy, but to no avail.
It seems very weird to me, because I did quite a lot of testing with
u-boot and network just works on that interface. However, when kernel
starts booting it suddenly looses the ability to talk to it.

I have a copper link attached to the same transceiver and it works fine
all along.

> 
> 
> 
> Reading the configuration from U-Boot is
> straightforward.  use the
> "mii" command to read the registers.  But don't forget
> to set register
> 22 (16 - mii command only reads hex) to 1, and read all of
> the
> registers that way, too.

I have no recourse but to keep investigating.

> 
> You will either need to add some code to detect when the
> PHY is using
> fiber, and change the phydev->port to PORT_FIBRE, or you
> will need to
> add a board-level "fixup" to change the port to PORT_FIBRE
> on your
> board.
> 
> Then the PHY driver should use that information to do the
> right configuration.
> 
> Andy
>