• Daniel Golle's avatar
    net: dsa: mt7530: fix support for MT7531BE · 91daa4f6
    Daniel Golle authored
    There are two variants of the MT7531 switch IC which got different
    features (and pins) regarding port 5:
     * MT7531AE: SGMII/1000Base-X/2500Base-X SerDes PCS
     * MT7531BE: RGMII
    
    Moving the creation of the SerDes PCS from mt753x_setup to mt7530_probe
    with commit 6de28522 ("net: dsa: mt7530: move SGMII PCS creation
    to mt7530_probe function") works fine for MT7531AE which got two
    instances of mtk-pcs-lynxi, however, MT7531BE requires mt7531_pll_setup
    to setup clocks before the single PCS on port 6 (usually used as CPU
    port) starts to work and hence the PCS creation failed on MT7531BE.
    
    Fix this by introducing a pointer to mt7531_create_sgmii function in
    struct mt7530_priv and call it again at the end of mt753x_setup like it
    was before commit 6de28522 ("net: dsa: mt7530: move SGMII PCS
    creation to mt7530_probe function").
    
    Fixes: 6de28522 ("net: dsa: mt7530: move SGMII PCS creation to mt7530_probe function")
    Signed-off-by: default avatarDaniel Golle <daniel@makrotopia.org>
    Acked-by: default avatarArınç ÜNAL <arinc.unal@arinc9.com>
    Link: https://lore.kernel.org/r/ZDvlLhhqheobUvOK@makrotopia.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    91daa4f6
mt7530-mdio.c 6.54 KB