Documentation / firmware-guide / acpi / dsd / motorcomm-yt8xxx-phy.rst


Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
.. SPDX-License-Identifier: GPL-2.0

======================================
Motorcomm yt8xxx PHY properties (_DSD)
======================================

This document describes ACPI _DSD device properties for Motorcomm yt8xxx
Ethernet PHYs supported by the in-kernel driver in
``drivers/net/phy/motorcomm.c``.

The properties are exposed on the PHY device object under the MDIO bus ACPI
device (the same objects that are registered via
``fwnode_mdiobus_register_phy()``). MAC-side connection properties such as
``phy-handle`` and ``phy-mode`` are documented in [acpi-mdio-phy]_.

Property names and semantics are intentionally aligned with the Devicetree
binding [motorcomm-yt8xxx]_ so that the same driver code path
(``device_property_*`` on ``&phydev->mdio.dev``) can consume firmware
described either as Devicetree or ACPI _DSD.

UUID and placement
==================

Per [acpi-dsd-properties-rules]_ and [acpi-mdio-phy]_, properties must be
placed in an _DSD package using the standard Device Properties UUID::

	ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301")

Properties
==========

Unless noted otherwise, integer properties use the same allowed values and
defaults as [motorcomm-yt8xxx]_.

``rx-internal-delay-ps`` (u32, optional)
  RGMII RX internal delay in picoseconds. Only meaningful when the link is
  using RGMII modes with RX internal delay; see [motorcomm-yt8xxx]_.

``tx-internal-delay-ps`` (u32, optional)
  RGMII TX internal delay in picoseconds. Only meaningful when the link is
  using RGMII modes with TX internal delay; see [motorcomm-yt8xxx]_.

``motorcomm,clk-out-frequency-hz`` (u32, optional)
  Clock output frequency on the PHY clock output pin. Allowed values and
  default are defined in [motorcomm-yt8xxx]_.

``motorcomm,keep-pll-enabled`` (boolean, optional)
  If true, keep the PLL enabled even when there is no link (useful for using
  the clock output without an Ethernet link). See [motorcomm-yt8xxx]_.

``motorcomm,auto-sleep-disabled`` (boolean, optional)
  If true, disable the PHY auto-sleep behavior described in
  [motorcomm-yt8xxx]_.

``motorcomm,rx-clk-drv-microamp`` (u32, optional)
  Drive strength for the ``rx_clk`` RGMII pad in microamps. Allowed values
  depend on the configured RGMII LDO voltage; see [motorcomm-yt8xxx]_.

``motorcomm,rx-data-drv-microamp`` (u32, optional)
  Drive strength for the ``rx_data`` and ``rx_ctl`` RGMII pads in microamps.
  See [motorcomm-yt8xxx]_.

``motorcomm,tx-clk-adj-enabled`` (boolean, optional)
  Enables adjustments related to ``motorcomm,tx-clk-*-inverted`` usage; see
  [motorcomm-yt8xxx]_.

``motorcomm,tx-clk-10-inverted`` (boolean, optional)
``motorcomm,tx-clk-100-inverted`` (boolean, optional)
``motorcomm,tx-clk-1000-inverted`` (boolean, optional)
  Per-speed TX clock inversion options; see [motorcomm-yt8xxx]_.

ASL example (illustrative)
==========================

The example below only shows PHY-local _DSD properties. A real platform
still needs a MAC ``phy-handle`` and ``phy-mode`` package as in
[acpi-mdio-phy]_.

.. code-block:: none

	Scope (\_SB.MDI0)
	{
		Device (PHY4)
		{
			Name (_ADR, 0x4)

			Name (_DSD, Package () {
				ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
				Package () {
					Package (2) { "rx-internal-delay-ps", 2100 },
					Package (2) { "tx-internal-delay-ps", 150 },
					Package (2) { "motorcomm,clk-out-frequency-hz", 0 },
					Package (2) { "motorcomm,keep-pll-enabled", 1 },
					Package (2) { "motorcomm,auto-sleep-disabled", 1 },
				}
			})
		}
	}

References
==========

.. [acpi-mdio-phy] Documentation/firmware-guide/acpi/dsd/phy.rst
.. [acpi-dsd-properties-rules]
   Documentation/firmware-guide/acpi/DSD-properties-rules.rst
.. [motorcomm-yt8xxx]
   Documentation/devicetree/bindings/net/motorcomm,yt8xxx.yaml