[PATCH 2/2] board: ti: am33xx: Add Ethernet support for Beaglebone Green Eco

Romain Gantois romain.gantois at bootlin.com
Thu Jun 26 18:20:25 CEST 2025


Currently, the Ethernet interface of the BBGE board isn't properly
supported.

To support this interface, describe the MAC<->PHY RGMII link and the
DP83867 PHY in the BBGE device tree. Enable the DP83867 PHY driver in
U-Boot Proper and mux the relevant RGMII lines.

Signed-off-by: Romain Gantois <romain.gantois at bootlin.com>
---
 arch/arm/dts/am335x-bonegreen-eco.dts | 19 +++++++++++++++++++
 board/ti/am335x/mux.c                 |  3 +++
 configs/am335x_evm_defconfig          |  1 +
 3 files changed, 23 insertions(+)

diff --git a/arch/arm/dts/am335x-bonegreen-eco.dts b/arch/arm/dts/am335x-bonegreen-eco.dts
index f3363d1ebccccead39b82ce40f1f80022b399201..1e9d7fed3fd46f35cd4f92783ffeb81bd878d055 100644
--- a/arch/arm/dts/am335x-bonegreen-eco.dts
+++ b/arch/arm/dts/am335x-bonegreen-eco.dts
@@ -7,6 +7,7 @@
 #include "am33xx.dtsi"
 #include "am335x-bone-common.dtsi"
 #include "am335x-bonegreen-common.dtsi"
+#include <dt-bindings/net/ti-dp83867.h>
 
 / {
 	model = "TI AM335x BeagleBone Green Eco";
@@ -25,6 +26,24 @@
 	interrupt-names = "mc";
 };
 
+&cpsw_emac0 {
+	phy-mode = "rgmii-id";
+	phy-handle = <&dp83867_0>;
+};
+
+&davinci_mdio {
+	/delete-node/ ethernet-phy at 0;
+
+	dp83867_0: ethernet-phy at 0 {
+		reg = <0>;
+		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
+		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
+		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
+		ti,min-output-impedance;
+		ti,dp83867-rxctrl-strap-quirk;
+	};
+};
+
 &baseboard_eeprom {
 	/delete-property/ vcc-supply;
 };
diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c
index 960de15398f8173bf8a5d55beb3536f97465c38d..4daa59697b17e230ac21ce4c38633b2545ac7788 100644
--- a/board/ti/am335x/mux.c
+++ b/board/ti/am335x/mux.c
@@ -408,6 +408,9 @@ void enable_board_pin_mux(void)
 
 			if (subtype_id == 'L')
 				configure_module_pin_mux(spi0_pin_mux);
+		} else if (board_is_bbge()) {
+			/* Beaglebone Green Eco pinmux */
+			configure_module_pin_mux(rgmii1_pin_mux);
 		} else {
 			/* Beaglebone LT pinmux */
 			configure_module_pin_mux(mii1_pin_mux);
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index 674ad6c06ee75ba3def2397602891c84adee876f..7cd0ffa4dfa8322b78f4a148ed98dd6240f9a8c0 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -91,6 +91,7 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_PHY_ATHEROS=y
 CONFIG_PHY_SMSC=y
+CONFIG_PHY_TI_DP83867=y
 CONFIG_PHY_GIGE=y
 CONFIG_MII=y
 CONFIG_DRIVER_TI_CPSW=y

-- 
2.49.0



More information about the U-Boot mailing list