mirror of
https://github.com/Heleguo/lede.git
synced 2025-12-16 19:01:32 +00:00
qualcommbe: v6.12: drop upstreamed patch
0102-arm64-dts-qcom-ipq9574-Fix-USB-vdd-info.patch was merged in 6.12.34 After update to v6.12 some PCS driver fixes were dropped and additional are needed due to updated driver. Other patches automatically refreshed. Signed-off-by: Mantas Pucka <mantas@8devices.com> Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
b8e5d38d34
commit
0730f03572
@ -39,7 +39,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
@@ -164,6 +164,21 @@
|
||||
@@ -171,6 +171,21 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
|
||||
--- 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>;
|
||||
};
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
*
|
||||
--- 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 <kuba@kernel.org>
|
||||
* 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 <kuba@kernel.org>
|
||||
* @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);
|
||||
|
||||
@ -1,55 +0,0 @@
|
||||
From 3857f7cf650fa4ae0047b9b6fea6f7cd242de29c Mon Sep 17 00:00:00 2001
|
||||
From: Varadarajan Narayanan <quic_varada@quicinc.com>
|
||||
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 <quic_varada@quicinc.com>
|
||||
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
|
||||
Link: https://lore.kernel.org/r/20250207073545.1768990-2-quic_varada@quicinc.com
|
||||
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
||||
---
|
||||
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";
|
||||
@ -11,8 +11,8 @@ Signed-off-by: Lei Wei <quic_leiwei@quicinc.com>
|
||||
Alex G: Use regmap to read/write registers
|
||||
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
|
||||
---
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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;
|
||||
|
||||
@ -14,8 +14,8 @@ Signed-off-by: Lei Wei <quic_leiwei@quicinc.com>
|
||||
Alex G: use regmap to read/write registers
|
||||
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
|
||||
---
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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;
|
||||
|
||||
@ -10,8 +10,8 @@ Change-Id: Ied7298de3c1ecba74e6457a07fdd6b3ceab79728
|
||||
Signed-off-by: Lei Wei <quic_leiwei@quicinc.com>
|
||||
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
|
||||
---
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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:
|
||||
|
||||
@ -226,7 +226,7 @@ Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
|
||||
}
|
||||
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
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 <mr.nuke.me@gmail.com>
|
||||
+ ret = ipq_pcs_link_up_config_usxgmii(qpcs, index, speed);
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_10GBASER:
|
||||
break;
|
||||
/* Nothing to do here */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user