Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp255838pxb; Thu, 14 Jan 2021 05:18:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJxzyWVjC1IdNIMiCNsM1duARFbVfibTPZRGJftrx622DsR5ZCpYQ85P7qdsn0VuafrHy1Hz X-Received: by 2002:a17:906:a445:: with SMTP id cb5mr1042159ejb.0.1610630323811; Thu, 14 Jan 2021 05:18:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610630323; cv=none; d=google.com; s=arc-20160816; b=kabtdqYcdDf8zev9IDRQggXNTrs+Slw7PtzVQ2DBDXBV1OzbGqR/PezdTyMbY+eTT/ 40NJFTLUlXCN2YK1Ny5C0RSp1HVH20DHbPMd1SSFgFImXFqsMyHtN/XH4w1rn9R35f7N 6V2WVtsb7oUlb3UZDSOtCy6z4/Gl29BcYVyJaWXB4EfxSEMw1x0kBilsWgVNK1LGwyxo pe3ygssDMYGJ9V1FDcl6xnswjlcTJhuli9jNBElcsJj7cre2Spsbfm8wagb6AGqpON5A 9SxvD4BSsLhqZIi3oxE6ysL6QxlxbmWwCAnFx1Z8r+NWqLOTWeLaR8vk7mhKns/ExIwI Wxiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=9GuAHpPU1jYRKbVkNtLWqsPEhCFOgeRj7hyYgaQYrm8=; b=LhSPZ7QePPDGn9mv+OFlSfuvLt8Iicme6FwuxOXcRbTgNaeKSxsbOmdOhd0SosTZbd mNmupUOrT6n6P5BnT4a41Q6cOveiyZsFoLf4SPEnhgA8gZiAMecG/f0zH+/9WJWX6lBY wRuAr8b6bMjCv9brLVSznfY+TXTBjCPRAyQkIXU2e2wih96fhKNGtscLiSkCsS9gTTcE vsDEjxrHGjh5jrwpG/5vmQARTwj+WRqhxQeSZt7FnlMZNNg8CEOYeuIrdj2FQYDGySea 0bcmsmiz7uDQkcEulRgVJFmBcYVAQB6QRGp/Kzp0ZsdRlQYhrTex8/3ZgWj7GHHXXYfK LMvg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gr19si2363002ejb.610.2021.01.14.05.18.19; Thu, 14 Jan 2021 05:18:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729053AbhANNRC (ORCPT + 99 others); Thu, 14 Jan 2021 08:17:02 -0500 Received: from twspam01.aspeedtech.com ([211.20.114.71]:20483 "EHLO twspam01.aspeedtech.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726891AbhANNRB (ORCPT ); Thu, 14 Jan 2021 08:17:01 -0500 Received: from mail.aspeedtech.com ([192.168.0.24]) by twspam01.aspeedtech.com with ESMTP id 10EDB0Ll082208; Thu, 14 Jan 2021 21:11:00 +0800 (GMT-8) (envelope-from chiawei_wang@aspeedtech.com) Received: from ChiaWeiWang-PC.aspeed.com (192.168.2.66) by TWMBX02.aspeed.com (192.168.0.24) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 14 Jan 2021 21:16:03 +0800 From: "Chia-Wei, Wang" To: , , , , , , , , , , CC: , , , Subject: [PATCH v5 3/5] ipmi: kcs: aspeed: Adapt to new LPC DTS layout Date: Thu, 14 Jan 2021 21:16:20 +0800 Message-ID: <20210114131622.8951-4-chiawei_wang@aspeedtech.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210114131622.8951-1-chiawei_wang@aspeedtech.com> References: <20210114131622.8951-1-chiawei_wang@aspeedtech.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [192.168.2.66] X-ClientProxiedBy: TWMBX02.aspeed.com (192.168.0.24) To TWMBX02.aspeed.com (192.168.0.24) X-DNSRBL: X-MAIL: twspam01.aspeedtech.com 10EDB0Ll082208 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Acked-by: Haiyue Wang --- 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