From patchwork Wed Nov 16 17:21:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 695718 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3tJrgv2Gp3z9s3v for ; Thu, 17 Nov 2016 04:23:23 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 11AC7B3870; Wed, 16 Nov 2016 18:23:05 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jmm9wDjvmMgz; Wed, 16 Nov 2016 18:23:04 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id E92AFB3871; Wed, 16 Nov 2016 18:22:58 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 688EAA756F for ; Wed, 16 Nov 2016 18:22:39 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IJewAzfiSsVx for ; Wed, 16 Nov 2016 18:22:39 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by theia.denx.de (Postfix) with ESMTPS id A9BC0B3837 for ; Wed, 16 Nov 2016 18:22:34 +0100 (CET) Received: by mail-pf0-f193.google.com with SMTP id y68so10190183pfb.1 for ; Wed, 16 Nov 2016 09:22:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=vs39kV5tpF/En+DIJNffBkYRTB/AEnxhAdVz+t3nJw0=; b=F2aEYNzdPQlm758LHWHsI3r9yrokhhbNcasBbj1vBDw23nL/VKkp1tTG/uFnhPLUDW nu5BbF1PSU7FY63AzBRpdblUoZs53uq+jRayogDH2MCSkK0B7KMG+a+LgZ23B+nF9/Zv eqYpwcCGnAh9ZmLIss1sm1unIjwq0YSVZ7moTpmTQ265AL6pcul2spK7IJE+GclGWrWm dYxpp0B2tgkLiv4OuXwxBeGeVPRnrAePhyHazcaGjCKyOYGhfT3IfQ+/G26u7CY5BxyY XciS7Awms58pnXJMf8Z3MkAJ9deHTZQtQLf1HPBsoDoev/tKk0b5An6of4ZYUM9cwL0f nXDA== X-Gm-Message-State: ABUngveakEMhRZL7g3yF0NZbhn60xNsf7GdCZL46D1LU5XHbPUwP7zUwVyKwIBVafnaVTA== X-Received: by 10.98.163.71 with SMTP id s68mr6039399pfe.60.1479316952869; Wed, 16 Nov 2016 09:22:32 -0800 (PST) Received: from localhost.localdomain ([115.97.183.210]) by smtp.gmail.com with ESMTPSA id y134sm32336048pfg.81.2016.11.16.09.22.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Nov 2016 09:22:31 -0800 (PST) From: Jagan Teki To: Stefano Babic Date: Wed, 16 Nov 2016 22:51:51 +0530 Message-Id: <1479316917-19454-6-git-send-email-jagan@openedev.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1479316917-19454-1-git-send-email-jagan@openedev.com> References: <1479316917-19454-1-git-send-email-jagan@openedev.com> Cc: u-boot@lists.denx.de, Matteo Lisi Subject: [U-Boot] [PATCH v3 05/11] dm: net: fec: Add .read_rom_hwaddr X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 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" From: Jagan Teki Add .read_rom_hwaddr on dm eth_ops. Cc: Stefano Babic Cc: Matteo Lisi Cc: Michael Trimarchi Acked-by: Joe Hershberger Signed-off-by: Jagan Teki --- drivers/net/fec_mxc.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 367bc40..09433df 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -348,12 +348,6 @@ static void fec_rbd_clean(int last, struct fec_bd *prbd) writew(0, &prbd->data_length); } -static int fec_get_hwaddr(int dev_id, unsigned char *mac) -{ - imx_get_mac_from_fuse(dev_id, mac); - return !is_valid_ethaddr(mac); -} - static int _fec_set_hwaddr(struct fec_priv *fec, uchar *mac) { writel(0, &fec->eth->iaddr1); @@ -975,6 +969,12 @@ static int fec_init(struct eth_device *dev, bd_t *bd) return _fec_init(fec, mac); } +static int fec_get_hwaddr(int dev_id, unsigned char *mac) +{ + imx_get_mac_from_fuse(dev_id, mac); + return !is_valid_ethaddr(mac); +} + #ifdef CONFIG_PHYLIB int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr, struct mii_dev *bus, struct phy_device *phydev) @@ -1128,6 +1128,16 @@ int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int)) #else +static int fec_read_rom_mac(struct udevice *dev) +{ + struct fec_priv *fec = dev_get_priv(dev); + struct eth_pdata *pdata = dev_get_platdata(dev); + + imx_get_mac_from_fuse(fec->dev_id, pdata->enetaddr); + + return 0; +} + static int fec_set_hwaddr(struct udevice *dev) { struct fec_priv *fec = dev_get_priv(dev); @@ -1175,6 +1185,7 @@ static const struct eth_ops fecmxc_ops = { .recv = fec_recv, .stop = fec_halt, .write_hwaddr = fec_set_hwaddr, + .read_rom_hwaddr = fec_read_rom_mac, }; static int fec_phy_init(struct fec_priv *priv, struct udevice *dev) @@ -1204,7 +1215,6 @@ static int fecmxc_probe(struct udevice *dev) struct fec_priv *priv = dev_get_priv(dev); struct mii_dev *bus = NULL; int dev_id = -1; - unsigned char ethaddr[6]; uint32_t start; int ret; @@ -1238,14 +1248,6 @@ static int fecmxc_probe(struct udevice *dev) fec_reg_setup(priv); priv->dev_id = (dev_id == -1) ? 0 : dev_id; - ret = fec_get_hwaddr(dev_id, ethaddr); - if (!ret) { - debug("got MAC%d address from fuse: %pM\n", dev_id, ethaddr); - memcpy(pdata->enetaddr, ethaddr, 6); - if (!getenv("ethaddr")) - eth_setenv_enetaddr("ethaddr", ethaddr); - } - return 0; err_timeout: