All of lore.kernel.org
 help / color / mirror / Atom feed
From: Calvin Johnson <calvin.johnson@oss.nxp.com>
To: Grant Likely <grant.likely@arm.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Jeremy Linton <jeremy.linton@arm.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Russell King - ARM Linux admin <linux@armlinux.org.uk>,
	Cristi Sovaiala <cristian.sovaiala@nxp.com>,
	Florin Laurentiu Chiculita <florinlaurentiu.chiculita@nxp.com>,
	Ioana Ciornei <ioana.ciornei@nxp.com>,
	Madalin Bucur <madalin.bucur@oss.nxp.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Marcin Wojtas <mw@semihalf.com>,
	Pieter Jansen Van Vuuren <pieter.jansenvv@bamboosystems.io>,
	Jon <jon@solid-run.com>, Saravana Kannan <saravanak@google.com>,
	Randy Dunlap <rdunlap@infradead.org>
Cc: linux.cj@gmail.com,
	Diana Madalina Craciun <diana.craciun@nxp.com>,
	linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	Laurentiu Tudor <laurentiu.tudor@nxp.com>,
	Calvin Johnson <calvin.johnson@oss.nxp.com>,
	Len Brown <lenb@kernel.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>
Subject: [net-next PATCH v4 01/15] Documentation: ACPI: DSD: Document MDIO PHY
Date: Fri, 22 Jan 2021 21:12:46 +0530	[thread overview]
Message-ID: <20210122154300.7628-2-calvin.johnson@oss.nxp.com> (raw)
In-Reply-To: <20210122154300.7628-1-calvin.johnson@oss.nxp.com>

Introduce ACPI mechanism to get PHYs registered on a MDIO bus and
provide them to be connected to MAC.

Describe properties "phy-handle" and "phy-mode".

Signed-off-by: Calvin Johnson <calvin.johnson@oss.nxp.com>
---

Changes in v4:
- More cleanup

Changes in v3: None
Changes in v2:
- Updated with more description in document

 Documentation/firmware-guide/acpi/dsd/phy.rst | 129 ++++++++++++++++++
 1 file changed, 129 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..76fca994bc99
--- /dev/null
+++ b/Documentation/firmware-guide/acpi/dsd/phy.rst
@@ -0,0 +1,129 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=========================
+MDIO bus and PHYs in ACPI
+=========================
+
+The PHYs on an MDIO bus [1] are probed and registered using
+fwnode_mdiobus_register_phy().
+Later, for connecting these PHYs to MAC, the PHYs registered on the
+MDIO bus have to be referenced.
+
+The UUID given below should be used as mentioned in the "Device Properties
+UUID For _DSD" [2] document.
+   - UUID: daffd814-6eba-4d8c-8a91-bc9bbf4aa301
+
+This document introduces two _DSD properties that are to be used
+for PHYs on the MDIO bus.[3]
+
+phy-handle
+----------
+For each MAC node, a device property "phy-handle" is used to reference
+the PHY that is registered on an MDIO bus. This is mandatory for
+network interfaces that have PHYs connected to MAC via MDIO bus.
+
+During the MDIO bus driver initialization, PHYs on this bus are probed
+using the _ADR object as shown below and are registered on the MDIO bus.
+
+::
+      Scope(\_SB.MDI0)
+      {
+        Device(PHY1) {
+          Name (_ADR, 0x1)
+        } // end of PHY1
+
+        Device(PHY2) {
+          Name (_ADR, 0x2)
+        } // end of PHY2
+      }
+
+Later, during the MAC driver initialization, the registered PHY devices
+have to be retrieved from the MDIO bus. For this, MAC driver needs
+reference to the previously registered PHYs which are provided
+using reference to the device as {\_SB.MDI0.PHY1}.
+
+phy-mode
+--------
+The "phy-mode" _DSD property is used to describe the connection to
+the PHY. The valid values for "phy-mode" are defined in [4].
+
+
+An ASL example of this is shown below.
+
+DSDT entry for MDIO node
+------------------------
+The MDIO bus has an SoC component(MDIO controller) and a platform
+component (PHYs on the MDIO bus).
+
+a) Silicon Component
+This node describes the MDIO controller, MDI0
+---------------------------------------------
+::
+	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
+	  } // end of MDI0
+	}
+
+b) Platform Component
+This node defines the PHYs that are connected to the MDIO bus, MDI0
+-------------------------------------------------------------------
+::
+	Scope(\_SB.MDI0)
+	{
+	  Device(PHY1) {
+	    Name (_ADR, 0x1)
+	  } // end of PHY1
+
+	  Device(PHY2) {
+	    Name (_ADR, 0x2)
+	  } // end of PHY2
+	}
+
+
+Below are the MAC nodes where PHY nodes are referenced.
+phy-mode and phy-handle are used as explained earlier.
+------------------------------------------------------
+::
+	Scope(\_SB.MCE0.PR17)
+	{
+	  Name (_DSD, Package () {
+	     ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+		 Package () {
+		     Package (2) {"phy-mode", "rgmii-id"},
+		     Package (2) {"phy-handle", \_SB.MDI0.PHY1}
+	      }
+	   })
+	}
+
+	Scope(\_SB.MCE0.PR18)
+	{
+	  Name (_DSD, Package () {
+	    ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+		Package () {
+		    Package (2) {"phy-mode", "rgmii-id"},
+		    Package (2) {"phy-handle", \_SB.MDI0.PHY2}}
+	    }
+	  })
+	}
+
+References
+==========
+
+[1] Documentation/networking/phy.rst
+
+[2] https://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf
+
+[3] Documentation/firmware-guide/acpi/DSD-properties-rules.rst
+
+[4] Documentation/devicetree/bindings/net/ethernet-controller.yaml
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: Calvin Johnson <calvin.johnson@oss.nxp.com>
To: Grant Likely <grant.likely@arm.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Jeremy Linton <jeremy.linton@arm.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Russell King - ARM Linux admin <linux@armlinux.org.uk>,
	Cristi Sovaiala <cristian.sovaiala@nxp.com>,
	Florin Laurentiu Chiculita <florinlaurentiu.chiculita@nxp.com>,
	Ioana Ciornei <ioana.ciornei@nxp.com>,
	Madalin Bucur <madalin.bucur@oss.nxp.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Marcin Wojtas <mw@semihalf.com>,
	Pieter Jansen Van Vuuren <pieter.jansenvv@bamboosystems.io>,
	Jon <jon@solid-run.com>, Saravana Kannan <saravanak@google.com>,
	Randy Dunlap <rdunlap@infradead.org>
Cc: netdev@vger.kernel.org, "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-kernel@vger.kernel.org,
	Calvin Johnson <calvin.johnson@oss.nxp.com>,
	Diana Madalina Craciun <diana.craciun@nxp.com>,
	linux-acpi@vger.kernel.org, linux.cj@gmail.com,
	Len Brown <lenb@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Laurentiu Tudor <laurentiu.tudor@nxp.com>
Subject: [net-next PATCH v4 01/15] Documentation: ACPI: DSD: Document MDIO PHY
Date: Fri, 22 Jan 2021 21:12:46 +0530	[thread overview]
Message-ID: <20210122154300.7628-2-calvin.johnson@oss.nxp.com> (raw)
In-Reply-To: <20210122154300.7628-1-calvin.johnson@oss.nxp.com>

Introduce ACPI mechanism to get PHYs registered on a MDIO bus and
provide them to be connected to MAC.

Describe properties "phy-handle" and "phy-mode".

Signed-off-by: Calvin Johnson <calvin.johnson@oss.nxp.com>
---

Changes in v4:
- More cleanup

Changes in v3: None
Changes in v2:
- Updated with more description in document

 Documentation/firmware-guide/acpi/dsd/phy.rst | 129 ++++++++++++++++++
 1 file changed, 129 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..76fca994bc99
--- /dev/null
+++ b/Documentation/firmware-guide/acpi/dsd/phy.rst
@@ -0,0 +1,129 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=========================
+MDIO bus and PHYs in ACPI
+=========================
+
+The PHYs on an MDIO bus [1] are probed and registered using
+fwnode_mdiobus_register_phy().
+Later, for connecting these PHYs to MAC, the PHYs registered on the
+MDIO bus have to be referenced.
+
+The UUID given below should be used as mentioned in the "Device Properties
+UUID For _DSD" [2] document.
+   - UUID: daffd814-6eba-4d8c-8a91-bc9bbf4aa301
+
+This document introduces two _DSD properties that are to be used
+for PHYs on the MDIO bus.[3]
+
+phy-handle
+----------
+For each MAC node, a device property "phy-handle" is used to reference
+the PHY that is registered on an MDIO bus. This is mandatory for
+network interfaces that have PHYs connected to MAC via MDIO bus.
+
+During the MDIO bus driver initialization, PHYs on this bus are probed
+using the _ADR object as shown below and are registered on the MDIO bus.
+
+::
+      Scope(\_SB.MDI0)
+      {
+        Device(PHY1) {
+          Name (_ADR, 0x1)
+        } // end of PHY1
+
+        Device(PHY2) {
+          Name (_ADR, 0x2)
+        } // end of PHY2
+      }
+
+Later, during the MAC driver initialization, the registered PHY devices
+have to be retrieved from the MDIO bus. For this, MAC driver needs
+reference to the previously registered PHYs which are provided
+using reference to the device as {\_SB.MDI0.PHY1}.
+
+phy-mode
+--------
+The "phy-mode" _DSD property is used to describe the connection to
+the PHY. The valid values for "phy-mode" are defined in [4].
+
+
+An ASL example of this is shown below.
+
+DSDT entry for MDIO node
+------------------------
+The MDIO bus has an SoC component(MDIO controller) and a platform
+component (PHYs on the MDIO bus).
+
+a) Silicon Component
+This node describes the MDIO controller, MDI0
+---------------------------------------------
+::
+	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
+	  } // end of MDI0
+	}
+
+b) Platform Component
+This node defines the PHYs that are connected to the MDIO bus, MDI0
+-------------------------------------------------------------------
+::
+	Scope(\_SB.MDI0)
+	{
+	  Device(PHY1) {
+	    Name (_ADR, 0x1)
+	  } // end of PHY1
+
+	  Device(PHY2) {
+	    Name (_ADR, 0x2)
+	  } // end of PHY2
+	}
+
+
+Below are the MAC nodes where PHY nodes are referenced.
+phy-mode and phy-handle are used as explained earlier.
+------------------------------------------------------
+::
+	Scope(\_SB.MCE0.PR17)
+	{
+	  Name (_DSD, Package () {
+	     ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+		 Package () {
+		     Package (2) {"phy-mode", "rgmii-id"},
+		     Package (2) {"phy-handle", \_SB.MDI0.PHY1}
+	      }
+	   })
+	}
+
+	Scope(\_SB.MCE0.PR18)
+	{
+	  Name (_DSD, Package () {
+	    ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+		Package () {
+		    Package (2) {"phy-mode", "rgmii-id"},
+		    Package (2) {"phy-handle", \_SB.MDI0.PHY2}}
+	    }
+	  })
+	}
+
+References
+==========
+
+[1] Documentation/networking/phy.rst
+
+[2] https://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf
+
+[3] Documentation/firmware-guide/acpi/DSD-properties-rules.rst
+
+[4] Documentation/devicetree/bindings/net/ethernet-controller.yaml
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-01-22 15:46 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-22 15:42 [net-next PATCH v4 00/15] ACPI support for dpaa2 driver Calvin Johnson
2021-01-22 15:42 ` Calvin Johnson
2021-01-22 15:42 ` Calvin Johnson [this message]
2021-01-22 15:42   ` [net-next PATCH v4 01/15] Documentation: ACPI: DSD: Document MDIO PHY Calvin Johnson
2021-01-22 19:22   ` Rafael J. Wysocki
2021-01-22 19:22     ` Rafael J. Wysocki
2021-01-28 11:27     ` Calvin Johnson
2021-01-28 11:27       ` Calvin Johnson
2021-01-28 12:00       ` Rafael J. Wysocki
2021-01-28 12:00         ` Rafael J. Wysocki
2021-01-28 13:12         ` Calvin Johnson
2021-01-28 13:12           ` Calvin Johnson
2021-01-28 13:27           ` Rafael J. Wysocki
2021-01-28 13:27             ` Rafael J. Wysocki
2021-01-29  6:47             ` Calvin Johnson
2021-01-29  6:47               ` Calvin Johnson
2021-01-29 16:37               ` Rafael J. Wysocki
2021-01-29 16:37                 ` Rafael J. Wysocki
2021-01-29 16:44                 ` Rafael J. Wysocki
2021-01-29 16:44                   ` Rafael J. Wysocki
2021-01-29 17:21                   ` Andy Shevchenko
2021-01-29 17:21                     ` Andy Shevchenko
2021-01-22 15:42 ` [net-next PATCH v4 02/15] net: phy: Introduce fwnode_mdio_find_device() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 03/15] net: phy: Introduce phy related fwnode functions Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 04/15] of: mdio: Refactor of_phy_find_device() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 05/15] net: phy: Introduce fwnode_get_phy_id() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 06/15] of: mdio: Refactor of_get_phy_id() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 07/15] net: mdiobus: Introduce fwnode_mdiobus_register_phy() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-02-05 17:25   ` Calvin Johnson
2021-02-05 17:25     ` Calvin Johnson
2021-02-05 18:25     ` Andy Shevchenko
2021-02-05 18:25       ` Andy Shevchenko
2021-02-05 18:41       ` Andy Shevchenko
2021-02-05 18:41         ` Andy Shevchenko
2021-02-05 18:58         ` Andy Shevchenko
2021-02-05 18:58           ` Andy Shevchenko
2021-02-06 17:14           ` Calvin Johnson
2021-02-06 17:14             ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 08/15] of: mdio: Refactor of_mdiobus_register_phy() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 09/15] device property: Introduce fwnode_get_id() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 16:24   ` Andy Shevchenko
2021-01-22 16:24     ` Andy Shevchenko
2021-01-22 16:40   ` Rafael J. Wysocki
2021-01-22 16:40     ` Rafael J. Wysocki
2021-01-22 17:13     ` Andy Shevchenko
2021-01-22 17:13       ` Andy Shevchenko
2021-01-22 18:11       ` Rafael J. Wysocki
2021-01-22 18:11         ` Rafael J. Wysocki
2021-01-22 18:21         ` Rafael J. Wysocki
2021-01-22 18:21           ` Rafael J. Wysocki
2021-01-22 18:13   ` Rafael J. Wysocki
2021-01-22 18:13     ` Rafael J. Wysocki
2021-01-22 18:35     ` Rafael J. Wysocki
2021-01-22 18:35       ` Rafael J. Wysocki
2021-01-22 15:42 ` [net-next PATCH v4 10/15] net: mdio: Add ACPI support code for mdio Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-23  1:39   ` Jakub Kicinski
2021-01-23  1:39     ` Jakub Kicinski
2021-01-22 15:42 ` [net-next PATCH v4 11/15] net: mdiobus: Introduce fwnode_mdiobus_register() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 12/15] net/fsl: Use fwnode_mdiobus_register() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 13/15] phylink: introduce phylink_fwnode_phy_connect() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:42 ` [net-next PATCH v4 14/15] net: phylink: Refactor phylink_of_phy_connect() Calvin Johnson
2021-01-22 15:42   ` Calvin Johnson
2021-01-22 15:43 ` [net-next PATCH v4 15/15] net: dpaa2-mac: Add ACPI support for DPAA2 MAC driver Calvin Johnson
2021-01-22 15:43   ` 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=20210122154300.7628-2-calvin.johnson@oss.nxp.com \
    --to=calvin.johnson@oss.nxp.com \
    --cc=andrew@lunn.ch \
    --cc=andy.shevchenko@gmail.com \
    --cc=cristian.sovaiala@nxp.com \
    --cc=diana.craciun@nxp.com \
    --cc=f.fainelli@gmail.com \
    --cc=florinlaurentiu.chiculita@nxp.com \
    --cc=grant.likely@arm.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=ioana.ciornei@nxp.com \
    --cc=jeremy.linton@arm.com \
    --cc=jon@solid-run.com \
    --cc=laurentiu.tudor@nxp.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux.cj@gmail.com \
    --cc=linux@armlinux.org.uk \
    --cc=madalin.bucur@oss.nxp.com \
    --cc=mw@semihalf.com \
    --cc=netdev@vger.kernel.org \
    --cc=pieter.jansenvv@bamboosystems.io \
    --cc=rafael@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=rjw@rjwysocki.net \
    --cc=saravanak@google.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.