+static int adin_config_init(struct phy_device *phydev)
+{
+ struct adin_priv *priv = phydev->priv;
+ struct device *dev = &phydev->mdio.dev;
+ int ret;
+
+ ret = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, ADIN_B10L_PMA_STAT);
+ if (ret < 0)
+ return ret;
+
+ /* This depends on the voltage level from the power source */
+ priv->tx_level_24v = !!(ret & ADIN_PMA_STAT_B10L_TX_LVL_HI_ABLE);
+
+ phydev_dbg(phydev, "PHY supports 2.4V TX level: %s\n",
+ priv->tx_level_24v ? "yes" : "no");
+
+ if (priv->tx_level_24v &&
+ device_property_present(dev, "adi,disable-2-4-v-tx-level")) {
+ phydev_info(phydev,
+ "PHY supports 2.4V TX level, but disabled via config\n");
+ priv->tx_level_24v = 0;
Please document this in the device tree binding. I also suspect Rob
will prefer something like adi,disable-2400mv-tx-level
Andrew