From patchwork Fri Aug 18 12:21:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 9908557 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 456C8602C8 for ; Fri, 18 Aug 2017 12:34:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2E78122362 for ; Fri, 18 Aug 2017 12:34:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1FE7828C4F; Fri, 18 Aug 2017 12:34:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, DKIM_VALID, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 927EE22362 for ; Fri, 18 Aug 2017 12:34:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=BdbN1nnh4cfgcbyYay5500BJ947foPM6NN6NIuNcVUI=; b=F7D34NbKd6Hy4/2hpoE5sGZb9B F6MtqH5RZk8nHQN5UXP7wnGhrl4Kc2TElrJfqkCmaRu2XXHYGtyEJPqSlAtLHG9FkmgxCPJpMxAQG Nx4FKAu4G4FfFRFQjwGQbqHVApoD4RpFKvqPboQFQFxghqWEf3Ig+XC7jdMf7dsKw4lb+U4bUFjqS h2TfKmapZ1vW69wu1Thja3aKhxLSyRd5VxVeRIa1SuMb1l7KSSIPZovghg8Z2wqWcmhtVrg7gTC10 Xu9VWRgvyl3zGM63v7HN2RancnnYzhTmVr51NELajdb6DZXmI8JkKE2jX8RisCCco54Vjfq+Z3Kpn ig75jNdA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1digUG-000865-N5; Fri, 18 Aug 2017 12:34:52 +0000 Received: from mail-wr0-x243.google.com ([2a00:1450:400c:c0c::243]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1digKB-0007NL-H7 for linux-arm-kernel@lists.infradead.org; Fri, 18 Aug 2017 12:24:30 +0000 Received: by mail-wr0-x243.google.com with SMTP id 5so1768963wrz.0 for ; Fri, 18 Aug 2017 05:24:07 -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=vd4hUpml01skHHEZohjv1DS1M9bSt1JCiybFmIsfTCM=; b=KdkCSckqWDcGe5Y6z2h7rYw4d1bUIFtvRI//vOd1ma8Zfc2+rNGdkVcb55TcAoNOQy pH2sL2fltMWHcsJs1T4mqYzi4MUMWSfjcdB06ivRC3Wxp7WZwjdZNvTnKWxUslM4xWLl Yt0elDWxtpkY8s1nF2BkiycKL//sQ1LXNm0ML1v6GopTGet/gmXf72aBXpyDxPfB/efO M+3QC/12vUZ1AzCc/XO8LqTJ773Zok9V+WQk77NduVnkVueRMtKcvwE3DsH3hMFkk4em WP5wwdGk2//ZilWzbHmi3auFr6/PDIu9F9jdNo9eW0elU+5FveaErTKlo4XZxJCp899z HbAQ== 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=vd4hUpml01skHHEZohjv1DS1M9bSt1JCiybFmIsfTCM=; b=OrD1Hdj7Jq1y6Rw4cO94QPWG/mrUJaH1d7qImEBcBeW4/xgKn56ieJwYl4kH38atAP 6Xe+YyJxPiU6QM2EaBt/x6L+7NE93Kr/kZTZZ4Rsg64oBinQI2dTOxLhLcLAqxc0dtVs 7tun3Oe4IwGhEq7GXYwbKf4SICFqUK1f+eLUPpiEnsxKQsGxEfrQpOu1Vjgmy5CyZJm5 LQczP9FB2KR0GLkhp/2ndeF8BOvwh7MUYZ8qEUYA3UIvVShGOMqMgD3Dny/GEsr2mA+F kFVcqV4XRY2xNVKEVVK/uGi8StcAb9wjf4ANfi8TMrNNwUQM2qsVY1vwjITjIZ/fZF7B //Aw== X-Gm-Message-State: AHYfb5hOatKbg/+14MWcRUVL8UODCbxES14IMbeosNgmAnLYYegLpJUZ XgkALSRinmjNmg== X-Received: by 10.223.162.204 with SMTP id t12mr4989472wra.2.1503059045691; Fri, 18 Aug 2017 05:24:05 -0700 (PDT) Received: from Red.local (LFbn-1-7109-228.w90-116.abo.wanadoo.fr. [90.116.45.228]) by smtp.googlemail.com with ESMTPSA id b23sm7754738wrd.40.2017.08.18.05.24.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 18 Aug 2017 05:24:05 -0700 (PDT) From: Corentin Labbe To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk, maxime.ripard@free-electrons.com, wens@csie.org, peppe.cavallaro@st.com, alexandre.torgue@st.com Subject: [PATCH v3 2/4] net: stmmac: dwmac-sun8i: choose internal PHY via phy-is-integrated Date: Fri, 18 Aug 2017 14:21:16 +0200 Message-Id: <20170818122118.4925-3-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170818122118.4925-1-clabbe.montjoie@gmail.com> References: <20170818122118.4925-1-clabbe.montjoie@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170818_052427_797674_E72AD73F X-CRM114-Status: GOOD ( 16.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Corentin Labbe , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP 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(-) 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);