From patchwork Wed May 29 15:33:05 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 247290 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 957E02C00A9 for ; Thu, 30 May 2013 01:36:17 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966286Ab3E2Pde (ORCPT ); Wed, 29 May 2013 11:33:34 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:50257 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932241Ab3E2Pdc (ORCPT ); Wed, 29 May 2013 11:33:32 -0400 Received: by mail-wi0-f182.google.com with SMTP id c10so3629183wiw.15 for ; Wed, 29 May 2013 08:33:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:in-reply-to:references:content-type:x-gm-message-state; bh=nQhBbTGgs/XSLuYT2XibwXAt+/7/GortXh5eQ/OlIQ8=; b=f9snh1u4TBFDV1Z1M/D3vjn3tS9XOJqGQdO8Ggra2WuGFi6wzWV7BWgLIy7AJXNjfm QZLoW9xP67BLrFhpmIFWSStgTUdEs5V6B/SkRxRoWSjGDx1g8vCBqlRK0FwkeBVZggEi ff/uqOpZZJ/JG5LrzMnDupAST3uruw5Q2I+BCQsLPZOQnu2NE8OWEpgZcAAs1YzE6tx6 3Pbw8/2sr7zYH/HhXv5TamE7lKYNNTEWB+i4WSimLyGd7SGE0qeGnWz2GJ6VZgveNPi1 3r6MymuJa7yBhLp3x6hfdZbyYuBY+abOwG/gE5rHZHUoXuOofQWXUjyEIESVrvS2J1Hm 4xCg== X-Received: by 10.180.198.44 with SMTP id iz12mr1876104wic.44.1369841610847; Wed, 29 May 2013 08:33:30 -0700 (PDT) Received: from localhost (nat-63.starnet.cz. [178.255.168.63]) by mx.google.com with ESMTPSA id dj7sm31901149wib.6.2013.05.29.08.33.29 for (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Wed, 29 May 2013 08:33:30 -0700 (PDT) From: Michal Simek To: linux-kernel@vger.kernel.org Cc: Michal Simek , Michal Simek , "David S. Miller" , Lars-Peter Clausen , Christian Hohnstaedt , Rick Hoover , Anirudha Sarangi , Steven Wang , netdev@vger.kernel.org Subject: [PATCH 05/11] phy: Add Marvell 88E1510 phy ID Date: Wed, 29 May 2013 17:33:05 +0200 Message-Id: <7eb71ca9746285a667a4754178ca4e04a53f2520.1369841519.git.michal.simek@xilinx.com> X-Mailer: git-send-email 1.8.2.3 In-Reply-To: <131c9262c3094ee3c664bd729a66e0709ceae82c.1369841519.git.michal.simek@xilinx.com> References: <131c9262c3094ee3c664bd729a66e0709ceae82c.1369841519.git.michal.simek@xilinx.com> In-Reply-To: <131c9262c3094ee3c664bd729a66e0709ceae82c.1369841519.git.michal.simek@xilinx.com> References: <131c9262c3094ee3c664bd729a66e0709ceae82c.1369841519.git.michal.simek@xilinx.com> X-Gm-Message-State: ALoCoQmPk8/XAgunm4AE5MrlR8eSHjXvmJqF4uWolAA5v4rEIEJcny6B7KnRdLTNUQ1IyM5d3UPp Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add support for this new phy ID. Signed-off-by: Rick Hoover Signed-off-by: Steven Wang Signed-off-by: Lars-Peter Clausen Signed-off-by: Michal Simek --- drivers/net/phy/marvell.c | 25 +++++++++++++++++++++++++ include/linux/marvell_phy.h | 1 + 2 files changed, 26 insertions(+) -- 1.8.2.3 diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index df5a9f6..2e91477 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -374,6 +374,17 @@ static int m88e1318_config_aneg(struct phy_device *phydev) return m88e1121_config_aneg(phydev); } +static int m88e1510_config_aneg(struct phy_device *phydev) +{ + int err; + + err = m88e1318_config_aneg(phydev); + if (err < 0) + return err; + + return marvell_of_reg_init(phydev); +} + static int m88e1116r_config_init(struct phy_device *phydev) { int temp; @@ -1004,6 +1015,19 @@ static struct phy_driver marvell_drivers[] = { .config_intr = &marvell_config_intr, .driver = { .owner = THIS_MODULE }, }, + { + .phy_id = MARVELL_PHY_ID_88E1510, + .phy_id_mask = MARVELL_PHY_ID_MASK, + .name = "Marvell 88E1510", + .features = PHY_GBIT_FEATURES, + .flags = PHY_HAS_INTERRUPT, + .config_aneg = &m88e1510_config_aneg, + .read_status = &marvell_read_status, + .ack_interrupt = &marvell_ack_interrupt, + .config_intr = &marvell_config_intr, + .did_interrupt = &m88e1121_did_interrupt, + .driver = { .owner = THIS_MODULE }, + }, }; static int __init marvell_init(void) @@ -1032,6 +1056,7 @@ static struct mdio_device_id __maybe_unused marvell_tbl[] = { { MARVELL_PHY_ID_88E1240, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E1318S, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E1116R, MARVELL_PHY_ID_MASK }, + { MARVELL_PHY_ID_88E1510, MARVELL_PHY_ID_MASK }, { } }; diff --git a/include/linux/marvell_phy.h b/include/linux/marvell_phy.h index ec41025..8e9a029 100644 --- a/include/linux/marvell_phy.h +++ b/include/linux/marvell_phy.h @@ -15,6 +15,7 @@ #define MARVELL_PHY_ID_88E1240 0x01410e30 #define MARVELL_PHY_ID_88E1318S 0x01410e90 #define MARVELL_PHY_ID_88E1116R 0x01410e40 +#define MARVELL_PHY_ID_88E1510 0x01410dd0 /* struct phy_device dev_flags definitions */ #define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001