From patchwork Wed Aug 15 06:33:29 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phil Edworthy X-Patchwork-Id: 1324681 Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 21CD53FC66 for ; Wed, 15 Aug 2012 06:34:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751313Ab2HOGeR (ORCPT ); Wed, 15 Aug 2012 02:34:17 -0400 Received: from relmlor3.renesas.com ([210.160.252.173]:63318 "EHLO relmlor3.renesas.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751251Ab2HOGeQ (ORCPT ); Wed, 15 Aug 2012 02:34:16 -0400 Received: from relmlir1.idc.renesas.com ([10.200.68.151]) by relmlor3.idc.renesas.com ( SJSMS) with ESMTP id <0M8S002WNA93XP20@relmlor3.idc.renesas.com>; Wed, 15 Aug 2012 15:34:15 +0900 (JST) Received: from relmlac3.idc.renesas.com ([10.200.69.23]) by relmlir1.idc.renesas.com (SJSMS) with ESMTP id <0M8S0007PA936P70@relmlir1.idc.renesas.com>; Wed, 15 Aug 2012 15:34:15 +0900 (JST) Received: by relmlac3.idc.renesas.com (Postfix, from userid 0) id 14CD71809C; Wed, 15 Aug 2012 15:34:15 +0900 (JST) Received: from relmlac3.idc.renesas.com (localhost [127.0.0.1]) by relmlac3.idc.renesas.com (Postfix) with ESMTP id 0E40518098; Wed, 15 Aug 2012 15:34:15 +0900 (JST) Received: from relmlii2.idc.renesas.com [10.200.68.66] by relmlac3.idc.renesas.com with ESMTP id RAK04658; Wed, 15 Aug 2012 15:34:15 +0900 X-IronPort-AV: E=Sophos; i="4.77,771,1336316400"; d="scan'208"; a="94391650" Received: from unknown (HELO relay51.aps.necel.com) ([10.29.19.60]) by relmlii2.idc.renesas.com with ESMTP; Wed, 15 Aug 2012 15:34:14 +0900 Received: from julia (du2com5.eu.necel.com [172.29.24.35] (may be forged)) by relay51.aps.necel.com (8.14.4+Sun/8.14.4) with ESMTP id q7F6YDVQ014966; Wed, 15 Aug 2012 15:34:13 +0900 (JST) Received: by julia (Postfix, from userid 2) id 04C674E4E1; Wed, 15 Aug 2012 08:34:13 +0200 (CEST) Received: from du0smtp.eu.necel.com (unknown [172.29.24.86]) by julia (Postfix) with ESMTP id 813EE4E4D9; Wed, 15 Aug 2012 08:34:11 +0200 (CEST) Received: from duacsls.ad.ree.renesas.com ([172.29.43.47]) by du0smtp.eu.necel.com (Lotus Domino Release 8.5.3 HF466) with ESMTP id 2012081508335861-139080 ; Wed, 15 Aug 2012 08:33:58 +0200 From: Phil Edworthy To: netdev@vger.kernel.org Cc: linux-sh@vger.kernel.org, Kuninori Morimoto , Yoshihiro Shimoda , Phil Edworthy X-Mailer: git-send-email 1.7.5.4 X-TNEFEvaluated: 1 Message-id: <1345012409-12915-1-git-send-email-phil.edworthy@renesas.com> Date: Wed, 15 Aug 2012 07:33:29 +0100 Subject: [PATCH] net: sh_eth: Add eth support for R8A7779 device X-MIMETrack: Itemize by SMTP Server on DU0SMTP/EE/NECEE(Release 8.5.3 HF466|March 09, 2012) at 15.08.2012 08:33:58, Serialize by Router on DU0SMTP/EE/NECEE(Release 8.5.3 HF466|March 09, 2012) at 15.08.2012 08:34:12, Serialize complete at 15.08.2012 08:34:12 Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org Signed-off-by: Phil Edworthy --- drivers/net/ethernet/renesas/Kconfig | 4 ++-- drivers/net/ethernet/renesas/sh_eth.c | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/renesas/Kconfig b/drivers/net/ethernet/renesas/Kconfig index 46df3a0..24c2305 100644 --- a/drivers/net/ethernet/renesas/Kconfig +++ b/drivers/net/ethernet/renesas/Kconfig @@ -8,7 +8,7 @@ config SH_ETH (CPU_SUBTYPE_SH7710 || CPU_SUBTYPE_SH7712 || \ CPU_SUBTYPE_SH7763 || CPU_SUBTYPE_SH7619 || \ CPU_SUBTYPE_SH7724 || CPU_SUBTYPE_SH7734 || \ - CPU_SUBTYPE_SH7757 || ARCH_R8A7740) + CPU_SUBTYPE_SH7757 || ARCH_R8A7740 || ARCH_R8A7779) select CRC32 select NET_CORE select MII @@ -18,4 +18,4 @@ config SH_ETH Renesas SuperH Ethernet device driver. This driver supporting CPUs are: - SH7619, SH7710, SH7712, SH7724, SH7734, SH7763, SH7757, - and R8A7740. + R8A7740 and R8A7779. diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c index af0b867..bad8f2e 100644 --- a/drivers/net/ethernet/renesas/sh_eth.c +++ b/drivers/net/ethernet/renesas/sh_eth.c @@ -78,7 +78,7 @@ static void sh_eth_select_mii(struct net_device *ndev) #endif /* There is CPU dependent code */ -#if defined(CONFIG_CPU_SUBTYPE_SH7724) +#if defined(CONFIG_CPU_SUBTYPE_SH7724) || defined(CONFIG_ARCH_R8A7779) #define SH_ETH_RESET_DEFAULT 1 static void sh_eth_set_duplex(struct net_device *ndev) { @@ -93,13 +93,18 @@ static void sh_eth_set_duplex(struct net_device *ndev) static void sh_eth_set_rate(struct net_device *ndev) { struct sh_eth_private *mdp = netdev_priv(ndev); + unsigned int bits = ECMR_RTM; + +#if defined(CONFIG_ARCH_R8A7779) + bits |= ECMR_ELB; +#endif switch (mdp->speed) { case 10: /* 10BASE */ - sh_eth_write(ndev, sh_eth_read(ndev, ECMR) & ~ECMR_RTM, ECMR); + sh_eth_write(ndev, sh_eth_read(ndev, ECMR) & ~bits, ECMR); break; case 100:/* 100BASE */ - sh_eth_write(ndev, sh_eth_read(ndev, ECMR) | ECMR_RTM, ECMR); + sh_eth_write(ndev, sh_eth_read(ndev, ECMR) | bits, ECMR); break; default: break;