From: Grant Likely <grant.likely@arm.com> To: Calvin Johnson <calvin.johnson@oss.nxp.com>, Jeremy Linton <jeremy.linton@arm.com>, Russell King - ARM Linux admin <linux@armlinux.org.uk>, Jon <jon@solid-run.com>, Cristi Sovaiala <cristian.sovaiala@nxp.com>, Ioana Ciornei <ioana.ciornei@nxp.com>, Andrew Lunn <andrew@lunn.ch>, Andy Shevchenko <andy.shevchenko@gmail.com>, Florian Fainelli <f.fainelli@gmail.com>, Madalin Bucur <madalin.bucur@oss.nxp.com> Cc: netdev@vger.kernel.org, linux.cj@gmail.com, linux-acpi@vger.kernel.org, nd <nd@arm.com> Subject: Re: [net-next PATCH v7 1/6] Documentation: ACPI: DSD: Document MDIO PHY Date: Fri, 25 Sep 2020 14:34:21 +0100 Message-ID: <f7d2de9c-a679-1ad2-d6ba-ca7e2f823343@arm.com> (raw) In-Reply-To: <20200715090400.4733-2-calvin.johnson@oss.nxp.com> On 15/07/2020 10:03, Calvin Johnson wrote: > Introduce ACPI mechanism to get PHYs registered on a MDIO bus and > provide them to be connected to MAC. > > An ACPI node property "mdio-handle" is introduced to reference the > MDIO bus on which PHYs are registered with autoprobing method used > by mdiobus_register(). > > Describe properties "phy-channel" and "phy-mode" > > Signed-off-by: Calvin Johnson <calvin.johnson@oss.nxp.com> > > --- > > Changes in v7: None > Changes in v6: None > Changes in v5: None > Changes in v4: None > Changes in v3: > - cleanup based on v2 comments > - Added description for more properties > - Added MDIO node DSDT entry > > Changes in v2: None > > Documentation/firmware-guide/acpi/dsd/phy.rst | 90 +++++++++++++++++++ > 1 file changed, 90 insertions(+) > create mode 100644 Documentation/firmware-guide/acpi/dsd/phy.rst > > diff --git a/Documentation/firmware-guide/acpi/dsd/phy.rst b/Documentation/firmware-guide/acpi/dsd/phy.rst > new file mode 100644 > index 000000000000..0132fee10b45 > --- /dev/null > +++ b/Documentation/firmware-guide/acpi/dsd/phy.rst > @@ -0,0 +1,90 @@ > +.. SPDX-License-Identifier: GPL-2.0 > + > +========================= > +MDIO bus and PHYs in ACPI > +========================= > + > +The PHYs on an mdiobus are probed and registered using mdiobus_register(). > +Later, for connecting these PHYs to MAC, the PHYs registered on the > +mdiobus have to be referenced. > + > +mdio-handle > +----------- > +For each MAC node, a property "mdio-handle" is used to reference the > +MDIO bus on which the PHYs are registered. On getting hold of the MDIO > +bus, use find_phy_device() to get the PHY connected to the MAC. > + > +phy-channel > +----------- > +Property "phy-channel" defines the address of the PHY on the mdiobus. Hi Calvin, As we discussed offline, using 'mdio-handle'+'phy-channel' doesn't make a lot of sense. The MAC should be referencing the PHY it is attached to, not the MDIO bus. Referencing the PHY makes assumptions about how the PHY is wired into the system, which may not be via a traditional MDIO bus. These two properties should be dropped, and replaced with a single property reference to the PHY node. e.g., Package () {"phy-handle", Package (){\_SB.MDI0.PHY1}} This is also future proof against any changes to how MDIO busses may get modeled in the future. They can be modeled as normal devices now, but if a future version of the ACPI spec adds an MDIO bus type, then the reference to the PHY from the MAC doesn't need to change. > + > +phy-mode > +-------- > +Property "phy-mode" defines the type of PHY interface. > + > +An example of this is shown below:: > + > +DSDT entry for MAC where MDIO node is referenced > +------------------------------------------------ > + Scope(\_SB.MCE0.PR17) // 1G > + { > + Name (_DSD, Package () { > + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), > + Package () { > + Package () {"phy-channel", 1}, > + Package () {"phy-mode", "rgmii-id"}, > + Package () {"mdio-handle", Package (){\_SB.MDI0}} > + } > + }) > + } > + > + Scope(\_SB.MCE0.PR18) // 1G > + { > + Name (_DSD, Package () { > + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), > + Package () { > + Package () {"phy-channel", 2}, > + Package () {"phy-mode", "rgmii-id"}, > + Package () {"mdio-handle", Package (){\_SB.MDI0}} > + } > + }) > + } > + > +DSDT entry for MDIO node > +------------------------ > +a) Silicon Component > +-------------------- > + Scope(_SB) > + { > + Device(MDI0) { > + Name(_HID, "NXP0006") > + Name(_CCA, 1) > + Name(_UID, 0) > + Name(_CRS, ResourceTemplate() { > + Memory32Fixed(ReadWrite, MDI0_BASE, MDI_LEN) > + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared) > + { > + MDI0_IT > + } > + }) // end of _CRS for MDI0 > + Name (_DSD, Package () { > + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), > + Package () { > + Package () {"little-endian", 1}, > + } Adopting the 'little-endian' property here makes little sense. This looks like legacy from old PowerPC DT platforms that doesn't belong here. I would drop this bit. > + }) > + } // end of MDI0 > + } > + > +b) Platform Component > +--------------------- > + Scope(\_SB.MDI0) > + { > + Device(PHY1) { > + Name (_ADR, 0x1) > + } // end of PHY1 > + > + Device(PHY2) { > + Name (_ADR, 0x2) > + } // end of PHY2 > + } >
next prev parent reply index Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-15 9:03 [net-next PATCH v7 0/6] ACPI support for dpaa2 MAC driver Calvin Johnson 2020-07-15 9:03 ` [net-next PATCH v7 1/6] Documentation: ACPI: DSD: Document MDIO PHY Calvin Johnson 2020-07-16 3:04 ` Florian Fainelli 2020-07-16 3:11 ` Andrew Lunn 2020-07-23 23:26 ` Jeremy Linton 2020-07-24 13:39 ` Andrew Lunn 2020-07-24 17:26 ` Jeremy Linton 2020-07-24 17:39 ` Florian Fainelli 2020-07-24 19:20 ` Andrew Lunn 2020-07-24 20:12 ` Andy Shevchenko 2020-07-24 20:13 ` Florian Fainelli 2020-07-24 20:20 ` Andy Shevchenko 2020-07-25 7:36 ` Calvin Johnson 2020-07-25 10:48 ` Andy Shevchenko 2020-07-24 21:06 ` Russell King - ARM Linux admin 2020-07-27 17:03 ` Sudeep Holla 2020-07-24 19:14 ` Andrew Lunn 2020-07-27 17:21 ` Sudeep Holla 2020-07-28 20:34 ` Andrew Lunn 2020-07-28 20:59 ` Russell King - ARM Linux admin 2020-07-28 21:26 ` Andy Shevchenko 2020-07-29 16:00 ` Rafael J. Wysocki 2020-07-31 15:08 ` Andrew Lunn 2020-07-27 17:32 ` Jon Nettleton [not found] ` <1595922651-sup-5323@galangal.danc.bne.opengear.com> 2020-07-28 20:45 ` Andrew Lunn 2020-07-28 20:56 ` Florian Fainelli 2020-07-28 21:28 ` Andy Shevchenko 2020-07-28 21:40 ` Florian Fainelli 2020-07-31 15:14 ` Andrew Lunn 2020-09-25 13:22 ` Grant Likely 2020-07-28 22:30 ` Jeremy Linton 2020-07-29 0:39 ` Florian Fainelli 2020-07-29 2:53 ` Jeremy Linton 2020-07-29 3:16 ` Florian Fainelli 2020-07-29 8:43 ` Jon Nettleton 2020-07-29 9:39 ` Calvin Johnson 2020-09-25 13:34 ` Grant Likely [this message] 2020-09-26 4:30 ` Calvin Johnson 2020-09-29 5:17 ` Calvin Johnson 2020-09-29 13:43 ` Andrew Lunn 2020-09-29 13:55 ` Andy Shevchenko 2020-09-29 14:32 ` Andrew Lunn 2020-09-29 14:46 ` Andy Shevchenko 2020-09-29 15:06 ` Andrew Lunn 2020-09-29 15:29 ` Arnd Bergmann 2020-09-29 14:44 ` Arnd Bergmann 2020-09-29 14:59 ` Andrew Lunn 2020-09-29 15:59 ` Grant Likely 2020-09-29 15:53 ` Grant Likely 2020-09-29 16:04 ` Calvin Johnson 2020-07-15 9:03 ` [net-next PATCH v7 2/6] net: phy: introduce device_mdiobus_register() Calvin Johnson 2020-07-16 3:05 ` Florian Fainelli 2020-07-15 9:03 ` [net-next PATCH v7 3/6] net/fsl: use device_mdiobus_register() Calvin Johnson 2020-07-16 3:05 ` Florian Fainelli 2020-07-15 9:03 ` [net-next PATCH v7 4/6] net: phy: introduce phy_find_by_mdio_handle() Calvin Johnson 2020-07-16 3:06 ` Florian Fainelli 2020-07-15 9:03 ` [net-next PATCH v7 5/6] phylink: introduce phylink_fwnode_phy_connect() Calvin Johnson 2020-07-15 9:04 ` [net-next PATCH v7 6/6] net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver Calvin Johnson 2020-09-25 13:39 ` [net-next PATCH v7 0/6] ACPI support for dpaa2 " Grant Likely 2020-09-26 4:34 ` Calvin Johnson 2020-07-25 14:23 Calvin Johnson 2020-07-25 14:23 ` [net-next PATCH v7 1/6] Documentation: ACPI: DSD: Document MDIO PHY Calvin Johnson
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=f7d2de9c-a679-1ad2-d6ba-ca7e2f823343@arm.com \ --to=grant.likely@arm.com \ --cc=andrew@lunn.ch \ --cc=andy.shevchenko@gmail.com \ --cc=calvin.johnson@oss.nxp.com \ --cc=cristian.sovaiala@nxp.com \ --cc=f.fainelli@gmail.com \ --cc=ioana.ciornei@nxp.com \ --cc=jeremy.linton@arm.com \ --cc=jon@solid-run.com \ --cc=linux-acpi@vger.kernel.org \ --cc=linux.cj@gmail.com \ --cc=linux@armlinux.org.uk \ --cc=madalin.bucur@oss.nxp.com \ --cc=nd@arm.com \ --cc=netdev@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-ACPI Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-acpi/0 linux-acpi/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-acpi linux-acpi/ https://lore.kernel.org/linux-acpi \ linux-acpi@vger.kernel.org public-inbox-index linux-acpi Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-acpi AGPL code for this site: git clone https://public-inbox.org/public-inbox.git