From patchwork Fri Jul 27 21:23:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Parameswaran X-Patchwork-Id: 10547747 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 D9E14139A for ; Fri, 27 Jul 2018 21:24:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C971D2C541 for ; Fri, 27 Jul 2018 21:24:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BD05E2C65B; Fri, 27 Jul 2018 21:24:08 +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 55AF62C541 for ; Fri, 27 Jul 2018 21:24:08 +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=8+d3wHD7TC7O5jbuKhW7g+w3qL6bXk+QF1h4mD9AaqY=; b=lNA7/EHj9m4wowak/rWJPJjxLt kmi7Xds3TEjvCRGo8nssQlqQDZ27TQ+BB9Qg4RDgn9CcLsfMtTz+rT+SNSwwPnm52bRYDNyrRjgjQ 551e4qahGrniV9okWrlDNf4eLzyA/zRn5Ela6Wmr+zqrOz6MVu9MjCgjJ4ICkjmYxRkB41Rpya+l3 m2M8jpAfmI9LTxJrOXrWPBsB3O8/gvzdd3XXazT78e8pU/AAapLWbdA3gvwY7pKFtDyyUREMk7kg+ +h1Q6n3DfhloEexvjJKSN/qU03GRPyUieqj54XeLTfVT6v5G6pMOdz2HI+m2zFSm/6ph+rvHWH0c/ 6AktnHXQ==; 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 1fjADU-0007TX-H8; Fri, 27 Jul 2018 21:24:04 +0000 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fjAD7-0006xH-SL for linux-arm-kernel@lists.infradead.org; Fri, 27 Jul 2018 21:23:45 +0000 Received: by mail-qk0-x241.google.com with SMTP id 26-v6so4211629qks.9 for ; Fri, 27 Jul 2018 14:23:34 -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=fPy8zPe6vPwzlEfwZqSfCetRsqsUUmfFrykow6BYHEI=; b=gXoZFa7q++vuUQsgIhl7QzDxj6Ewj4MMz5xAvSRPv2XQ6HaDHcLtwM7z4CcKbavpR9 Ra8YRK8xVpDopM8ckq5nahnfUo9mE+Q9GI8UitiNOaa4UIlw/0y5LB/Q9+E8Iy5L6IZ6 rSNAvCrOkno/dYNCoXjvGeF6hYLsrNsA8i/YU= 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=fPy8zPe6vPwzlEfwZqSfCetRsqsUUmfFrykow6BYHEI=; b=I7YXIp1hFEoN4h4YURSDw/6QSomLbtP7qK2m66dD4BKrYNMm7GBH/3osuM3nDrNo9h 7bsmSWUj+KPIIONahpfTqqE0jrx1Bne7fCTuZWzh4wjPPZGqGFHzaOp9cOMt7ZEvbv4+ TpPWQQ+WAMDKzrvEaDwuHydLkd1Y1/XIawz6nv3CHAcwkkBzSG2eMVbfaD0s98yI7TtE xXuK9U3oZO+wOpGD0eu1joqrECC/3WC/B6Fz3PlicsbNb+84AL7RMZTwqxUTP/0fKj9d dfTtZB6ziEWd+KO9uTndazYBMjJIZouOa8pd546G9WRp3rZ0yj6oGoDinyqp27S5zEr+ tlRg== X-Gm-Message-State: AOUpUlEoRSxTARlgI97i25yyXkXVCH/KgZyEHXrqFOe79rBseYRKbzuX q6YwwY1ImrL65tKS9hYTIQXPrw== X-Google-Smtp-Source: AAOMgpdPNuvW+4TsmXgdUVB17D885pAr87/wUNRnv9KI7qKKcmanY6lMflUedfCrv7tLVyz89ZMUHA== X-Received: by 2002:a37:d401:: with SMTP id l1-v6mr7312531qki.221.1532726613522; Fri, 27 Jul 2018 14:23:33 -0700 (PDT) Received: from lbrmn-lnxub86.ric.broadcom.com ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id e21-v6sm3416622qtc.67.2018.07.27.14.23.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 27 Jul 2018 14:23:33 -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 v2 4/7] net: phy: Disable external master access in bcm mdio mux driver Date: Fri, 27 Jul 2018 14:23:30 -0700 Message-Id: <1532726613-6483-5-git-send-email-arun.parameswaran@broadcom.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1532726613-6483-1-git-send-email-arun.parameswaran@broadcom.com> References: <1532726613-6483-1-git-send-email-arun.parameswaran@broadcom.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180727_142342_136816_22A95952 X-CRM114-Status: GOOD ( 16.48 ) 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;