> +static const struct mvebu_comhy_conf mvebu_comphy_modes[] = { > + /* lane 0 */ > + MVEBU_COMPHY_CONF(0, 1, PHY_MODE_SGMII, 0x1), > + /* lane 1 */ > + MVEBU_COMPHY_CONF(1, 2, PHY_MODE_SGMII, 0x1), > + /* lane 2 */ > + MVEBU_COMPHY_CONF(2, 0, PHY_MODE_SGMII, 0x1), > + MVEBU_COMPHY_CONF(2, 0, PHY_MODE_10GKR, 0x1), > + /* lane 3 */ > + MVEBU_COMPHY_CONF(3, 1, PHY_MODE_SGMII, 0x2), > + /* lane 4 */ > + MVEBU_COMPHY_CONF(4, 0, PHY_MODE_SGMII, 0x2), > + MVEBU_COMPHY_CONF(4, 0, PHY_MODE_10GKR, 0x2), > + MVEBU_COMPHY_CONF(4, 1, PHY_MODE_SGMII, 0x1), > + /* lane 5 */ > + MVEBU_COMPHY_CONF(5, 2, PHY_MODE_SGMII, 0x1), > +};
Do other Marvell SoCs re-use this IP? Maybe add cp110 to the name here to indicate what SoC this configuration belongs to? I guess at some point, the compatible string will be used to select the correct table for the hardware variant. > +static const struct of_device_id mvebu_comphy_of_match_table[] = { > + { .compatible = "marvell,comphy-cp110" }, Is that specific enough? It seems like this table is easy to change in the VHDL. Could there be another cp110 with a different configuration? Andrew