Re: [PATCH net-next] net: phy: qca807x: move interface mode check to .config_init_once

From: Andrew Lunn
Date: Tue Feb 13 2024 - 08:27:40 EST


> > Yes, that is correct and when SFP is plugged in it will be reconfigured
> > by the driver into combo mode as that port can actually be used for fiber and
> > copper at the same time by changing the priority.
> >
>
> Hi Andrew, just to make sure this doesn't get confused.
>
> There is a HW limitation here and it's described in Documentation:
>
> - In QSGMII mode the SFP Cage can't be connected or mounted physically
> as in this mode only 5 copper port can be connected, it would go
> against the HW design of the chip. In this configuration the first 4
> port are qsgmii and the 5th port is sgmii. (we enforce qsgmii on all
> ports out of simplicity to make sure we have a sane configuration in
> DT)
>
> - In PSGMII mode the 5th port is always a combo port that can either be
> a copper port or a fiber port (with SFP cage). To set the 5th port to
> fiber mode, the mode has to be switched but the other 4 port are
> always copper.
> Also it's ok to set the initial PSGMII mode to 5 copper port as it
> will be changed as soon as a SFP cage is connected. (can't happen to
> have a device with both a copper port and a SFP cage connected to the
> 5th port, it's one or the other. Again it would go against the HW
> design.
>
> Hope it's clear now why the check was introduced and the HW limitation
> of it as with the previous message one might think the 5th port is
> totally separated and can go to his own mode (PSGMII or QSGMII)

Thanks for the explanation

I'm more used to it being like:

&eth2 {
/* ethernet@34000 */
bm,pool-long = <3>;
bm,pool-short = <1>;
buffer-manager = <&bm>;
managed = "in-band-status";
phys = <&comphy5 1>;
phy-mode = "sgmii";
sfp = <&sfp0>;
status = "okay";
};

Here phy-mode is set to one of the modes the SFP will use, either
sgmii or 1000baseX. But i don't think it matters what value is used.

Andrew