From patchwork Thu Aug 2 00:53:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Parameswaran X-Patchwork-Id: 10553179 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 358FE13B4 for ; Thu, 2 Aug 2018 01:05:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 25A31298AA for ; Thu, 2 Aug 2018 01:05:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 155A12B513; Thu, 2 Aug 2018 01:05:27 +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 92CFD298AA for ; Thu, 2 Aug 2018 01:05:26 +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=InM73pzxs7zgywq70hUNTyT+Vr 1ylHHu0REHlgwcVLAvUDUNWrVlQvZqw22GggQjC6syQhIreQ+8xMurS3iwZrj+YgAWEHiQZiGHOBv aQ/PEvSnPb6PCL8PW9H2mNj1LAmXUWa+Q0MzGjZjwtMXHSU8DCdA1QCYlxk7b2d8KzHHN9wsBShR+ Irqq9T/ttmoaQv/VjY+5TQ3oIzl0EBU3DB5krlDy9cjahrQ951aLz/vpxTbIVy5dLdSOoBws7q6BP B+CLn8G7bUQmZQyp8Zut0vFZ3yu1VCyM8iOL9IgbpK7pxhWcJgXjZ4Gyhlo9734cwtJSJtQVpdhHg 7DmRdYfg==; 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 1fl23R-0002kg-34; Thu, 02 Aug 2018 01:05:25 +0000 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fl1sQ-0004RA-6S for linux-arm-kernel@lists.infradead.org; Thu, 02 Aug 2018 00:54:07 +0000 Received: by mail-qk0-x244.google.com with SMTP id 26-v6so422296qks.9 for ; Wed, 01 Aug 2018 17:53:51 -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=XYU820zg1XHKnPlftT/nf8r+l7YBOPuDJ5zMrvEnp7kJ0PnUxT62LLTSaatdW4Sj24 EXGQI+goI6WOaq/ssTyesoItgHbRUm4XXikraaj41Rj58sHf8sUjiAP94M/4mnRs3SVS JydIKAlzn9Qd9wYTybwlU795Tl7msV4dFy4WM= 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=g4hT81nXaXG5j9eYHIGSdyECvz4jlMVgXDkX+xRarfyRc48DG2JU1ltHZEmsiL+GNG NqlNamjZv5Urp6+30TwhuzoVfkvVxPMVm+cguf9K5dEdHjwXgAy2wgdb9BfZ5K6xx6bK sdpkX7Vz/MX+M+xJzWXMkU2v8ziYztVxnaGvOdoktkl6Q2f5f9Zju02tWtM+UbNAvSi8 wDLOD6ezbBfRZJTWBSCClkkdWz9LzXCILrScjAGng0fJbF+SMRe71bOwPX2UEj3zgwMN kwYfLQuP91RelCHSnp7FRs3ET/HcgpPDYbV2VXJ6Hb/jg4+6MTeee43etdjP7THJVyxE okVg== X-Gm-Message-State: AOUpUlEgZ3yBF8LsSvmrlOoJvrh9r9rlrpCi7tHAoBq90wGvI6QSHzjm BWuD2PXXj+b9jDjoZrNyv8wwbg== X-Google-Smtp-Source: AAOMgpf6yAKLaGbJlL9DM5N3NhcgVYe2C2w+WNGe1GOGuLlWoTQuMaLY6kx+qbZWXoiwjLpHi1FuYw== X-Received: by 2002:a37:de1a:: with SMTP id h26-v6mr595757qkj.442.1533171231073; Wed, 01 Aug 2018 17:53:51 -0700 (PDT) Received: from lbrmn-lnxub86.ric.broadcom.com ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id e81-v6sm325116qka.3.2018.08.01.17.53.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 01 Aug 2018 17:53:50 -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 v4 4/8] net: phy: Disable external master access in bcm mdio mux driver Date: Wed, 1 Aug 2018 17:53:49 -0700 Message-Id: <1533171233-14557-5-git-send-email-arun.parameswaran@broadcom.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1533171233-14557-1-git-send-email-arun.parameswaran@broadcom.com> References: <1533171233-14557-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_175402_847344_A98B2FE8 X-CRM114-Status: GOOD ( 15.26 ) 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;