aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMarek Behún <marek.behun@nic.cz>2022-03-15 16:37:27 +0100
committerStefan Roese <sr@denx.de>2022-03-16 07:24:28 +0100
commit351729ca445d4822502ff7117f8213832e753f91 (patch)
treee49bc71c528facbda25030567519357989fce321 /arch
parent4dc9b1771b152838ddfc4ae86a0ab9fd53ea16f7 (diff)
downloadu-boot-351729ca445d4822502ff7117f8213832e753f91.zip
u-boot-351729ca445d4822502ff7117f8213832e753f91.tar.gz
u-boot-351729ca445d4822502ff7117f8213832e753f91.tar.bz2
arm: mvebu: dts: turris_mox: fix non-working network / MDIO
Commit 0934dddc6436 ("arm: a37xx: Update DTS files to version from upstream Linux kernel") ported Linux's device-tree files for Armada 3720 SOCs. This broke network on Turris MOX, because the SOC's MDIO bus in U-Boot currently isn't probed via DM as it's own device, but is registered as part of mvneta's driver, which means that pinctrl definitions are not parsed for the MDIO bus node. Also mvneta driver does not consider "phy-handle" property, only "phy". For now, fix this by adding armada-3720-turris-mox-u-boot.dtsi file returning the MDIO to how it was defined previously. A better solution (using proper mvmdio DM driver) is being work on, but will need testing on various boards, and we need the bug fixed now for the upcoming release. Fixes: 0934dddc6436 ("arm: a37xx: Update DTS files to version from upstream Linux kernel") Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/dts/armada-3720-turris-mox-u-boot.dtsi23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/dts/armada-3720-turris-mox-u-boot.dtsi b/arch/arm/dts/armada-3720-turris-mox-u-boot.dtsi
new file mode 100644
index 0000000..2e05b97
--- /dev/null
+++ b/arch/arm/dts/armada-3720-turris-mox-u-boot.dtsi
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * 2022 by Marek Behún <kabel@kernel.org>
+ */
+
+/ {
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ old_binding_phy1: ethernet-phy@1 {
+ reg = <1>;
+ };
+ };
+};
+
+&eth0 {
+ pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
+ /delete-property/ phy-handle;
+ phy = <&old_binding_phy1>;
+};
+
+/delete-node/ &mdio;