From patchwork Tue Feb 18 08:57:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Baluta X-Patchwork-Id: 13979335 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2066.outbound.protection.outlook.com [40.107.21.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A59122E40E; Tue, 18 Feb 2025 08:58:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869082; cv=fail; b=NVaqp1lbIAexcosorTImlD95k44uHelRqtg8ME4AXcnfuei136USDzfROqkNXC2Jkj3k0zl8yq8nMLwmTqvpzi/4PcDRfI9sI/uPi/nt7H9Egh3E0hVWbLeZ1Qlrab3nX02UN6fjt8seIbJwKbK30JnN1npZ4SV5BCdjVLPu0hs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869082; c=relaxed/simple; bh=3pQUmdQFac0Fh+WNY7acYRrP67tRCEqVJs7jhVNrmaI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=DGKkC5xkFjpaX0sEN6UJnALhv9IJof8Hd8fjYVWCLhNSeHhkPbyz+zS3AgKR/cXIAA7qabFk6Tf/sa+jCvnnJAxkfzIYhONciM+bFIhkLnh4yeUfNp8RXAJsok1E8/y1ui5QTK91hq2y7Jtz1x4/OAd03vAxqKpI1Fce0OQ9AUo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=RWZNkcZl; arc=fail smtp.client-ip=40.107.21.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="RWZNkcZl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X07EvDnoAsJ94h+4MI7t4ivc8WRWyeQBVceTNUfJW9EhXx6gYiO/m/EMrMTKR+f0BqwUNIVXJskbVVC6bybvyiTB2kbqe7wrTEg3YvzKOxgm6iMxpIgTN2f6GxCf9TbNhWyV2TKqD72qDwCJFnFKZMDxuZm+rP54oxySVOa6NdGHCPNuFolQXgdSd34XwjYr27oCeM3o7vGmO4jpC92ofxCZOw7DzwYZMKwlRfb/Ef7PYqBbZ/IoXNEdy/NkoGCco5i/qjGOr4s0Mt4ISLF6/oFUMSPjCelQXSp+pOVFk61bImGts9FQtivFO18Qe6AQz8h/uWTJXCqtOh0PKiaiow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vLGCak/e/d7wgy18Oz5BexielpgJfmnmXgnHx0MQkjA=; b=EyE2s3Y+Pt8BK0E+vhuGgC/wd6x1gGcWuEWN70IhdwuUZWSFEbYnSh0uw7SFmwF8gJeX0InXfPbPoZACfJOwQI6+ddI1S+PpgAfZ6+kjF9/N/+m9TbA2nyORMBtGnGZ5OnOy2bBUXzy8mDQh/vLtwra7zHN8oiGNfEjg/DjNN7n2Q5cjPS7UgArqAsod2Rl1+nPTo0lW3UiCn9s32oDmuwuyD3oasqRhjB+tzMSQWKYagYIAK3RPVGlveU+Ke9S6ziqkJ9xseEDeY0vU+0VYwJz2yeS4z8/+7iHhy/mdnSTSYl7W7VFMA7Z6ObZcaaTH/wBLy59PLcl/IAPMdJvcjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vLGCak/e/d7wgy18Oz5BexielpgJfmnmXgnHx0MQkjA=; b=RWZNkcZltncP81X24sx8xADzNGDjYj0CIsnMw2aTHQq46mIEIN/tNcH1FKKenLvX3+cg+21R01lG1KP50h5JNxGy/ti15UHAlFki+SoIgpbI93PKZ7jg4NLjrpUVl6tn02gtb4Rii31uQmVlkvZyuRCRXsrJixVfiWOz8b56o8gajNtfti1bNU5DnhuAMLF05fX1Qlv1rIuizNfjN0zJf/RMxzEJ2VpCfAnchO8UCqGTu87vLgrBClNwyqS3KKfP5DGib4jdsNTwRVHj3IY77tBLP1zvFx71QYO9U2+veiALZGgoEDWKXyoNUKMORM0YSVpE2PBvSpWVZznM2HEBTg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) by AS5PR04MB10057.eurprd04.prod.outlook.com (2603:10a6:20b:67d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.18; Tue, 18 Feb 2025 08:57:56 +0000 Received: from AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6]) by AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6%5]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 08:57:56 +0000 From: Daniel Baluta To: p.zabel@pengutronix.de, shawnguo@kernel.org, mathieu.poirier@linaro.org Cc: s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, andersson@kernel.org, linux-remoteproc@vger.kernel.org, iuliana.prodan@nxp.com, laurentiu.mihalcea@nxp.com, shengjiu.wang@nxp.com, Frank.Li@nxp.com, krzk@kernel.org, Daniel Baluta Subject: [PATCH 1/5] reset: imx8mp-audiomix: Add prefix for internal macro Date: Tue, 18 Feb 2025 10:57:08 +0200 Message-Id: <20250218085712.66690-2-daniel.baluta@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250218085712.66690-1-daniel.baluta@nxp.com> References: <20250218085712.66690-1-daniel.baluta@nxp.com> X-ClientProxiedBy: VI1PR07CA0286.eurprd07.prod.outlook.com (2603:10a6:800:130::14) To AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) Precedence: bulk X-Mailing-List: linux-remoteproc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8247:EE_|AS5PR04MB10057:EE_ X-MS-Office365-Filtering-Correlation-Id: 013b4ba8-6034-4b8f-3562-08dd4ffa5645 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: WddgqdECqPHBN6CFl8SUA6XXqd2YY1etfL11sGq5QcmABGRXNNfkC+0Gz64w1hdy0EZii+jhiZkd1irYJZCkbHu4kmjShZdjPpX6qaBE8Gu1qvY4ZXwYmBvKW56yGj2HslXwJfe5ZNNCNjD81T65eDhP4Tg3kn5kTa0xm43qqAyxPK53LMMlyMlpCGSgPnovDDuEqbrSsWS9G1qrMh+llGL49ZZ+fgzUeH665CLa9Zb9nSvcNMOcWjPhmOEpgV+rePK1n56enl5wGgTuuxIQkzHgjic2mRReLB8K3U172J9A4vVZlUUG1NOQDliq+FfhqLGsau/cQ57O1MWhZHKntYvnwnBNoVqJvwbScVEPm0dMXKYsRPJ7XnwZ5vOMb+2pNH0O85mVC348acRp6RFXylZ/RRBn/KRwz0FXyLxjVLerdCEOUBzPLEFNGmZc5ay5o5nwAdPdPIl4s+VTashPWJMTPrbzOah/mxmbLxej5LkMjhhAfs7CesmCnOXcIcMocYHkTvO+WpnBM6wfI+9kac6CsbndJfHLo4+drbUfPyBIadYi5H9GFeiZMqYQ1HX9WzLmvVRk1n13BSMeWpD9z0aNSb3KVvb4SFK1US/qYPb/+KTvNN7pb+R6+pJY/V7LW84E8u1Nr9J8xiPoKh4FmxksrNbUI1M/68pCswngzw4U7ltN769MqIMULlaWQujfERLUkHqPvwQzto93QLNuwGt52JNPbl9zYLhyS61+ANu/8BuXve15+TbArZXxcVbTcDbspWVbXYBySXAbvJeQiu9z9MrUDrb+g9qjwnyq4JPg9uIo+OCtozS3FrqjSDkJcBeY4hpGNwkBvPFx/0+pyLqvnSymIzetP4AwqVOvTrRzzE22QblSPbbPwAafKC1QlGfZGfqdYQvkLG9mPWLzDoiPil+CNfYyLzJkqBesd5ShE985LzBYvkEvwx4c7IQnItYcbfWkeQSCaXnfo9gzx7sExmQnybYqHtGeZhFH+GxGkzbqmTRU+09RT7wF3U4EHsyUOc30k0X2v6Q89/4EzdzAtk59h1+aCwDTlTNLWRleTiST3uKx6V6fES9Lb9iAtLLAWrsmw1mo5O0/+On1ZCuPEU5ze2sD2HM2OCH6on6IIgpkB5mxyvLhbOiWglekPjtYvbaB5izazMwAsNPvaShDixtaDy9UcZ2qHiHgWBq/mgTZKR4uI9WfMx6BPDADyU5lSRkNwEmsJs1Dy5bB5rR8Frmi0JWXU/uy5Th4tUuE2OHKEaMJnRj0GmxtTXMmGuNcEspiRxrVKikrOwRRpreL5P/GF6tsqgp8RjjIhND3C2R4MArgr0DO19hcXl0z19aivSVRGauPVRAGmbXaz3LqEA/a7eHpBii3KCI7WoE4agZOlAyU1fSPjFOCj41V X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8247.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(7416014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: L+Y5HPI/OVVecZdm7EDxkdW+ii20DKfx/b/DGJB2TosrowOFacuoAzFqcj2W2Sb4NIhmOxZ8C9MuSiPzT+2IrJfPP2hOjWIUoK/sXN4tiy9COITB5e1Pi8kLRGXX3NLgJ0iAli+wRuCBaHaWnvE6BxY2OoKQuc+W9uwkiNinpu9ui7fC/66YXTZGqUcB6/n6RIy8KFQjOWYKIfcC0idAoS6BUJrjPYmtbECX/2sj82SnOwuu8O437tSJySo2LOe9gOCkn1LriCgMQ1SiPUgHzCs6/HpxVSEggilSDhxdTMx24WSHohVBddRzmR3NA7ETnA6Bdu/FLfHwq867gN2al5gVTwlKepSfgP6N+4DYo8KsbkNqcZIwP9yO2gmYcqdJtgKlydlP8epAxBGe3rA94zRMC9pq+j0Ux7soq5lAeIxfhHD3t4ZnHIvWSSHKqBeS1B25Y/CA+NmLO50+7Gjpj4pp+E+lQv+u0rPsMChK0S6Xi3X1kq+4BDIirXiLfagdO0RUaIZR8mbm4TbRdoZZL/rGHEouSBzzdqTQkHnOV2l33k3Eyqhye3Dw61hTR83N+hGOtG2zWAgyddlkL5Gy0KtxGj9A6cCYl+nF9mCrF//iwuC88pyKrVmgXl0pcinYko9W39B22sCIBHWatvWSzD95NOEV6y5hhCCyvk7Cj6OgcSeggPtgL20FuAzQnXK6Xs4AFtltx4fMROVk2WVK8b5ua7Uip4Vn7MhMRxgrns2gmOdrVG9zsomTFVs49IenCTz2DLYKSy4t3y926BQQYi0rY9Rj1+kspKyFeJMRE+d1PN3Um8vdCkA7AZPpL89YTrooOkGxwfQgBmtER8vggr+Ma+NQ2pBHwciBa5B09rY9i0N3dNlj9c3SwmBwdK9f2sqmd4B26RsElPp5jltKGV8hiqQhFjl+wywPeUlSuPxqxqZy9h/z9pQF6zlTMhUlDGT0ITFknxXMjMDP/Oi6X2dtkFl7UOtjK4m+aWs+i1lha9EXpdt1d/ta9YnkLYqDG2t+bQKSSQMJZkZVXPdbH9gw0J2SWSa3+JcDL0ygv5wa6ckFH5ahnIy1l8F7vXuxeTw+TkFX/DJ75Yu6TYpPPgVYBKIy57McRHMo/3VuxklxzcJg53akcjLTmuQkawtJX6GKWmdbFszYogBCx5TAFcIwI1clbdhoDUGJSIVYquqvcuO7IDcL6Yxr28gRII/NKcPw2Ou1xPFW/MULnIi3gaBAvbypZylWROmqCg0ZS/++dDMfroLxWeIzsP2EniUGoIpetc/gPTAnxQ1FgDbtCQxSQRD7EY9dg1u+4G+B233orWWls7YfDOlbMUDxQTmK6zCremt82UDXqcBEkuCUnVwnpl2OcwF8nf/md5G/R0qQHO7XajTWyqCXfklnRm5L58wJvn043Kp9ril/aStqkL8YghcryZ++qjQ1QOexNz3Zj3yf9mH76n3CVgAKKG8UiT5DdWqGJfBSveEElAzwEWeL136OxLbI4+8qGuGn2fFNKpXmd290pmOpvuj2bLT0WxLmEZisviQBQMsng5T8zhmzGE1Bz/FeR8p2fJbowfTdZO1mEvUe3zK0kkbw4xSG+eYVpd8FQ45/FSQ00xwvN81/lsBg9Gt4SC86p5YUgzkMP/IRRL+h+Tvtk06PFeDuMnTkusZxxKYsNxVmpA8hrg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 013b4ba8-6034-4b8f-3562-08dd4ffa5645 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8247.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 08:57:56.6158 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UWGAHBNuwZao1Js+2jSc3aVOKn93ksCoSi+fvCFtSF8sU5SshpG3BjY8RAQ5TRRnpQ1HvaHAErUlBjQXy2krog== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10057 This adds IMX8MP_AUDIOMIX_ prefix to internal macros in order to show that specific macros are related to audiomix. Signed-off-by: Daniel Baluta Reviewed-by: Philipp Zabel Reviewed-by: Frank Li Reviewed-by: Peng Fan --- drivers/reset/reset-imx8mp-audiomix.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-imx8mp-audiomix.c index 6e3f3069f727..1fe21980a66c 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -11,8 +11,8 @@ #include #include -#define EARC 0x200 -#define EARC_RESET_MASK 0x3 +#define IMX8MP_AUDIOMIX_EARC_OFFSET 0x200 +#define IMX8MP_AUDIOMIX_EARC_RESET_MASK 0x3 struct imx8mp_audiomix_reset { struct reset_controller_dev rcdev; @@ -35,8 +35,8 @@ static int imx8mp_audiomix_reset_assert(struct reset_controller_dev *rcdev, mask = BIT(id); spin_lock_irqsave(&priv->lock, flags); - reg = readl(reg_addr + EARC); - writel(reg & ~mask, reg_addr + EARC); + reg = readl(reg_addr + IMX8MP_AUDIOMIX_EARC_OFFSET); + writel(reg & ~mask, reg_addr + IMX8MP_AUDIOMIX_EARC_OFFSET); spin_unlock_irqrestore(&priv->lock, flags); return 0; @@ -52,8 +52,8 @@ static int imx8mp_audiomix_reset_deassert(struct reset_controller_dev *rcdev, mask = BIT(id); spin_lock_irqsave(&priv->lock, flags); - reg = readl(reg_addr + EARC); - writel(reg | mask, reg_addr + EARC); + reg = readl(reg_addr + IMX8MP_AUDIOMIX_EARC_OFFSET); + writel(reg | mask, reg_addr + IMX8MP_AUDIOMIX_EARC_OFFSET); spin_unlock_irqrestore(&priv->lock, flags); return 0; @@ -78,7 +78,7 @@ static int imx8mp_audiomix_reset_probe(struct auxiliary_device *adev, spin_lock_init(&priv->lock); priv->rcdev.owner = THIS_MODULE; - priv->rcdev.nr_resets = fls(EARC_RESET_MASK); + priv->rcdev.nr_resets = fls(IMX8MP_AUDIOMIX_EARC_RESET_MASK); priv->rcdev.ops = &imx8mp_audiomix_reset_ops; priv->rcdev.of_node = dev->parent->of_node; priv->rcdev.dev = dev; From patchwork Tue Feb 18 08:57:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Baluta X-Patchwork-Id: 13979336 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2066.outbound.protection.outlook.com [40.107.21.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B17622F178; Tue, 18 Feb 2025 08:58:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869084; cv=fail; b=s5pwh4BBt6ySKJkAAyRQ94NntGoZc+iF7u9h57wYEEgJv/pL4DwKmIsfl8V0tIWK+KZnVY4o8Ue36NszpAYOj7hHXAvrxacrHsCJUARSAJ3G4qTtznFIWh/7Lh6Ucou+DpiHM73JuhtewXKBAwHEuELhsLRKyy159bfEmutYTxU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869084; c=relaxed/simple; bh=8OeJnZD9MlmZNozzt0JC622+TxcZxO6b/rtxuumSVX4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=gVktYq7GDT1AFn7edxVx1YT4kcwOEyRRMiW8xN5bdwXpbW1PpjIhjP/j0lz0SQVTrzivGucZuuXpfEvPwNdJh7YTMUZHNAWdH+c+ZqGDXlXqrPTEBkvg9Agch0gxY1R/NOjjZPlo0OmPOv+SF9SLRzSSOs+zU/3Z1RVR6JuT/HM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=kLRY2YE9; arc=fail smtp.client-ip=40.107.21.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="kLRY2YE9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VTJdc9xrkhzM/l5eoD5jgprZ6KlacdUHOB+IXhTM85Dx9LdLbnvha/xNbpY3BX7ltUgz+J8lwqyWBmkJGzyzEN0zJfvHrdkNx8Wd35SEM9V2jr/GNXM6DRg+jolO8Dd165+WP/0X2+fH6mzZRo/0kG5kXAIa0p7poxSOG8mhcnXb7FsbxhSX6WrAamIXNflly4yhcnSHQdPufHHHQR08W+IrunlXJNUVDT5DYcaVuSCQqyBzzeiDFBfICjQek7+L49SV1S+uMsb6sRSULLJzMH7mS5BpraRMdlTSGVMTg0wLfTEbuxkqgBZZyoQaIbfDpxTMpzYCu1wpqBiD8GHlIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/DWA6l36mIRJ2hiBtuK8jXwsQP2icifS7X/uHU1E220=; b=v9xLzxllvG/FN74RKz5CGx5vfEH5OGfF/3hsm8uqgZ3C2rf/PtzBCniEzU2HNCzHWaav16sk1UpJWrOPe6FP58GbCpNsLR3QVKrUXgoi5qt9OAep/y+CQZsaTi3W0JOxhCzX/8Td1Q4uoDBRH+LrgAwY6p3g1+JVPvALdOrSp9D8rb12aGtH2URyhOt9NMVkqIV6hyYNelEziJd5HGd80oq4EgGRY5OtL9nOEgJVDzPNokxRMFOEg0wZ+5LfVagjUihZdbAFwcjbtZsmhIhMebp2r7joO659LwiAWTr+2+AFATr7x6NRjeJ+udGzAUrkmpwD5h5hSYvcHO/QF8BWmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/DWA6l36mIRJ2hiBtuK8jXwsQP2icifS7X/uHU1E220=; b=kLRY2YE9FPYX+YbEapkdqOu4o3fMnT8nAC8GbolVk1nGdlpBv70ceYzBwFoyRz+Y6YyQgM7uTdAjZ0CfX0Nx2wB3Z58STckK9uKYBbSuMokz8cDkYBYgQpnQYHoijRWSbWksHtseiS7GG0u6YATaZZ183aQs6K01o2GzvSxKZvAmirod7BNhR6u0BvvPJarbNgmkIpzAxMoAiplTcpISJ7RM62aKd9kb2kghS5a/r3dnjDIVh5yyVnoqPSqSvTE7NNGJBtyaFhoLVPy3B2OGvhbJ4/rtc/VsQE1OUbE/ztS/vAzHaFpr+CYoVDhiT5RTH58GCcnqA1XsQLcucfFmFw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) by AS5PR04MB10057.eurprd04.prod.outlook.com (2603:10a6:20b:67d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.18; Tue, 18 Feb 2025 08:57:58 +0000 Received: from AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6]) by AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6%5]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 08:57:58 +0000 From: Daniel Baluta To: p.zabel@pengutronix.de, shawnguo@kernel.org, mathieu.poirier@linaro.org Cc: s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, andersson@kernel.org, linux-remoteproc@vger.kernel.org, iuliana.prodan@nxp.com, laurentiu.mihalcea@nxp.com, shengjiu.wang@nxp.com, Frank.Li@nxp.com, krzk@kernel.org, Daniel Baluta Subject: [PATCH 2/5] reset: imx8mp-audiomix: Prepare the code for more reset bits Date: Tue, 18 Feb 2025 10:57:09 +0200 Message-Id: <20250218085712.66690-3-daniel.baluta@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250218085712.66690-1-daniel.baluta@nxp.com> References: <20250218085712.66690-1-daniel.baluta@nxp.com> X-ClientProxiedBy: VI1PR07CA0286.eurprd07.prod.outlook.com (2603:10a6:800:130::14) To AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) Precedence: bulk X-Mailing-List: linux-remoteproc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8247:EE_|AS5PR04MB10057:EE_ X-MS-Office365-Filtering-Correlation-Id: 172531a5-b78d-4954-d311-08dd4ffa5738 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: Rf7eXR8suq3ZhMiw9aGQUPswAEHwjxdhsko+vjuNmROcLwSwNmm6mJq87vmJUQMf4ho6dYCmrviyBirs8qwY7KLdY7yp7r5KQFqaAIRk7dwMKwVP8AT7XfvxtaJ+TFCjmtaJbJRiXIiTeLe7+SfHQxD0BmmMQLvunNCf35VD/raEzVvaLPi9w/KIRLgaEewI+/41sSak/GdtY0lC/KZJvv0Eyg8hs72nxZmXXgLc8FJ3Z1Me6+i1cftU8dcKsgqjbTKTzsulV4h/TtUq+y4QAzsqEQ3L1a7tS1dq+u6oDusF35/XMX5xV/HWpWZPfpigem7U4bkT/+CP2IXnGFoyogKjPpYpzl7WheVnMqoXbJy7KqgjqYZnqmUGMnFY2V9sFQNup0w75/Lonl3RuFNu1/6utPJmkzwUuRXhRQ5aGNMmcmaZ3CDz3ohG00KGQcVoeu+SfgISlBW5E8L4D+dz0tSnBYmH1wWFDkWegf5v8QiVaqmXESjKgUkkehwAMJao+3tiC7w09am0DXcEbhXsUfbaStXBeI1rI+HBFsD22RML2TRuVIGlDn5uOvDLNj0KWUX1nr6spafvcUqyIxE9jQHFuYbVgwhdgrE/th+SdbIAXDkqOIF9xHBHuza9YzBZuCza55JLF+1HOlkSMS0LH23fomWE0Mf4bO/px8C/C8XHtC4yeNY4jPd0TLziySR1wF8t3/WfvZRjkclDFLRm30OtEh8d1/udM++lMTZp7fqpwxhjPFoxy6HrOmTp079tk8nbHjpeUaw0yeagEH9vlUb2BC2wMN8U99FlOYm37kz1fgMfmzkj8/+EPKSWR54MdQIkt2+pdzdKHJwr2/x+Ndwl3kZVFogQOuxuKafW6I6Zv7H0izc3DtmtmbvP3S20KdnCr/YkWzeH/J20DJAFR3OmqORm6LD4bgrByLp25MurbsqB205B8Tciawsnyb9MLf+m1EKz1kNkwxTYt8YURAa0KGdw0NRt+XxvH1y/znwO3bvhj18Q50lRIf06LpHRXiLJ9vn7Vzl1kvLmShl++6Wjz9HoQiudu6am+sWZ06g2xoW4mTWEgPNMZA+vX6gGjewKivX/p9NC3njhpZU7yM0IJEse8nolfIHRz4lKJxR9OXLbM9i5oX2KcR4cHSWtLdPLcI1z7AJ59kCN5IkokND+hs1WCiaW7i28LEyp3Zo/VW/rIDyJjOoyJ9esNiWGpSNxyJ/EvB6JW+dkIRDlszdyWg8k3OhHy3lgUFGy+dWERBpXgVNo33M5WtgTCldJ6ibUc8W7h1VzvpGUMDIYD3YsXNubCFohVLPO7eSoIYwlo2GUe6BuCy0O1NT3lNy6PeppiU20y3kqsqTsiZkrKSrTq0tYQQe8/4c5wQop0KCLU1QpHL5oRROocDra0nRY X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8247.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(7416014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: xcHulsNzpKn2TSIG+v2wyF8Gs4XsAHvDUpki96GDSxNouIFZ6KWyo5n/ye7qRLn+RGujzwdy0U8deu5kBrRtJsXiRK4MHuJufFmSmu3Eg4pd+3pMBM0D9qhwUlaTHQYxFXCAB30KBepYiVK1QB61+3zsyKWoRlpgH3Z40bCdP8AUkd0bg5MGkcIQ7L8wR4MYEsV+FYEoAcKGp5y8X2J+DF0846kzmoCA0dENnagGDbkVlxWRmS65tqdSKeeyigt9dqLzpGQm7nRMbD7/dA5qlqVFiORBtgJQ4k+WRuqQhkH0ZuY+TqCmM8fpjiiHXC9f0bGU7h+k6QjmAxi3GCh8pWKObj0BZ+TxpvNO/RnQMnua3AArDMDlngEZgz7EONv31FIziyBgX1TlU5XJAxOpFwIQoRyOYp02uSrv9yycHbaMNIUlwFE3gaJFKPJL2UQVBfzj2tjhiULzkmYZXlurj6+y2ShMjkOrdexgI1JZrf89fUr4pA2nEJEO71fnIauXOWdvjtceoDE5jyUWW/V51ZGcQjxvFNcuuxwG9FDztt0TyWRUVhniTMvUGZHS/0owHJPVIRu4E4LUpaQVQZHZgtl1kXzGB8otpq3Boo21qimXQOFr5FTREE0zVziC4QkiZNx27r+r3MmE1Ev1PxKKEHdhsD717O6DGba19gcPiLbSyQGYQpnlewqO9kfgHprYLK7/GbNbQ9aiNhJULaTPvvuGeVUqbubLU+dDytpXR5KDorKUG+uESZVyKobOio80KgEXzmXIVglaGHRbKL+2C/Pp0rZIBt7uCuRttoQqDRRclBeHG7njgwalyZiO044l/At/zzk7u+u+VVfBKzxMhxtGpYTWgCoswaL2Ap15e/tOZJyEPo8aBShPl7bmZCiAcuXs5XHoZioFjMVBXqzHT5NrYGWHTdp5vrJ+72XWWHKVU6N+BV/+A0copCjxVowQtIK1da9+O+r6PD+E/Hc/AkIdd90PGOFwLOBrAQqq8+004HHqrjCYGYbhIenWfO1mulbwuMQ2cMXVe12+Y7O9eftgGpQDWCkOxLug6henLFOTXliQDKiLxSsh5D6R+0iBlcug7BZJ31nBdpSf+hXmhyw1C1DbxwnHMW01AQd2C3/+Y99sxvMZSYpcYmDj6dYsxCjuf7UgjbGlFtc7ub44BH67zYCpEIubWik4wigCYdzRp10Jiw6P4vLjAnuWCr0dfEeXpJL+No1x/w4alFMaoUKXmmP4KbVvdRBZ2uw9DvcfxLhBR9VLikJkExRRA3mp2uIduM0foyALdujn0x6v5WnNI/rOpBb5Sy5XhpGCe4JKhoZj6ufNNd2CNAQLZPgeMi1l6Hnhf6ip4IuyBEKYBA2x3JOCfWL6/S88mgvPqSeX7ZhqQ23uvtOoysWQyqxbuWHcfxLKTHkxR5HRJRw7XCFM9pAph0XIhl+4mhbZo8KFVi81mH3LpUXAVPrnqTxD8jGGbegty862Hoavs7Ty9iifM0UJPZ9ov8x5XQa5w0aO84j79vcUt3/uXCRKFncCJ0BZ8KdjPlAx70ANAqGsy33ke03ARmjVJEn/8IG/TVNSxSKhfc9pFGHHpgKqKXsPrzoziRHYana8RFKLoAwl3rlWtK/6bVFFzmWcqgWRVkHLUjSDc5vGtob6UAvJZdKZpSuB03O74L5boODRKI5oOQ== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 172531a5-b78d-4954-d311-08dd4ffa5738 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8247.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 08:57:58.2367 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aAPi+pVrmgMicvTBl0tARl7XRNtItFyeUVoN4HFHq2vAnIC5rBpN7I0/ieyJDO59ze1cOlkqJGqLvNvVQbYRTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10057 Current code supports EARC PHY Software Reset and EARC Software Reset but it is not easily extensible to more reset bits. So, refactor the code in order to easily allow more reset bits in the future. Signed-off-by: Daniel Baluta --- drivers/reset/reset-imx8mp-audiomix.c | 53 ++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-imx8mp-audiomix.c index 1fe21980a66c..6b1666c4e069 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -12,7 +12,30 @@ #include #define IMX8MP_AUDIOMIX_EARC_OFFSET 0x200 -#define IMX8MP_AUDIOMIX_EARC_RESET_MASK 0x3 +#define IMX8MP_AUDIOMIX_EARC_RESET_MASK 0x1 +#define IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK 0x2 + +#define IMX8MP_AUDIOMIX_EARC 0 +#define IMX8MP_AUDIOMIX_EARC_PHY 1 + +#define IMX8MP_AUDIOMIX_RESET_NUM 2 + +struct imx8mp_reset_map { + unsigned int offset; + unsigned int mask; +}; + +static const struct imx8mp_reset_map reset_map[IMX8MP_AUDIOMIX_RESET_NUM] = { + [IMX8MP_AUDIOMIX_EARC] = { + .offset = IMX8MP_AUDIOMIX_EARC_OFFSET, + .mask = IMX8MP_AUDIOMIX_EARC_RESET_MASK, + }, + [IMX8MP_AUDIOMIX_EARC_PHY] = { + .offset = IMX8MP_AUDIOMIX_EARC_OFFSET, + .mask = IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK, + }, + +}; struct imx8mp_audiomix_reset { struct reset_controller_dev rcdev; @@ -30,13 +53,18 @@ static int imx8mp_audiomix_reset_assert(struct reset_controller_dev *rcdev, { struct imx8mp_audiomix_reset *priv = to_imx8mp_audiomix_reset(rcdev); void __iomem *reg_addr = priv->base; - unsigned int mask, reg; + unsigned int mask, offset, reg; unsigned long flags; - mask = BIT(id); + if (id >= IMX8MP_AUDIOMIX_RESET_NUM) + return -EINVAL; + + mask = reset_map[id].mask; + offset = reset_map[id].offset; + spin_lock_irqsave(&priv->lock, flags); - reg = readl(reg_addr + IMX8MP_AUDIOMIX_EARC_OFFSET); - writel(reg & ~mask, reg_addr + IMX8MP_AUDIOMIX_EARC_OFFSET); + reg = readl(reg_addr + offset); + writel(reg & ~mask, reg_addr + offset); spin_unlock_irqrestore(&priv->lock, flags); return 0; @@ -47,13 +75,18 @@ static int imx8mp_audiomix_reset_deassert(struct reset_controller_dev *rcdev, { struct imx8mp_audiomix_reset *priv = to_imx8mp_audiomix_reset(rcdev); void __iomem *reg_addr = priv->base; - unsigned int mask, reg; + unsigned int mask, offset, reg; unsigned long flags; - mask = BIT(id); + if (id >= IMX8MP_AUDIOMIX_RESET_NUM) + return -EINVAL; + + mask = reset_map[id].mask; + offset = reset_map[id].offset; + spin_lock_irqsave(&priv->lock, flags); - reg = readl(reg_addr + IMX8MP_AUDIOMIX_EARC_OFFSET); - writel(reg | mask, reg_addr + IMX8MP_AUDIOMIX_EARC_OFFSET); + reg = readl(reg_addr + offset); + writel(reg | mask, reg_addr + offset); spin_unlock_irqrestore(&priv->lock, flags); return 0; @@ -78,7 +111,7 @@ static int imx8mp_audiomix_reset_probe(struct auxiliary_device *adev, spin_lock_init(&priv->lock); priv->rcdev.owner = THIS_MODULE; - priv->rcdev.nr_resets = fls(IMX8MP_AUDIOMIX_EARC_RESET_MASK); + priv->rcdev.nr_resets = IMX8MP_AUDIOMIX_RESET_NUM; priv->rcdev.ops = &imx8mp_audiomix_reset_ops; priv->rcdev.of_node = dev->parent->of_node; priv->rcdev.dev = dev; From patchwork Tue Feb 18 08:57:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Baluta X-Patchwork-Id: 13979337 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2066.outbound.protection.outlook.com [40.107.21.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DEC0822FE19; Tue, 18 Feb 2025 08:58:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869086; cv=fail; b=lP9s2eDHbku+Nkw7bT0yR43BdBLyOJdtMN7QJiatIZq3aqiP3Ga9gxU3aH7F7DBeWgj/sz+eOto7viycWHC78O9VacqBZRXAUKOgSPqgHeSh++7YQTyf5yw0MtFDtYJEMfsTUp9qr/erW6YmeLAaR+BmplLqrhJOF98KgHuDH1Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869086; c=relaxed/simple; bh=IIhoINaHdbmXzJOzwnW6npY/qO04kVEIvadRu4WY0ag=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=XrKwGRs6/IHecc1abLRhf/mP0NWJAita9Bd+O6NVBL3Vx5yBrO6b8tIqixooQxrt7lmtCp1YPKerUeUBKt4aluxl4kmZ9bw6MuzbaBZHxow5jrZnzYw+gd33Txn8zGufsin2rBNfdBic/26KI8ZTXGN+9VejPTGDMB9kgXrOcko= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=fjcMvZYx; arc=fail smtp.client-ip=40.107.21.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="fjcMvZYx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eHelgkp+tlAnJkZLTbFfilJbDnCCnOG5QTycJYF9tSon9+3IGEwlc+ByZwvEtbtYR9kP8mnKObtI0huUyjwLD1kaKib4IwIF/JlylCNM/vJ7YU61bUsePa/GYDxGQCDgp30p6+34oO7ATa6brV+b+y7uzcvUIbd86jCScUoB8hOHF5Rjb8Z4DTxwwETR+cdHu2aBAyA8u6AKSa5+Ob8ts/w+bR6ZKwJV/MH3kmQS8lOPoe2hTitLGg7bspp7cNZQwkfhNr3F2S4+adIlVq18+FSEQ5qK08zWyfFVNbqHXmCQ44Oq9gMgaWa11ngk0+aiVhJzaNDHyQ8vQJ7UgBfPNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hOHt3iDB89h6JJKR5Dz0sefDRH/Dw83Al5OyEdeUXNA=; b=WZ3f0pXmd5x/SBKCGdjPoGKkEuUnKCfIwTNxl2gMaSXJVoeNn6slD05wpyCDukpxHZQt8I+ZRiOJOVdv7E0dS4qguo7wSIGlfAN10VrQISB4kuxVn7G1si2BfFnlCIa04b1ScdUBr4mZvj/le3VNIfVIlf9Afx8I/EQV/1425Cw2EDWZ+7NiaOk5rQLa3l2Ag4MdIe/eQOsHw3p+YtAKyO9rmVir7+pfhBRb4uUFBMurPK8w9eISFw5dB3/+tX88LqaGT/ya5VUjKFW/GIYhcAkC16/8MXpMzN1qqg+05Wo/6ao7VMv+0fXxe/PjdNSUGn6wxH/75fyCPWMLkJAsHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hOHt3iDB89h6JJKR5Dz0sefDRH/Dw83Al5OyEdeUXNA=; b=fjcMvZYxm1LgLdZ5yD4gYNbDKFV4CB1AnGV/OTSraZFeX1Tvy87tvvHRXcsdIyCDEYDVghdDzPR320FeUv2AGNaUt+KeKMnub4kuhS1Ydc3tDHEhgiBCjb6B8GkWK9d30SnWE3t4xXEOzOAa33fprprhM6Kiq+wESntwOBobE4fwK43XfsGgClOM0Uda7d6JyG1HWgf5rw56neCTChMDkiscGEHaNeh+2INVarzjBpSJKT/v+s29nND2NWMH8/3kf+o3jnDyay5Erx1nODxN0hO+Mkk962AeDcfGeAqlU0z6pJw/grczZsBz1k24LjfwHeuAR7+R1vD4ZPRNRnhKiA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) by AS5PR04MB10057.eurprd04.prod.outlook.com (2603:10a6:20b:67d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.18; Tue, 18 Feb 2025 08:58:00 +0000 Received: from AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6]) by AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6%5]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 08:58:00 +0000 From: Daniel Baluta To: p.zabel@pengutronix.de, shawnguo@kernel.org, mathieu.poirier@linaro.org Cc: s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, andersson@kernel.org, linux-remoteproc@vger.kernel.org, iuliana.prodan@nxp.com, laurentiu.mihalcea@nxp.com, shengjiu.wang@nxp.com, Frank.Li@nxp.com, krzk@kernel.org, Daniel Baluta Subject: [PATCH 3/5] reset: imx8mp-audiomix: Introduce active_low configuration option Date: Tue, 18 Feb 2025 10:57:10 +0200 Message-Id: <20250218085712.66690-4-daniel.baluta@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250218085712.66690-1-daniel.baluta@nxp.com> References: <20250218085712.66690-1-daniel.baluta@nxp.com> X-ClientProxiedBy: VI1PR07CA0286.eurprd07.prod.outlook.com (2603:10a6:800:130::14) To AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) Precedence: bulk X-Mailing-List: linux-remoteproc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8247:EE_|AS5PR04MB10057:EE_ X-MS-Office365-Filtering-Correlation-Id: eb45b44a-f089-4425-93ed-08dd4ffa583f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: pue/rGRpdNie1V1uhxflLYR44lH2+rAQwPVNc+l80DlIaforsCK9k7U9CM74kN7Tyu+QKJ+JDKpwcuvtMMbaRbECmG3InXFxul7G7FvcnUaD0amnippSwoekh9Ycpj9oRxeVSw2LDF4PomL6PRlOo2QmPTy2rAEm7bC5xWoU3Am+p8bfefBmQYiwyqSiBGd4J3v4H02pHCJmWPZadCO9UYe9N6OX2AjeDK6QfFkOCXGRXUVMP8GfZf67t8oKK81cbmLn/46ciDL+900Kp49aUn+AMPF0Nl7qnIvALF2hTl42H1R7dlDx5Zil9585pP0n/DtzEIamS4jAkXksrTQn5srhr1Ez+pO1KIl5aC8LB4cqYX1+y9ugAxEBDWhwBp6+PbJ1XfIJP7ntyOdGwVt4ge2ieZZjs80uAVbN/G6yhQCiLlTsRV8ZO9BQflj18xqZ2rxBLr/3JShyiDnEvDKqNKDvkB/iYy53gF0N0FMRA1HqBKFhfTCtg+/GXjCO+rk4AswYVwHSxG+y0ly0V5wFOlOu7y4y+A9tVU+sP/KyKkTt96j5/XjqK0gxNLeSHFsQ9txe+F5IgJ6if49Djs4L2vYYFIHx4Zmyfob+SnhDAU0JrBpaYsFpgy6vkshyiaFpusJJGxNcOb7IUZQpuKw1w4jRDJ7yH+9wlvorDfC+PEUvcZMYQ/BLmHAkG5n2JZumk98+cQGd9q4F7sWZbvKxJ9geCitukPtdZInZbvS/sGMqyYbwhOFozS5C/yNB5PrJ03RpcatjPocUQsjs0u2Si22YqnD7YclOXn7xYFnQx4IG5BT5F/F1ZDDwQmbao0ao1Kl6MgGIWMCSvStcHNA5sn81s/o83HZupDSTHb3u3rgLBrNp07DPrvYtpyudNvLMVsXL8VF0JOJhKCbC/p1mqFW/eqQezCBMnhW5GMVy2/uQW5MC1yF5+O49hwEyYRft8N6yt0AnWM0LhjrZ0DR6h0FJ34Wfdd73I8uqKDrQnn+5Y2yDcsF/Ld37NdUygYdBVoDxlhVOm3ahkIVcAWkGgUAjmp33OAx/mJssd723xQHf5bZGepmhyhz39WJA53XFzxXN9RKiRS23X8qKIfl+Xiy3L0U7tObdodIgM+x8rmzSrm0hspXRhFAGMvDrMSPTk0lWRs3/iGhHXYEtAf2xI8Zm5LNT6qeaEOg8yIKE5yxONHmMTxPTWB+W6voYScLfoZsqXQuLm44Z1QQFhweBtWWojaFWIOhzjdFJ5G6VGNfi0k9q1BcYEkt6fnXQhkpUTrIVK3511LlCFwklo2GEzEYbijdcnXrT8cbbq+NNQkqURmU4yaykGb1X/6c/pC43cL9u6a/amVojHF0AN7V8Pr155vquhrm5zHG8WzIXoJYu/bcDG5gn56+UaPtEtoue X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8247.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(7416014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3J2z2drm3SBDJfu2uuKwI0TsorJMH0X6epPCxG1CAh5nlTijwna+0My1y+c5Lwwhe1bA+Q1MpBUREE+bJrNMuo91ZMJD6Pylf5wUBQMRn3/7dllmF4HACwxHKgLj9+nytwQrpsoBLuNQEjXI/XkD3ELTkF/Lr94T+sUZoXQ08AozK3W2JGP1uaVHupJEYYJZJaRK+en257EplZ18PO/MT1EmkDQAz5fkNWmON4tKKHEWiS724o/pqi+AuNKlEiZBYaZgMxq/LT1BGYWzK0vFipkdwysRCvLnQcgdo7/mkHUAru2h5QwUgM8cbCTVZNuNWGwBpbH8tZMNE2cK40IyVYx2bZ32TQZecidRM844aYPZoZMkaNyobJNKas7X9ehfPSQwwp6+NBHVNaJS9DoognDNrv/ewi4LEqU/YFjnDnQvzynQkmAXa/H+U+TUIFwgxJUpdJNiamsc2YOWghcAKaPyvXmqlbK8D+aUMT4EXKFQllh2keWNVktpB60rGkp9gxwm10kwQcsPI0Rzsm2ZrEgeu4JUYLn6lhXYiduLXV1cIripyHdlVFfDvBtjsJv0ETndVjXFXIfX3LZ66jJk5MF7UsBygVy7xjRdHpQQi0n7mWXqSKo8UfdDixSFg87QPRh4gB32/qjQKSd7+xj5LEbIL5X+6gbwHxsgI14Oy4Ij/ytBmwTLF4v4m3y+7VCubhqlKTgGEiaMlgMVnY44Jqf2cgnNYqX3OCMp7C9pATDfrnzj0Wer0oV701CDx/gK3OzkrlG2piGZWR0IJVIn17MvkkDxpElo4CQp6lGXB/3FDaMmdQHZ5FaTHUvHaLwPzwkuOH63gLeWdLjzDsc6Q5KYpWlDCFAa0zQKHIXaesWvPyLfpvFRgq7uhyAVj4Ibzjh2fWjUqbs8OtoFLo1NxkCiP0+ifZAALwHA6tad8d3RnYVdMP4U9Nm7hWJ/r3q4Nh6/VMe9F+uROlCVNgVjjKz9gp10oc8Dc8EedUOvV1P05QPJbAdW+xCluB2oXz5+tTw0zXP4JmwjldKWsz1Ptx93ONV5YFLeJy4mHwJnDy6Tfl3WzkeNn2zkhjR6adhm0BZWMbtBo299w+zMhNiK8gn3IfjHZt4c4g6z42mPrRmwUeU+hR6gn3o7rpK2O4OGlhPy5UITBMsVSivPAoHD0oIry9zcheDh3erV/wsmARgNREGyH6Cv+rLaOzGQ8+frZZX/TnNn1bUqjTQ7XSeRO08BxEQD6AYeksqCn/Stv0Ei9jr5lJNPRNoopdL99p0M3/v9ndiREuAxepzNEockr9aPsJ3eC/w6tBteXQPp05W3jGjmPSZQxIw8HKrbbowCjmqSqMXsIaIWgS05Q+QTqh8b1/7ck7pL9t9pTKRZOn0IRme4ip/ERkWbQQHIXTYCnA5LOOXMFf81bAWQii+HGGs4/sNaTctTxmaPayH2bJcoHsnsPRiwFf15arnSQZQsZ4wJIXHDVhEagBFeo5c4kQgtYkFWtNlD08jxRPLxGIwTOgHEJCiaT3WuogBOkPfXBmkR7ZRP26MCaBsQ2nSl195Z7AxVXl/qqzmU2fTQo17SsxgIicvY4hU4jNB/a4HFtj/b/B56E4T1qWKjKGStD/TFFH9AufrOzBWWjyrkovfhGIBE0ACYaKlq/D1gjlXQv7KRTg1m6mxJSYBD3sLLug== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb45b44a-f089-4425-93ed-08dd4ffa583f X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8247.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 08:57:59.9514 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Yw9R8qJN0s7D1oSrxG1bxF6bKvj+JirCf4oJsM86CYAIduqANCaMyiSAPF9QyFkU8ns3lXJuRVnLC2Ad7ISXcw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10057 For EARC and EARC PHY the reset happens when clearing the reset bits. Refactor assert/deassert function in order to take into account the active_low configuratin option. Signed-off-by: Daniel Baluta Reviewed-by: Philipp Zabel Reviewed-by: Peng Fan Reviewed-by: Frank Li --- drivers/reset/reset-imx8mp-audiomix.c | 45 ++++++++++++++------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-imx8mp-audiomix.c index 6b1666c4e069..8cc0a6b58cbc 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -23,16 +23,19 @@ struct imx8mp_reset_map { unsigned int offset; unsigned int mask; + bool active_low; }; static const struct imx8mp_reset_map reset_map[IMX8MP_AUDIOMIX_RESET_NUM] = { [IMX8MP_AUDIOMIX_EARC] = { .offset = IMX8MP_AUDIOMIX_EARC_OFFSET, .mask = IMX8MP_AUDIOMIX_EARC_RESET_MASK, + .active_low = true, }, [IMX8MP_AUDIOMIX_EARC_PHY] = { .offset = IMX8MP_AUDIOMIX_EARC_OFFSET, .mask = IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK, + .active_low = true, }, }; @@ -48,48 +51,46 @@ static struct imx8mp_audiomix_reset *to_imx8mp_audiomix_reset(struct reset_contr return container_of(rcdev, struct imx8mp_audiomix_reset, rcdev); } -static int imx8mp_audiomix_reset_assert(struct reset_controller_dev *rcdev, - unsigned long id) +static int imx8mp_audiomix_update(struct reset_controller_dev *rcdev, + unsigned long id, bool assert) { struct imx8mp_audiomix_reset *priv = to_imx8mp_audiomix_reset(rcdev); void __iomem *reg_addr = priv->base; - unsigned int mask, offset, reg; - unsigned long flags; + unsigned int mask, offset, active_low; + unsigned long reg, flags; if (id >= IMX8MP_AUDIOMIX_RESET_NUM) return -EINVAL; mask = reset_map[id].mask; offset = reset_map[id].offset; + active_low = reset_map[id].active_low; spin_lock_irqsave(&priv->lock, flags); + reg = readl(reg_addr + offset); - writel(reg & ~mask, reg_addr + offset); + if (active_low ^ assert) + reg |= mask; + else + reg &= ~mask; + writel(reg, reg_addr + offset); + spin_unlock_irqrestore(&priv->lock, flags); return 0; } + +static int imx8mp_audiomix_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + return imx8mp_audiomix_update(rcdev, id, true); +} + static int imx8mp_audiomix_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id) { - struct imx8mp_audiomix_reset *priv = to_imx8mp_audiomix_reset(rcdev); - void __iomem *reg_addr = priv->base; - unsigned int mask, offset, reg; - unsigned long flags; - - if (id >= IMX8MP_AUDIOMIX_RESET_NUM) - return -EINVAL; - - mask = reset_map[id].mask; - offset = reset_map[id].offset; - - spin_lock_irqsave(&priv->lock, flags); - reg = readl(reg_addr + offset); - writel(reg | mask, reg_addr + offset); - spin_unlock_irqrestore(&priv->lock, flags); - - return 0; + return imx8mp_audiomix_update(rcdev, id, false); } static const struct reset_control_ops imx8mp_audiomix_reset_ops = { From patchwork Tue Feb 18 08:57:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Baluta X-Patchwork-Id: 13979338 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2066.outbound.protection.outlook.com [40.107.21.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21C7D230993; Tue, 18 Feb 2025 08:58:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869089; cv=fail; b=VqXJ6+KA7dJvWZGEpxXFW7VjdxE7oI0qV7lQkjsQeu8l/gxTsgAKgTaqqZIjCClAk4WORZX4kdExLW+f6Ya8h15Fd9iJjCPQbUysrWCd7K+x97g8Ma0P87XxGKSkOnZfhmPFwe2dxV6cCKkM8S9vqKpjf07cwRu2wuoQFQhpgqI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869089; c=relaxed/simple; bh=TUUV6gEyhWiQqtCq9bmSsYbvGFra4bTlej4OTdqNiX8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Q7TlS72xwRSXP4LzJn8iI7WVqB76Dbge3E9apeixX/YaKDEMyqNG+m8WqfppFD0JFyVibM2iPQ2BZb9ACj3qx0tqlkDGVQxCYqZrHLsyTlwVXgL8Jo6hDgBudb5xe8eF/+0MWD1ZAfVkBPsKqyOH1XKAJecBd04z5Jx+t7tmZ14= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=fJHE5y4E; arc=fail smtp.client-ip=40.107.21.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="fJHE5y4E" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WhPD/NPVYbFewSeX9X1J+hDv0FqldK7kuNbmsrt17bGgEjFv16y80fg7N6TKc18dDJVgQuUu0oDO50Ihoi7hodxKEYpx3WzaymiJ8FMZ7bXWNzLGIn2O6sBPB/YqwlsMv/VD/nHagJ+ABW9v38OpwZ29Zw99FZUrwOk9fm6AaOVkQohon67A0HXkOjUlnXOnP9BIDENfz6VDedgNzEZL1YD8gW5AnBmSsR7NwtGv++/B8//4NvZdt8cIHs0SMI47ycIvCSlPPb8VrprZtF5zT5LXd5mKYs7HGCZ3Cmqmn2OXF1d8zrhUY3HSc5c4bxlHSqCDZxUvUJbyWxEoGqhZRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=z5kxP57gvCSyKlnuJbGbgrfo1NK2Clbbav2Sn6ncZKM=; b=WmHwtSlfRW33ZIg+rEIAsN1jCRV8jajK0jd2RQng3KoH7/2rngZu0Lv6NYZ5IMNoVxfv0VIQiIyeqDKhe8C6XWQbOZgf99ttdyMMdN5bSJYSUlgRQXgjVy/EXI/+AE95ZYyzFLsMlcwmb8R3iWQ5ZGZSnAwrQzXnWXSRrFc4zbD65gw5mRp+Kmcrq8zKZ07p92NSV7LaW2ZVsfYAI1uLF35aaRzEr2+JRe1m+YzVicLx2zZ7RKIyX026HWM50IBtAsRdiHT16TgCJ1CLTo1/9hHZw5l/RT4er0PZq5M+LBUEknKozHodjqgX5bTogf+z61l6NBzHkwdAWCSu6h2Btw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z5kxP57gvCSyKlnuJbGbgrfo1NK2Clbbav2Sn6ncZKM=; b=fJHE5y4EEqK1IsgN8BgihfH0GNuSGOl3rnsq4DN+s7Pmlc5jcddRr1Ru5z5nROsOA9J3Xoxk12oItPlYwXkBtWCWdtJBUN+YDPsOi5SP+EjevVF+fvA/Y+mKpae0TGnU4Vsepvso07Yp1q767nwpEt5a4Xv0XmNViYxcybh2hibIJzOCBYNyHdshoAiPQIBwJfQPJoYJixtchuR2MMF7EYOi7TRYZqajGfHekgjYV1TNl1zmCmWa+xJnA2kbOGWFnCDUcjLKpNbgb4GzKLfoOp0S7m1rShZTduBvYF6hJZIyLET3YkTSiOhcLy1wZl6GU1TjH8KlYFH4UXnt3WLJfw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) by AS5PR04MB10057.eurprd04.prod.outlook.com (2603:10a6:20b:67d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.18; Tue, 18 Feb 2025 08:58:02 +0000 Received: from AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6]) by AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6%5]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 08:58:02 +0000 From: Daniel Baluta To: p.zabel@pengutronix.de, shawnguo@kernel.org, mathieu.poirier@linaro.org Cc: s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, andersson@kernel.org, linux-remoteproc@vger.kernel.org, iuliana.prodan@nxp.com, laurentiu.mihalcea@nxp.com, shengjiu.wang@nxp.com, Frank.Li@nxp.com, krzk@kernel.org, Daniel Baluta Subject: [PATCH 4/5] reset: imx8mp-audiomix: Add support for DSP run/stall Date: Tue, 18 Feb 2025 10:57:11 +0200 Message-Id: <20250218085712.66690-5-daniel.baluta@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250218085712.66690-1-daniel.baluta@nxp.com> References: <20250218085712.66690-1-daniel.baluta@nxp.com> X-ClientProxiedBy: VI1PR07CA0286.eurprd07.prod.outlook.com (2603:10a6:800:130::14) To AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) Precedence: bulk X-Mailing-List: linux-remoteproc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8247:EE_|AS5PR04MB10057:EE_ X-MS-Office365-Filtering-Correlation-Id: 400a47e9-8a19-4d6e-f75f-08dd4ffa5989 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: O3DlmufOQnVJLfau8e5W9NBy0Dy00KPHp9hoePdakVRJoIUZl+Ni/KUEIGY3/iKCkazVKnDDo5/ZjktmSLmuhBOZ01GAYNHjS1WpwCbQ2NN7BufbRjUAjmh3wdL3gKP7CDtcBcMhKT0k/5ABK5cYteQTfQke4ZXkmPaFIZTWaUP8/WvwndqhwVllaJP43NsPmhh7nfTxFdwOSWY0qANyya2EryzM8cxKdaAj8rZy8CP5W1dfEWvAVwxHf3+Vf7uo206G5hUZUj+cu/ipL3YvgO/c1owLvIlfyix2BhaNuEaVu9vwArZli0hGqSbEzjoWdZFwPwMdtZfb9QakZS4gcwKR1OQQjCHqmTZVXajcJ1E2jldccOxe+FfY6HHPgKNidrFt5MTxNsJvpkgskkLmZJKClSElLJ+puCGl8oGntWp18v15XEUF5O3YuhsE6k3Edg4fBcZByhF1vpqC18CmXcnsifN5XHLUtfbmpZiqueI0UwmaUZ7bbWna7mkPT+AXqCwdTLsLkUIDquYHEpLWU5pr0rdCKTbHFk0MiX9q60s+9ij7vOyXXYIjZ0l1vvvlxmgKmAoGHTMeKMQ5Ofwaat895oBUOBeeYPcJ4LQhmDsYX1feIb9uB0Plj+9V4Ht0liQfmfHDW+dCbWZu4r0SO24gU9ybNY1x9edt0KHpm6RNK1G213laQ7LLK1iYE4elU7gmv8z86gU9dg4nh3BYnhCjF8CrJmxHyvXrVWVJK1Fq3dY6WzPdL/t1hZQvuwp9Jg1+JunAqidQWMtbdowauUjQqjQuz23OY33Ga0haZEFWIzhPyQMeOetsOmntOJ42ChIu6eGubC80cY4QIov10fEIj9QJK1ixB7LkqnOT4FF6HpEgPvkKJprFgEEZrvPLnBhQa6SbukcHAq7OlCYfnWvA8yEKnm/OJAypRfA1PJWU5uVTQbrEkwamIdxn4zGLYG6CKCWY82ga7MJZrfFo5JB7oJXtQ4H0vghG6y7FnAPhIP9/g+JaYngtF/DhQhfo1NUjb5qQerLeNZk4aPAItpmOQ2mFbziqVWIIiVHGh52gtjtlaN9YaTWDLgwjaZ5m0GJwsZbt0eblgv0xQzM5yFcDpaOXTyp7v6yG/eczD3fJonD2gYdopYleY9qMSlMicgrB02pksHxqnMDio2xMScHnLnpW2EqGsW1GMIdyNMTs3WpicIExTFa0ne3RstKioyzFWd8/tCgydJt8LXrbN6/j6pK0nZuqC7EB6Cmh1xc5Fi7juuQfAk9HRFjPYeGwLptAn/u+9eJd7sMSHrA5fRJ1/EaOZJwWUWrE25s9BPWocjrbOgFxgmlMxp3ezB/dnteLYbBd1FSQu/i8TjDasi09+TpIK43waHb8bfWHhA6/VResVKun65Zk7pd9FIRz X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8247.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(7416014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mKAJaG8H6NvSuR+Qb1GvfI0SFurKRFr3beR9D7ZMfL+Yqy3NzwOLXkoIr3d8l1gEe9dgGR52ues6Qfj75CbToWuzdtmp8sUNtERaO9vJ1sohYg4ymQGq93QYuFRDfjuNP1Fm3t/cwhPAq1/bM5womx4OIvwYFhlOZhvVNPlOXyHBENv7ybxVEgZGthknPJEOt85T0BNnOc/t5iNekQB61TcUQTY4lYDofltvY3PiNAKmYjSF1Yk81ZRteSVBtUMTDOool7tFd/pH+gqo4xm+wTIoKMqFyaOcd3MqaMarIbj4hARMzMeRsz1YOurPH6h/Xaf7Nf8DhzEuFi8IPpZdaVJ0uGOdTb3FShKg4ofFTiN0EnB3S7ReOkHEFrVmw3LIls+y4o4j8daHampsl5mDoWETI4a3KdpzKcxPXeJf4jqdzhxotwcbbBYndw4OxZT6PQ6eR23gL3AJZFak4keiWDteLCCwy970UGi1DHuLPQBXAekX2q8rQwOqk4T0qqitGBvmOtEb4lzmEPF84drLvaSZdtETrNlWsVReuDMXDbJ7hlo/OTWzF/Ar/USK3QUDHN1YXoETilb+ET6oCphv7NS7QdOZRMm3yfEzPzl7C7dfLklfVaSPHytzVtLyD4Vxhpo74zryV4XAK8MpIXmEJHSIIR7/SmNrngD3yEXD2ibefdWVLhodsget2NtZGxveXVRh7Trhm8SxSA8GJhjGWycc+NpsQ1Ri+YaMP/bgH2Oep3Dr/+BNyk6aec9n0oeUSFlkkGBKsOrVGQA9mwOFlRso15atSiCNIirTolYMeV1GqARp6AaQCjNKvOdxmjCxDfD4daSoZOPvymHSDJB5/CYo5iqXyqWajowYRUUeLYUweg1SBV2aFZaYY1gQ9/vIV1YFPO4NjkWZeTgztt4iAs8B3jrS6zs0G+tooI0z4XCY08hCtOlDmfToDyqaSnxzJlsw6IRaEPIAe3YPJR1oE1oCLTfhtrKG42zxzQ4eky7y0o9Yv+0xRB0pwmJ6/sOCxNgLYlUaU2moqHY3h48HaIfysmftz29x5F6/y9RhLoESf8fBVG+y/rz6XE9jOvCYmjBHP2Rhvc00IiNnDRa8rNuBHSae+VPa3bV7qC3OruRWQNL6t7XOCQjrjUBAd5VYhLfE35lVYflYXOCnU1HPIrrUykQjp0v6IL0tMLHxq0NhJ3funjo94XACFoWhfZOrh8ana7zXqC3enx1Y7KH81O0+iriix7FFBveZpMicZhNGmfCs8xwf4ZxHRdnJlxH/zIx2qiy8p3sqcYrd9w562hz6SfhGKdLsY/MFUyHCqPggR1y7y71vYLHHNCrWXj/9UVdTNJXBXgbqt2M2d6X+hURkbewOKp2HgFsr8j55tmdJLIA3+l4yv+JeApE+VlNxXxEEPmT95lY+wEo/D3NaErd5KFrJh6U86T/AKFV9T/OPg3jzc6hnz8pWl9zBSVcBuNbg5ea9zs9CRTqIEEMT8FTIS6oJ0zaGUHAT9GU0TD4qaOJHBBnGZ8sS3TPg84rnw78tNy4zxQtA/bx8aZVPMRxsAvw4qqhi3c+icn80kOe3Vv89oY3rhiUxVdIYFLnvomMu4DU1tabi+3ahrE4jkDK4529eddJBOaI0Ji3dnI84+a6VjHRnVIgNDgmWJXejJSwo06jsnNlhPd/h3W4kAg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 400a47e9-8a19-4d6e-f75f-08dd4ffa5989 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8247.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 08:58:02.1006 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fpKjQHHSCif1frWpYGy5qe+EFhMEI7FWl9ddXFAiM18AW7yzU7iGdoHEPiq8Hi93WMotXLnkmG3VHqoJSpddNQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10057 We can Run/Stall the DSP via audio block control bits found in audiomix. Implement this functionality using the reset controller and use assert for Stall and deassert for Run. Signed-off-by: Daniel Baluta Reviewed-by: Philipp Zabel Reviewed-by: Frank Li --- drivers/reset/reset-imx8mp-audiomix.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/reset/reset-imx8mp-audiomix.c b/drivers/reset/reset-imx8mp-audiomix.c index 8cc0a6b58cbc..ee56d52a7278 100644 --- a/drivers/reset/reset-imx8mp-audiomix.c +++ b/drivers/reset/reset-imx8mp-audiomix.c @@ -15,10 +15,14 @@ #define IMX8MP_AUDIOMIX_EARC_RESET_MASK 0x1 #define IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK 0x2 +#define IMX8MP_AUDIOMIX_DSP_OFFSET 0x108 +#define IMX8MP_AUDIOMIX_DSP_RUNSTALL_MASK 0x20 + #define IMX8MP_AUDIOMIX_EARC 0 #define IMX8MP_AUDIOMIX_EARC_PHY 1 +#define IMX8MP_AUDIOMIX_DSP 2 -#define IMX8MP_AUDIOMIX_RESET_NUM 2 +#define IMX8MP_AUDIOMIX_RESET_NUM 3 struct imx8mp_reset_map { unsigned int offset; @@ -37,7 +41,11 @@ static const struct imx8mp_reset_map reset_map[IMX8MP_AUDIOMIX_RESET_NUM] = { .mask = IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK, .active_low = true, }, - + [IMX8MP_AUDIOMIX_DSP] = { + .offset = IMX8MP_AUDIOMIX_DSP_OFFSET, + .mask = IMX8MP_AUDIOMIX_DSP_RUNSTALL_MASK, + .active_low = false, + }, }; struct imx8mp_audiomix_reset { From patchwork Tue Feb 18 08:57:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Baluta X-Patchwork-Id: 13979339 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2066.outbound.protection.outlook.com [40.107.21.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 748432343C2; Tue, 18 Feb 2025 08:58:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869091; cv=fail; b=W9rdFa6DBHgW/ISFTx5Fuk70IKRxb+vhP23EYBowrcdwYNPayJ9JsKcu3BXYBMhVkpeUMS3FwQA90smyxs4mMV/iVbbxVIWklCBFVsep66lHx1HlJzMV+AP4G2opm7gNeS4ZOEKwtCNaAlw3aZQg920QT5EcN8qo7rf3JXBlGIg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739869091; c=relaxed/simple; bh=DKW8w77rLjZqf4Nzz2FIwBFIyrMy8aqPMebp/KKFLLU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pU7UizgVitByBD1LFrxsC0xbfhJV8mWDjsF6ndqHsu1HbgesUFdJOyJxwDoxWx5mt2s9aO6iFJ/E5kjiPjbq91ujcncrcKB15AzMlvoMFJ3za/v0RBzccAkBTavnUzJb0/VpJq5NI6s3+Id4+0V5TVF/DHyYjiVosd97bqUC0Dk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=Nnb4LWb7; arc=fail smtp.client-ip=40.107.21.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="Nnb4LWb7" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AqKfUkrYtwFbiEbFNR00JE5ssaSDonBNqV75i2hI5Df0hLcvtTniRO3Lnbo2j6zZUpUbyrhr23/MJybGtxtJYDFTtli5flHrYeIPCdY6w3vByqiCV7gxrrvc9gX5i/49Bzpn4/KOZxt6KxI4ac5BdYm5OlxZaDu/BWTorp1Q3dujSxp5I1vujoL1P4U6fSL3hfhqsqcSaURWln6t/naEREEkQfCCe24C4DrLfptJv06NMLZYIv4RYnF1UatAACJ3Y31rE7njb3P6zGjxIVlY3L/Pm1JVYdxoFxto3+15wGy1MJyZd7SDC8cONDL9FDq+C3IM26vcjUWi77DEVxCWEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7dkrbWloS8RMmWVILI8F3h2be6/ahN/ZcgIoAQ6eQIA=; b=A41tMjD+G5BBJNx6HF5/AXXlSSji9/ay1WDGrG4ThVlRm03d4Pa11b5cp/xGGCmuoMAQBQXd21l2Wdr5l8G+vXGvTQnzwDnOKXsz31HiaW/3xpeI1+Wel2sEGoDVm82RkyBdtQ4qYyl0pLHA5vgQfeTM0G/vGxETGsrRFpbJHPW5WFVdpDOzF0eKn3QuFTYDMEZiUa9+y4eCB/ReIMcPa6onQenhD17OHFIlCTSYhoSOjN6laDtVFsOMQi6C7EjIiitngF2rKpPANySdbxIhPDLvOr+3ZlXyySy0Q1kEjOCLNF3Wc3z3U0VDZ/RfIuv4jd86RfluK343g/yUOkYbEQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7dkrbWloS8RMmWVILI8F3h2be6/ahN/ZcgIoAQ6eQIA=; b=Nnb4LWb7oTUVgAvnc2Q5w4cPhqa/QLFvGbNn+faTwtWifCAqLHzCKoGwoqUF2j4vkBw7gA2OGIpxV8JiFWajFkIl3QZ7GLHfENzLlSWEN1vSRDzLNbaLpErNhBphE8Cza1j+RJooZLx5u5V3kHdlDWySfu5Gicy7QbOZUETgB5QpQS3dHBysHDrCcW6ZKvT4rZlYA2gG2OK2BaT8RES7SprEGCTvwX8K62VaSMx9hHjJOZ1xzsY+ZNSPH+0CF0pyCPWy0XwQmQ9CbiIbg2LcLExy33v+xGpoMiffwXAHztcNS5qs4XUu5FZp66oq6vC+LUTahKF7pWzfDXErdtd1nw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) by AS5PR04MB10057.eurprd04.prod.outlook.com (2603:10a6:20b:67d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.18; Tue, 18 Feb 2025 08:58:03 +0000 Received: from AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6]) by AS8PR04MB8247.eurprd04.prod.outlook.com ([fe80::84f7:e2c3:ceed:c0a6%5]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 08:58:03 +0000 From: Daniel Baluta To: p.zabel@pengutronix.de, shawnguo@kernel.org, mathieu.poirier@linaro.org Cc: s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, andersson@kernel.org, linux-remoteproc@vger.kernel.org, iuliana.prodan@nxp.com, laurentiu.mihalcea@nxp.com, shengjiu.wang@nxp.com, Frank.Li@nxp.com, krzk@kernel.org, Daniel Baluta Subject: [PATCH 5/5] imx_dsp_rproc: Use reset controller API to control the DSP Date: Tue, 18 Feb 2025 10:57:12 +0200 Message-Id: <20250218085712.66690-6-daniel.baluta@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250218085712.66690-1-daniel.baluta@nxp.com> References: <20250218085712.66690-1-daniel.baluta@nxp.com> X-ClientProxiedBy: VI1PR07CA0286.eurprd07.prod.outlook.com (2603:10a6:800:130::14) To AS8PR04MB8247.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::13) Precedence: bulk X-Mailing-List: linux-remoteproc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8247:EE_|AS5PR04MB10057:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c9e5be6-268a-4736-8bec-08dd4ffa5a62 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: DVl9lh+RIgONxPbrz29y+I5CCUy7QlKDGWCzjepjOyW1TcbcL5T2KIzvEyJKaq5/EyZ0zIobaLfpDnS31LCvUtU+jhoLbG5S9HNIG1lZZH6avjR1xBOi3kDJMaJdxxptD8OvrmgSjOGomB51WabjUuLwvN2rfzcYVwKHlKKIQLd/M9dFIdyUXGF9B/A0rXzleo7fcYsvL0VxBW+E62P5e8JJahpoKz+b1/tx/AQEVUhNS6BYR/NC/jGRR6bFDEX2sJcuwbECVGdXu/3J19UoZemB2p9BjqieUh6uR3frYAgvSKUm6+3ZfRbTBFbj6UjkSNeSI5bDKURRHiOYSST0gNprgS75+NB1rz9gi+oZtDjja8wNaKBEfiuHzkc03khoQpw5S0J/cPVFNwZD1SEyXEo8pgfVLry1dHFt7Zf+utiEXBYrRNbFNf+hRszk5bamU77cczF0fd0VNauEnyznp4BxUmllmVvPu2pxUFroX33/QYcXabnz3VnA3Qcs0qN2SQYJW3FjaqK1mwXdYIx3RvvBUKOCxSoEKvdnFdBE4lf7HE+NoMmo2PV9IT3EZqUHsGep7rlhNQJ5EgpvcrEdKhpVnUfk6ApHkiGHAkb3qLIoOZrWzhsNd5l2YmTSOgug6Ngk1GUG/v6IAUh6qAfUq9xrIUAuq0Qq5LXkiQiK6DD4oQHOqz7BnQuMwL7QTLAF1cZCJZzSbALeRr1gVVvKySaGeqHXGkv9kXiATD915ZjvyvvtgVj6lQZm2giVBCcir/Gkf/cRb+167HIZPf91zpGtJE/Ni4IqLnuvq9DEn8JEpM+hR+Um5OrigMsTAjSvP1rdmNxhCsxv3dP+/rQEt+RGwdAKb9Yb5aOl4CrxPfmm7PbaTHo3lt4OnMp4+dSO5oLp4I5D1kj/qSLtKlHrj2kcFEph1QhQAnTWleWAxvleXqcpokPU58HZptqBFNuvhKThBqvp0fmt2S38TzBnk57pflVyabgdBMzZ6kcDtG5Xuj/pg08FJUObGBlrR8ckyd0aNdM9rIpTlV+3/wQ7ymqJBoMxSiMLmK4J8L5cp6jXfg+t3Xg7dsDsyGtfGgebQA1jj95UepACKAqaL2Hn+yt/AoPCx2jVexYOvtBOlYWQBLlscNIHtCJVZwS9LU8FB1qFh+KWajUxf2x310tYWdfqZ0qMB0uiph2VKCJznI1Albp2WZaCg1kNcBOG6ZgPKEAOL/lD368KLLAwzf3AebRUtZNOMXmVCvcbdrlYROtA33BK7/AZx4LJQbc3pyKoMENqKpESwkVG9KMFXczPptNx9wng2A3kth2Jn1yrAmSioLpNC2Hez1XGA04gxwn/TWwOL7liLVCDc4mAch7UOzBcUyWTrGbEnfHAe8hRdoizUyD3IGThiR1JRIezllHY X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8247.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(7416014)(1800799024)(10070799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: v3ucxzkkH6bbncnzitI3ZtYn1QEXbxJn5+g32u5OZOj5EKBCFRj7Wk17fPdk/kj2QtFP1YkrJ+rcqRrYaIKjK8Sqt6CqsE/ancOwUjrpkwM89Wl8f4vayZligZIyHUf0h+O0nuqa56oy4HIfs1HiT3SCrHO63ZOE/4RrMsE78QneN+qon7i3uQVxt8v7vOLDTxgzgjux9V0lplSCFiAzC8fSjdGzyPaA6TnL8sK75jjStOm5qoOLQz/OmTN7assXXMynQ6fP1C3gXTFezu37mYFenhEI6KNAqR2WsvZPT1fPWaSNghudOg69JtKRVgTWDb0FqSsuAoy6RCthgLaUeMwC3btPeasho0LsZejboWiZ/wL6tllrP8krFuc+OhReTnQ+wH5IuL0gQneBfJkjAX9R8EUcJD9jezndb0D5d5eYA/+MPV+1RbIo5ChZlyiOVij25Fcm0H5IFiUu7DlhwS7m3b+CovtrHNsI6eYu29FBdwYO7E5pODpuD6k/1ZSx0G8LWiaDK8BLAYQsgLtwTbF9mxcN6Ler0fcUJs2505WAboDgFP9jdrMa6GYgMYiMn15qlut0CKUwjDVIXk1GWx6IvCdal/zqkSjYxC4FlxfN4MgX7uxfYTIpjQ4qX2GB6h1mCi9EZurXQoULDkXNBLyIwuobyDLQ00HGDts+SpGHVMtnbLHJU4X+RFI0KA7QcqwIo9xk9x5u1LGwW038NGg0rSk0pRDUF4kNL3Sp6xmOcl9pR/DOmrPrS6dduwRgIOEwUS0t64wXQWq53JiDCvZqS9B8xuLvWmFChSeTIwWDRRXHILt4DJVe+HR6a8h33GzaAGMbKvEYkD5JsOck7bYXt0HJRV9/YWzX5R+f/vbpb1I2DYWtAhbXkTZTwBSjnOwJhSCvsaWSn8QrIlo+Wu9WZcGGvHLDCiD4Acc4k9K/wcuLf0weaTTtH9IQgZ9oEm1yGUXXwpqwex89DZdWEA0b7VsJrmYD0F8tAjW7a8yVkf8lXQeDhochTIFhmZsQM1YJBPqSXvxCQEo4/fIRK90rzALwWLNseyM9UqMwmlG2DpPjkAy+NWuzLb7wSjXADKd0VDhxa0pR0kdjcWRlZMV0YKqi5O/Ygafo7fXk5AvqwUItwY6MEt+EqEIn875qBWyFTUTtd5WSTqXPqH3BXmF6CYpk1cbmgAdRrDe+P0B72fH8u06tZbJJF1/zJKnlNKJBXmJznkrbVQH4bKun4XZLRyORJbRGghBX5W4+//2kKXsBYLeb7fJg902ZEcrXp2R7vbEy5JVeAg0X7i9z5HtiRKs3uiXJXENDCOmi1JblUqG5SQb/E9FToDlYEN4BYIsBP4g3NB3iG6lGbmIRipPiS8FSlwzEXsvjUMPBQKBINFH83jxC63tXluqP9FOSQUP1kdyz0vfHol9X707SH3hEDxeaQKxBzKXw0sWAzTkUD/bJO9iXPXAlL6Year9oz823tRkGl8vryrCoNbEPKLqeQ5SmtxEUt60R2GZHWIOxUa2nXSvffvARt9qDrqJ19MS+DnumZsIpp8S/yuT2qo3sKNVGnnYnc3j0LhklJlvWmm3rtGbHuauVWhPoakJZ1Pa/IP3evn0aJNoJhs7V2oe24T0jF8vHWwnpp/7Cx28zT8zeeDW+JwjaR7Hnmc49goQsf1H8n+SPqw5Xt5ybxw== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c9e5be6-268a-4736-8bec-08dd4ffa5a62 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8247.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 08:58:03.5392 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OecrcZTE7eFk3GW8d6/0yR6yFWo4GlPhuN7UklS2ahsbhrMZmCSEBMPH02yp9W1JgO2YXxWesSy90GW4uV9z3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10057 Use the reset controller API to control the DSP on i.MX8MP. This way we can have a better control of the resources and avoid using a syscon to access the audiomix bits. Signed-off-by: Daniel Baluta --- drivers/remoteproc/imx_dsp_rproc.c | 25 +++++++++++++++++-------- drivers/remoteproc/imx_rproc.h | 2 ++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/remoteproc/imx_dsp_rproc.c b/drivers/remoteproc/imx_dsp_rproc.c index ea5024919c2f..2b97e4d0bb9e 100644 --- a/drivers/remoteproc/imx_dsp_rproc.c +++ b/drivers/remoteproc/imx_dsp_rproc.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include "imx_rproc.h" @@ -111,6 +112,7 @@ enum imx_dsp_rp_mbox_messages { */ struct imx_dsp_rproc { struct regmap *regmap; + struct reset_control *reset; struct rproc *rproc; const struct imx_dsp_rproc_dcfg *dsp_dcfg; struct clk_bulk_data clks[DSP_RPROC_CLK_MAX]; @@ -192,9 +194,7 @@ static int imx8mp_dsp_reset(struct imx_dsp_rproc *priv) /* Keep reset asserted for 10 cycles */ usleep_range(1, 2); - regmap_update_bits(priv->regmap, IMX8M_AudioDSP_REG2, - IMX8M_AudioDSP_REG2_RUNSTALL, - IMX8M_AudioDSP_REG2_RUNSTALL); + reset_control_assert(priv->reset); /* Take the DSP out of reset and keep stalled for FW loading */ pwrctl = readl(dap + IMX8M_DAP_PWRCTL); @@ -231,13 +231,9 @@ static int imx8ulp_dsp_reset(struct imx_dsp_rproc *priv) /* Specific configuration for i.MX8MP */ static const struct imx_rproc_dcfg dsp_rproc_cfg_imx8mp = { - .src_reg = IMX8M_AudioDSP_REG2, - .src_mask = IMX8M_AudioDSP_REG2_RUNSTALL, - .src_start = 0, - .src_stop = IMX8M_AudioDSP_REG2_RUNSTALL, .att = imx_dsp_rproc_att_imx8mp, .att_size = ARRAY_SIZE(imx_dsp_rproc_att_imx8mp), - .method = IMX_RPROC_MMIO, + .method = IMX_RPROC_RESET_CONTROLLER, }; static const struct imx_dsp_rproc_dcfg imx_dsp_rproc_cfg_imx8mp = { @@ -329,6 +325,9 @@ static int imx_dsp_rproc_start(struct rproc *rproc) true, rproc->bootaddr); break; + case IMX_RPROC_RESET_CONTROLLER: + ret = reset_control_deassert(priv->reset); + break; default: return -EOPNOTSUPP; } @@ -369,6 +368,9 @@ static int imx_dsp_rproc_stop(struct rproc *rproc) false, rproc->bootaddr); break; + case IMX_RPROC_RESET_CONTROLLER: + ret = reset_control_assert(priv->reset); + break; default: return -EOPNOTSUPP; } @@ -995,6 +997,13 @@ static int imx_dsp_rproc_detect_mode(struct imx_dsp_rproc *priv) priv->regmap = regmap; break; + case IMX_RPROC_RESET_CONTROLLER: + priv->reset = devm_reset_control_get_optional_exclusive(dev, NULL); + if (IS_ERR(priv->reset)) { + dev_err(dev, "Failed to get DSP reset control\n"); + return PTR_ERR(priv->reset); + } + break; default: ret = -EOPNOTSUPP; break; diff --git a/drivers/remoteproc/imx_rproc.h b/drivers/remoteproc/imx_rproc.h index 17a7d051c531..cfd38d37e146 100644 --- a/drivers/remoteproc/imx_rproc.h +++ b/drivers/remoteproc/imx_rproc.h @@ -24,6 +24,8 @@ enum imx_rproc_method { IMX_RPROC_SMC, /* Through System Control Unit API */ IMX_RPROC_SCU_API, + /* Through Reset Controller API */ + IMX_RPROC_RESET_CONTROLLER, }; /* dcfg flags */