#define RTL821X_JOIN_LAST 1
#define RTL821X_JOIN_OTHER 2
+#define RTL8214FC_MEDIA_COPPER BIT(11)
+
static const struct firmware rtl838x_8380_fw;
static const struct firmware rtl838x_8218b_fw;
__phy_write(basephy, RTL821XEXT_MEDIA_PAGE_SELECT, oldxpage);
__phy_write(basephy, RTL8XXX_PAGE_SELECT, oldpage);
- return !(val & BMCR_PDOWN);
+ return !(val & RTL8214FC_MEDIA_COPPER);
}
static bool rtl8214fc_media_is_fibre(struct phy_device *phydev)
static void rtl8214fc_media_set(struct phy_device *phydev, bool set_fibre)
{
struct phy_device *basephy = get_base_phy(phydev);
- int pdown = set_fibre ? 0 : BMCR_PDOWN;
+ int copper = set_fibre ? 0 : RTL8214FC_MEDIA_COPPER;
static int regs[] = {16, 19, 20, 21};
int reg = regs[phydev->mdio.addr & 3];
phydev_info(phydev, "switch to %s\n", set_fibre ? "fibre" : "copper");
phy_write_paged(basephy, RTL838X_PAGE_RAW, RTL821XINT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_INTERNAL);
- phy_modify_paged(basephy, RTL821X_PAGE_PORT, reg, BMCR_PDOWN, pdown);
+ phy_modify_paged(basephy, RTL821X_PAGE_PORT, reg, RTL8214FC_MEDIA_COPPER, copper);
phy_write_paged(basephy, RTL838X_PAGE_RAW, RTL821XINT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_AUTO);
if (!phydev->suspended) {