From 8b2f654d4ca4db4204803c37610ed29a19198638 Mon Sep 17 00:00:00 2001 From: Pascal Ernster Date: Sun, 4 Jun 2023 21:41:32 +0200 Subject: [PATCH 1/6] realtek: Use MII_BMCR and BMCR_* constants from Replace numerical values, BIT(x) and (1 << x) in drivers/net/phy/rtl83xx-phy.c with constants from to improve code readability. To make reviewing easier, this commit only addresses MII_BMCR and BMCR_* constants. Suggested-by: DENG Qingfang Signed-off-by: Pascal Ernster --- .../files-5.15/drivers/net/phy/rtl83xx-phy.c | 74 +++++++++---------- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c b/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c index d47ba3e013..8e3fd3e3fe 100644 --- a/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c +++ b/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include "rtl83xx-phy.h" @@ -19,9 +20,6 @@ extern struct rtl83xx_soc_info soc_info; extern struct mutex smi_lock; -#define PHY_CTRL_REG 0 -#define PHY_POWER_BIT 11 - #define PHY_PAGE_2 2 #define PHY_PAGE_4 4 @@ -124,23 +122,23 @@ static int resume_polling(u64 saved_state) static void rtl8380_int_phy_on_off(struct phy_device *phydev, bool on) { - phy_modify(phydev, 0, BIT(11), on?0:BIT(11)); + phy_modify(phydev, 0, BMCR_PDOWN, on ? 0 : BMCR_PDOWN); } static void rtl8380_rtl8214fc_on_off(struct phy_device *phydev, bool on) { /* fiber ports */ phy_write_paged(phydev, RTL83XX_PAGE_RAW, RTL821XEXT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_FIBRE); - phy_modify(phydev, 0x10, BIT(11), on?0:BIT(11)); + phy_modify(phydev, 0x10, BMCR_PDOWN, on ? 0 : BMCR_PDOWN); /* copper ports */ phy_write_paged(phydev, RTL83XX_PAGE_RAW, RTL821XEXT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_COPPER); - phy_modify_paged(phydev, RTL821X_PAGE_POWER, 0x10, BIT(11), on?0:BIT(11)); + phy_modify_paged(phydev, RTL821X_PAGE_POWER, 0x10, BMCR_PDOWN, on ? 0 : BMCR_PDOWN); } static void rtl8380_phy_reset(struct phy_device *phydev) { - phy_modify(phydev, 0, BIT(15), BIT(15)); + phy_modify(phydev, 0, BMCR_RESET, BMCR_RESET); } /* The access registers for SDS_MODE_SEL and the LSB for each SDS within */ @@ -748,8 +746,8 @@ static int rtl8380_configure_int_rtl8218b(struct phy_device *phydev) // int ipd_flag = 1; // } - val = phy_read(phydev, 0); - if (val & BIT(11)) + val = phy_read(phydev, MII_BMCR); + if (val & BMCR_PDOWN) rtl8380_int_phy_on_off(phydev, true); else rtl8380_phy_reset(phydev); @@ -839,8 +837,8 @@ static int rtl8380_configure_ext_rtl8218b(struct phy_device *phydev) rtl8218B_6276B_rtl8380_perport = (void *)h + sizeof(struct fw_header) + h->parts[1].start; rtl8380_rtl8218b_perport = (void *)h + sizeof(struct fw_header) + h->parts[2].start; - val = phy_read(phydev, 0); - if (val & (1 << 11)) + val = phy_read(phydev, MII_BMCR); + if (val & BMCR_PDOWN) rtl8380_int_phy_on_off(phydev, true); else rtl8380_phy_reset(phydev); @@ -939,7 +937,7 @@ static bool rtl8214fc_media_is_fibre(struct phy_device *phydev) val = phy_package_read_paged(phydev, RTL821X_PAGE_PORT, reg[mac % 4]); phy_package_write_paged(phydev, RTL83XX_PAGE_RAW, RTL821XINT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_AUTO); - if (val & BIT(11)) + if (val & BMCR_PDOWN) return false; return true; @@ -958,9 +956,9 @@ static void rtl8214fc_power_set(struct phy_device *phydev, int port, bool on) } if (on) { - phy_modify_paged(phydev, RTL821X_PAGE_POWER, 0x10, BIT(11), 0); + phy_modify_paged(phydev, RTL821X_PAGE_POWER, 0x10, BMCR_PDOWN, 0); } else { - phy_modify_paged(phydev, RTL821X_PAGE_POWER, 0x10, 0, BIT(11)); + phy_modify_paged(phydev, RTL821X_PAGE_POWER, 0x10, 0, BMCR_PDOWN); } phy_write_paged(phydev, RTL83XX_PAGE_RAW, RTL821XINT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_AUTO); @@ -1000,9 +998,9 @@ static void rtl8214fc_media_set(struct phy_device *phydev, bool set_fibre) val |= BIT(10); if (set_fibre) { - val &= ~BIT(11); + val &= ~BMCR_PDOWN; } else { - val |= BIT(11); + val |= BMCR_PDOWN; } phy_package_write_paged(phydev, RTL83XX_PAGE_RAW, RTL821XINT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_INTERNAL); @@ -1057,8 +1055,8 @@ void rtl8218d_eee_set(struct phy_device *phydev, bool enable) /* Set GPHY page to copper */ phy_write_paged(phydev, RTL821X_PAGE_GPHY, RTL821XEXT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_COPPER); - val = phy_read(phydev, 0); - an_enabled = val & BIT(12); + val = phy_read(phydev, MII_BMCR); + an_enabled = val & BMCR_ANENABLE; /* Enable 100M (bit 1) / 1000M (bit 2) EEE */ val = phy_read_mmd(phydev, 7, 60); @@ -1075,9 +1073,9 @@ void rtl8218d_eee_set(struct phy_device *phydev, bool enable) /* Restart AN if enabled */ if (an_enabled) { - val = phy_read(phydev, 0); - val |= BIT(9); - phy_write(phydev, 0, val); + val = phy_read(phydev, MII_BMCR); + val |= BMCR_ANRESTART; + phy_write(phydev, MII_BMCR, val); } /* GPHY page back to auto */ @@ -1155,8 +1153,8 @@ static int rtl8214fc_set_eee(struct phy_device *phydev, phy_write_paged(phydev, RTL821X_PAGE_GPHY, RTL821XINT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_COPPER); /* Get auto-negotiation status */ - val = phy_read(phydev, 0); - an_enabled = val & BIT(12); + val = phy_read(phydev, MII_BMCR); + an_enabled = val & BMCR_ANENABLE; pr_info("%s: aneg: %d\n", __func__, an_enabled); val = phy_read_paged(phydev, RTL821X_PAGE_MAC, 25); @@ -1178,9 +1176,9 @@ static int rtl8214fc_set_eee(struct phy_device *phydev, /* Restart AN if enabled */ if (an_enabled) { pr_info("%s: doing aneg\n", __func__); - val = phy_read(phydev, 0); - val |= BIT(9); - phy_write(phydev, 0, val); + val = phy_read(phydev, MII_BMCR); + val |= BMCR_ANRESTART; + phy_write(phydev, MII_BMCR, val); } /* GPHY page back to auto */ @@ -1218,8 +1216,8 @@ static int rtl8218b_set_eee(struct phy_device *phydev, struct ethtool_eee *e) /* Set GPHY page to copper */ phy_write(phydev, RTL821XEXT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_COPPER); - val = phy_read(phydev, 0); - an_enabled = val & BIT(12); + val = phy_read(phydev, MII_BMCR); + an_enabled = val & BMCR_ANENABLE; if (e->eee_enabled) { /* 100/1000M EEE Capability */ @@ -1245,9 +1243,9 @@ static int rtl8218b_set_eee(struct phy_device *phydev, struct ethtool_eee *e) /* Restart AN if enabled */ if (an_enabled) { - val = phy_read(phydev, 0); - val |= BIT(9); - phy_write(phydev, 0, val); + val = phy_read(phydev, MII_BMCR); + val |= BMCR_ANRESTART; + phy_write(phydev, MII_BMCR, val); } /* GPHY page back to auto */ @@ -1342,7 +1340,7 @@ static int rtl8380_configure_rtl8214fc(struct phy_device *phydev) val = phy_read_paged(phydev, RTL83XX_PAGE_RAW, 28); val = phy_read(phydev, 16); - if (val & (1 << 11)) + if (val & BMCR_PDOWN) rtl8380_rtl8214fc_on_off(phydev, true); else rtl8380_phy_reset(phydev); @@ -2750,17 +2748,17 @@ void rtl9300_phy_enable_10g_1g(int sds_num) u32 v; /* Enable 1GBit PHY */ - v = rtl930x_read_sds_phy(sds_num, PHY_PAGE_2, PHY_CTRL_REG); + v = rtl930x_read_sds_phy(sds_num, PHY_PAGE_2, MII_BMCR); pr_info("%s 1gbit phy: %08x\n", __func__, v); - v &= ~BIT(PHY_POWER_BIT); - rtl930x_write_sds_phy(sds_num, PHY_PAGE_2, PHY_CTRL_REG, v); + v &= ~BMCR_PDOWN; + rtl930x_write_sds_phy(sds_num, PHY_PAGE_2, MII_BMCR, v); pr_info("%s 1gbit phy enabled: %08x\n", __func__, v); /* Enable 10GBit PHY */ - v = rtl930x_read_sds_phy(sds_num, PHY_PAGE_4, PHY_CTRL_REG); + v = rtl930x_read_sds_phy(sds_num, PHY_PAGE_4, MII_BMCR); pr_info("%s 10gbit phy: %08x\n", __func__, v); - v &= ~BIT(PHY_POWER_BIT); - rtl930x_write_sds_phy(sds_num, PHY_PAGE_4, PHY_CTRL_REG, v); + v &= ~BMCR_PDOWN; + rtl930x_write_sds_phy(sds_num, PHY_PAGE_4, MII_BMCR, v); pr_info("%s 10gbit phy after: %08x\n", __func__, v); /* dal_longan_construct_mac_default_10gmedia_fiber */ From 171e67e2f792dd0b3c757b2fd5c804244584cf0c Mon Sep 17 00:00:00 2001 From: Pascal Ernster Date: Sun, 4 Jun 2023 21:44:39 +0200 Subject: [PATCH 2/6] realtek: Use ADVERTISE_* and MII_PHYSID* from Replace BIT(x) and numerical values in drivers/net/phy/rtl83xx-phy.c with constants from to improve code readability. To make reviewing easier, this commit only addresses ADVERTISE_* and MII_PHYSID* constants. Signed-off-by: Pascal Ernster --- .../files-5.15/drivers/net/phy/rtl83xx-phy.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c b/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c index 8e3fd3e3fe..33c929e41a 100644 --- a/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c +++ b/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c @@ -221,9 +221,9 @@ int rtl839x_read_sds_phy(int phy_addr, int phy_reg) * which would otherwise read as 0. */ if (soc_info.id == 0x8393) { - if (phy_reg == 2) + if (phy_reg == MII_PHYSID1) return 0x1c; - if (phy_reg == 3) + if (phy_reg == MII_PHYSID2) return 0x8393; } @@ -495,10 +495,10 @@ static int rtl8226_advertise_aneg(struct phy_device *phydev) if (v < 0) goto out; - v |= BIT(5); /* HD 10M */ - v |= BIT(6); /* FD 10M */ - v |= BIT(7); /* HD 100M */ - v |= BIT(8); /* FD 100M */ + v |= ADVERTISE_10HALF; + v |= ADVERTISE_10FULL; + v |= ADVERTISE_100HALF; + v |= ADVERTISE_100FULL; ret = phy_write_mmd(phydev, MMD_AN, 16, v); @@ -506,7 +506,7 @@ static int rtl8226_advertise_aneg(struct phy_device *phydev) v = phy_read_mmd(phydev, MMD_VEND2, 0xA412); if (v < 0) goto out; - v |= BIT(9); /* FD 1000M */ + v |= ADVERTISE_1000FULL; ret = phy_write_mmd(phydev, MMD_VEND2, 0xA412, v); if (ret < 0) From 87a2f03b86588d7a71af789225ebce284c6cb25d Mon Sep 17 00:00:00 2001 From: Pascal Ernster Date: Sun, 4 Jun 2023 22:16:20 +0200 Subject: [PATCH 3/6] realtek: Use MDIO_* constants from To improve code readability in drivers/net/phy/rtl83xx-phy.c, replace constants MMD_AN and MMD_VEND2 from drivers/net/phy/rtl83xx-phy.h with MDIO_MMD_AN and MDIO_MMD_VEND2 from . Also, replace BIT(0) with MDIO_EEE_2_5GT, BIT(1) with MDIO_EEE_100TX, BIT(2) with MDIO_EEE_1000T, BIT(9) with MDIO_AN_CTRL1_RESTART, BIT(12) with MDIO_AN_CTRL1_ENABLE, 32 with MDIO_AN_10GBT_CTRL, 60 with MDIO_AN_EEE_ADV, and 62 with MDIO_AN_EEE_ADV2 from . Suggested-by: DENG Qingfang Signed-off-by: Pascal Ernster --- .../files-5.15/drivers/net/phy/rtl83xx-phy.c | 80 +++++++++---------- .../files-5.15/drivers/net/phy/rtl83xx-phy.h | 4 - 2 files changed, 40 insertions(+), 44 deletions(-) diff --git a/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c b/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c index 33c929e41a..c69a5af4bd 100644 --- a/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c +++ b/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "rtl83xx-phy.h" @@ -443,20 +444,20 @@ static int rtl8226_read_status(struct phy_device *phydev) /* Link status must be read twice */ for (int i = 0; i < 2; i++) - val = phy_read_mmd(phydev, MMD_VEND2, 0xA402); + val = phy_read_mmd(phydev, MDIO_MMD_VEND2, 0xA402); phydev->link = val & BIT(2) ? 1 : 0; if (!phydev->link) goto out; /* Read duplex status */ - val = phy_read_mmd(phydev, MMD_VEND2, 0xA434); + val = phy_read_mmd(phydev, MDIO_MMD_VEND2, 0xA434); if (val < 0) goto out; phydev->duplex = !!(val & BIT(3)); /* Read speed */ - val = phy_read_mmd(phydev, MMD_VEND2, 0xA434); + val = phy_read_mmd(phydev, MDIO_MMD_VEND2, 0xA434); switch (val & 0x0630) { case 0x0000: phydev->speed = SPEED_10; @@ -491,7 +492,7 @@ static int rtl8226_advertise_aneg(struct phy_device *phydev) pr_info("In %s\n", __func__); - v = phy_read_mmd(phydev, MMD_AN, 16); + v = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_ADVERTISE); if (v < 0) goto out; @@ -500,25 +501,25 @@ static int rtl8226_advertise_aneg(struct phy_device *phydev) v |= ADVERTISE_100HALF; v |= ADVERTISE_100FULL; - ret = phy_write_mmd(phydev, MMD_AN, 16, v); + ret = phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_ADVERTISE, v); /* Allow 1GBit */ - v = phy_read_mmd(phydev, MMD_VEND2, 0xA412); + v = phy_read_mmd(phydev, MDIO_MMD_VEND2, 0xA412); if (v < 0) goto out; v |= ADVERTISE_1000FULL; - ret = phy_write_mmd(phydev, MMD_VEND2, 0xA412, v); + ret = phy_write_mmd(phydev, MDIO_MMD_VEND2, 0xA412, v); if (ret < 0) goto out; /* Allow 2.5G */ - v = phy_read_mmd(phydev, MMD_AN, 32); + v = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_10GBT_CTRL); if (v < 0) goto out; - v |= BIT(7); - ret = phy_write_mmd(phydev, MMD_AN, 32, v); + v |= MDIO_AN_10GBT_CTRL_ADV2_5G; + ret = phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_10GBT_CTRL, v); out: return ret; @@ -535,22 +536,22 @@ static int rtl8226_config_aneg(struct phy_device *phydev) if (ret) goto out; /* AutoNegotiationEnable */ - v = phy_read_mmd(phydev, MMD_AN, 0); + v = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_CTRL1); if (v < 0) goto out; - v |= BIT(12); /* Enable AN */ - ret = phy_write_mmd(phydev, MMD_AN, 0, v); + v |= MDIO_AN_CTRL1_ENABLE; /* Enable AN */ + ret = phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_CTRL1, v); if (ret < 0) goto out; /* RestartAutoNegotiation */ - v = phy_read_mmd(phydev, MMD_VEND2, 0xA400); + v = phy_read_mmd(phydev, MDIO_MMD_VEND2, 0xA400); if (v < 0) goto out; - v |= BIT(9); + v |= MDIO_AN_CTRL1_RESTART; - ret = phy_write_mmd(phydev, MMD_VEND2, 0xA400, v); + ret = phy_write_mmd(phydev, MDIO_MMD_VEND2, 0xA400, v); } /* TODO: ret = __genphy_config_aneg(phydev, ret); */ @@ -567,12 +568,12 @@ static int rtl8226_get_eee(struct phy_device *phydev, pr_debug("In %s, port %d, was enabled: %d\n", __func__, addr, e->eee_enabled); - val = phy_read_mmd(phydev, MMD_AN, 60); + val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV); if (e->eee_enabled) { - e->eee_enabled = !!(val & BIT(1)); + e->eee_enabled = !!(val & MDIO_EEE_100TX); if (!e->eee_enabled) { - val = phy_read_mmd(phydev, MMD_AN, 62); - e->eee_enabled = !!(val & BIT(0)); + val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV2); + e->eee_enabled = !!(val & MDIO_EEE_2_5GT); } } pr_debug("%s: enabled: %d\n", __func__, e->eee_enabled); @@ -592,29 +593,29 @@ static int rtl8226_set_eee(struct phy_device *phydev, struct ethtool_eee *e) poll_state = disable_polling(port); /* Remember aneg state */ - val = phy_read_mmd(phydev, MMD_AN, 0); - an_enabled = !!(val & BIT(12)); + val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_CTRL1); + an_enabled = !!(val & MDIO_AN_CTRL1_ENABLE); /* Setup 100/1000MBit */ - val = phy_read_mmd(phydev, MMD_AN, 60); + val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV); if (e->eee_enabled) - val |= 0x6; + val |= (MDIO_EEE_100TX | MDIO_EEE_1000T); else - val &= 0x6; - phy_write_mmd(phydev, MMD_AN, 60, val); + val &= (MDIO_EEE_100TX | MDIO_EEE_1000T); + phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, val); /* Setup 2.5GBit */ - val = phy_read_mmd(phydev, MMD_AN, 62); + val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV2); if (e->eee_enabled) - val |= 0x1; + val |= MDIO_EEE_2_5GT; else - val &= 0x1; - phy_write_mmd(phydev, MMD_AN, 62, val); + val &= MDIO_EEE_2_5GT; + phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV2, val); /* RestartAutoNegotiation */ - val = phy_read_mmd(phydev, MMD_VEND2, 0xA400); - val |= BIT(9); - phy_write_mmd(phydev, MMD_VEND2, 0xA400, val); + val = phy_read_mmd(phydev, MDIO_MMD_VEND2, 0xA400); + val |= MDIO_AN_CTRL1_RESTART; + phy_write_mmd(phydev, MDIO_MMD_VEND2, 0xA400, val); resume_polling(poll_state); @@ -1058,10 +1059,9 @@ void rtl8218d_eee_set(struct phy_device *phydev, bool enable) val = phy_read(phydev, MII_BMCR); an_enabled = val & BMCR_ANENABLE; - /* Enable 100M (bit 1) / 1000M (bit 2) EEE */ - val = phy_read_mmd(phydev, 7, 60); - val |= BIT(2) | BIT(1); - phy_write_mmd(phydev, 7, 60, enable ? 0x6 : 0); + val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV); + val |= MDIO_EEE_1000T | MDIO_EEE_100TX; + phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, enable ? (MDIO_EEE_100TX | MDIO_EEE_1000T) : 0); /* 500M EEE ability */ val = phy_read_paged(phydev, RTL821X_PAGE_GPHY, 20); @@ -1093,7 +1093,7 @@ static int rtl8218b_get_eee(struct phy_device *phydev, /* Set GPHY page to copper */ phy_write_paged(phydev, RTL821X_PAGE_GPHY, RTL821XINT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_COPPER); - val = phy_read_paged(phydev, 7, 60); + val = phy_read_paged(phydev, 7, MDIO_AN_EEE_ADV); if (e->eee_enabled) { /* Verify vs MAC-based EEE */ e->eee_enabled = !!(val & BIT(7)); @@ -1121,7 +1121,7 @@ static int rtl8218d_get_eee(struct phy_device *phydev, /* Set GPHY page to copper */ phy_write_paged(phydev, RTL821X_PAGE_GPHY, RTL821XEXT_MEDIA_PAGE_SELECT, RTL821X_MEDIA_PAGE_COPPER); - val = phy_read_paged(phydev, 7, 60); + val = phy_read_paged(phydev, 7, MDIO_AN_EEE_ADV); if (e->eee_enabled) e->eee_enabled = !!(val & BIT(7)); pr_debug("%s: enabled: %d\n", __func__, e->eee_enabled); @@ -1162,7 +1162,7 @@ static int rtl8214fc_set_eee(struct phy_device *phydev, phy_write_paged(phydev, RTL821X_PAGE_MAC, 25, val); /* Enable 100M (bit 1) / 1000M (bit 2) EEE */ - phy_write_paged(phydev, 7, 60, e->eee_enabled ? 0x6 : 0); + phy_write_paged(phydev, 7, MDIO_AN_EEE_ADV, e->eee_enabled ? (MDIO_EEE_100TX | MDIO_EEE_1000T) : 0); /* 500M EEE ability */ val = phy_read_paged(phydev, RTL821X_PAGE_GPHY, 20); diff --git a/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.h b/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.h index 3b91231829..fb79560e6b 100644 --- a/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.h +++ b/target/linux/realtek/files-5.15/drivers/net/phy/rtl83xx-phy.h @@ -35,10 +35,6 @@ struct __attribute__ ((__packed__)) fw_header { #define PHY_ID_RTL8393_I 0x001c8393 #define PHY_ID_RTL9300_I 0x70d03106 -/* PHY MMD devices */ -#define MMD_AN 7 -#define MMD_VEND2 31 - /* Registers of the internal Serdes of the 8380 */ #define RTL838X_SDS_MODE_SEL (0x0028) #define RTL838X_SDS_CFG_REG (0x0034) From 86ebaef5d427c5732847168f6ceeda12bf528414 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 1 Jul 2023 22:09:07 +0200 Subject: [PATCH 4/6] mt76: update to the latest version c50be0b54cdd wifi: mt76: mt7915: fix capabilities in non-AP mode d7d7479b00e9 wifi: mt7915: fix beaconing in mesh mode 1377f586c6f5 wifi: mt7915: move capability check to start_ap Signed-off-by: Felix Fietkau --- package/kernel/mt76/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index 7ada236c67..297c3d19b4 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/openwrt/mt76 PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2023-06-27 -PKG_SOURCE_VERSION:=f36b921692b940bc74b155575e9a17930b42140d -PKG_MIRROR_HASH:=c26dea3a58ba03d539c8e6cc2d3c99ce0cb5bb3b1aac76cab7fea689b6a86e4c +PKG_SOURCE_DATE:=2023-06-30 +PKG_SOURCE_VERSION:=1377f586c6f520a6d032053a2e9c0ebc8b277e9b +PKG_MIRROR_HASH:=785e7588139d3d56e4b142d63c5fc8b83e38bcc9c45edc7d96a0927a9a8c472d PKG_MAINTAINER:=Felix Fietkau PKG_USE_NINJA:=0 From 92eec257dd562547bc08ee76c1901eb22b66937c Mon Sep 17 00:00:00 2001 From: David Bauer Date: Fri, 30 Jun 2023 19:30:09 +0200 Subject: [PATCH 5/6] mediatek: define NMBM management region for WAX220 The NETGEAR WAX220 employs NMBM on SPI-NAND. In order to avoid dealing with invalid factory data, enable NMBM in the area preceding the UBI volume. Signed-off-by: David Bauer --- target/linux/mediatek/dts/mt7986b-netgear-wax220.dts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/linux/mediatek/dts/mt7986b-netgear-wax220.dts b/target/linux/mediatek/dts/mt7986b-netgear-wax220.dts index f7da6e3630..ac2a4b0824 100644 --- a/target/linux/mediatek/dts/mt7986b-netgear-wax220.dts +++ b/target/linux/mediatek/dts/mt7986b-netgear-wax220.dts @@ -186,6 +186,11 @@ spi-tx-buswidth = <4>; spi-rx-buswidth = <4>; + mediatek,nmbm; + mediatek,bmt-max-ratio = <1>; + mediatek,bmt-max-reserved-blocks = <256>; + mediatek,bmt-remap-range = <0x0 0x580000>; + partitions: partitions { #address-cells = <0x1>; #size-cells = <0x1>; From f2f33f77c40e44d37ac0b7cf507fcf965f760196 Mon Sep 17 00:00:00 2001 From: Wenli Looi Date: Sat, 1 Jul 2023 23:01:50 +0000 Subject: [PATCH 6/6] ath79: fix broken 02_network script Script was broken by an extraneous space. Signed-off-by: Wenli Looi --- target/linux/ath79/generic/base-files/etc/board.d/02_network | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 911517cf37..1b12a21d0d 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -749,7 +749,7 @@ ath79_setup_macs() wan_mac=$(mtd_get_mac_text board_data 0x480) label_mac=$wan_mac ;; - comfast,cf-e380ac-v2|\ + comfast,cf-e380ac-v2|\ netgear,wndr3700|\ netgear,wndr3700-v2|\ netgear,wndr3800|\