diff options
| author | Dmitry Torokhov <[email protected]> | 2023-08-30 16:06:38 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <[email protected]> | 2023-08-30 16:06:38 -0700 | 
| commit | 1ac731c529cd4d6adbce134754b51ff7d822b145 (patch) | |
| tree | 143ab3f35ca5f3b69f583c84e6964b17139c2ec1 /drivers/net/ethernet/mediatek/mtk_eth_path.c | |
| parent | 07b4c950f27bef0362dc6ad7ee713aab61d58149 (diff) | |
| parent | 54116d442e001e1b6bd482122043b1870998a1f3 (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 6.6 merge window.
Diffstat (limited to 'drivers/net/ethernet/mediatek/mtk_eth_path.c')
| -rw-r--r-- | drivers/net/ethernet/mediatek/mtk_eth_path.c | 14 | 
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_path.c b/drivers/net/ethernet/mediatek/mtk_eth_path.c index 72648535a14d..317e447f4991 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_path.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_path.c @@ -96,12 +96,20 @@ static int set_mux_gmac2_gmac0_to_gephy(struct mtk_eth *eth, int path)  static int set_mux_u3_gmac2_to_qphy(struct mtk_eth *eth, int path)  { -	unsigned int val = 0; +	unsigned int val = 0, mask = 0, reg = 0;  	bool updated = true;  	switch (path) {  	case MTK_ETH_PATH_GMAC2_SGMII: -		val = CO_QPHY_SEL; +		if (MTK_HAS_CAPS(eth->soc->caps, MTK_U3_COPHY_V2)) { +			reg = USB_PHY_SWITCH_REG; +			val = SGMII_QPHY_SEL; +			mask = QPHY_SEL_MASK; +		} else { +			reg = INFRA_MISC2; +			val = CO_QPHY_SEL; +			mask = val; +		}  		break;  	default:  		updated = false; @@ -109,7 +117,7 @@ static int set_mux_u3_gmac2_to_qphy(struct mtk_eth *eth, int path)  	}  	if (updated) -		regmap_update_bits(eth->infra, INFRA_MISC2, CO_QPHY_SEL, val); +		regmap_update_bits(eth->infra, reg, mask, val);  	dev_dbg(eth->dev, "path %s in %s updated = %d\n",  		mtk_eth_path_name(path), __func__, updated);  |