Hi Andrew, Andrew Lunn <and...@lunn.ch> writes:
> Unlike most ports, ports 9 and 10 of the 6390X family have configurable > PHY modes. Set the mode as part of adjust_link(). > > Ordering is important, because the SERDES interfaces connected to > ports 9 and 10 can be split and assigned to other ports. The CMODE has > to be correctly set before the SERDES interface on another port can be > configured. Such configuration is likely to be performed in > port_enable() and port_disabled(), called on slave_open() and > slave_close(). > > The simple case is port 9 and 10 are used for 'CPU' or 'DSA'. In this > case, the CMODE is set via a phy-mode in dsa_cpu_dsa_setup(), which is > called early in the switch setup. > > When ports 9 or 10 are used as user ports, and have a fixed-phy, when > the fixed fixed-phy is attached, dsa_slave_adjust_link() is called, > which results in the adjust_link function being called, setting the > cmode. The port_enable() will for other ports will be called much > later. > > When ports 9 or 10 are used as user ports and have a real phy attached > which does not use all the available SERDES interface, e.g. a 1Gbps > SGMII, there is currently no mechanism in place to set the CMODE of > the port from software. It must be hoped the stripping resistors are > correct. > > At the same time, add a function to get the cmode. This will be needed > when configuring the SERDES interfaces. > > Signed-off-by: Andrew Lunn <and...@lunn.ch> Reviewed-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com> Thanks for the very descriptive message, the patch looks perfect. Vivien