diff --git a/target/linux/qualcommbe/patches-6.12/0008-v6.14-arm64-dts-qcom-ipq9574-Add-CMN-PLL-node.patch b/target/linux/qualcommbe/patches-6.12/0008-v6.14-arm64-dts-qcom-ipq9574-Add-CMN-PLL-node.patch index deaa7ca89..b29bbda23 100644 --- a/target/linux/qualcommbe/patches-6.12/0008-v6.14-arm64-dts-qcom-ipq9574-Add-CMN-PLL-node.patch +++ b/target/linux/qualcommbe/patches-6.12/0008-v6.14-arm64-dts-qcom-ipq9574-Add-CMN-PLL-node.patch @@ -39,7 +39,7 @@ Signed-off-by: Bjorn Andersson */ /dts-v1/; -@@ -164,6 +164,21 @@ +@@ -171,6 +171,21 @@ status = "okay"; }; diff --git a/target/linux/qualcommbe/patches-6.12/0009-v6.14-arm64-dts-qcom-ipq9574-Update-xo_board_clk-to-.patch b/target/linux/qualcommbe/patches-6.12/0009-v6.14-arm64-dts-qcom-ipq9574-Update-xo_board_clk-to-.patch index e27d7791a..0268c5c28 100644 --- a/target/linux/qualcommbe/patches-6.12/0009-v6.14-arm64-dts-qcom-ipq9574-Update-xo_board_clk-to-.patch +++ b/target/linux/qualcommbe/patches-6.12/0009-v6.14-arm64-dts-qcom-ipq9574-Update-xo_board_clk-to-.patch @@ -19,7 +19,7 @@ Signed-off-by: Bjorn Andersson --- a/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi -@@ -175,8 +175,13 @@ +@@ -182,8 +182,13 @@ clock-mult = <1>; }; diff --git a/target/linux/qualcommbe/patches-6.12/0010-v6.14-net-phy-add-phy_inband_caps.patch b/target/linux/qualcommbe/patches-6.12/0010-v6.14-net-phy-add-phy_inband_caps.patch index 0cd368017..112ea21d9 100644 --- a/target/linux/qualcommbe/patches-6.12/0010-v6.14-net-phy-add-phy_inband_caps.patch +++ b/target/linux/qualcommbe/patches-6.12/0010-v6.14-net-phy-add-phy_inband_caps.patch @@ -67,7 +67,7 @@ Signed-off-by: Jakub Kicinski * --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -819,6 +819,24 @@ struct phy_tdr_config { +@@ -816,6 +816,24 @@ struct phy_tdr_config { #define PHY_PAIR_ALL -1 /** @@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski * struct phy_plca_cfg - Configuration of the PLCA (Physical Layer Collision * Avoidance) Reconciliation Sublayer. * -@@ -958,6 +976,14 @@ struct phy_driver { +@@ -955,6 +973,14 @@ struct phy_driver { int (*get_features)(struct phy_device *phydev); /** @@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski * @get_rate_matching: Get the supported type of rate matching for a * particular phy interface. This is used by phy consumers to determine * whether to advertise lower-speed modes for that interface. It is -@@ -1842,6 +1868,8 @@ int phy_config_aneg(struct phy_device *p +@@ -1839,6 +1865,8 @@ int phy_config_aneg(struct phy_device *p int _phy_start_aneg(struct phy_device *phydev); int phy_start_aneg(struct phy_device *phydev); int phy_aneg_done(struct phy_device *phydev); diff --git a/target/linux/qualcommbe/patches-6.12/0102-arm64-dts-qcom-ipq9574-Fix-USB-vdd-info.patch b/target/linux/qualcommbe/patches-6.12/0102-arm64-dts-qcom-ipq9574-Fix-USB-vdd-info.patch deleted file mode 100644 index dbf75c26d..000000000 --- a/target/linux/qualcommbe/patches-6.12/0102-arm64-dts-qcom-ipq9574-Fix-USB-vdd-info.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 3857f7cf650fa4ae0047b9b6fea6f7cd242de29c Mon Sep 17 00:00:00 2001 -From: Varadarajan Narayanan -Date: Fri, 7 Feb 2025 13:05:45 +0530 -Subject: [PATCH] arm64: dts: qcom: ipq9574: Fix USB vdd info - -USB phys in ipq9574 use the 'L5' regulator. The commit ec4f047679d5 -("arm64: dts: qcom: ipq9574: Enable USB") incorrectly specified it as -'L2'. Because of this when the phy module turns off/on its regulators, -the wrong regulator is turned off/on resulting in 2 issues, namely the -correct regulator related to the USB phy is not turned off/on and the -module powered by the incorrect regulator is affected. - -Fixes: ec4f047679d5 ("arm64: dts: qcom: ipq9574: Enable USB") -Signed-off-by: Varadarajan Narayanan -Reviewed-by: Konrad Dybcio -Link: https://lore.kernel.org/r/20250207073545.1768990-2-quic_varada@quicinc.com -Signed-off-by: Bjorn Andersson ---- - arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - ---- a/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi -+++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi -@@ -111,6 +111,13 @@ - regulator-always-on; - regulator-boot-on; - }; -+ -+ mp5496_l5: l5 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; - }; - }; - -@@ -146,7 +153,7 @@ - }; - - &usb_0_qmpphy { -- vdda-pll-supply = <&mp5496_l2>; -+ vdda-pll-supply = <&mp5496_l5>; - vdda-phy-supply = <®ulator_fixed_0p925>; - - status = "okay"; -@@ -154,7 +161,7 @@ - - &usb_0_qusbphy { - vdd-supply = <®ulator_fixed_0p925>; -- vdda-pll-supply = <&mp5496_l2>; -+ vdda-pll-supply = <&mp5496_l5>; - vdda-phy-dpdm-supply = <®ulator_fixed_3p3>; - - status = "okay"; diff --git a/target/linux/qualcommbe/patches-6.12/0361-net-pcs-Add-10GBASER-interface-mode-support-to-IPQ-U.patch b/target/linux/qualcommbe/patches-6.12/0361-net-pcs-Add-10GBASER-interface-mode-support-to-IPQ-U.patch index 529f9f700..157f5b62c 100644 --- a/target/linux/qualcommbe/patches-6.12/0361-net-pcs-Add-10GBASER-interface-mode-support-to-IPQ-U.patch +++ b/target/linux/qualcommbe/patches-6.12/0361-net-pcs-Add-10GBASER-interface-mode-support-to-IPQ-U.patch @@ -11,8 +11,8 @@ Signed-off-by: Lei Wei Alex G: Use regmap to read/write registers Signed-off-by: Alexandru Gagniuc --- - drivers/net/pcs/pcs-qcom-ipq9574.c | 53 ++++++++++++++++++++++++++++++ - 1 file changed, 53 insertions(+) + drivers/net/pcs/pcs-qcom-ipq9574.c | 57 ++++++++++++++++++++++++++++++ + 1 file changed, 57 insertions(+) --- a/drivers/net/pcs/pcs-qcom-ipq9574.c +++ b/drivers/net/pcs/pcs-qcom-ipq9574.c @@ -97,7 +97,23 @@ Signed-off-by: Alexandru Gagniuc rate = ipq_unipcs_clock_rate_get_xgmii(speed); break; default: -@@ -602,6 +648,9 @@ static void ipq_pcs_get_state(struct phy +@@ -528,6 +574,7 @@ static int ipq_pcs_validate(struct phyli + switch (state->interface) { + case PHY_INTERFACE_MODE_SGMII: + case PHY_INTERFACE_MODE_QSGMII: ++ case PHY_INTERFACE_MODE_10GBASER: + return 0; + case PHY_INTERFACE_MODE_USXGMII: + /* USXGMII only supports full duplex mode */ +@@ -546,6 +593,7 @@ static unsigned int ipq_pcs_inband_caps( + case PHY_INTERFACE_MODE_SGMII: + case PHY_INTERFACE_MODE_QSGMII: + case PHY_INTERFACE_MODE_USXGMII: ++ case PHY_INTERFACE_MODE_10GBASER: + return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE; + default: + return 0; +@@ -602,6 +650,9 @@ static void ipq_pcs_get_state(struct phy case PHY_INTERFACE_MODE_USXGMII: ipq_pcs_get_state_usxgmii(qpcs, state); break; @@ -107,7 +123,7 @@ Signed-off-by: Alexandru Gagniuc default: break; } -@@ -631,6 +680,8 @@ static int ipq_pcs_config(struct phylink +@@ -631,6 +682,8 @@ static int ipq_pcs_config(struct phylink return ipq_pcs_config_sgmii(qpcs, index, neg_mode, interface); case PHY_INTERFACE_MODE_USXGMII: return ipq_pcs_config_usxgmii(qpcs); @@ -116,12 +132,21 @@ Signed-off-by: Alexandru Gagniuc default: dev_err(qpcs->dev, "interface %s not supported\n", phy_modes(interface)); -@@ -662,6 +713,8 @@ static void ipq_pcs_link_up(struct phyli +@@ -662,6 +715,9 @@ static void ipq_pcs_link_up(struct phyli case PHY_INTERFACE_MODE_USXGMII: ret = ipq_pcs_link_up_config_usxgmii(qpcs, speed); break; + case PHY_INTERFACE_MODE_10GBASER: ++ /* Nothing to do here */ + break; default: dev_err(qpcs->dev, "interface %s not supported\n", phy_modes(interface)); +@@ -730,6 +786,7 @@ static unsigned long ipq_pcs_clk_rate_ge + { + switch (qpcs->interface) { + case PHY_INTERFACE_MODE_USXGMII: ++ case PHY_INTERFACE_MODE_10GBASER: + return 312500000; + default: + return 125000000; diff --git a/target/linux/qualcommbe/patches-6.12/0362-net-pcs-Add-2500BASEX-interface-mode-support-to-IPQ-.patch b/target/linux/qualcommbe/patches-6.12/0362-net-pcs-Add-2500BASEX-interface-mode-support-to-IPQ-.patch index 3bf5f1f79..dff74f022 100644 --- a/target/linux/qualcommbe/patches-6.12/0362-net-pcs-Add-2500BASEX-interface-mode-support-to-IPQ-.patch +++ b/target/linux/qualcommbe/patches-6.12/0362-net-pcs-Add-2500BASEX-interface-mode-support-to-IPQ-.patch @@ -14,8 +14,8 @@ Signed-off-by: Lei Wei Alex G: use regmap to read/write registers Signed-off-by: Alexandru Gagniuc --- - drivers/net/pcs/pcs-qcom-ipq9574.c | 94 ++++++++++++++++++++++++++++++ - 1 file changed, 94 insertions(+) + drivers/net/pcs/pcs-qcom-ipq9574.c | 95 ++++++++++++++++++++++++++++++ + 1 file changed, 95 insertions(+) --- a/drivers/net/pcs/pcs-qcom-ipq9574.c +++ b/drivers/net/pcs/pcs-qcom-ipq9574.c @@ -150,9 +150,9 @@ Signed-off-by: Alexandru Gagniuc static int ipq_pcs_link_up_config_usxgmii(struct ipq_pcs *qpcs, int speed) { unsigned int val; -@@ -575,6 +657,10 @@ static int ipq_pcs_validate(struct phyli - case PHY_INTERFACE_MODE_SGMII: +@@ -576,6 +658,10 @@ static int ipq_pcs_validate(struct phyli case PHY_INTERFACE_MODE_QSGMII: + case PHY_INTERFACE_MODE_10GBASER: return 0; + case PHY_INTERFACE_MODE_2500BASEX: + /* In-band autoneg is not supported for 2500BASEX */ @@ -161,7 +161,7 @@ Signed-off-by: Alexandru Gagniuc case PHY_INTERFACE_MODE_USXGMII: /* USXGMII only supports full duplex mode */ phylink_clear(supported, 100baseT_Half); -@@ -645,6 +731,9 @@ static void ipq_pcs_get_state(struct phy +@@ -647,6 +733,9 @@ static void ipq_pcs_get_state(struct phy case PHY_INTERFACE_MODE_PSGMII: ipq_pcs_get_state_sgmii(qpcs, index, state); break; @@ -171,7 +171,7 @@ Signed-off-by: Alexandru Gagniuc case PHY_INTERFACE_MODE_USXGMII: ipq_pcs_get_state_usxgmii(qpcs, state); break; -@@ -678,6 +767,8 @@ static int ipq_pcs_config(struct phylink +@@ -680,6 +769,8 @@ static int ipq_pcs_config(struct phylink case PHY_INTERFACE_MODE_QSGMII: case PHY_INTERFACE_MODE_PSGMII: return ipq_pcs_config_sgmii(qpcs, index, neg_mode, interface); @@ -180,7 +180,7 @@ Signed-off-by: Alexandru Gagniuc case PHY_INTERFACE_MODE_USXGMII: return ipq_pcs_config_usxgmii(qpcs); case PHY_INTERFACE_MODE_10GBASER: -@@ -710,6 +801,9 @@ static void ipq_pcs_link_up(struct phyli +@@ -712,6 +803,9 @@ static void ipq_pcs_link_up(struct phyli ret = ipq_pcs_link_up_config_sgmii(qpcs, index, neg_mode, speed); break; @@ -190,3 +190,11 @@ Signed-off-by: Alexandru Gagniuc case PHY_INTERFACE_MODE_USXGMII: ret = ipq_pcs_link_up_config_usxgmii(qpcs, speed); break; +@@ -785,6 +879,7 @@ static int ipq_pcs_create_miis(struct ip + static unsigned long ipq_pcs_clk_rate_get(struct ipq_pcs *qpcs) + { + switch (qpcs->interface) { ++ case PHY_INTERFACE_MODE_2500BASEX: + case PHY_INTERFACE_MODE_USXGMII: + case PHY_INTERFACE_MODE_10GBASER: + return 312500000; diff --git a/target/linux/qualcommbe/patches-6.12/0363-net-pcs-Add-1000BASEX-interface-mode-support-to-IPQ-.patch b/target/linux/qualcommbe/patches-6.12/0363-net-pcs-Add-1000BASEX-interface-mode-support-to-IPQ-.patch index 9153cabe2..9c6bfabc4 100644 --- a/target/linux/qualcommbe/patches-6.12/0363-net-pcs-Add-1000BASEX-interface-mode-support-to-IPQ-.patch +++ b/target/linux/qualcommbe/patches-6.12/0363-net-pcs-Add-1000BASEX-interface-mode-support-to-IPQ-.patch @@ -10,8 +10,8 @@ Change-Id: Ied7298de3c1ecba74e6457a07fdd6b3ceab79728 Signed-off-by: Lei Wei Signed-off-by: Alexandru Gagniuc --- - drivers/net/pcs/pcs-qcom-ipq9574.c | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) + drivers/net/pcs/pcs-qcom-ipq9574.c | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) --- a/drivers/net/pcs/pcs-qcom-ipq9574.c +++ b/drivers/net/pcs/pcs-qcom-ipq9574.c @@ -62,7 +62,15 @@ Signed-off-by: Alexandru Gagniuc rate = ipq_unipcs_clock_rate_get_gmii(speed); break; case PHY_INTERFACE_MODE_2500BASEX: -@@ -729,6 +737,10 @@ static void ipq_pcs_get_state(struct phy +@@ -657,6 +665,7 @@ static int ipq_pcs_validate(struct phyli + case PHY_INTERFACE_MODE_SGMII: + case PHY_INTERFACE_MODE_QSGMII: + case PHY_INTERFACE_MODE_10GBASER: ++ case PHY_INTERFACE_MODE_1000BASEX: + return 0; + case PHY_INTERFACE_MODE_2500BASEX: + /* In-band autoneg is not supported for 2500BASEX */ +@@ -731,6 +740,10 @@ static void ipq_pcs_get_state(struct phy case PHY_INTERFACE_MODE_SGMII: case PHY_INTERFACE_MODE_QSGMII: case PHY_INTERFACE_MODE_PSGMII: @@ -73,7 +81,7 @@ Signed-off-by: Alexandru Gagniuc ipq_pcs_get_state_sgmii(qpcs, index, state); break; case PHY_INTERFACE_MODE_2500BASEX: -@@ -766,6 +778,7 @@ static int ipq_pcs_config(struct phylink +@@ -768,6 +781,7 @@ static int ipq_pcs_config(struct phylink case PHY_INTERFACE_MODE_SGMII: case PHY_INTERFACE_MODE_QSGMII: case PHY_INTERFACE_MODE_PSGMII: @@ -81,7 +89,7 @@ Signed-off-by: Alexandru Gagniuc return ipq_pcs_config_sgmii(qpcs, index, neg_mode, interface); case PHY_INTERFACE_MODE_2500BASEX: return ipq_unipcs_config_2500basex(qpcs, interface); -@@ -798,6 +811,7 @@ static void ipq_pcs_link_up(struct phyli +@@ -800,6 +814,7 @@ static void ipq_pcs_link_up(struct phyli case PHY_INTERFACE_MODE_SGMII: case PHY_INTERFACE_MODE_QSGMII: case PHY_INTERFACE_MODE_PSGMII: diff --git a/target/linux/qualcommbe/patches-6.12/0364-net-pcs-Add-10G_QXGMII-interface-mode-support-to-IPQ.patch b/target/linux/qualcommbe/patches-6.12/0364-net-pcs-Add-10G_QXGMII-interface-mode-support-to-IPQ.patch index 6e75cdfb0..03fa4dffe 100644 --- a/target/linux/qualcommbe/patches-6.12/0364-net-pcs-Add-10G_QXGMII-interface-mode-support-to-IPQ.patch +++ b/target/linux/qualcommbe/patches-6.12/0364-net-pcs-Add-10G_QXGMII-interface-mode-support-to-IPQ.patch @@ -226,7 +226,7 @@ Signed-off-by: Alexandru Gagniuc } static int ipq_pcs_validate(struct phylink_pcs *pcs, unsigned long *supported, -@@ -669,6 +734,7 @@ static int ipq_pcs_validate(struct phyli +@@ -671,6 +736,7 @@ static int ipq_pcs_validate(struct phyli /* In-band autoneg is not supported for 2500BASEX */ phylink_clear(supported, Autoneg); return 0; @@ -234,7 +234,7 @@ Signed-off-by: Alexandru Gagniuc case PHY_INTERFACE_MODE_USXGMII: /* USXGMII only supports full duplex mode */ phylink_clear(supported, 100baseT_Half); -@@ -747,7 +813,8 @@ static void ipq_pcs_get_state(struct phy +@@ -750,7 +816,8 @@ static void ipq_pcs_get_state(struct phy ipq_unipcs_get_state_2500basex(qpcs, index, state); break; case PHY_INTERFACE_MODE_USXGMII: @@ -244,7 +244,7 @@ Signed-off-by: Alexandru Gagniuc break; case PHY_INTERFACE_MODE_10GBASER: ipq_unipcs_get_state_10gbaser(qpcs, state); -@@ -783,7 +850,9 @@ static int ipq_pcs_config(struct phylink +@@ -786,7 +853,9 @@ static int ipq_pcs_config(struct phylink case PHY_INTERFACE_MODE_2500BASEX: return ipq_unipcs_config_2500basex(qpcs, interface); case PHY_INTERFACE_MODE_USXGMII: @@ -255,7 +255,7 @@ Signed-off-by: Alexandru Gagniuc case PHY_INTERFACE_MODE_10GBASER: return ipq_unipcs_config_10gbaser(qpcs, interface); default: -@@ -819,7 +888,8 @@ static void ipq_pcs_link_up(struct phyli +@@ -822,7 +891,8 @@ static void ipq_pcs_link_up(struct phyli ret = ipq_unipcs_link_up_config_2500basex(qpcs, index, speed); break; case PHY_INTERFACE_MODE_USXGMII: @@ -264,4 +264,4 @@ Signed-off-by: Alexandru Gagniuc + ret = ipq_pcs_link_up_config_usxgmii(qpcs, index, speed); break; case PHY_INTERFACE_MODE_10GBASER: - break; + /* Nothing to do here */