Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1277106imm; Fri, 27 Jul 2018 14:24:36 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfZZYZGZTbb5Up29BpiEVz3sT2FsZAxxvFUE0LAhxZekj2KU2bd8fvn6E9gJj2/6FDrK40y X-Received: by 2002:a62:a649:: with SMTP id t70-v6mr8212000pfe.149.1532726676519; Fri, 27 Jul 2018 14:24:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532726676; cv=none; d=google.com; s=arc-20160816; b=a9Z0b55QImZxmMn2LoOfgVeZwq5EKk6mmx2dms8jbl710LBnMOwm/oKCbJt/lM3/5V wQ0rrTNIGZQLmS6/C4VKjsNVr7rTIdGWN56yfkHHLZQudwJed4WihGP24/9nmxb7tiVq uSzFBGycMcDJ2MD83K9pwxW34tVKN38WtMcBsh5bYTuy7eLqtE5pOzj9Wec/6fAvokp3 NFMkpvMuskEC9zt/eOwGKZv7Qc/X6vg765O7Zvfz8vcnzpX91luTxw6A+18Db3cUGYgL 53AGtAN4lzi9ln3XB85t4pilxuzCifFPgyo4JQwiqqUDTyvkADlUBnXir28Wpgo0yGUB tTug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=glrFiC2JaRHiBpgqj/ziGAvHYME6SZdoFPAAkgy0RgQ=; b=See0Xxa5glLGGgIdh1yobf3IYsjU+n3QBZcw42GAl7zgyeKgaarPiI2tag6BuGQkUE 19wbMCkYEx7ZuckOfk4UCDxqx4FAV0LOgLItjspZKTBIvSPt7fJF9eucsZB/haaTyru7 enB/V9PF/MDH9RmJkctP8fVWwVfn6Z1KPunLesme88010xJPLUWkBhbSV9Gh6BIhYefb 6+ucKcWHQ7v2nV3+ZvNnOsU3Sc6L0vhiO1qAh8e6DEX834zwzNOGwiP1tIFduz0V1vKX tH0zIQhasH2BVoQQZmDsaOdScz/MwVCEB3o6ZKFpgyFzyRsl05/PA/EtN4XTT+o+c9d+ 4i+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=eAMVYrEV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u7-v6si5040847pfb.227.2018.07.27.14.24.22; Fri, 27 Jul 2018 14:24:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=eAMVYrEV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389821AbeG0WrM (ORCPT + 99 others); Fri, 27 Jul 2018 18:47:12 -0400 Received: from mail-qt0-f196.google.com ([209.85.216.196]:41763 "EHLO mail-qt0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389791AbeG0WrL (ORCPT ); Fri, 27 Jul 2018 18:47:11 -0400 Received: by mail-qt0-f196.google.com with SMTP id e19-v6so6510028qtp.8 for ; Fri, 27 Jul 2018 14:23:28 -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=glrFiC2JaRHiBpgqj/ziGAvHYME6SZdoFPAAkgy0RgQ=; b=eAMVYrEVayz/VBQ3w9slcxxuf0bquDmzmByVbJEay6ord4hkfaBA6eh7GUSkKjQVij l3UXPQ+xOLAfF6rZPKG+owzEFkUxVd8blxtDVgHjFReE5h46QTQ9W80oJYtvXtbrJ323 vTQCYC4uA4ej8LplirFIl4tNV/Ji6NGby/9Os= 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=glrFiC2JaRHiBpgqj/ziGAvHYME6SZdoFPAAkgy0RgQ=; b=J+aeT6yP+OYEG3NQvQMuxnLawGX/WBmFZT3peqpnpPgdZA+fqO56MNvZAmTE18QmYx aIswGjaBBT+D0rYRy3yWnJodw27KR8qiGsgt0Wlz+yZUt3ZlfReVZuMYFGg9+va5wOJX nBaoUcDld4s3FUdfO0hUJkNq8kW5gEFLK1MyZ7dqPpf8aX//LVZjlNFoBSiqv3qNU725 XJ7w1nR8FjePxnPBq/WtUJjjYbaoiGlmbwqopQImfqUQxyfV6iQrDiVJMYTMyy5ZLQQT 5Z74ZYxv+Ajvulof3PFViUC5MZGAdTmWpvMTNGw12U05xjiv0Ta7mwZpUIlOYzEmhk5j nxwA== X-Gm-Message-State: AOUpUlGTohWL/4M6B4wt4/9EexnXMDaaxMr8XxuCxv8efciKJdIALIlr WONpOhkdX0jNBuisPolpdCXD4Q== X-Received: by 2002:ac8:3692:: with SMTP id a18-v6mr8029803qtc.406.1532726607593; Fri, 27 Jul 2018 14:23:27 -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.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 27 Jul 2018 14:23:27 -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 Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, Arun Parameswaran Subject: [PATCH v2 2/7] net: phy: Fix the register offsets in Broadcom iProc mdio mux driver Date: Fri, 27 Jul 2018 14:23:28 -0700 Message-Id: <1532726613-6483-3-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> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Modify the register offsets in the Broadcom iProc mdio mux to start from the top of the register address space. Earlier, the base address pointed to the end of the block's register space. The base address will now point to the start of the mdio's address space. The offsets have been fixed to match this. Signed-off-by: Arun Parameswaran --- drivers/net/phy/mdio-mux-bcm-iproc.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/net/phy/mdio-mux-bcm-iproc.c b/drivers/net/phy/mdio-mux-bcm-iproc.c index 0831b71..48bb74a 100644 --- a/drivers/net/phy/mdio-mux-bcm-iproc.c +++ b/drivers/net/phy/mdio-mux-bcm-iproc.c @@ -22,7 +22,7 @@ #include #include -#define MDIO_PARAM_OFFSET 0x00 +#define MDIO_PARAM_OFFSET 0x23c #define MDIO_PARAM_MIIM_CYCLE 29 #define MDIO_PARAM_INTERNAL_SEL 25 #define MDIO_PARAM_BUS_ID 22 @@ -30,20 +30,22 @@ #define MDIO_PARAM_PHY_ID 16 #define MDIO_PARAM_PHY_DATA 0 -#define MDIO_READ_OFFSET 0x04 +#define MDIO_READ_OFFSET 0x240 #define MDIO_READ_DATA_MASK 0xffff -#define MDIO_ADDR_OFFSET 0x08 +#define MDIO_ADDR_OFFSET 0x244 -#define MDIO_CTRL_OFFSET 0x0C +#define MDIO_CTRL_OFFSET 0x248 #define MDIO_CTRL_WRITE_OP 0x1 #define MDIO_CTRL_READ_OP 0x2 -#define MDIO_STAT_OFFSET 0x10 +#define MDIO_STAT_OFFSET 0x24c #define MDIO_STAT_DONE 1 #define BUS_MAX_ADDR 32 #define EXT_BUS_START_ADDR 16 +#define MDIO_REG_ADDR_SPACE_SIZE 0x250 + struct iproc_mdiomux_desc { void *mux_handle; void __iomem *base; @@ -169,6 +171,14 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev) md->dev = &pdev->dev; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (res->start & 0xfff) { + /* For backward compatibility in case the + * base address is specified with an offset. + */ + dev_info(&pdev->dev, "fix base address in dt-blob\n"); + res->start &= ~0xfff; + res->end = res->start + MDIO_REG_ADDR_SPACE_SIZE - 1; + } md->base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(md->base)) { dev_err(&pdev->dev, "failed to ioremap register\n"); -- 1.9.1