From patchwork Thu Apr 12 13:55:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phil Elwell X-Patchwork-Id: 897679 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=raspberrypi.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=raspberrypi.org header.i=@raspberrypi.org header.b="MZBNz9Lo"; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi-org.20150623.gappssmtp.com header.i=@raspberrypi-org.20150623.gappssmtp.com header.b="JA1iweld"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40MMrG1GGqz9s2R for ; Thu, 12 Apr 2018 23:55:57 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752798AbeDLNzw (ORCPT ); Thu, 12 Apr 2018 09:55:52 -0400 Received: from mx08-00252a01.pphosted.com ([91.207.212.211]:40332 "EHLO mx08-00252a01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752396AbeDLNzu (ORCPT ); Thu, 12 Apr 2018 09:55:50 -0400 Received: from pps.filterd (m0102629.ppops.net [127.0.0.1]) by mx08-00252a01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3CDrYcJ012269 for ; Thu, 12 Apr 2018 14:55:49 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.org; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=pp; bh=ZkQPYglmMf7WlOZMSJfnhEauQd7yT1YXjmkBGOPdi/8=; b=MZBNz9Lo7R2OvwNPrywReiW8MVGSiX5oYTLkQ/hHzrfSCMryc8qIvLCiBa96K3iZpo6l pCdSW28003M4xOEFaM9Bkr5Am5sIYHbYUzVJm4w7Y1bR+YKnjmDXXfOrE1iK3T+vm7RQ 8afUsgYUPIk2ocCdpJOMRz9leFxjBqxZIbOfP0A3PaJQ3/E0V57kaJYMmIH8CzjPQlP1 YimBx4pnFIrGzJd+Xq4wW/CZt+V7RyrHVmtOU/jsFtV0W6vLluAuepb9xYUz85JFZFyj gZto16pVaZuo9iqUsutDe7JNywkZQ9tMviwh43EY0fFAWYm/cJbur+N+7/DnOM3FnA0H nw== Received: from mail-wm0-f71.google.com (mail-wm0-f71.google.com [74.125.82.71]) by mx08-00252a01.pphosted.com with ESMTP id 2h6trdtjrf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK) for ; Thu, 12 Apr 2018 14:55:49 +0100 Received: by mail-wm0-f71.google.com with SMTP id m125so2802297wma.9 for ; Thu, 12 Apr 2018 06:55:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZkQPYglmMf7WlOZMSJfnhEauQd7yT1YXjmkBGOPdi/8=; b=JA1iweldOd4YbnuzVv9/+B9VXkEnJyDd6j+fVevrxiESrCrSIawJhRXaedmRtpsRcf dpYEZlD2gbJ4Y8Lri9xZYFtIwNTSHGwldm9HEDuYwOdsQIgAz8/61YgKJ6sDi7pvZTN8 HfrIkNH8P1/yeY2Jmcs+uxSHEI9ExhdHRo98Ja1/6KhYuaA6+h8Oz58POm25QcX6fKfi YdPebnuvVlDDZQUuJOW+x+hWvO54d5NP6YmfDUx8mls22yqoUide71LDiciyuLW4cA+c Ph7Z+pvF8WJxYO7TbAf3srZjoF1OJWhXcMur8wwq2XIsIlKnGjjt83qF6rWTKTKQH5ud WFOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZkQPYglmMf7WlOZMSJfnhEauQd7yT1YXjmkBGOPdi/8=; b=SpbOtOVz8K8TPlvivAb092B+hFXvTXflsgnyvogNKC3MCciwX7WSP+stcLp2l8aoXG u97nmJl8jKVB/GITJlc2PZ5MnfdHzqyHlfQ1jZwmjgNB4kLhmMnptjqSLlBA/Th2sWB3 XamT4mrz8JZaJDX9m3WYxrE5jcWX8u7U2H7Vbx8fW+L1zZtIBw5zp4O47ErkYbdPo2aJ W5PJNbJy8WpwHwenZf7yEzVpbU0EoVYZN2WNiXOjvLqwoW3d0Y8/iqWuppv5XUkdR4NJ v6k0WvtjDSZGAtvz1Pb1BXi5e48c99T+m3cDRtHgFkpzA63ZYMatwicrP0th6GPLGFs+ eVIg== X-Gm-Message-State: ALQs6tDfZC8a5IFKgUsY+7QLkvUoX4W/GKx3JadSPLO6W+rWqnvgsKR3 o8N+/bdosQUwFNdMxzmYWMPICUpOJfBMDHWHPr/29Tzk8SWUZLxdHFbdvmYWgpcdnwuPM4AIYaV uG4H2nP8qqC3jvMk+ X-Received: by 10.28.158.2 with SMTP id h2mr764138wme.157.1523541348863; Thu, 12 Apr 2018 06:55:48 -0700 (PDT) X-Google-Smtp-Source: AIpwx48KIEnmbig7Yilk62E+ISZrDFoK7qo83QTD8+vwFgrEeN8krpAIuIuZrcCAT16UJWHm2ECWlA== X-Received: by 10.28.158.2 with SMTP id h2mr764123wme.157.1523541348645; Thu, 12 Apr 2018 06:55:48 -0700 (PDT) Received: from buildbot.pitowers.org ([2a00:2381:fdf7:14:3403:8ea9:e6c1:e3f5]) by smtp.gmail.com with ESMTPSA id m83sm3491581wma.17.2018.04.12.06.55.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Apr 2018 06:55:47 -0700 (PDT) From: Phil Elwell To: Woojung Huh , Microchip Linux Driver Support , Rob Herring , Mark Rutland , "David S. Miller" , Mauro Carvalho Chehab , Greg Kroah-Hartman , Linus Walleij , Andrew Morton , Randy Dunlap , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Cc: Phil Elwell Subject: [PATCH 1/4] lan78xx: Read MAC address from DT if present Date: Thu, 12 Apr 2018 14:55:33 +0100 Message-Id: <1523541336-145953-2-git-send-email-phil@raspberrypi.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1523541336-145953-1-git-send-email-phil@raspberrypi.org> References: <1523541336-145953-1-git-send-email-phil@raspberrypi.org> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-12_07:, , signatures=0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org There is a standard mechanism for locating and using a MAC address from the Device Tree. Use this facility in the lan78xx driver to support applications without programmed EEPROM or OTP. At the same time, regularise the handling of the different address sources. Signed-off-by: Phil Elwell --- drivers/net/usb/lan78xx.c | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index 55a78eb..d2727b5 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "lan78xx.h" #define DRIVER_AUTHOR "WOOJUNG HUH " @@ -1651,34 +1652,35 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev) addr[5] = (addr_hi >> 8) & 0xFF; if (!is_valid_ether_addr(addr)) { - /* reading mac address from EEPROM or OTP */ - if ((lan78xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, - addr) == 0) || - (lan78xx_read_otp(dev, EEPROM_MAC_OFFSET, ETH_ALEN, - addr) == 0)) { - if (is_valid_ether_addr(addr)) { - /* eeprom values are valid so use them */ - netif_dbg(dev, ifup, dev->net, - "MAC address read from EEPROM"); - } else { - /* generate random MAC */ - random_ether_addr(addr); - netif_dbg(dev, ifup, dev->net, - "MAC address set to random addr"); - } + const u8 *mac_addr; - addr_lo = addr[0] | (addr[1] << 8) | - (addr[2] << 16) | (addr[3] << 24); - addr_hi = addr[4] | (addr[5] << 8); - - ret = lan78xx_write_reg(dev, RX_ADDRL, addr_lo); - ret = lan78xx_write_reg(dev, RX_ADDRH, addr_hi); + mac_addr = of_get_mac_address(dev->udev->dev.of_node); + if (mac_addr) { + /* valid address present in Device Tree */ + ether_addr_copy(addr, mac_addr); + netif_dbg(dev, ifup, dev->net, + "MAC address read from Device Tree"); + } else if (((lan78xx_read_eeprom(dev, EEPROM_MAC_OFFSET, + ETH_ALEN, addr) == 0) || + (lan78xx_read_otp(dev, EEPROM_MAC_OFFSET, + ETH_ALEN, addr) == 0)) && + is_valid_ether_addr(addr)) { + /* eeprom values are valid so use them */ + netif_dbg(dev, ifup, dev->net, + "MAC address read from EEPROM"); } else { /* generate random MAC */ random_ether_addr(addr); netif_dbg(dev, ifup, dev->net, "MAC address set to random addr"); } + + addr_lo = addr[0] | (addr[1] << 8) | + (addr[2] << 16) | (addr[3] << 24); + addr_hi = addr[4] | (addr[5] << 8); + + ret = lan78xx_write_reg(dev, RX_ADDRL, addr_lo); + ret = lan78xx_write_reg(dev, RX_ADDRH, addr_hi); } ret = lan78xx_write_reg(dev, MAF_LO(0), addr_lo); From patchwork Thu Apr 12 13:55:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phil Elwell X-Patchwork-Id: 897683 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=raspberrypi.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=raspberrypi.org header.i=@raspberrypi.org header.b="xtAwRmcS"; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi-org.20150623.gappssmtp.com header.i=@raspberrypi-org.20150623.gappssmtp.com header.b="o4tJQvMf"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40MMsV0K4wz9s32 for ; Thu, 12 Apr 2018 23:57:02 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753015AbeDLN44 (ORCPT ); Thu, 12 Apr 2018 09:56:56 -0400 Received: from mx08-00252a01.pphosted.com ([91.207.212.211]:40350 "EHLO mx08-00252a01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752320AbeDLNzw (ORCPT ); Thu, 12 Apr 2018 09:55:52 -0400 Received: from pps.filterd (m0102629.ppops.net [127.0.0.1]) by mx08-00252a01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3CDsY1j012745 for ; Thu, 12 Apr 2018 14:55:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.org; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=pp; bh=WyhKlmIvCgE1G25hibaf237WAaJyKM7wYPbQ4YUxzQU=; b=xtAwRmcSmFQGdvGCNgfhOzACkbpGFLS9Vqh3d0BzIIXKlzdixjY8ma/CL1iGdVmdXj9H AMsWq331u2ldX+5FzRKw6JwsZuwZLdIl68bjpW0dpqFNN4sN8g0UDy+au2dJH67b0C4D pE7XxUOO+4N9qMf08QIsZPoHX/W8Uw3Futxadv+Hert1YDMa+ZM84vZA2nijVU0D060P kIdBXaDm/2KUi+NGbUMK0g+xASFptTZL/wwC9Q3pW4CdC8jio3TviHRUZ0yYOrzRktIJ bD66+zHKm/pMDKl4mY6dUPd3wSM6NiFmgdugduOnoEMlk7gxU/uPZ5zDhEVZag340MG6 8g== Received: from mail-wr0-f198.google.com (mail-wr0-f198.google.com [209.85.128.198]) by mx08-00252a01.pphosted.com with ESMTP id 2h6trdtjrp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK) for ; Thu, 12 Apr 2018 14:55:50 +0100 Received: by mail-wr0-f198.google.com with SMTP id c1so3031478wri.22 for ; Thu, 12 Apr 2018 06:55:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=WyhKlmIvCgE1G25hibaf237WAaJyKM7wYPbQ4YUxzQU=; b=o4tJQvMfznkSip1iMzK5keRjHqQ6GLqwHv1pulNpOCYLXAZLJhzhGKnCn4wWLaJr6r zXaLAlko5gsiN/n961lKqHCyQK70e+7soobjsyuKhb42t6I0gZ2w8zJR6nFCEK7ghKs+ 2OWRDn7tQlWkCaghowTlL1Bny5hSEBSPjj0qtsf0d+xysBifYUmLYRNcjeY/pVvwus9W ey2vmtxLwhPcyPFBrMdQheiqsn0QK8lIRt1u9z12dA0ZdRwccBX3CvAZFcccgrTjNIaP tc079sm/GwbGFevMKmnGYPtV/pgcK5RfB/GpDDdIQ7Bo5RifDUm3vLCRtwYEGEbqz6hN irBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=WyhKlmIvCgE1G25hibaf237WAaJyKM7wYPbQ4YUxzQU=; b=YRIA/PzMemrMdjC7L+g9vr2UVaPCCNaJ/bbiVf7FQbSdy/OmxM0OdvrLBihj8zR4jY RZDyD0uiEY2Vud61hAjQ29YITani03rUmbLRxZMM4DrqTb2chbQ4Ja14YrGwupyL1jp6 MWvr3hOFE41BVXRFbTaOZnoBl3vGiiuprd3d1CdJlTkeDcwDU0Kez0tyeD0uH0qN+KMG VpmpSttgmU+EJFAXt4snAGkR2bB0Yif+i+Ce1tREwiFZWGOiL1ZdLCa5PkEuFXu2YPy/ 5ewkdwd4QXr7baTBzfPp5OVqvH6/Tqrckvp9fUm42FtC+Sid1RP/vu580Kb72jOhyzVn oyDA== X-Gm-Message-State: ALQs6tC2aX45G/g6BtdCpr7ZMSCmxbH+phdT0Jrv6gBYa3u1imRIz3x1 z6c5b9HGZfiAxnL/G2WuALsKDM51k/PHr2T0xgSRPHS+xcWr0sYnI5y4v/xnoYmjuOJQn7iVN7R ODyhbZuDXA4VPQ1jg X-Received: by 10.28.71.77 with SMTP id u74mr851778wma.149.1523541350431; Thu, 12 Apr 2018 06:55:50 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/dlAtYg51RGn03Bmuzbazqy7BzJQoRes2syNovFDUPjtg/MZueikr3p9heXIU9anlO4mrI3w== X-Received: by 10.28.71.77 with SMTP id u74mr851763wma.149.1523541350257; Thu, 12 Apr 2018 06:55:50 -0700 (PDT) Received: from buildbot.pitowers.org ([2a00:2381:fdf7:14:3403:8ea9:e6c1:e3f5]) by smtp.gmail.com with ESMTPSA id m83sm3491581wma.17.2018.04.12.06.55.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Apr 2018 06:55:49 -0700 (PDT) From: Phil Elwell To: Woojung Huh , Microchip Linux Driver Support , Rob Herring , Mark Rutland , "David S. Miller" , Mauro Carvalho Chehab , Greg Kroah-Hartman , Linus Walleij , Andrew Morton , Randy Dunlap , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Cc: Phil Elwell Subject: [PATCH 2/4] lan78xx: Read initial EEE setting from Device Tree Date: Thu, 12 Apr 2018 14:55:34 +0100 Message-Id: <1523541336-145953-3-git-send-email-phil@raspberrypi.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1523541336-145953-1-git-send-email-phil@raspberrypi.org> References: <1523541336-145953-1-git-send-email-phil@raspberrypi.org> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-12_07:, , signatures=0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add two new Device Tree properties: * microchip,eee-enabled - a boolean to enable EEE * microchip,tx-lpi-timer - time in microseconds to wait after TX goes idle before entering the low power state (default 600) Signed-off-by: Phil Elwell --- drivers/net/usb/lan78xx.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index d2727b5..d98397b 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -2080,6 +2080,23 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); + if (of_property_read_bool(dev->udev->dev.of_node, + "microchip,eee-enabled")) { + struct ethtool_eee edata; + + memset(&edata, 0, sizeof(edata)); + edata.cmd = ETHTOOL_SEEE; + edata.advertised = ADVERTISED_1000baseT_Full | + ADVERTISED_100baseT_Full; + edata.eee_enabled = true; + edata.tx_lpi_enabled = true; + if (of_property_read_u32(dev->udev->dev.of_node, + "microchip,tx-lpi-timer", + &edata.tx_lpi_timer)) + edata.tx_lpi_timer = 600; /* non-aggressive */ + (void)lan78xx_set_eee(dev->net, &edata); + } + genphy_config_aneg(phydev); dev->fc_autoneg = phydev->autoneg; From patchwork Thu Apr 12 13:55:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phil Elwell X-Patchwork-Id: 897680 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=raspberrypi.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=raspberrypi.org header.i=@raspberrypi.org header.b="Upghw51M"; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi-org.20150623.gappssmtp.com header.i=@raspberrypi-org.20150623.gappssmtp.com header.b="DEQPuLVL"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40MMrX4XJpz9s2b for ; Thu, 12 Apr 2018 23:56:12 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752896AbeDLN4A (ORCPT ); Thu, 12 Apr 2018 09:56:00 -0400 Received: from mx08-00252a01.pphosted.com ([91.207.212.211]:40380 "EHLO mx08-00252a01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752803AbeDLNzx (ORCPT ); Thu, 12 Apr 2018 09:55:53 -0400 Received: from pps.filterd (m0102629.ppops.net [127.0.0.1]) by mx08-00252a01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3CDrYcQ012269 for ; Thu, 12 Apr 2018 14:55:52 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.org; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=pp; bh=LWrWcwQ52N4eZD1lfkI9z9h5z7Apg2Hn/EBDf/PvPL4=; b=Upghw51MCDhRH7E0xJXnUpgjSdWEbOPoUAGPoXBOA30vzOjPRLWzCj0JX/x/XBE9Ktpg 7MPFENh5CK7AroKUQsWEG29VyoM6/2G/MQ0JycF2lt0UBX/T+MJDcUSwO7zjws3aFOSz mwQzpKetnxWRysbigmFCtsrdd8s+IDeVUNLbXo5K7kEaf0lUc6To1izsuQAgHvDPjDRj BB53QC0U9ROWw4VdDI7FanERBmgHlWwrFk7glRKAbCESj5dlC3XArYv3tOpanXT3sAue eIeTYWtRRAtjgrXzTR8EjpFS3RtXmC4oEBp3jlUE4vQBf2U/glEq+qn1KHPcRKm+9Kbf 7w== Received: from mail-wm0-f69.google.com (mail-wm0-f69.google.com [74.125.82.69]) by mx08-00252a01.pphosted.com with ESMTP id 2h6trdtjs4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK) for ; Thu, 12 Apr 2018 14:55:52 +0100 Received: by mail-wm0-f69.google.com with SMTP id v191so2820485wmd.1 for ; Thu, 12 Apr 2018 06:55:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=LWrWcwQ52N4eZD1lfkI9z9h5z7Apg2Hn/EBDf/PvPL4=; b=DEQPuLVLxo2n+tkWtG5oKrf++tS0VhDRyF9PoP6/nSydWzJrVDWPR0Tf5INFwDb91R 3jzWZa67O4Rm6ibrjNJkvFFOyRd16RHtcbXvS3+ujOT9WqGO/0smr5Wm11GGpSGFVM4m DgNZCt5VwF06l7nuVA5+WQcMjp62aqX9xnh/5wrqo2sYe/AR6W6AHAkWn2Xr++s6+C3P BoS6vJZ+3LIU77cOjTSSU2S+HfefDl3EwpAD33q3OqWTH1x9YEMKjXCisLTrMNA+zui2 NfPIr3lZygb3KhvF9t9K2mOxnwe9pPDyxLaSv0+9b8AXH9FXi57YXnMVFIBUvPAE8XtO IUxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=LWrWcwQ52N4eZD1lfkI9z9h5z7Apg2Hn/EBDf/PvPL4=; b=Nt0uc2659CWi78neax491xtJ5L7LSpZBi/t6OOKcmqLt25wLDhMrfLyiAATkMUZhAH onyHqo0YYBpQXnHVwW8hZOToSgUscbasrX52dnM2QE3dpoffcYLq1cvnSURHO6queXMF WXqrqwLk/RHohuGH/AyAIEc/je6MpZe+k4wdHXgb/w7OVGPx8rU+WaVLZgNNVSYw1bdt OF9HPEDfspasiffIq5HyJNryg95sEJktIlQj+TmUNBDBsJyiIHAbJJQBX+OsX24i9+Xc 51V7pKFKzLtCGHs03+gzTuaq/phXFbjZiUHmtUemtgn+D9CXBuzd7kL7g64KX7YCREeE 6PfQ== X-Gm-Message-State: ALQs6tDwuarcFR8M6cdSuO651jWvcQe4MD2qetwBZ+pXr+p5AsSFAUXh YQZNf1FlWHaHVqTSqo3Y/BUtI+6GSgqmD8Cm3NXAEA/Oz6QpNF4w35h/tRdANBX4HpjN85OlEQl ilcAqq7vX3tiZildl X-Received: by 10.28.136.199 with SMTP id k190mr858473wmd.154.1523541351648; Thu, 12 Apr 2018 06:55:51 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/I13SRLBBXPdxRhv1YW8FnZT7+Fhb71U4UYlbjKF1BkerMW/L0h0GOs3+H6I6z6iSoynMkUg== X-Received: by 10.28.136.199 with SMTP id k190mr858460wmd.154.1523541351464; Thu, 12 Apr 2018 06:55:51 -0700 (PDT) Received: from buildbot.pitowers.org ([2a00:2381:fdf7:14:3403:8ea9:e6c1:e3f5]) by smtp.gmail.com with ESMTPSA id m83sm3491581wma.17.2018.04.12.06.55.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Apr 2018 06:55:50 -0700 (PDT) From: Phil Elwell To: Woojung Huh , Microchip Linux Driver Support , Rob Herring , Mark Rutland , "David S. Miller" , Mauro Carvalho Chehab , Greg Kroah-Hartman , Linus Walleij , Andrew Morton , Randy Dunlap , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Cc: Phil Elwell Subject: [PATCH 3/4] lan78xx: Read LED modes from Device Tree Date: Thu, 12 Apr 2018 14:55:35 +0100 Message-Id: <1523541336-145953-4-git-send-email-phil@raspberrypi.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1523541336-145953-1-git-send-email-phil@raspberrypi.org> References: <1523541336-145953-1-git-send-email-phil@raspberrypi.org> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-12_07:, , signatures=0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add support for DT property "microchip,led-modes", a vector of two cells (u32s) in the range 0-15, each of which sets the mode for one of the two LEDs. Some possible values are: 0=link/activity 1=link1000/activity 2=link100/activity 3=link10/activity 4=link100/1000/activity 5=link10/1000/activity 6=link10/100/activity 14=off 15=on Also use the presence of the DT property to indicate that the LEDs should be enabled - necessary in the event that no valid OTP or EEPROM is available. Signed-off-by: Phil Elwell --- drivers/net/usb/lan78xx.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index d98397b..ffb483d 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -2008,6 +2008,7 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) { int ret; u32 mii_adv; + u32 led_modes[2]; struct phy_device *phydev; phydev = phy_find_first(dev->mdiobus); @@ -2097,6 +2098,25 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) (void)lan78xx_set_eee(dev->net, &edata); } + if (!of_property_read_u32_array(dev->udev->dev.of_node, + "microchip,led-modes", + led_modes, ARRAY_SIZE(led_modes))) { + u32 reg; + int i; + + reg = phy_read(phydev, 0x1d); + for (i = 0; i < ARRAY_SIZE(led_modes); i++) { + reg &= ~(0xf << (i * 4)); + reg |= (led_modes[i] & 0xf) << (i * 4); + } + (void)phy_write(phydev, 0x1d, reg); + + /* Ensure the LEDs are enabled */ + lan78xx_read_reg(dev, HW_CFG, ®); + reg |= HW_CFG_LED0_EN_ | HW_CFG_LED1_EN_; + lan78xx_write_reg(dev, HW_CFG, reg); + } + genphy_config_aneg(phydev); dev->fc_autoneg = phydev->autoneg; From patchwork Thu Apr 12 13:55:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phil Elwell X-Patchwork-Id: 897681 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=raspberrypi.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=raspberrypi.org header.i=@raspberrypi.org header.b="VZc2zjDE"; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi-org.20150623.gappssmtp.com header.i=@raspberrypi-org.20150623.gappssmtp.com header.b="v0V/o4Cp"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40MMrj6z5kz9s32 for ; Thu, 12 Apr 2018 23:56:21 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752877AbeDLNz5 (ORCPT ); Thu, 12 Apr 2018 09:55:57 -0400 Received: from mx08-00252a01.pphosted.com ([91.207.212.211]:40400 "EHLO mx08-00252a01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752810AbeDLNzy (ORCPT ); Thu, 12 Apr 2018 09:55:54 -0400 Received: from pps.filterd (m0102629.ppops.net [127.0.0.1]) by mx08-00252a01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3CDrYcT012269 for ; Thu, 12 Apr 2018 14:55:53 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.org; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=pp; bh=jpP5AtDESC7sHwxSB19ZOw6n+7fgGp52qaCeJCjqZDk=; b=VZc2zjDE/QGgr6Ir4mYQzev/bxeGxeUIHyVZMKoFbn6p8nzk7UYn+ExNRXQw3ptvXgvk L3b1+PPKkq4CRli1iRNpWFDcqZ8hKHANj0lAeEyT6HYSdoFqURWkj8x1bFZHl8PcnFBv G/szepXw2qHnKnPgVc9C6mTrLwDgwZ0p6NjPOJvccWWfsz/WWSRMa/7UNSsJzxk7VUnC lMkmlBBry2Y28uQCBtDUbMDgCo0uxE+J1sDe9akJHHZ/eDK9/e9wJJNPA9Oa2+u8ZrDn qpDIhmX7DcA2mgJk9GXoGhA6WvCJguDx16x8oFEXF/iSf3X9uZvfoPXSZyu7Ogfl1YO6 LQ== Received: from mail-wr0-f199.google.com (mail-wr0-f199.google.com [209.85.128.199]) by mx08-00252a01.pphosted.com with ESMTP id 2h6trdtjsc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK) for ; Thu, 12 Apr 2018 14:55:53 +0100 Received: by mail-wr0-f199.google.com with SMTP id h1so2568987wre.0 for ; Thu, 12 Apr 2018 06:55:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=jpP5AtDESC7sHwxSB19ZOw6n+7fgGp52qaCeJCjqZDk=; b=v0V/o4CpJrRGlHxASyItCda07EcXucjL3qxjyhl2GvGFad64T5vHlhHwTYBB3em1Xi vCA85UgyDLXfJJgHeOQ5CrmVDWvLz/77PLSu/GLY7I16mf8LDNR3HvphDFrIk02G7L9v +woU2DkeIRw0KHKwJKqI+LsaKsyRbjLrL00mg3WNyiYcSk2WPfST9czgfyHOyRLVVyVP S9BOoS/mOVqC9Grv2STZjfAvOHWtmSHd6k68D2OZe29Ko8FQktdMLiU0Hlnwl7YvcopS 6g46NTUXRLQXVKUpNi9bbEdlfcivtOFL911YaqhjQhfgT67xDRZwiw3Ofet05Ox9Y8bj StTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=jpP5AtDESC7sHwxSB19ZOw6n+7fgGp52qaCeJCjqZDk=; b=V67o9463ULoN1ZV7T3vm9HhZe8tqrD6AGQHkwcjx2paKH2RcyBLimT0Y+4JbhjqGTU 5pHkrBp11YQCpemWzAdXDUj+5rZGWvupL6Zfu1YeMaymxOBAabWoUdnsg2WfqLsiVlgw ziEGh0ti3cyhxPMh9GAMwIQvofYPQznFTY4GaSS4+hPmFc7cYvumnfjI4J8Okrz2UERU lh9dEsX8++TcVC+gTF8oSJnYM9cdBYmGBZ0uC+uKVkXtety4BssBh81aqndtq9mqssNO YhrUhck2FglGnhQrqUdLi7V8uUHrTiTI5KARGNyhIl3jiLywWiS6Pa+PdyyQWIhB1OWU ENSQ== X-Gm-Message-State: ALQs6tDUHyD4TKx7a56blNLswYNI1HClykHWvKAbos7Cr7iMb6LBjtcm 3M6BmxzaY9BeQpmxOchUdK9AArmwEUpxAOs1BtnLyiT/CET0KJ7sgycY+jJZmj3oPnVhP1Uil6a ttnyJbkDeCo9BNq+T X-Received: by 10.28.191.27 with SMTP id p27mr867480wmf.97.1523541352743; Thu, 12 Apr 2018 06:55:52 -0700 (PDT) X-Google-Smtp-Source: AIpwx48syZENwRqzgo09M7WUStD73Y3HrzDvyhCFRvoR5eGYRUOlPTkNWgPPuKhgP0iNja0IOeGZ0Q== X-Received: by 10.28.191.27 with SMTP id p27mr867459wmf.97.1523541352507; Thu, 12 Apr 2018 06:55:52 -0700 (PDT) Received: from buildbot.pitowers.org ([2a00:2381:fdf7:14:3403:8ea9:e6c1:e3f5]) by smtp.gmail.com with ESMTPSA id m83sm3491581wma.17.2018.04.12.06.55.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Apr 2018 06:55:51 -0700 (PDT) From: Phil Elwell To: Woojung Huh , Microchip Linux Driver Support , Rob Herring , Mark Rutland , "David S. Miller" , Mauro Carvalho Chehab , Greg Kroah-Hartman , Linus Walleij , Andrew Morton , Randy Dunlap , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Cc: Phil Elwell Subject: [PATCH 4/4] dt-bindings: Document the DT bindings for lan78xx Date: Thu, 12 Apr 2018 14:55:36 +0100 Message-Id: <1523541336-145953-5-git-send-email-phil@raspberrypi.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1523541336-145953-1-git-send-email-phil@raspberrypi.org> References: <1523541336-145953-1-git-send-email-phil@raspberrypi.org> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-12_07:, , signatures=0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The Microchip LAN78XX family of devices are Ethernet controllers with a USB interface. Despite being discoverable devices it can be useful to be able to configure them from Device Tree, particularly in low-cost applications without an EEPROM or programmed OTP. Document the supported properties in a bindings file, adding it to MAINTAINERS at the same time. Signed-off-by: Phil Elwell --- .../devicetree/bindings/net/microchip,lan78xx.txt | 44 ++++++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 45 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/microchip,lan78xx.txt diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt new file mode 100644 index 0000000..e7d7850 --- /dev/null +++ b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt @@ -0,0 +1,44 @@ +Microchip LAN78xx Gigabit Ethernet controller + +The LAN78XX devices are usually configured by programming their OTP or with +an external EEPROM, but some platforms (e.g. Raspberry Pi 3 B+) have neither. + +Please refer to ethernet.txt for a description of common Ethernet bindings. + +Optional properties: +- microchip,eee-enabled: if present, enable Energy Efficient Ethernet support; +- microchip,led-modes: a two-element vector, with each element configuring + the operating mode of an LED. The values supported by the device are; + 0: Link/Activity + 1: Link1000/Activity + 2: Link100/Activity + 3: Link10/Activity + 4: Link100/1000/Activity + 5: Link10/1000/Activity + 6: Link10/100/Activity + 7: RESERVED + 8: Duplex/Collision + 9: Collision + 10: Activity + 11: RESERVED + 12: Auto-negotiation Fault + 13: RESERVED + 14: Off + 15: On +- microchip,tx-lpi-timer: the delay (in microseconds) between the TX fifo + becoming empty and invoking Low Power Idles (default 600). + +Example: + + /* Standard configuration for a Raspberry Pi 3 B+ */ + ethernet: usbether@1 { + compatible = "usb424,7800"; + reg = <1>; + microchip,eee-enabled; + microchip,tx-lpi-timer = <600>; + /* + * led0 = 1:link1000/activity + * led1 = 6:link10/100/activity + */ + microchip,led-modes = <1 6>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 2328eed..b637aad 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14482,6 +14482,7 @@ M: Microchip Linux Driver Support L: netdev@vger.kernel.org S: Maintained F: drivers/net/usb/lan78xx.* +F: Documentation/devicetree/bindings/net/microchip,lan78xx.txt USB MASS STORAGE DRIVER M: Alan Stern