Dear Florian Fainelli,

On Tue, 09 Jul 2013 19:02:05 +0100, Florian Fainelli wrote:

> > > We have a case of an hardware platform that uses the mvneta network
> > > driver, but instead of the SoC being connected to a PHY, it's connected
> > > directly to a switch, so my understanding is that there's no MDIO bus,
> > > and we should have a kind of a "fake PHY" to make the mvneta driver
> > > believe that the link is up, at a given speed.
> > 
> > Good timing, I was about to post questions/suggestions about how we
> > should represent fixed PHYs in device tree.

Great.

> > Well, it does not seem to be too far from the "hardware" reality to
> > describe a link between a switch CPU port and an Ethernet MAC as a
> > fixed PHY because that is what it really is in fact. Once you have a
> > drivers for your switch you can start using this PHY along with its
> > corresponding driver.

Ok.

> > There is a helper: of_phy_connect_fixed_link() in drivers/of/of_mdio.c
> > is flagged as being a
> > temporary solution for Freescale Ethernet drivers to move to something else,
> > so I would like to discuss what the "something else should be".

Yeah, I saw this helper function as well, and the comment you spotted.

> > Here what I would like to see the new "fixed-link" phy node look like:
> > 
> > ethernet-phy@0 {
> >      reg = <0>;
> >      id = "deadbeef";
> >      speed = <1000>;
> >      full-duplex;
> >      pause;
> >      asym-pause;
> > };
> > 
> > It has the same properties as the binding described in:
> > Documentation/devicetree/bindings/net/fsl-tsec-phy.txt but expressed in a
> > more explicit way instead of using an array of integers.

And so the fixed-phy driver would look for what exactly in the Device
Tree to find which fixed PHYs to create?

Should we have something like:

        mdio-fixed {
                compatible = "generic,mdio-fixed";
                phy0: ethernet-phy@0 {
                        ... all the properties you listed ...
                        ... maybe the "id" property is not needed
                            because of the phandle ...
                };

                phy1: ethernet-phy@1 {
                        ... all the properties you listed ...
                        ... maybe the "id" property is not needed
                            because of the phandle ...
                };
        };

        soc {
                ethernet@0 {
                        phy = <&phy0>;
                        ...
                };

                ethernet@1 {
                        phy = <&phy1>;
                        ...
                };
        };

or do you have in mind another representation?

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
_______________________________________________
devicetree-discuss mailing list
devicetree-discuss@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to