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_clkRGMII 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_dataandrx_ctlRGMII pads in microamps. See [motorcomm-yt8xxx].motorcomm,tx-clk-adj-enabled(boolean, optional)Enables adjustments related to
motorcomm,tx-clk-*-invertedusage; 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].
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 },
}
})
}
}