[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200318060347.GA21824@lsv03152.swis.in-blr01.nxp.com>
Date: Wed, 18 Mar 2020 11:33:47 +0530
From: Calvin Johnson <calvin.johnson@....nxp.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: Jeremy Linton <jeremy.linton@....com>, linux.cj@...il.com,
Jon Nettleton <jon@...id-run.com>, linux@...linux.org.uk,
Makarand Pawagi <makarand.pawagi@....com>,
cristian.sovaiala@....com, laurentiu.tudor@....com,
ioana.ciornei@....com, V.Sethi@....com, pankaj.bansal@....com,
"Rajesh V . Bikkina" <rajesh.bikkina@....com>,
Marcin Wojtas <mw@...ihalf.com>,
"David S. Miller" <davem@...emloft.net>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
linux-acpi@...r.kernel.org
Subject: Re: [PATCH v1 1/7] mdio_bus: Introduce fwnode MDIO helpers
Hi Andrew,
On Tue, Mar 17, 2020 at 03:04:26PM +0100, Andrew Lunn wrote:
> On Tue, Mar 17, 2020 at 05:06:50PM +0530, Calvin Johnson wrote:
> > Hi,
> >
> > On Fri, Jan 31, 2020 at 09:04:34PM +0530, Calvin Johnson wrote:
> >
> > <snip>
> >
> > > +/**
> > > + * fwnode_mdiobus_child_is_phy - Return true if the child is a PHY node.
> > > + * It must either:
> > > + * o Compatible string of "ethernet-phy-ieee802.3-c45"
> > > + * o Compatible string of "ethernet-phy-ieee802.3-c22"
> > > + * Checking "compatible" property is done, in order to follow the DT binding.
> > > + */
> > > +static bool fwnode_mdiobus_child_is_phy(struct fwnode_handle *child)
> > > +{
> > > + int ret;
> > > +
> > > + ret = fwnode_property_match_string(child, "compatible",
> > > + "ethernet-phy-ieee802.3-c45");
> > > + if (!ret)
> > > + return true;
> > > +
> > > + ret = fwnode_property_match_string(child, "compatible",
> > > + "ethernet-phy-ieee802.3-c22");
> > > + if (!ret)
> > > + return true;
> > > +
> > > + if (!fwnode_property_present(child, "compatible"))
> > > + return true;
> > > +
> > > + return false;
> > > +}
> >
> > Can we use _CID in ACPI to get the compatible string? Is there any other method
> > to handle this kind of situation where we would like to pass C45 or C22 info to
> > the mdiobus driver?
>
> Hi Calvin
>
> Is there any defacto standardised way to stuff this device tree
> property into ACPI? It is one of the key properties, so either there
> is one standard way, or lots of variants because nobody can be
> bothered to go to the ACPI standardisation body and get it formalised.
_DSD package is used to stuff this kind of DT property. IMO, this is not the
standard way as C22 and C45 are key properties for MDIO.
Eg usage of _DSD:
https://source.codeaurora.org/external/qoriq/qoriq-components/edk2-platforms/tree/Platform/NXP/LX2160aRdbPkg/AcpiTables/Dsdt/Mdio.asl?h=LX2160_UEFI_ACPI_EAR1
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"reg", 5},
Package () {"phy-addr", 5},
Package () {"compatible", "ethernet-phy-ieee802.3-c45"}
}
})
Ideally, MDIO bus should be part of the ACPI spec.
Maybe this property can be included in:
https://uefi.org/sites/default/files/resources/nic-request-v2.pdf
I'm still looking for a better approach than _DSD till ACPI spec defines it.
Regards
Calvin
Powered by blists - more mailing lists