From patchwork Mon May 15 08:02:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olliver Schinagl X-Patchwork-Id: 762460 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3wRJmL5gY9z9s4q for ; Mon, 15 May 2017 21:50:10 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=schinagl.nl header.i=@schinagl.nl header.b="PTVu23hV"; dkim-atps=neutral Received: by lists.denx.de (Postfix, from userid 105) id 449A9C22201; Mon, 15 May 2017 11:36:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=KHOP_BIG_TO_CC, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id E9697C221D3; Mon, 15 May 2017 11:12:50 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2A0C8C21CC2; Mon, 15 May 2017 08:03:05 +0000 (UTC) Received: from 7of9.schinagl.nl (7of9.schinagl.nl [62.251.20.244]) by lists.denx.de (Postfix) with ESMTPS id D0186C21C4A for ; Mon, 15 May 2017 08:03:04 +0000 (UTC) Received: from um-mbp-306.cloud.ultimaker.com (static-98-101-100-159.thenetworkfactory.nl [159.100.101.98]) by 7of9.schinagl.nl (Postfix) with ESMTPA id 5F5A9C09CB; Mon, 15 May 2017 10:03:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=schinagl.nl; s=7of9; t=1494835384; bh=56SfjuxSyBv9q/FxOv2wzlPVi3bqePysndr50O8+GN0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=PTVu23hVmGFnArxg3tXfrXH3UO6H6C+TKxnJXUArRyY5FvKsxmgonbRrlmoaqxhDg ZZetzpWr2q+u9ILi4aNWGNOA+0WioSWgdoZIMepRL1NaPpAGV0gSY7ph+tPXbJn30F DmB8JD/X4YbvPsODRJs+wQPKMwqXEChImy7aFTlA= From: Olliver Schinagl To: Jagan Teki , Maxime Ripard , Hans de Goede , Simon Glass , Iain Paton , FUKAUMI Naoki , Olliver Schinagl , Marcus Cooper , Ian Campbell , Chen-Yu Tsai , Jelle de Jong , Adam Sampson , Stefan Roese , Phil Han , Joe Hershberger Date: Mon, 15 May 2017 10:02:29 +0200 Message-Id: <20170515080244.21345-14-oliver@schinagl.nl> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170515080244.21345-1-oliver@schinagl.nl> References: <20170515080244.21345-1-oliver@schinagl.nl> X-Mailman-Approved-At: Mon, 15 May 2017 11:12:25 +0000 Cc: oliver+list@schinagl.nl, Jernej Skrabec , Mugunthan V N , dev@linux-sunxi.org, Andre Przywara , Icenowy Zheng , u-boot@lists.denx.de Subject: [U-Boot] [PATCHv6 13/28] net: core: print the source of the MAC address X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" With many potential places where a MAC address can be read from, the user may not know where the MAC address originated from. Print the MAC source after initializing the Ethernet device. Signed-off-by: Olliver Schinagl Acked-by: Joe Hershberger --- include/net.h | 14 ++++++++++++++ net/eth-uclass.c | 18 +++++++++++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/include/net.h b/include/net.h index 392dc95fdc..762ff2b319 100644 --- a/include/net.h +++ b/include/net.h @@ -87,18 +87,32 @@ enum eth_state_t { ETH_STATE_ACTIVE }; +enum enetaddr_source { + ENETADDR_SRC_UNKNOWN = 0, + ENETADDR_SRC_ROM, + ENETADDR_SRC_EEPROM, + ENETADDR_SRC_DRIVER, + ENETADDR_SRC_BOARD, + ENETADDR_SRC_ENV, + ENETADDR_SRC_FDT, + ENETADDR_SRC_RANDOM, + ENETADDR_SRC_NONE, +}; + #ifdef CONFIG_DM_ETH /** * struct eth_pdata - Platform data for Ethernet MAC controllers * * @iobase: The base address of the hardware registers * @enetaddr: The Ethernet MAC address that is loaded from EEPROM or env + * @enetaddr_source: Indicator where the Ethernet MAC adress came from * @phy_interface: PHY interface to use - see PHY_INTERFACE_MODE_... * @max_speed: Maximum speed of Ethernet connection supported by MAC */ struct eth_pdata { phys_addr_t iobase; unsigned char enetaddr[ARP_HLEN]; + enum enetaddr_source enetaddr_src; int phy_interface; int max_speed; }; diff --git a/net/eth-uclass.c b/net/eth-uclass.c index 02ee926f74..c88b032868 100644 --- a/net/eth-uclass.c +++ b/net/eth-uclass.c @@ -416,9 +416,21 @@ int eth_initialize(void) putc('\n'); do { struct eth_pdata *pdata = dev->platdata; - - printf("eth%d: %s [%pM]\n", dev->seq, dev->name, - pdata->enetaddr); + const char *enetaddr_src[] = { + "unknown", + "ROM", + "EEPROM", + "driver", + "board", + "environment", + "flattened device tree", + "randomly generated", + "not set", + }; + + printf("eth%d: %s [%pM] (%s)\n", dev->seq, dev->name, + pdata->enetaddr, + enetaddr_src[pdata->enetaddr_src]); if (ethprime && dev == prime_dev) printf(" [PRIME]");