Subject: Re: DTS for our Configuration

From: Andrew Lunn <[email-masked]>
Date: Tue, 20 Mar 2018 13:38:57 +0100

On Tue, Mar 20, 2018 at 09:12:18AM +0000, Alayev Michael wrote:
> Hello Andrew,
> 
> Please see my comments below in red with some important highlights.

Hi Michael

Please don't use html encrypted emails. Please use quoting as
everybody else does on this list.

> I added the ethernet parameter referencing to gem0. Still cant detect the internal phys and I get kernel panic:
> mdio_bus e000b000.ethernet-ffffffff: /amba/ethernet@e000b000/fixed-link has invalid PHY address

I think this is a problem with the macb driver. To me, it looks like
you are going to have to make some changes to the driver to make this
work. Normally the MDIO bus children are placed within a container
node, often called 'mdio-bus' or simply 'mdio'. See for example
Documentation/devicetree/bindings/net/fsl-fec.txt.  The macb driver
does not do this. It passed the main DT node of the device to
of_mdiobus_register(). It then walks all the children assuming they
devices on the MDIO bus. But the first child it finds is the
'fixed-link'. This is not supposed to be a child of the bus, which is
why it goes wrong.

> mv88e6085 e000b000.ethernet-ffffffff:1d: switch 0xa10 detected: Marvell 88E6390X, revision 1
> libphy: mv88e6xxx SMI: probed
> mv88e6085 e000b000.ethernet-ffffffff:1c: switch 0xa10 detected: Marvell 88E6390X, revision 1
> libphy: mv88e6xxx SMI: probed
> mv88e6085: probe of e000b000.ethernet-ffffffff:1c failed with error -16
> mdio_bus e000b000.ethernet-ffffffff: scan phy fixed-link at address 1
> Unable to handle kernel NULL pointer dereference at virtual address 00000004
> pgd = c0004000
> [00000004] *pgd=00000000
> Internal error: Oops - BUG: 17 [#1] PREEMPT SMP ARM

Please include the fill panic details. The stack trace can be very
useful.

	Andrew