From nobody Sun Sep 22 09:28:20 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25C5AC433F5 for ; Thu, 17 Feb 2022 08:27:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237533AbiBQI1V (ORCPT ); Thu, 17 Feb 2022 03:27:21 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:56450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237519AbiBQI1P (ORCPT ); Thu, 17 Feb 2022 03:27:15 -0500 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4271F206DE2 for ; Thu, 17 Feb 2022 00:27:01 -0800 (PST) X-UUID: 83f8bc7588f941d6a013d22fd4f60dfc-20220217 X-UUID: 83f8bc7588f941d6a013d22fd4f60dfc-20220217 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1058918220; Thu, 17 Feb 2022 16:26:57 +0800 Received: from mtkexhb02.mediatek.inc (172.21.101.103) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Thu, 17 Feb 2022 16:26:56 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb02.mediatek.inc (172.21.101.103) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 17 Feb 2022 16:26:55 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 17 Feb 2022 16:26:55 +0800 From: Rex-BC Chen To: CC: , , , , , , , , Rex-BC Chen Subject: [PATCH v2,1/2] soc: mediatek: mmsys: add sw0_rst_offset in mmsys driver data Date: Thu, 17 Feb 2022 16:26:25 +0800 Message-ID: <20220217082626.15728-2-rex-bc.chen@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20220217082626.15728-1-rex-bc.chen@mediatek.com> References: <20220217082626.15728-1-rex-bc.chen@mediatek.com> MIME-Version: 1.0 X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There are different software reset registers for difference MTK SoCs. Therefore, we add a new variable "sw0_rst_offset" to control it. Signed-off-by: Rex-BC Chen Reviewed-by: AngeloGioacchino Del Regno --- drivers/soc/mediatek/mt8183-mmsys.h | 2 ++ drivers/soc/mediatek/mtk-mmsys.c | 6 ++++-- drivers/soc/mediatek/mtk-mmsys.h | 3 +-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/soc/mediatek/mt8183-mmsys.h b/drivers/soc/mediatek/mt8= 183-mmsys.h index 9dee485807c9..0c021f4b76d2 100644 --- a/drivers/soc/mediatek/mt8183-mmsys.h +++ b/drivers/soc/mediatek/mt8183-mmsys.h @@ -25,6 +25,8 @@ #define MT8183_RDMA0_SOUT_COLOR0 0x1 #define MT8183_RDMA1_SOUT_DSI0 0x1 =20 +#define MT8183_MMSYS_SW0_RST_B 0x140 + static const struct mtk_mmsys_routes mmsys_mt8183_routing_table[] =3D { { DDP_COMPONENT_OVL0, DDP_COMPONENT_OVL_2L0, diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mm= sys.c index 0da25069ffb3..cab62c3eac05 100644 --- a/drivers/soc/mediatek/mtk-mmsys.c +++ b/drivers/soc/mediatek/mtk-mmsys.c @@ -49,12 +49,14 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_= driver_data =3D { .clk_driver =3D "clk-mt8173-mm", .routes =3D mmsys_default_routing_table, .num_routes =3D ARRAY_SIZE(mmsys_default_routing_table), + .sw0_rst_offset =3D MT8183_MMSYS_SW0_RST_B, }; =20 static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data =3D { .clk_driver =3D "clk-mt8183-mm", .routes =3D mmsys_mt8183_routing_table, .num_routes =3D ARRAY_SIZE(mmsys_mt8183_routing_table), + .sw0_rst_offset =3D MT8183_MMSYS_SW0_RST_B, }; =20 static const struct mtk_mmsys_driver_data mt8186_mmsys_driver_data =3D { @@ -128,14 +130,14 @@ static int mtk_mmsys_reset_update(struct reset_contro= ller_dev *rcdev, unsigned l =20 spin_lock_irqsave(&mmsys->lock, flags); =20 - reg =3D readl_relaxed(mmsys->regs + MMSYS_SW0_RST_B); + reg =3D readl_relaxed(mmsys->regs + mmsys->data->sw0_rst_offset); =20 if (assert) reg &=3D ~BIT(id); else reg |=3D BIT(id); =20 - writel_relaxed(reg, mmsys->regs + MMSYS_SW0_RST_B); + writel_relaxed(reg, mmsys->regs + mmsys->data->sw0_rst_offset); =20 spin_unlock_irqrestore(&mmsys->lock, flags); =20 diff --git a/drivers/soc/mediatek/mtk-mmsys.h b/drivers/soc/mediatek/mtk-mm= sys.h index 8b0ed05117ea..77f37f8c715b 100644 --- a/drivers/soc/mediatek/mtk-mmsys.h +++ b/drivers/soc/mediatek/mtk-mmsys.h @@ -78,8 +78,6 @@ #define DSI_SEL_IN_RDMA 0x1 #define DSI_SEL_IN_MASK 0x1 =20 -#define MMSYS_SW0_RST_B 0x140 - struct mtk_mmsys_routes { u32 from_comp; u32 to_comp; @@ -92,6 +90,7 @@ struct mtk_mmsys_driver_data { const char *clk_driver; const struct mtk_mmsys_routes *routes; const unsigned int num_routes; + const u16 sw0_rst_offset; }; =20 /* --=20 2.18.0