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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > 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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux