linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: "Chia-Wei, Wang" <chiawei_wang@aspeedtech.com>
To: <robh+dt@kernel.org>, <lee.jones@linaro.org>, <joel@jms.id.au>,
	<andrew@aj.id.au>, <linus.walleij@linaro.org>, <minyard@acm.org>,
	<devicetree@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-aspeed@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>,
	<openbmc@lists.ozlabs.org>
Cc: BMC-SW@aspeedtech.com, cyrilbur@gmail.com,
	haiyue.wang@linux.intel.com, rlippert@google.com
Subject: [PATCH v5 3/5] ipmi: kcs: aspeed: Adapt to new LPC DTS layout
Date: Thu, 14 Jan 2021 21:16:20 +0800	[thread overview]
Message-ID: <20210114131622.8951-4-chiawei_wang@aspeedtech.com> (raw)
In-Reply-To: <20210114131622.8951-1-chiawei_wang@aspeedtech.com>

Add check against LPC device v2 compatible string to
ensure that the fixed device tree layout is adopted.
The LPC register offsets are also fixed accordingly.

Signed-off-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
Acked-by: Haiyue Wang <haiyue.wang@linux.intel.com>
---
 drivers/char/ipmi/kcs_bmc_aspeed.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/drivers/char/ipmi/kcs_bmc_aspeed.c b/drivers/char/ipmi/kcs_bmc_aspeed.c
index a140203c079b..eefe362f65f0 100644
--- a/drivers/char/ipmi/kcs_bmc_aspeed.c
+++ b/drivers/char/ipmi/kcs_bmc_aspeed.c
@@ -27,7 +27,6 @@
 
 #define KCS_CHANNEL_MAX     4
 
-/* mapped to lpc-bmc@0 IO space */
 #define LPC_HICR0            0x000
 #define     LPC_HICR0_LPC3E          BIT(7)
 #define     LPC_HICR0_LPC2E          BIT(6)
@@ -52,15 +51,13 @@
 #define LPC_STR1             0x03C
 #define LPC_STR2             0x040
 #define LPC_STR3             0x044
-
-/* mapped to lpc-host@80 IO space */
-#define LPC_HICRB            0x080
+#define LPC_HICRB            0x100
 #define     LPC_HICRB_IBFIF4         BIT(1)
 #define     LPC_HICRB_LPC4E          BIT(0)
-#define LPC_LADR4            0x090
-#define LPC_IDR4             0x094
-#define LPC_ODR4             0x098
-#define LPC_STR4             0x09C
+#define LPC_LADR4            0x110
+#define LPC_IDR4             0x114
+#define LPC_ODR4             0x118
+#define LPC_STR4             0x11C
 
 struct aspeed_kcs_bmc {
 	struct regmap *map;
@@ -348,12 +345,20 @@ static int aspeed_kcs_probe(struct platform_device *pdev)
 	struct device_node *np;
 	int rc;
 
-	np = pdev->dev.of_node;
+	np = dev->of_node->parent;
+	if (!of_device_is_compatible(np, "aspeed,ast2400-lpc-v2") &&
+	    !of_device_is_compatible(np, "aspeed,ast2500-lpc-v2") &&
+	    !of_device_is_compatible(np, "aspeed,ast2600-lpc-v2")) {
+		dev_err(dev, "unsupported LPC device binding\n");
+		return -ENODEV;
+	}
+
+	np = dev->of_node;
 	if (of_device_is_compatible(np, "aspeed,ast2400-kcs-bmc") ||
-			of_device_is_compatible(np, "aspeed,ast2500-kcs-bmc"))
+	    of_device_is_compatible(np, "aspeed,ast2500-kcs-bmc"))
 		kcs_bmc = aspeed_kcs_probe_of_v1(pdev);
 	else if (of_device_is_compatible(np, "aspeed,ast2400-kcs-bmc-v2") ||
-			of_device_is_compatible(np, "aspeed,ast2500-kcs-bmc-v2"))
+		 of_device_is_compatible(np, "aspeed,ast2500-kcs-bmc-v2"))
 		kcs_bmc = aspeed_kcs_probe_of_v2(pdev);
 	else
 		return -EINVAL;
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-01-14 13:19 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 13:16 [PATCH v5 0/5] Remove LPC register partitioning Chia-Wei, Wang
2021-01-14 13:16 ` [PATCH v5 1/5] dt-bindings: aspeed-lpc: Remove LPC partitioning Chia-Wei, Wang
2021-01-20  4:57   ` Andrew Jeffery
2021-01-25 21:25   ` Rob Herring
2021-01-27  0:24   ` Andrew Jeffery
2021-02-17  7:40     ` ChiaWei Wang
2021-02-17  7:44       ` Joel Stanley
2021-02-17  8:04         ` ChiaWei Wang
2021-02-17  8:04         ` Andrew Jeffery
2021-01-14 13:16 ` [PATCH v5 2/5] ARM: dts: Remove LPC BMC and Host partitions Chia-Wei, Wang
2021-01-20  5:01   ` Andrew Jeffery
2021-01-25  4:12   ` Andrew Jeffery
2021-01-14 13:16 ` Chia-Wei, Wang [this message]
2021-01-20  5:02   ` [PATCH v5 3/5] ipmi: kcs: aspeed: Adapt to new LPC DTS layout Andrew Jeffery
2021-01-22  9:55     ` ChiaWei Wang
2021-01-22 15:31       ` Corey Minyard
2021-01-14 13:16 ` [PATCH v5 4/5] pinctrl: aspeed-g5: Adapt to new LPC device tree layout Chia-Wei, Wang
2021-01-18 14:59   ` Linus Walleij
2021-01-20  5:03   ` Andrew Jeffery
2021-01-25  4:14   ` Andrew Jeffery
2021-01-14 13:16 ` [PATCH v5 5/5] soc: aspeed: " Chia-Wei, Wang
2021-01-20  5:10   ` Andrew Jeffery
2021-01-25  4:15   ` Andrew Jeffery
2021-01-26  5:51 ` [PATCH v5 0/5] Remove LPC register partitioning ChiaWei Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210114131622.8951-4-chiawei_wang@aspeedtech.com \
    --to=chiawei_wang@aspeedtech.com \
    --cc=BMC-SW@aspeedtech.com \
    --cc=andrew@aj.id.au \
    --cc=cyrilbur@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=haiyue.wang@linux.intel.com \
    --cc=joel@jms.id.au \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-aspeed@lists.ozlabs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=minyard@acm.org \
    --cc=openbmc@lists.ozlabs.org \
    --cc=rlippert@google.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).