From patchwork Wed Sep 27 07:34:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 114358 Delivered-To: patch@linaro.org Received: by 10.140.106.117 with SMTP id d108csp4721972qgf; Wed, 27 Sep 2017 00:37:42 -0700 (PDT) X-Received: by 10.84.233.69 with SMTP id k5mr501369plt.260.1506497862529; Wed, 27 Sep 2017 00:37:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1506497862; cv=none; d=google.com; s=arc-20160816; b=xmwp8VLEXVOlvBN+eNnf5xQBsTvM3bCs4hnrXKlV5H+4Jejdr2iFrrBuKtAmRlHofb XLi+3z9AUTIN4+OktSRof6HVbCKo6+nLmvVqM3SMH+53/5XJ1Tg91UkzG5XFNv/khTRF inw0UUxbzID/PiGYC9Pihl6WubdRtyfmwgPCVcur66uj0R7t9qAFzA4xJ7eTh7EoWUOM 1uvCXZ+788XcGfC+9c08kOUvcz6JIJ0mLX55bZiLD2FKzAz+i8sbxOmybHOZIF+xAYw+ SIRUC2rN9tJu2FVujUmbyDw5p0TK5dgtrAoy4sVtgG52p4qF/xgrdyXfxYHUOKxwsUcL 2Jqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=ZDRqn6oM7YLvC7qyulEsdiG4u/Ek3wP9CmcxSAqe5YU=; b=Nc6uji68B/No8NY39yXim+ZkKOT/2grblDQU64LeBA0JHeevvi/mEKebbVFoBPJiX8 GZaQNQB2usWkPUsSPFPslIeVD0/fvYET5vEUoi1JufpfWwVboc/7Nz3UM1H+St2LCn1D DJdw9uhEegjOQRgxogYadQIcjHiQTCq1fIe8WiXwvvqW55CwkT8U818REkTNl36BD7Sg EOtTs/jFHkMyU8sYhQl5Y5kVIWm+7xlG8L4FHZ1w6/RPeVJK0SSL85mzpqPNQZJj7AQp OOuDZnMmzt5bFF40NDPQw/4BLpdgXFipIcdrEz5SeN0mgzYJgJ8HsX7D+CAFIPI01k9w Jyow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Y5xkQZv7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h18si6837187pfk.407.2017.09.27.00.37.42; Wed, 27 Sep 2017 00:37:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Y5xkQZv7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752528AbdI0Hhl (ORCPT + 26 others); Wed, 27 Sep 2017 03:37:41 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:35742 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752245AbdI0Hgp (ORCPT ); Wed, 27 Sep 2017 03:36:45 -0400 Received: by mail-wm0-f68.google.com with SMTP id e64so10691948wmi.2; Wed, 27 Sep 2017 00:36:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZDRqn6oM7YLvC7qyulEsdiG4u/Ek3wP9CmcxSAqe5YU=; b=Y5xkQZv7NlW+JPuhuUeAIf/RLKL5RLGMOUL8nDR7vDobmMK/iCZFAVURM0WGMt78P7 uLjK627x2xnqsY/1jFkzTJLS8LPeMbghg7Ja12MUskf32sAYwME7CvR0yPsOamrHBwyA Xbh87NQcak5lQcOKjSXObZXmPBGyWR22Ktm4ksd0TR8Znp6q+EGZ+drA00rTQaV0snkQ 8malRw+xa7AVKlnrPivsmzPvBehKtGdpvlXZOwEYgLPP1jq6KxRIIW0C8jwKheJVFQEF NNEATMjdLP0zjqfOVeGjbgjEo6ATbkRSmyBGmIXGTKyV7W9ShoxmJDwz1iZDGM4SIEU0 8C3A== 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=ZDRqn6oM7YLvC7qyulEsdiG4u/Ek3wP9CmcxSAqe5YU=; b=P7jpDZ1GrQvfgy8GwRjhqU66Tht4EISrO0DcA2wIjA5FpVFtSYwr6HLFt0xUtMW0i1 ik5vRKlD7WQj2f1WKvzMcKM/cdpIDIO5dSa3noXN8I4X+80Fbq1zl1Wa5OUMyLNNr8jG D/ebcGd1xsMw6C1cVa2IbaI01TfBs9rBayyQH3xQbFNwqv764n4drwFRn8F/SnQiPLKs s5INhApD3S+TNTHY3RBaHCrtD1W3vKayoqtETnOXhH8g6LsUVLIvRLs5o+3pmdpMUk/u Gj7LehMlzJm64xgi3u7aWZCT/UI28F4e+U/k2cCUnyOTfL1aCIJVeLIDQZ/pss2Xzc6M wWyQ== X-Gm-Message-State: AHPjjUhdeBTbPDeSVYcHbcPOG3O5AlCQ60NpcJtvhDLZzFV2SZYP/irc fhccJpegH9W8Ks9fytHO/FM= X-Google-Smtp-Source: AOwi7QDBaWlxuVxF7md9etaP9138p45geQ9EjxZKr4ZtLdEK2D9r6jUGSvLwrE2MugskF00ZK1uRjg== X-Received: by 10.28.38.198 with SMTP id m189mr634465wmm.28.1506497803328; Wed, 27 Sep 2017 00:36:43 -0700 (PDT) Received: from Red.local (LFbn-MAR-1-580-96.w90-118.abo.wanadoo.fr. [90.118.159.96]) by smtp.googlemail.com with ESMTPSA id n9sm5660526wmd.12.2017.09.27.00.36.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 27 Sep 2017 00:36:42 -0700 (PDT) From: Corentin Labbe To: robh+dt@kernel.org, mark.rutland@arm.com, maxime.ripard@free-electrons.com, wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, andrew@lunn.ch, f.fainelli@gmail.com, frowand.list@gmail.com Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, Corentin Labbe Subject: [PATCH v6 09/11] net: stmmac: dwmac-sun8i: choose internal PHY via phy-is-integrated Date: Wed, 27 Sep 2017 09:34:12 +0200 Message-Id: <20170927073414.17361-10-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.5 In-Reply-To: <20170927073414.17361-1-clabbe.montjoie@gmail.com> References: <20170927073414.17361-1-clabbe.montjoie@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The current way to find if the phy is internal is to compare DT phy-mode and emac_variant/internal_phy. But it will negate a possible future SoC where an external PHY use the same phy mode than the internal one. This patch adds a new way to find if the PHY is internal, via the phy-is-integrated property. Since the internal_phy variable does not need anymore to contain the xMII mode used by the internal PHY, it is still used for knowing the presence of an internal PHY, so it is modified to a boolean soc_has_internal_phy. Signed-off-by: Corentin Labbe Acked-by: Chen-Yu Tsai Reviewed-by: Florian Fainelli --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) -- 2.13.5 diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index fffd6d5fc907..672553b652bd 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -41,14 +41,14 @@ * This value is used for disabling properly EMAC * and used as a good starting value in case of the * boot process(uboot) leave some stuff. - * @internal_phy: Does the MAC embed an internal PHY + * @soc_has_internal_phy: Does the MAC embed an internal PHY * @support_mii: Does the MAC handle MII * @support_rmii: Does the MAC handle RMII * @support_rgmii: Does the MAC handle RGMII */ struct emac_variant { u32 default_syscon_value; - int internal_phy; + bool soc_has_internal_phy; bool support_mii; bool support_rmii; bool support_rgmii; @@ -75,7 +75,7 @@ struct sunxi_priv_data { static const struct emac_variant emac_variant_h3 = { .default_syscon_value = 0x58000, - .internal_phy = PHY_INTERFACE_MODE_MII, + .soc_has_internal_phy = true, .support_mii = true, .support_rmii = true, .support_rgmii = true @@ -83,20 +83,20 @@ static const struct emac_variant emac_variant_h3 = { static const struct emac_variant emac_variant_v3s = { .default_syscon_value = 0x38000, - .internal_phy = PHY_INTERFACE_MODE_MII, + .soc_has_internal_phy = true, .support_mii = true }; static const struct emac_variant emac_variant_a83t = { .default_syscon_value = 0, - .internal_phy = 0, + .soc_has_internal_phy = false, .support_mii = true, .support_rgmii = true }; static const struct emac_variant emac_variant_a64 = { .default_syscon_value = 0, - .internal_phy = 0, + .soc_has_internal_phy = false, .support_mii = true, .support_rmii = true, .support_rgmii = true @@ -648,7 +648,7 @@ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) "Current syscon value is not the default %x (expect %x)\n", val, reg); - if (gmac->variant->internal_phy) { + if (gmac->variant->soc_has_internal_phy) { if (!gmac->use_internal_phy) { /* switch to external PHY interface */ reg &= ~H3_EPHY_SELECT; @@ -932,7 +932,7 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) } plat_dat->interface = of_get_phy_mode(dev->of_node); - if (plat_dat->interface == gmac->variant->internal_phy) { + if (of_property_read_bool(plat_dat->phy_node, "phy-is-integrated")) { dev_info(&pdev->dev, "Will use internal PHY\n"); gmac->use_internal_phy = true; gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0);