This is an automatically generated commit which aids following Kernel patch history, as git will see the move and copy as a rename thus defeating the purpose. For the original discussion see: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de> Link: https://github.com/openwrt/openwrt/pull/24031 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
82 lines
2.3 KiB
Diff
82 lines
2.3 KiB
Diff
From f5f2b835e316df29b89e28ed7e467df473932e8d Mon Sep 17 00:00:00 2001
|
|
From: George Moussalem <george.moussalem@outlook.com>
|
|
Date: Mon, 30 Jun 2025 16:35:02 +0400
|
|
Subject: arm64: dts: qcom: ipq5018: Add GE PHY to internal mdio bus
|
|
|
|
The IPQ5018 SoC contains an internal GE PHY, always at phy address 7.
|
|
As such, let's add the GE PHY node to the SoC dtsi.
|
|
|
|
The LDO controller found in the SoC must be enabled to provide constant
|
|
low voltages to the PHY. The mdio-ipq4019 driver already has support
|
|
for this, so adding the appropriate TCSR register offset.
|
|
|
|
In addition, the GE PHY outputs both the RX and TX clocks to the GCC
|
|
which gate controls them and routes them back to the PHY itself.
|
|
So let's create two DT fixed clocks and register them in the GCC node.
|
|
|
|
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
|
|
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
|
Link: https://lore.kernel.org/r/20250630-ipq5018-ge-phy-v6-3-01be06378c15@outlook.com
|
|
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
|
|
---
|
|
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 26 +++++++++++++++++++++++---
|
|
1 file changed, 23 insertions(+), 3 deletions(-)
|
|
|
|
(limited to 'arch/arm64/boot/dts/qcom/ipq5018.dtsi')
|
|
|
|
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
|
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
|
|
@@ -17,6 +17,18 @@
|
|
#size-cells = <2>;
|
|
|
|
clocks {
|
|
+ gephy_rx_clk: gephy-rx-clk {
|
|
+ compatible = "fixed-clock";
|
|
+ clock-frequency = <125000000>;
|
|
+ #clock-cells = <0>;
|
|
+ };
|
|
+
|
|
+ gephy_tx_clk: gephy-tx-clk {
|
|
+ compatible = "fixed-clock";
|
|
+ clock-frequency = <125000000>;
|
|
+ #clock-cells = <0>;
|
|
+ };
|
|
+
|
|
sleep_clk: sleep-clk {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
@@ -187,7 +199,8 @@
|
|
|
|
mdio0: mdio@88000 {
|
|
compatible = "qcom,ipq5018-mdio";
|
|
- reg = <0x00088000 0x64>;
|
|
+ reg = <0x00088000 0x64>,
|
|
+ <0x019475c4 0x4>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
@@ -195,6 +208,13 @@
|
|
clock-names = "gcc_mdio_ahb_clk";
|
|
|
|
status = "disabled";
|
|
+
|
|
+ ge_phy: ethernet-phy@7 {
|
|
+ compatible = "ethernet-phy-id004d.d0c0";
|
|
+ reg = <7>;
|
|
+
|
|
+ resets = <&gcc GCC_GEPHY_MISC_ARES>;
|
|
+ };
|
|
};
|
|
|
|
mdio1: mdio@90000 {
|
|
@@ -346,8 +366,8 @@
|
|
<&pcie0_phy>,
|
|
<&pcie1_phy>,
|
|
<0>,
|
|
- <0>,
|
|
- <0>,
|
|
+ <&gephy_rx_clk>,
|
|
+ <&gephy_tx_clk>,
|
|
<0>,
|
|
<0>;
|
|
#clock-cells = <1>;
|