Lines Matching refs:eth
18 int (*set_path)(struct mtk_eth *eth, u64 path);
45 static int set_mux_gdm1_to_gmac1_esw(struct mtk_eth *eth, u64 path) in set_mux_gdm1_to_gmac1_esw() argument
64 if (mtk_is_netsys_v3_or_greater(eth)) in set_mux_gdm1_to_gmac1_esw()
70 mtk_m32(eth, mask, set, reg); in set_mux_gdm1_to_gmac1_esw()
72 dev_dbg(eth->dev, "path %s in %s updated = %d\n", in set_mux_gdm1_to_gmac1_esw()
78 static int set_mux_gmac2_gmac0_to_gephy(struct mtk_eth *eth, u64 path) in set_mux_gmac2_gmac0_to_gephy() argument
93 regmap_update_bits(eth->infra, INFRA_MISC2, GEPHY_MAC_SEL, val); in set_mux_gmac2_gmac0_to_gephy()
95 dev_dbg(eth->dev, "path %s in %s updated = %d\n", in set_mux_gmac2_gmac0_to_gephy()
101 static int set_mux_u3_gmac2_to_qphy(struct mtk_eth *eth, u64 path) in set_mux_u3_gmac2_to_qphy() argument
108 if (MTK_HAS_CAPS(eth->soc->caps, MTK_U3_COPHY_V2)) { in set_mux_u3_gmac2_to_qphy()
124 regmap_update_bits(eth->infra, reg, mask, val); in set_mux_u3_gmac2_to_qphy()
126 dev_dbg(eth->dev, "path %s in %s updated = %d\n", in set_mux_u3_gmac2_to_qphy()
132 static int set_mux_gmac2_to_2p5gphy(struct mtk_eth *eth, u64 path) in set_mux_gmac2_to_2p5gphy() argument
137 ret = regmap_clear_bits(eth->ethsys, ETHSYS_SYSCFG0, in set_mux_gmac2_to_2p5gphy()
143 ret = regmap_clear_bits(eth->infra, TOP_MISC_NETSYS_PCS_MUX, in set_mux_gmac2_to_2p5gphy()
148 dev_dbg(eth->dev, "path %s in %s updated\n", in set_mux_gmac2_to_2p5gphy()
155 static int set_mux_gmac1_gmac2_to_sgmii_rgmii(struct mtk_eth *eth, u64 path) in set_mux_gmac1_gmac2_to_sgmii_rgmii() argument
169 regmap_read(eth->ethsys, ETHSYS_SYSCFG0, &val); in set_mux_gmac1_gmac2_to_sgmii_rgmii()
184 regmap_update_bits(eth->ethsys, ETHSYS_SYSCFG0, in set_mux_gmac1_gmac2_to_sgmii_rgmii()
187 dev_dbg(eth->dev, "path %s in %s updated = %d\n", in set_mux_gmac1_gmac2_to_sgmii_rgmii()
193 static int set_mux_gmac12_to_gephy_sgmii(struct mtk_eth *eth, u64 path) in set_mux_gmac12_to_gephy_sgmii() argument
198 regmap_read(eth->ethsys, ETHSYS_SYSCFG0, &val); in set_mux_gmac12_to_gephy_sgmii()
215 regmap_update_bits(eth->ethsys, ETHSYS_SYSCFG0, in set_mux_gmac12_to_gephy_sgmii()
218 dev_dbg(eth->dev, "path %s in %s updated = %d\n", in set_mux_gmac12_to_gephy_sgmii()
252 static int mtk_eth_mux_setup(struct mtk_eth *eth, u64 path) in mtk_eth_mux_setup() argument
256 if (!MTK_HAS_CAPS(eth->soc->caps, path)) { in mtk_eth_mux_setup()
257 dev_err(eth->dev, "path %s isn't support on the SoC\n", in mtk_eth_mux_setup()
262 if (!MTK_HAS_CAPS(eth->soc->caps, MTK_MUX)) in mtk_eth_mux_setup()
267 if (MTK_HAS_CAPS(eth->soc->caps, mtk_eth_muxc[i].cap_bit)) { in mtk_eth_mux_setup()
268 err = mtk_eth_muxc[i].set_path(eth, path); in mtk_eth_mux_setup()
272 dev_dbg(eth->dev, "mux %s isn't present on the SoC\n", in mtk_eth_mux_setup()
281 int mtk_gmac_sgmii_path_setup(struct mtk_eth *eth, int mac_id) in mtk_gmac_sgmii_path_setup() argument
289 return mtk_eth_mux_setup(eth, path); in mtk_gmac_sgmii_path_setup()
292 int mtk_gmac_2p5gphy_path_setup(struct mtk_eth *eth, int mac_id) in mtk_gmac_2p5gphy_path_setup() argument
303 return mtk_eth_mux_setup(eth, path); in mtk_gmac_2p5gphy_path_setup()
306 int mtk_gmac_gephy_path_setup(struct mtk_eth *eth, int mac_id) in mtk_gmac_gephy_path_setup() argument
317 return mtk_eth_mux_setup(eth, path); in mtk_gmac_gephy_path_setup()
320 int mtk_gmac_rgmii_path_setup(struct mtk_eth *eth, int mac_id) in mtk_gmac_rgmii_path_setup() argument
328 return mtk_eth_mux_setup(eth, path); in mtk_gmac_rgmii_path_setup()