From patchwork Wed Jan 27 15:08:19 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Petazzoni X-Patchwork-Id: 8134751 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 081679F440 for ; Wed, 27 Jan 2016 15:10:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id CBB7420380 for ; Wed, 27 Jan 2016 15:10:38 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8509420357 for ; Wed, 27 Jan 2016 15:10:36 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aORiR-0001Kk-Ua; Wed, 27 Jan 2016 15:09:03 +0000 Received: from down.free-electrons.com ([37.187.137.238] helo=mail.free-electrons.com) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aORi9-0001AF-Aj for linux-arm-kernel@lists.infradead.org; Wed, 27 Jan 2016 15:08:47 +0000 Received: by mail.free-electrons.com (Postfix, from userid 110) id 9507B2C0; Wed, 27 Jan 2016 16:08:23 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from localhost (AToulouse-657-1-968-32.w109-223.abo.wanadoo.fr [109.223.30.32]) by mail.free-electrons.com (Postfix) with ESMTPSA id 63678B0; Wed, 27 Jan 2016 16:08:23 +0100 (CET) From: Thomas Petazzoni To: Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Gregory Clement Subject: [PATCH 1/2] ARM: mvebu: change order of ethernet DT nodes on Armada 38x Date: Wed, 27 Jan 2016 16:08:19 +0100 Message-Id: <1453907300-28283-2-git-send-email-thomas.petazzoni@free-electrons.com> X-Mailer: git-send-email 2.6.4 In-Reply-To: <1453907300-28283-1-git-send-email-thomas.petazzoni@free-electrons.com> References: <1453907300-28283-1-git-send-email-thomas.petazzoni@free-electrons.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160127_070845_779163_F130A4BF X-CRM114-Status: GOOD ( 15.42 ) X-Spam-Score: -1.9 (-) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nadav Haklai , Lior Amsalem , Thomas Petazzoni , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP On Armada 38x, the available network interfaces are: - port 0, at 0x70000 - port 1, at 0x30000 - port 2, at 0x34000 Due to the rule saying that DT nodes should be ordered by register addresses, the network interfaces are probed in this order: - port 1, at 0x30000, which gets named eth0 - port 2, at 0x34000, which gets named eth1 - port 0, at 0x70000, which gets named eth2 (if all three ports are enabled at the board level) Unfortunately, the network subsystem doesn't provide any way to rename network interfaces from the kernel (it can only be done from userspace). So, the default naming of the network interfaces is very confusing as it doesn't match the datasheet, nor the naming of the interfaces in the bootloader, nor the naming of the interfaces on labels printed on the board. For example, on the Armada 388 GP, the board has two ports, labelled GE0 and GE1. One has to know that GE0 is eth1 and GE1 is eth0, which isn't really obvious. In order to solve this, this patch proposes to exceptionaly violate the rule of "order DT nodes by register address", and put the 0x70000 node before the 0x30000 node, so that network interfaces get named in a more natural way. Signed-off-by: Thomas Petazzoni --- arch/arm/boot/dts/armada-38x.dtsi | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi index e8b7f67..b50784d 100644 --- a/arch/arm/boot/dts/armada-38x.dtsi +++ b/arch/arm/boot/dts/armada-38x.dtsi @@ -429,6 +429,27 @@ reg = <0x22000 0x1000>; }; + /* + * As a special exception to the "order by + * register address" rule, the eth0 node is + * placed here to ensure that it gets + * registered as the first interface, since + * the network subsystem doesn't allow naming + * interfaces using DT aliases. Without this, + * the ordering of interfaces is different + * from the one used in U-Boot and the + * labeling of interfaces on the boards, which + * is very confusing for users. + */ + eth0: ethernet@70000 { + compatible = "marvell,armada-370-neta"; + reg = <0x70000 0x4000>; + interrupts-extended = <&mpic 8>; + clocks = <&gateclk 4>; + tx-csum-limit = <9800>; + status = "disabled"; + }; + eth1: ethernet@30000 { compatible = "marvell,armada-370-neta"; reg = <0x30000 0x4000>; @@ -493,15 +514,6 @@ }; }; - eth0: ethernet@70000 { - compatible = "marvell,armada-370-neta"; - reg = <0x70000 0x4000>; - interrupts-extended = <&mpic 8>; - clocks = <&gateclk 4>; - tx-csum-limit = <9800>; - status = "disabled"; - }; - mdio: mdio@72004 { #address-cells = <1>; #size-cells = <0>;