On Thu, 04 Aug 2022 15:46:59 -0400, Sean Anderson wrote: > At the moment, mEMACs are configured almost completely based on the > phy-connection-type. That is, if the phy interface is RGMII, it assumed > that RGMII is supported. For some interfaces, it is assumed that the > RCW/bootloader has set up the SerDes properly. This is generally OK, but > restricts runtime reconfiguration. The actual link state is never > reported. > > To address these shortcomings, the driver will need additional > information. First, it needs to know how to access the PCS/PMAs (in > order to configure them and get the link status). The SGMII PCS/PMA is > the only currently-described PCS/PMA. Add the XFI and QSGMII PCS/PMAs as > well. The XFI (and 10GBASE-KR) PCS/PMA is a c45 "phy" which sits on the > same MDIO bus as SGMII PCS/PMA. By default they will have conflicting > addresses, but they are also not enabled at the same time by default. > Therefore, we can let the XFI PCS/PMA be the default when > phy-connection-type is xgmii. This will allow for > backwards-compatibility. > > QSGMII, however, cannot work with the current binding. This is because > the QSGMII PCS/PMAs are only present on one MAC's MDIO bus. At the > moment this is worked around by having every MAC write to the PCS/PMA > addresses (without checking if they are present). This only works if > each MAC has the same configuration, and only if we don't need to know > the status. Because the QSGMII PCS/PMA will typically be located on a > different MDIO bus than the MAC's SGMII PCS/PMA, there is no fallback > for the QSGMII PCS/PMA. > > Signed-off-by: Sean Anderson <sean.ander...@seco.com> > --- > > (no changes since v3) > > Changes in v3: > - Add vendor prefix 'fsl,' to rgmii and mii properties. > - Set maxItems for pcs-names > - Remove phy-* properties from example because dt-schema complains and I > can't be bothered to figure out how to make it work. > - Add pcs-handle as a preferred version of pcsphy-handle > - Deprecate pcsphy-handle > - Remove mii/rmii properties > > Changes in v2: > - Better document how we select which PCS to use in the default case > > .../bindings/net/fsl,fman-dtsec.yaml | 53 ++++++++++++++----- > .../devicetree/bindings/net/fsl-fman.txt | 5 +- > 2 files changed, 43 insertions(+), 15 deletions(-) >
Reviewed-by: Rob Herring <r...@kernel.org>