From patchwork Thu Aug 10 08:51:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 9893079 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 5721B60348 for ; Thu, 10 Aug 2017 08:55:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 51E4128A0A for ; Thu, 10 Aug 2017 08:55:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4664528A56; Thu, 10 Aug 2017 08:55:24 +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=-1.9 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, DKIM_VALID, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE 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 9FFD828A0A for ; Thu, 10 Aug 2017 08:55:23 +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=abFSjw52cmcqg9KjqZrBO0x40y oiFIwQTgbE7oO1s21v9fF4Y9/8Rxpx8vvkor/2Sq1SOa4rvQzSimTSUUBDrd1PjsdmH3LwkSVMwWO 8tvlLd+N2HqcVvljJP0y+21/8riWcwV0vXs2hMjHpQoM4z5eN2QFL0dckv2vCTzOxII+J+cQEykV2 CR1PBP9mtekLRi3QSUZePSd8D+dbHt7dwkANkiS+X456VMV9JLiosyAu4zw4uRyikyfpDaAvKuDbv BxgaTWtvkAa54PVL2CPDiVQDTPNd8tnrlRZs8Hb81s+9arz6MEM718PCvebM7cA5ZSQDCcsB53dlp QQbNcHoA==; 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 1dfjFO-0002LR-BL; Thu, 10 Aug 2017 08:55:18 +0000 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dfjEO-0000kP-4b for linux-arm-kernel@lists.infradead.org; Thu, 10 Aug 2017 08:54:19 +0000 Received: by mail-wm0-x241.google.com with SMTP id q189so2229127wmd.0 for ; Thu, 10 Aug 2017 01:53:55 -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=e4aoyzMpO6rg7ORAcvnBrFtIB95R3Yet+i+X2VBuHTaablKHE0045RESHLio774gsp N+3zxSp01r65mfostc/BZAqQljwLfH/O25jL2di6AIZk7Ybp5GpdsZCs5dqEnwFmi3pA qSXuBdTxTf7OAlQ5DeK00S6H0c+EvUQo8ispgLk6uHc2heCmE8a+iLw8WCjCzSTkYkG7 ExIokInd9RHggspQs701YvFF9WiQCmi4057Ktx98xauzs2ryQoPxxvkSvM57RJMefM6e lBpa05PC8n5iWOgauUvD5KEHYsUXjF4fI/w0kj2Gdb9ujSYybD7Zi2WuIIXrlBWZCGM1 UcpQ== 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=Eb7ic+/XoBLJs+gSsiGb3zrsnWaNoP9vMlXFmso3wjiSpGpRBxCpc+0A2ekqjW4a++ ssNkZ6anid5zI36zQ6NSZK3aWr8trpk9FujkRh5zWIluR6L+T+dMOxGGpqnnAVLE4TG1 Vi5NQMLxr0Y3QaB0GvkNbi4uJsUgVGiegYOb2vuG+j0Oqdp//YMHvjYX60Nit+MVKdp0 OS0UPEjFnjm1U+HygMk6uvDvfCWd51W1e8SOP2ywN7JLS82kwyak484Z8cp9FHcaAJ/c GKyn5Ohatm+kbdMtC5YPSHcgP+JiqUr+6CglLK2uqwyGfxtRVshsgB0fuzcTmevJCXCh e59w== X-Gm-Message-State: AHYfb5iDYPCvjhcyK2mHOxNHRdhrYQKlS9nDsWJ05OOX5hntqjqRuQRX +lXyvSjYeWMrig== X-Received: by 10.28.11.131 with SMTP id 125mr7119887wml.82.1502355234383; Thu, 10 Aug 2017 01:53:54 -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 u17sm5802713wra.42.2017.08.10.01.53.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 10 Aug 2017 01:53:53 -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, andrew@lunn.ch, f.fainelli@gmail.com Subject: [PATCH 3/3] net: stmmac: dwmac-sun8i: choose internal PHY via phy-is-integrated Date: Thu, 10 Aug 2017 10:51:29 +0200 Message-Id: <20170810085129.20463-4-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170810085129.20463-1-clabbe.montjoie@gmail.com> References: <20170810085129.20463-1-clabbe.montjoie@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170810_015416_368980_4887F428 X-CRM114-Status: GOOD ( 15.94 ) 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: netdev@vger.kernel.org, Corentin Labbe , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@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 --- 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);