Other Parts Discussed in Thread: DP83869, SYSCONFIG
Hi,
I have a couple of questions regarding setting up ethernet on PRU_ICSSG.
I would like to setup the network topology in single port mode using a single dp83869 PHY in fiber mode:
Single Port Mode
In this mode only one of the PRU-ICSS Ethernet ports are used. This is the simplest mode and works as you would expect it to.
The documentation also states:
Limitations
Both MIIx ports have to be enabled in DT even if one of them is not used (no Ethernet PHY wired) for proper PRU_ICSSG Ethernet driver work. Use fixed-link for unused port as workaround
QUESTIONS:
1) How do I setup the device tree to accomplish this? The limitation states that the workaround for using a single MII port is to used fixed link. Does that mean I would use something like the following modification to the DT?
From 1ec7fbf339bbd7d8d99d5769a116cd985b6fcd5f Mon Sep 17 00:00:00 2001
From: jweyer <jweyer@aecontrols.com>
Date: Wed, 14 Jan 2026 16:17:29 -0800
Subject: [PATCH] single port patch
---
.../boot/dts/ti/k3-am642-phyboard-electra-rdk.dts | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
index 97ca16f00cd2..e9fb7cbee5b8 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
@@ -281,10 +281,14 @@ icssg1_emac0: port@0 {
local-mac-address = [00 00 00 00 00 00];
};
icssg1_emac1: port@1 {
- reg = <1>;
- /* Filled in by bootloader */
+ phy-mode = "rgmii-rxid";
+ syscon-rgmii-delay = <&scm_conf 0x4124>;
local-mac-address = [00 00 00 00 00 00];
- status = "disabled";
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
};
};
};
--
2.25.1
2) How do I set the PHY type to dp83869? Do I just need to modify the the icssg0_mdio node to let it know what PHY hardware it will be interfacing with? It seems like I would need to do more than this; however, I can't find any examples that do.
From befa78bc09093e58266136b7f111edce0af608e3 Mon Sep 17 00:00:00 2001
From: jweyer <jweyer@aecontrols.com>
Date: Wed, 14 Jan 2026 16:48:24 -0800
Subject: [PATCH] phy type
---
arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
index e9fb7cbee5b8..866aabc6ee3c 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
@@ -832,6 +832,7 @@ icssg1_phy1: ethernet-phy@f {
reg = <0xf>;
tx-internal-delay-ps = <250>;
rx-internal-delay-ps = <2000>;
+ ti,fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>;
};
};
--
2.25.1
3) It is my understanding that the ti-prueth driver configures the pinmux for MII and that remoteproc uploads the ethernet firmware. I am assuming that sysconfig is used to build the ethernet firmware that is loaded onto the PRUs. If this is the case how does the pinmuxing defined in sysconfig not conflict/overwrite the pinmux setup by ti-prueth?
4) How do I change the DT to configure for fiber mode?
Thanks for your help,
Jared Weyer