[PATCH 4/6] net: phy: Support Marvell 88EE1545 PHY
ezequiel.garcia at free-electrons.com
Sat Aug 2 13:33:28 PDT 2014
On 02 Aug 07:48 PM, Sebastian Hesselbarth wrote:
> On 08/02/2014 07:40 PM, Ezequiel Garcia wrote:
> > On 31 Jul 07:25 PM, Sebastian Hesselbarth wrote:
> >> On 29.07.2014 23:37, Ezequiel Garcia wrote:
> >>> On 29 Jul 05:44 PM, Ezequiel Garcia wrote:
> >>>> This commit adds support for Marvell's 88E1545 PHY chip. In particular, this
> >>>> allows to support QSGMII interfaces.
> >>>> Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
> >>>> ---
> >>>> /* Mask used for ID comparisons */
> >>>> #define MARVELL_PHY_ID_MASK 0xfffffff0
> >>> Small erratum: given this mask, the ID for the new PHY device should be
> >>> 0x0x01410eb0 instead of 0x01410eb1.
> >>> And by the way, Mirabox and Openblocks AX3 network support is not working.
> >>> The link is not detected, so it seems there's some more PHY work to be done.
> > I've been doing some more tests and it seems that Openblocks AX3 works fine
> > after all (last time I wasn't setting the parameters properly).
> > I need to do some more tests for Mirabox, but we probably need to setup the
> > pinctrl to make it work. Currently, the board hangs when trying to bring up
> > the network interface.
> >> I just confirmed that (after adding support for 88e1318), driver works
> >> on Armada XP ix4-300d on both RGMII ports.
> >> Armada XP requires some additional magic foo in some retarded register
> >> to enable RGMII:
> >> #define ARMADA_XP_PUP_ENABLE_BASE (ARMADA_370_XP_INT_REGS_BASE + 0x1864c)
> >> /* Enable GBE0, GBE1, LCD and NFC PUP */
> >> reg = readl(ARMADA_XP_PUP_ENABLE_BASE);
> >> reg |= 0x17;
> >> writel(reg, ARMADA_XP_PUP_ENABLE_BASE);
> > Thanks a lot for this test! Do you think it's OK to just add that
> > initialization to armada_370_xp_init_soc() ?
> I was hoping you'd try to do so on your SGMII board and report back
> if it does any harm. I kind of have the impression that it is
> _required_ only for single ended (R)GMII pins.
> Also, I already have patches ready to separate 370 and XP. They are
> quite compatible, but have some early differences of course. That way
> we have some code duplication but won't pollute the file with early
> setup for both.
> >> I am not yet sure if that is also true for Armada 370 nor if it is also
> >> true for SGMII/QSGMII ports. Took me a while to hunt this down, but
> >> without above foo, there is no txclk on RGMII.
> > The register is documented only on Armada XP, and it seems it's not needed
> > for SGMII/QSGMII.
> I'd say, if it does no harm, enable it unconditionally.
Yes, I tested on SGMII and QSGMII (OBS AX3-4 and XP-GP) and found it makes no
difference, and no harm.
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
More information about the barebox