Thread (17 messages) flat view 17 messages, 5 authors, 2016-08-04

[RFC PATCH v2 1/4] Documentation: DT: net: Add Xilinx gmiitorgmii converter device tree binding documentation

From: Punnaiah Choudary Kalluri <hidden>
Date: 2016-07-06 15:06:39
Also in: linux-devicetree, lkml, netdev

-----Original Message-----
From: Andrew Lunn [mailto:andrew at lunn.ch]
Sent: Wednesday, July 06, 2016 7:51 PM
To: Punnaiah Choudary Kalluri <redacted>
Cc: Appana Durga Kedareswara Rao <redacted>;
robh+dt at kernel.org; mark.rutland at arm.com; Michal Simek
[off-list ref]; Soren Brinkmann [off-list ref];
nicolas.ferre at atmel.com; f.fainelli at gmail.com; Anirudha Sarangi
[off-list ref]; Harini Katakam [off-list ref];
netdev at vger.kernel.org; devicetree at vger.kernel.org; linux-arm-
kernel at lists.infradead.org; linux-kernel at vger.kernel.org
Subject: Re: [RFC PATCH v2 1/4] Documentation: DT: net: Add Xilinx
gmiitorgmii converter device tree binding documentation
quoted
quoted
Hi Kedareswara

So looking at the device tree, you have the gmiitorgmii as an mdio
device. It will get probed as an mdio device, and from that you know
the address on the bus. However, your driver does not actually do
this. xilinx_gmii2rgmii.c is just a library of two functions, and does
not use any of this device tree information. You device tree binding
is completely bogus.

What i think is a much more logical structure, and fits the hardware,
which is what DT is all about, is to make your driver an mdio driver.
Also, have a phy-handle pointing to the PHY in the gmii_to_rgmii node.
You then no longer need the exported gmii2rgmii_phyprobe() function.

Next, you want gmiitorgmii driver to register a phy. The MAC driver
can then look this up using phy-handle:

       mdio {
                #address-cells = <1>;
                #size-cells = <0>;

                phy: ethernet-phy at 0 {
                        reg = <0>;
                };

                gmii_to_rgmii: gmii-to-rgmii at 8 {
                        compatible = "xlnx,gmiitorgmii";
                        reg = <8>;
			phy-handle = <&phy>;
                };
       };

Thanks for your inputs initially we too thought the similar implementation
But the GMII2RGMII converter contains only one register and it is
 not compatible to the standard ethernet MII interface. Also it doesn't have
a standard VID and PID registers So, during the mdio bus scan, this device
will
quoted
not appear.
Hi Punnaiah

Use missed some subtlety in my description. I did not call the
GMII2RGMII a PHY device, i called it an MDIO device. These are
different things. Go look at the MDIO subsystem to figure out the
difference.
Hi Andrew

Got it. Thanks.

Punnaiah
	Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help