arm: mvebu: dts: turris_mox: fix non-working network / MDIO
authorMarek Behún <marek.behun@nic.cz>
Tue, 15 Mar 2022 15:37:27 +0000 (16:37 +0100)
committerStefan Roese <sr@denx.de>
Wed, 16 Mar 2022 06:24:28 +0000 (07:24 +0100)
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>
arch/arm/dts/armada-3720-turris-mox-u-boot.dtsi [new file with mode: 0644]

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 (file)
index 0000000..2e05b97
--- /dev/null
@@ -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;