[PATCH net-next 1/9] dt-bindings: phy: rename transmit-amplitude.yaml to phy-common-props.yaml

Holger Brunck holger.brunck at hitachienergy.com
Wed Nov 26 05:05:18 PST 2025


> 
> On Wed, Nov 26, 2025 at 10:45:31AM +0000, Holger Brunck wrote:
> > the Kirkwood based board in question was OOT. Due to the patch we were
> > able to use the mainline driver without patching it to configure the
> > value we wanted.
> >
> > The DTS node looked like this:
> >
> > &mdio {
> >         status = "okay";
> >
> >         switch at 10 {
> >                 compatible = "marvell,mv88e6085";
> >                 #address-cells = <1>;
> >                 #size-cells = <0>;
> >                 reg = <0x10>;
> >                 ports {
> >                         #address-cells = <1>;
> >                         #size-cells = <0>;
> >                         port at 4 {
> >                                 reg = <4>;
> >                                 label = "port4";
> >                                 phy-connection-type = "sgmii";
> >                                 tx-p2p-microvolt = <604000>;
> >                                 fixed-link {
> >                                         speed = <1000>;
> >                                         full-duplex;
> >                                 };
> >                         };
> >       };
> > };
> 
> Perhaps there is some bit I'm missing, but let me try and run the code on your
> sample device tree.
> 
> mv88e6xxx_setup_port()
>         if (chip->info->ops->serdes_set_tx_amplitude) {
>                 dp = dsa_to_port(ds, port);
>                 if (dp)
>                         phy_handle = of_parse_phandle(dp->dn, "phy-handle", 0);
> 
>                 if (phy_handle && !of_property_read_u32(phy_handle,
>                                                         "tx-p2p-microvolt",
>                                                         &tx_amp))
>                         err = chip->info->ops->serdes_set_tx_amplitude(chip,
>                                                                 port, tx_amp);
>                 if (phy_handle) {
>                         of_node_put(phy_handle);
>                         if (err)
>                                 return err;
>                 }
>         }
> 
> dp->dn is the "port at 4" node.
> phy_handle is NULL, because the "port at 4" node has no "phy-handle" property.
> of_property_read_u32(phy_handle, "tx-p2p-microvolt") does not run so chip-
> >info->ops->serdes_set_tx_amplitude() is never called
> 
> I'm unable to reconcile the placement of the "tx-p2p-microvolt" property in the
> port OF node with the code that searches for it exclusively in the network PHY
> node.

you are right I double checked it and it cannot work without a phy-handle. Not
sure, about the history of this patch anymore, but the board did run a 5.4 kernel
at that time.

So I agree that the use case I had does not work as it is implemented here. So the code
should be either removed or reworked.





More information about the Linux-mediatek mailing list