From patchwork Wed Aug 1 17:56:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Parameswaran X-Patchwork-Id: 10552787 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 81865157D for ; Wed, 1 Aug 2018 18:05:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7918D2B9F8 for ; Wed, 1 Aug 2018 18:05:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6C7552BA0C; Wed, 1 Aug 2018 18:05:28 +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.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.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 12E3A2B9F8 for ; Wed, 1 Aug 2018 18:05:28 +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=qaNvnaMmEcgYfJy6Cshg0J4B8ilKZ3sDB1V51g3Nh5I=; b=oT3zH5bKz0QmhHlangY4q5NNdC JVTKmn412qg5GDyWQkTRxEkBNwMaDnaTbtyaabWycJ/MKcnRWGUouCnTnc9NK0szwfVd00FvaMglU FcOfwkCIYNkOnUB3B8CrHOg/OVUfGGrpngJZqyLocqGbgzXTCj4FnO+eDGiNjJNUrD0yc+dKoPuyS DDxifQFDsCZ2ycp1vUYQX0Qp7w9ZQevgnKR9tZXVaCwpXgK6j+QJduKA00zpmCF+2lfwHf235UWdV R/5x+XkEbgz76nagj9xpVDbwEMSpQ8/gBlzcdDyem5urERDU/bhLZkFgLxsZBkV3W5ft9DYsEQkF/ mDohRQmg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fkvUz-00085y-W9; Wed, 01 Aug 2018 18:05:26 +0000 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fkvMS-0001jv-4q for linux-arm-kernel@lists.infradead.org; Wed, 01 Aug 2018 17:56:41 +0000 Received: by mail-qt0-x244.google.com with SMTP id y5-v6so20843646qti.12 for ; Wed, 01 Aug 2018 10:56:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Nf12dmutfgCfp/0jaiDAW47A5xaVfjlLX5su1g70bm4=; b=IkrcMBqXejJbjiM9esDZ0KrloX+mFKyLKzB9nhDcjUYPH1D6er4lezIalmpfbsVeMX Ae7xzxcOPMbm4t9dOGA9jB2B8DcxW+yPutDonqgEMqZibeiAOOv8aE9Ek7HL8BEstxUR tfHQHydIgUSEQcplQwUvBZuYDChkAWLorSPxo= 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=Nf12dmutfgCfp/0jaiDAW47A5xaVfjlLX5su1g70bm4=; b=r8a/AMpiKBGeHDMSscxcSkZw1Bn3bcklKZrfO5L3PnzVIo1ed49Sa+IE3Oj8Y6vaKU uLgUceEszG5M/H54ChxKayX+/zLGCIdJKovc3MG4gClwiVGrVhh8q6OBREbi2uyt/Ohs HufMtW4i5D/P/bffEmVykgxkTpULP40kTBCOcLq/osy7OuLlHx2+/h3WUpw40Wu1GYng 2TuQQ7BGUPRwFk1hDMdExDYMBNlRBn+STl0Ywb3WrbTNrIGEYojqIBwlIJ7PNkcINBA+ 2Fdv/usyK+KDXssAVaBA6WxnmJWzcOvWZH2QDTLwnhFQiTjUdTFB65za9y0CvbNO2lOf erGA== X-Gm-Message-State: AOUpUlFHgnH0SB1S2XUnmfyT+9PUxoaxunOqtSWikTyvP6ELmYmiba0F rZUTr1VvF2DiJiqrTbfnZhjofg== X-Google-Smtp-Source: AAOMgpfmhVFCO2E//aPsp2brBTIDzbbcNJEQ1NFN+UyQUdkP/y4t9PFcCW7kZDbt4CXIm8ACtfx2rA== X-Received: by 2002:ac8:3473:: with SMTP id v48-v6mr25139566qtb.400.1533146184959; Wed, 01 Aug 2018 10:56:24 -0700 (PDT) Received: from lbrmn-lnxub86.ric.broadcom.com ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id m12-v6sm14401729qkl.54.2018.08.01.10.56.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 01 Aug 2018 10:56:24 -0700 (PDT) From: Arun Parameswaran To: "David S. Miller" , Florian Fainelli , Andrew Lunn , Rob Herring , Mark Rutland , Ray Jui , Scott Branden , Catalin Marinas , Will Deacon Subject: [PATCH v3 4/8] net: phy: Disable external master access in bcm mdio mux driver Date: Wed, 1 Aug 2018 10:56:22 -0700 Message-Id: <1533146186-8374-5-git-send-email-arun.parameswaran@broadcom.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1533146186-8374-1-git-send-email-arun.parameswaran@broadcom.com> References: <1533146186-8374-1-git-send-email-arun.parameswaran@broadcom.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180801_105636_723464_B3512B89 X-CRM114-Status: GOOD ( 15.32 ) 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, netdev@vger.kernel.org, Arun Parameswaran , linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.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 Configure the scan control register in the Broadcom iProc mdio mux driver to disable access to external master. In some SoC's, the scan control register defaults to an incorrect value. Signed-off-by: Arun Parameswaran Reviewed-by: Andrew Lunn Reviewed-by: Florian Fainelli --- drivers/net/phy/mdio-mux-bcm-iproc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/phy/mdio-mux-bcm-iproc.c b/drivers/net/phy/mdio-mux-bcm-iproc.c index 48bb74a..c36ce4b 100644 --- a/drivers/net/phy/mdio-mux-bcm-iproc.c +++ b/drivers/net/phy/mdio-mux-bcm-iproc.c @@ -22,6 +22,9 @@ #include #include +#define MDIO_SCAN_CTRL_OFFSET 0x008 +#define MDIO_SCAN_CTRL_OVRIDE_EXT_MSTR 28 + #define MDIO_PARAM_OFFSET 0x23c #define MDIO_PARAM_MIIM_CYCLE 29 #define MDIO_PARAM_INTERNAL_SEL 25 @@ -53,6 +56,16 @@ struct iproc_mdiomux_desc { struct mii_bus *mii_bus; }; +static void mdio_mux_iproc_config(struct iproc_mdiomux_desc *md) +{ + u32 val; + + /* Disable external mdio master access */ + val = readl(md->base + MDIO_SCAN_CTRL_OFFSET); + val |= BIT(MDIO_SCAN_CTRL_OVRIDE_EXT_MSTR); + writel(val, md->base + MDIO_SCAN_CTRL_OFFSET); +} + static int iproc_mdio_wait_for_idle(void __iomem *base, bool result) { unsigned int timeout = 1000; /* loop for 1s */ @@ -216,6 +229,8 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev) goto out_register; } + mdio_mux_iproc_config(md); + dev_info(md->dev, "iProc mdiomux registered\n"); return 0;