Skip to content

Commit b23285e

Browse files
Da Xuekuba-moo
authored andcommitted
net: mdio: mux-meson-gxl: set reversed bit when using internal phy
This bit is necessary to receive packets from the internal PHY. Without this bit set, no activity occurs on the interface. Normally u-boot sets this bit, but if u-boot is compiled without net support, the interface will be up but without any activity. If bit is set once, it will work until the IP is powered down or reset. The vendor SDK sets this bit along with the PHY_ID bits. Signed-off-by: Da Xue <[email protected]> Fixes: 9a24e1f ("net: mdio: add amlogic gxl mdio mux support") Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent e7e5ae7 commit b23285e

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/net/mdio/mdio-mux-meson-gxl.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#define REG2_LEDACT GENMASK(23, 22)
1818
#define REG2_LEDLINK GENMASK(25, 24)
1919
#define REG2_DIV4SEL BIT(27)
20+
#define REG2_REVERSED BIT(28)
2021
#define REG2_ADCBYPASS BIT(30)
2122
#define REG2_CLKINSEL BIT(31)
2223
#define ETH_REG3 0x4
@@ -65,7 +66,7 @@ static void gxl_enable_internal_mdio(struct gxl_mdio_mux *priv)
6566
* The only constraint is that it must match the one in
6667
* drivers/net/phy/meson-gxl.c to properly match the PHY.
6768
*/
68-
writel(FIELD_PREP(REG2_PHYID, EPHY_GXL_ID),
69+
writel(REG2_REVERSED | FIELD_PREP(REG2_PHYID, EPHY_GXL_ID),
6970
priv->regs + ETH_REG2);
7071

7172
/* Enable the internal phy */

0 commit comments

Comments
 (0)