Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp9589238pxu; Mon, 28 Dec 2020 22:34:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJxqPwh8/EXyjUZEtDQWNOQw7lNK3zlNob3nzCF0ufQ6e0wFQWbjZBaxr5Mklr/ErjWblZj2 X-Received: by 2002:a50:d646:: with SMTP id c6mr44599212edj.177.1609223670926; Mon, 28 Dec 2020 22:34:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609223670; cv=none; d=google.com; s=arc-20160816; b=ZqtBoruxPcAPCTA2ZbWeVWRiFIHByO2kdpBOXzsVDj9p8mHUMvXmvYPE646KHPpsMY YgJuMuHho4hIkjcUA9wDKTd5SzXAHGre17J8mXgtUYY3pd9W0wsgMgFMxnofJDzx2dNT kYU069wpbdDSmt9cfZ1FmXw9milgOVXna3cNqIu+yktuJSkZKPFHMENu6AGzBfapHkYe ut7QE4LcHw9rQeYAdQ6xo5jD9/iSv6kIeCXjWj+zd5ktxNgiTj4hFKj2thiiA7fsGklU sPXYwpO3avOL72gaoFVQYJUqRiLmirxnHxRr+/C9wZFmsAE+zItJ+Va68euOcwULTQwH uIYA== 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=hUnTS+ccl17zmr1bsD5LMkh20dlzkTVzBig+qxU6mrU=; b=VRt818GhnEXrqkm6HjdLOdDNi/1LQUPWtjToQGgzVwu83ZWRH8RD/qP+ntfX/a64eR AAITQLupaYfJOlFaXB4Xsma+azEH31oabFGg4GK/6DBn745T1GEud+yq0sN5IwgWczSa nsde5QliCZgD5g6KMA4eOB7YlJO5Hg9KgSmOHFZ6cJFS2c/XYGPbT4Vwjzs5DAmijH9d fi5GKQpyuMAZgMKm7+SYi54e/gHkyOn9go+WTXIUb29Jc7MDaaQI+5bnqySpBmAjH77N AsI10y8Ijnz6ia6OzC9vAW2wHH9uZ8o/zwgNWPAtZDqKmbMQ94xGwpig1f6PY+dH0fO1 x+ig== 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 f20si18794699ejx.289.2020.12.28.22.34.08; Mon, 28 Dec 2020 22:34:30 -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 S1726579AbgL2Gco (ORCPT + 99 others); Tue, 29 Dec 2020 01:32:44 -0500 Received: from twspam01.aspeedtech.com ([211.20.114.71]:22592 "EHLO twspam01.aspeedtech.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726015AbgL2Gcn (ORCPT ); Tue, 29 Dec 2020 01:32:43 -0500 Received: from mail.aspeedtech.com ([192.168.0.24]) by twspam01.aspeedtech.com with ESMTP id 0BT6RUDo012597; Tue, 29 Dec 2020 14:27:30 +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; Tue, 29 Dec 2020 14:31:35 +0800 From: "Chia-Wei, Wang" To: , , , , , , , , , , CC: , , , Subject: [PATCH v4 3/5] ipmi: kcs: aspeed: Adapt to new LPC DTS layout Date: Tue, 29 Dec 2020 14:31:55 +0800 Message-ID: <20201229063157.3587-4-chiawei_wang@aspeedtech.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201229063157.3587-1-chiawei_wang@aspeedtech.com> References: <20201229063157.3587-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 0BT6RUDo012597 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 --- 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