diff --git a/target/linux/generic/hack-6.6/767-net-phy-realtek-add-led-link-select-for-RTL8221.patch b/target/linux/generic/hack-6.6/767-net-phy-realtek-add-led-link-select-for-RTL8221.patch index 22ff113f1..9234b3a7e 100644 --- a/target/linux/generic/hack-6.6/767-net-phy-realtek-add-led-link-select-for-RTL8221.patch +++ b/target/linux/generic/hack-6.6/767-net-phy-realtek-add-led-link-select-for-RTL8221.patch @@ -18,7 +18,7 @@ Signed-off-by: Yangyu Chen --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c -@@ -67,6 +67,10 @@ +@@ -86,6 +86,10 @@ #define RTL8221B_PHYCR1_ALDPS_EN BIT(2) #define RTL8221B_PHYCR1_ALDPS_XTAL_OFF_EN BIT(12) @@ -29,11 +29,11 @@ Signed-off-by: Yangyu Chen #define RTL8366RB_POWER_SAVE 0x15 #define RTL8366RB_POWER_SAVE_ON BIT(12) -@@ -960,6 +964,28 @@ static irqreturn_t rtl9000a_handle_inter - return IRQ_HANDLED; +@@ -787,6 +791,28 @@ static int rtl822x_write_mmd(struct phy_ + return ret; } -+static int rtl8221b_config_led(struct phy_device *phydev) { ++static int rtl822xb_config_led(struct phy_device *phydev) { + struct device_node *node = phydev->mdio.dev.of_node; + u32 link_select[RTL8221B_NR_LEDS]; + int i, val; @@ -45,7 +45,7 @@ Signed-off-by: Yangyu Chen + return 0; + + for (i = 0; i < RTL8221B_NR_LEDS; i++) { -+ val = phy_write_mmd(phydev, RTL8221B_MMD_PHY_CTRL, ++ val = phy_write_mmd(phydev, MDIO_MMD_VEND2, + RTL8221B_LED_LINK_SELECT + i * RTL8221B_LED_LINK_SELECT_OFFSET, + link_select[i]); + if (val < 0) @@ -55,15 +55,15 @@ Signed-off-by: Yangyu Chen + return 0; +} + - static int rtl8221b_config_init(struct phy_device *phydev) + static int rtl822xb_config_init(struct phy_device *phydev) { - u16 option_mode; -@@ -1007,7 +1033,7 @@ static int rtl8221b_config_init(struct p - phy_read_mmd_poll_timeout(phydev, RTL8221B_MMD_SERDES_CTRL, 0x7587, - val, !(val & BIT(0)), 500, 100000, false); + bool has_2500, has_sgmii; +@@ -863,7 +889,7 @@ static int rtl822xb_config_init(struct p + if (ret < 0) + return ret; - return 0; -+ return rtl8221b_config_led(phydev); ++ return rtl822xb_config_led(phydev); } - static int rtl8221b_ack_interrupt(struct phy_device *phydev) + static int rtl822xb_get_rate_matching(struct phy_device *phydev, diff --git a/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch b/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch index 5b65a4131..e5ba0daf3 100644 --- a/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch +++ b/target/linux/generic/pending-6.6/901-usb-add-more-modem-support.patch @@ -1,9 +1,9 @@ --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1438,6 +1438,9 @@ static const struct usb_device_id produc - {QMI_QUIRK_SET_DTR(0x1546, 0x1312, 4)}, /* u-blox LARA-R6 01B */ +@@ -1439,6 +1439,9 @@ static const struct usb_device_id produc {QMI_QUIRK_SET_DTR(0x1546, 0x1342, 4)}, /* u-blox LARA-L6 */ {QMI_QUIRK_SET_DTR(0x33f8, 0x0104, 4)}, /* Rolling RW101 RMNET */ + {QMI_FIXED_INTF(0x2dee, 0x4d22, 5)}, /* MeiG Smart SRM825L */ + {QMI_FIXED_INTF(0x2077, 0x2002, 4)}, /* T&W TW04C */ + {QMI_FIXED_INTF(0x2077, 0x2003, 4)}, /* T&W TW12G */ + {QMI_FIXED_INTF(0x2077, 0x2004, 4)}, /* T&W TW510M */ @@ -12,7 +12,7 @@ {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */ --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -2322,9 +2322,13 @@ static const struct usb_device_id option +@@ -2324,9 +2324,13 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a06, 0xff) }, /* Fibocom FM650-CN (RNDIS mode) */ { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a07, 0xff) }, /* Fibocom FM650-CN (MBIM mode) */ { USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) }, /* LongSung M5710 */