From nobody Mon Feb 9 08:41:35 2026 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013056.outbound.protection.outlook.com [40.107.159.56]) (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 CD53E2D9ED1; Tue, 28 Oct 2025 08:18:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761639521; cv=fail; b=nlV6RukE2e3SD6jRH62kUYOCn8txAsehdfK4tAHMs0PrepcRM9ELUXXnYE0HDpPyCaKjYfRArl7m3KigStDF7NdyW8f2g6PH2f+UAsJWwinuIvoBYsugHVtQ3FiSQjGGGMSacMkwAkqy2oeWys73R6FAaslKP4fSiyaUxT9S/Cg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761639521; c=relaxed/simple; bh=Gn8AanCwjay2JI77GrtpgXF6F5gweYuV9gKPS2j8sc0=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Nq7k4lTLYf1TLyzT7Qmbq8vJVwcGbHVdE4IGRnozwq6MH8GnMrTgGR+KGtXDGs1lGiGjz+FsNNnKlNvf8yHdMMnByqRQB/oC9TdZIEnmt2DjFsiuINFCGGBOnqYc+6E7NYMPy/0S/NBH5Tkbu7p0WZB+uYLTC/VmXgxoGnC182c= 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=EEEKKMTI; arc=fail smtp.client-ip=40.107.159.56 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="EEEKKMTI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PDVm4ra0yBBSnHmDLV8Q3ucdJYR/mVIN0kMGj5anzFUREQU5MeUdoKLEi7hh/C5wGdCX+UBg2oh6KnoDfq6M2w3rGrpKVMawWjFV6b+tQQPh8gwftO9bmR7oH9DIGrunM0IhIdDIwHf/U4b3b6lMMtceuzREDylf0wD458Fy0CBX2ZTx53lEkx61YBToKR3egu4LqhbrDwG6GzhSb57wD5nKYB1jFPPFmkQ//PlH+dK2Ra4zSUiwtXFlZakRdytmpJFeTnMAp8DG2O411KVN0GPfU2fJwxptFbSKnup1epu+OVNkSboBxdTy7YooDbnVerjj4ud9ZasZHLcIj+y+Mg== 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=mq0NmtgjYej1VQuxWa5z1Q2xl6VISmwm3tPi1mnGGeo=; b=rUzZXPuU1nYKwrsIWZCfdu6089BocwMZFllhtD9ZU2ULNqHb1RtiqZah+YEDTDP7Zwnn1RScRfa1qGs1EvigS6cwo1F/VQ0EJaM5uo2UZaXyaJrk+ReAU7mtDk+aajWx8o8ySmwvuG3yK65uZ6CNdxkIB8p6EI2LjxS/brzL08eb8u/taeZw/tFiMI0g1ZwJjMCZwkdFzISP86a0Lscyp7bt0IPaxwA8lUbQhvXTJAs8p8syRfltIWtQuR9qaWZGI0u9o0sP9AyCDpCGYU4EJnuvR0WKc6ozQBP5a8rvQn1AmrpAx+LfmFyDTv9PArm2me1Req1+I4tASM+0nzmhXg== 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=mq0NmtgjYej1VQuxWa5z1Q2xl6VISmwm3tPi1mnGGeo=; b=EEEKKMTI0pk0xyaqPbOOP+rzCTtdmTSiqvhSBV7pKw2GcjM1Lgy3Ia+aonS5xsmfHwJr6BXrcR5AwHmkYpw1/jBete5EiC26b5/3W8jcEUPEUbbi6JGfh/p+CCIz7EyY2/T2DAMl6T33pz+CziObqfZJ1WM2XcU5T3KgXFvf7s19IAsrJgMi8LupOZ0vMlEN5JftzCrVp/YpvFMSYpi1NrDZksQbYgcmrpWP8dl9aVignoqFF8LWZpJpjGinMYlw2saeVA/o85RHxLbfYgv7ZRM2DeQ6zSuUeoPWt//R72MG1aVy1F2J6B5lhUUa0syPE54ldDFDGaoYEMN39eCb1w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by PAXPR04MB8558.eurprd04.prod.outlook.com (2603:10a6:102:215::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.20; Tue, 28 Oct 2025 08:18:35 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9253.018; Tue, 28 Oct 2025 08:18:35 +0000 From: Peng Fan Date: Tue, 28 Oct 2025 16:18:01 +0800 Subject: [PATCH 1/4] dt-bindings: remoteproc: fsl,imx-rproc: Add support for i.MX95 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-imx95-rproc-2025-10-28-v1-1-ce9e7db9edcb@nxp.com> References: <20251028-imx95-rproc-2025-10-28-v1-0-ce9e7db9edcb@nxp.com> In-Reply-To: <20251028-imx95-rproc-2025-10-28-v1-0-ce9e7db9edcb@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Daniel Baluta , Frank Li Cc: linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan , Frank Li , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761639500; l=884; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=Gn8AanCwjay2JI77GrtpgXF6F5gweYuV9gKPS2j8sc0=; b=ZjcKKkEzdsjfhT/uEF/RDxEMySxwpU5Y3VvNWp1oRqiRgjdXlmMon4tdT2/B5eh2cCb1np+L3 X0KAO8J4hVlAh3t/HkyB11qanJ/DpdhpsuF/+f7q6SDlIK5HVrVmuvH X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI1PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:1f6::8) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PAXPR04MB8558:EE_ X-MS-Office365-Filtering-Correlation-Id: 71371cc2-8a2c-46bc-6a0a-08de15fa9729 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?RkQ3THVOSjVuaGl0T3k1QmVPYlp0NFgxOGVTaERCWStmblQ5K3pXT04yY1Zo?= =?utf-8?B?d2pRU2JvWjJPdm1LK2ZCUFFEbUx6QzBrczhxcVZyWWJCVkxYN0ZicnplOHNy?= =?utf-8?B?enU0RUNDTzEycitFVFBIejNZc1dGOFRSWmNXdW90OTZiMVlHS0IyTjRTbi9p?= =?utf-8?B?Y2xETFhtL0hGUlpwRGIvTEo5L05ZbFhMQjQwRzltdDBQSStST1BzZzZMNSt1?= =?utf-8?B?cWJWWjk2dXBaZEkxdnAvSHdoeDRBQU10cUoreHRaZjl5aEE0VlkrQ1lnYjFG?= =?utf-8?B?UnI5b3QvWlYxcGg2RFlJU243Mms4RnRNa1JpMHpFOWk2bTBRTzRTaWdFUmUr?= =?utf-8?B?ZmJHZHFKa01tN2M0N3dGMzR2dU9ML3VGYnorbEUxQXVsZU9OclZJeWNUQzBz?= =?utf-8?B?RCtmR1NzQjZURGp6OThvOTZxaXk0NTlwWXFhb28xMzQ2VnN1Ry9XSjB0UUEw?= =?utf-8?B?Z01JRm1IMEowZi8veTZOck9JQzEwVEVObnlvQkhlZG1Bc1phc21odEdWWi9Q?= =?utf-8?B?NHdXYXFwSDI3VjZIR1kyMU41YS9odW94MUFveXhoSHRqM1oyZGVGV2YyQytn?= =?utf-8?B?ekJXZTFzb25va2NFWkw2VnNjOENEeklPMmJhYmdVVTRCM0Q5OFJQNmJ3eFY2?= =?utf-8?B?dUxQQmJMUzV4YVdCN3l0S0hqYXNUUUZFSVg5RUdNZEVZbVIrSlVjR0lhKzkx?= =?utf-8?B?WnpMclJaOXZ4TjFyQ1FsZ2ZYb3RSYkxuTm1xVUxUYmNPV0RRbzd4WDRvdzhp?= =?utf-8?B?clZHUk91dmtFeE9lTkZHNEpBVDJXcVFnTE1uWWhTYUNVcThNTS9neW1RMjNC?= =?utf-8?B?THFkZGZhS3F4dXA1WjdFVEZKU1N5ZGNHTFFodlJaaGt2d1N3UXFWL3FDZFZC?= =?utf-8?B?dHBWRUx4YUU5dWQxSnRsSytJaDhjdE1QMjJTcWhGRjlaUVVJMmR6NDI4Q2wz?= =?utf-8?B?WUFRaFh4RFFOeGp5YUpmZ1craWdXeGQ0TFVYNjY2NGh0NFJDN3NPaGlReHhu?= =?utf-8?B?blM4QmpvVlgwbWx4bElVKzlOSWJLNHN4SDdpYkIwdHJlcytTVGIweVozeUh5?= =?utf-8?B?bi9HR0hoYUdyR1RKai9TU0pmSWEzeUJTdGR3SnE3TWZmZG5NZWQ3MkZEdVZZ?= =?utf-8?B?dS9hTXZqTGdkNmtFUXBLS0V0c3htanpiVkNERDI5OXZXa1NxbHlIZjdIanBP?= =?utf-8?B?Qkh0SWxVRGk3UmV0VHRvWEdxTTJlbXBpKzJvMWtYTnlVbkZ6Z0VtdzZpV3Bl?= =?utf-8?B?a3JjMTNwNUc4TGV5WTVIcGVwSkI3RUkvMWEwUTBqdXB3THpTYXJzR1lvRDNZ?= =?utf-8?B?cDgvNEhVbFVEQ28ralgwcTNXcE1jZGw1TXpLbldVUmdlWndKS2FrQnhKb3JZ?= =?utf-8?B?MmtzdWFCTExIWW5MZEpDOWlBRWZVV3d5VzRCUi9hT1piaUp5dkhoa3dhc1U1?= =?utf-8?B?UnFjREdscVZPemZNUHAvZUp3TDBUYVNBTHlVLzhTUDgyRmxnK1AzMTlTSlQz?= =?utf-8?B?U1dMZTVyOGd1d040TnRtMmpBby9WbnJ1VjlSVDJRKys0L200QkhwdWZEYVQ3?= =?utf-8?B?aHQ3TkVHa1lVcjN6Mmx4R2JtN2QxTE5icWdsbWpZMXlNSTVOSE56eHhYdlpi?= =?utf-8?B?ZzhoMDFJSlFGaUVWSDRxYnlNbzJQRjZnaXRWa05GNjBucWtqK2xIMkRrSStz?= =?utf-8?B?Wm9xYjY5WVM0OEVzSkoxZXBZSytvZnJFYzdaS0d1WnUwcFFGWWRZK0FoSU9m?= =?utf-8?B?aURHZ3VwVGV0RHV3bHp2dy82b3JlcEtwU3c1VU1meHdoSnVVc2pQQThZYjNT?= =?utf-8?B?RXF4aWM0TDJlVi8rb2FqY3czQkNseUhPWTVoUWdRQXNiNkpoeFJKdjJuL3hG?= =?utf-8?B?OFVIc00vT2ZJYi9wcEVoRVhCclByaTZhQmxVaUUwNjArWnpWRG9aenRBVC95?= =?utf-8?B?c0NGczFUQndrT3BuVlZTRjBKOG5RSk40VFdLQTAweXNUcllYZlNFR1dGUHRR?= =?utf-8?B?cXk1VkRjT3NTNFd2VkY2Rm0xam5QY1lLUTFrRUdPWWdlWlRXUDhNdG5zR3ly?= =?utf-8?B?WHlnSlU4Ly9DVWZqYVgxaWVvZGVvU1BNV1NoZz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bDZ4UlJ2NkF2UU5HRDlWUEFTZkdlMzQ2VEhYenh2NTloZGVKQ0YrMXVRVjBB?= =?utf-8?B?UlVhOEozSTR3M2hGQVh5dXRyQU1JWmNOUVpyUVJKbW54anZ5RFRzUjB0WUVh?= =?utf-8?B?MFpEMjI2ais0MXNvcUhiTCtySkFkK2ZDT2oxQUdUa0poT3dNeHdRR0drNzIw?= =?utf-8?B?RE5CLzBKbDZWNkxWRHUycVRsQ1dzc2lYeWtLL2RuQ0Y0TFNuaGRnQ2Vpb2Rj?= =?utf-8?B?MHpOSXVPTi9JMXBIOXBIRXVWZHJJMy96YXpFUGcvSGNKczQwL0l4MW96OXVk?= =?utf-8?B?dkIzQ1N1RXljR0NiaDhnUlRtYjhNeVIzbjQyaWo1S3VzTUFRVHVQTlAwRFZG?= =?utf-8?B?QTYrLzYwZ0JweG01b3BKdDRuaFNWc0V0U3NlWjdWaGR4TURDb1FacHBKSlIw?= =?utf-8?B?cndYWUFSeHlYOERIWldaQW5ZZm02T3pndmVnWUNYM0Z0R0pyaTFiRjRRRmVW?= =?utf-8?B?VUt1czBYelBXVEhjVm00Q0xJUEdVcTBMSVB0czJuOXhCcXRUaXNyNE1SN09M?= =?utf-8?B?NWFTb2V4cldQM2JkamIyQTZ3c0lyZWtxS01MbG11SDFteEpsRkxscE1QdzE1?= =?utf-8?B?TFFwTk1zdGl0eEozWHZvV1I0Z3hPWjhyU1c0TjVESEVjazk2WlQwMGUzVEo0?= =?utf-8?B?RStxT094OG94eE1nYzZhY29QWUxxbzUyQXlJd0VKNTRXWlNjWVkwcVg5WmJx?= =?utf-8?B?T0krMTk3MWMzY1ViRTdTcVgvNnphejJaWDM5c2d0WStrQ2twWnBhWnJudHRG?= =?utf-8?B?SWR5SGpqcVd1S0pIaXoyQzA5cnhlVnNBZHZzOEU2VVA3Yk12UHROa2dkSlRh?= =?utf-8?B?NFBTYVdFR0xiRGo0ODVrTnlscHMvbEY3cWpPQ0FNNFpXeCtuSnJPbCt5dmRT?= =?utf-8?B?enVJMzJHWWtRSUJmZXo1cWluV1hjV0FDZmxabnVmNi8ydUFOdlBGQnRYK3lX?= =?utf-8?B?eWVpK1V1OGZlR2ZZY0tSbjhWdDJGdXJNekZUTkJoZjkwekdPZ1pXdFlzb3kr?= =?utf-8?B?YlJQQTBsRm5ISFU0Nzd5Tm94VDVGY2Q4Q2w2dFkrVE1EZnBRbWNZbk5vZ2Rp?= =?utf-8?B?N1VJRWpZTXQzWUkyZDZFbzNSRFMwRVJMSWNRQ2kwZkF4blc3OTdzVVU5WXg3?= =?utf-8?B?UWRjbk5NUTdZSE5ubmliNTBnM25TcEJZN3FWL3ZlU2tIUWhUNGhHcWwzM1d3?= =?utf-8?B?K2VHUXFwRHdrKzZiVTcwNzdkek5peERDcUoyZi9hVGRYM1VyaVNuYzRiQUN5?= =?utf-8?B?cEFpUEJUcUZ3Z0FGcTlwcG9LcjJIb2VDYlQvNm13M3g3MXJpeW1PbWJiOHhL?= =?utf-8?B?QXBYc0JkUXU1MXlhMWNwam5zUVVocldIRFp0UlkwMUo2OHVVQzFvaVJtMlNu?= =?utf-8?B?aHFJK0lSMHdCbGpjWHVCQnFyQXl4cTdXOHdSZkw3dTRPMGtXWVVNcHZvZ0pD?= =?utf-8?B?b1diY24xendIdU5xUi9mWXFBNXlKY2ZjbXA4SU51WGgyWk1tZUVHeVY1YjJh?= =?utf-8?B?M1NEZkR4RVdGRGs5UzZ2VDI0by9LeEp6WS9yNHFqQ2RlYTlEUGlEQVh0d2pK?= =?utf-8?B?VGNqbEJQT3hnQWphR1pienp6RHQxQTBsdlorcEhhRTZ2UEs3Z2pHM09uQU5k?= =?utf-8?B?Q2szdmlWTFBWMGZ1NzZPaGZXRi9YUUJyZ251OStROE1jN1ZPRXJUVWNPVXJK?= =?utf-8?B?aWpmc25kSGdnRnl3YkJkTFR2R3hDOVVlcU9hRGR1SlowTVlNRVRzMjVwRWsr?= =?utf-8?B?YUQyUVBXQkdQWUZzRE5nbitQYURlVURkby91a1dWREd1bVREYU1ydE4yVGZ4?= =?utf-8?B?VjBnMmdPQzRuanhaUXNMdzh0a1ZJSFlLZ3hQS3FQd0FpMVA4VWo5L0daUkk4?= =?utf-8?B?OE5DTUMzR3NpYzhYRFV2dUNHM2lJVXVFTm1HbU5BR3VvU2hBYUFGVXNKdmRN?= =?utf-8?B?RHhQYnJvQTZGaE9PbmdETmFRMkhsNHcyaUFpcHkxSWdlQ0pWZ1p0L2daWFlP?= =?utf-8?B?b0hKQ2Z6S1duMUxqYW14QytnTXYxWnZ0eFZVdGtiVG90M1A3djVuU0QrRE12?= =?utf-8?B?b25WTEJBOXhOM05sbU5jOFhCUU0zQWlXaENPQlNXUzhQeHl5czFkMU01NEth?= =?utf-8?Q?6neJaBT1dRMlWv6mx+WjCitOB?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 71371cc2-8a2c-46bc-6a0a-08de15fa9729 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 08:18:35.8511 (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: tMgxftGSmuqRDWdR2mqK63DxgYZECwhWp8K2/vZfjnsh8hdHvjfRlJ6P4hxWVKK5Ic0QGGP+znFhr6yG2Jgogg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8558 Add compatible string for the Cortex-M7 core in i.MX95 Reviewed-by: Frank Li Acked-by: Krzysztof Kozlowski Signed-off-by: Peng Fan --- Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yam= l b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml index 57d75acb0b5e52ca49d1361176fdebc18a0bf7a2..ce8ec0119469c8fc0979a192b6e= 3d3a03108d7d2 100644 --- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml @@ -28,6 +28,7 @@ properties: - fsl,imx8qxp-cm4 - fsl,imx8ulp-cm33 - fsl,imx93-cm33 + - fsl,imx95-cm7 =20 clocks: maxItems: 1 --=20 2.37.1 From nobody Mon Feb 9 08:41:35 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012061.outbound.protection.outlook.com [52.101.66.61]) (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 BEE192DBF75; Tue, 28 Oct 2025 08:18:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761639530; cv=fail; b=uOTk018dp/WfJYiT4A02003MPRpvXm05p7idLvGZqWNuy708eNhhpOFVGjfm1jfLHTl5TgJfigMir60ywjl7zPG2y6cpr6lK4ITYK9g/3ud4z3W6lC/ZL4Eq7UV41xIw8QiimGlVr5R7sV6L/kQBaveSDXvUCgfBpkDnOBunUMk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761639530; c=relaxed/simple; bh=WdDRJmuJBlwPWA+Nz3ihkZzTNWaH9whzR7+VzVRnRNc=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Pdhke/lntIzUJnISXScLb3XQIHK+jZOy+MWg3AaZ+3TleRmzrbvRNRKlRFUrh1mQCbwmV4LbF7WxLFeAOvlwZYsd42VRQr7jbhVFArmeCYc97PWVt7660F/J/K5ZnGgDSu1etLtE9tn4RZfaJi98Qm4urNP19yRkbMShOYRh0JU= 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=d5WhC9T9; arc=fail smtp.client-ip=52.101.66.61 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="d5WhC9T9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A9S7pZTYZhQN3z4Rh3neq57WtH61wLpGympVJNiZCaTr+Kf5Y4T8SEtgOEs98QYIx+dRzsV4p+pIXurdmIGzl/eoWBOlMA+Nb8XXXti9CMzr78LAwtLhSefd8b8Xy0t3dKMOlVczPoapqeyDkpQ7DHJnUhWXpkRL5PLaUUVpNoeixE0I6+XybtdlN68xYEIf3Z4XEOrUhVxwLY/Ui9BQ5MLY7K51wz8YYge6iBNxpnY8+RKHG1DqWIr38gKYrVYSIKz6NUcz3OPfXCgb4zoDffqGvjSiPnxUXSqFbXyZhMFMMjC5Ba0Oe4hkCTGmgc3gIFWUQ3DCSro6UScvSh7yoA== 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=haneENzBgHaUhrTrFeFlJja+X9GZtEr66jm1+ZzZUW0=; b=y8eu7Ctn8stKHWkhoVyBJvaDS8N+4SoeCIs+GyjUY9laREKfXk2q//juxvjjmLYZvHtJowQczaMFCgdQbPQd8Dae75j3Vt+sMAidfr+yve2mU3qmprdvMqxw6z8RLsF5JUUkHoZcc9oDcgSqg0YpbRARuO8tDjKvfQLf6JePAemCJwyRTRkKAweWggIdKvnUS3svUBjMIc6IhzU4KH2Q8HPQ/4t8AK8REOQSOA6VvumJ8qbZgzxaJnbPi1JfDbiPEFj5T6MLkxDaSvV9U8woyar3BXftEzEkFg+sm9Zsl3QxxIPH5PK0dQiuRN9o9HQfX918AuAYn84jaDYqUsmrqg== 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=haneENzBgHaUhrTrFeFlJja+X9GZtEr66jm1+ZzZUW0=; b=d5WhC9T9xti2kdKfPGmNcQPt9lnxwkpT6QGzYOn/ekvGWx8KI+OCsIYF3ExAXczwO+AoweRwo9rEQ7kNojgq2/Ngq9IFr1ACXfM8OB0XMpY0HrTrwjhIQnvOsuYMWQmj4WaVp2e0Cw52ZcrEtgvQrOiCr7i+SLzDwiGdOUMoWhEtN4/0JR3T/Xs9Y0EK2cF8IA/gChZXxZmGEFwZEiwGUzPolY7bRFOfs9hycRBv0z9CrFU/GIiNpmTgsxnFF86Ds3zPcNVzbMlKXxs5048ebgmMeTEP6jAh2pabTK5ypc7gn5btiQwpVpc1P9L+DpaOMRHPnHpN2/2GyeavtK7QxQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by PAXPR04MB8558.eurprd04.prod.outlook.com (2603:10a6:102:215::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.20; Tue, 28 Oct 2025 08:18:41 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9253.018; Tue, 28 Oct 2025 08:18:41 +0000 From: Peng Fan Date: Tue, 28 Oct 2025 16:18:02 +0800 Subject: [PATCH 2/4] remoteproc: imx_rproc: Add runtime ops copy to support dynamic behavior Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-imx95-rproc-2025-10-28-v1-2-ce9e7db9edcb@nxp.com> References: <20251028-imx95-rproc-2025-10-28-v1-0-ce9e7db9edcb@nxp.com> In-Reply-To: <20251028-imx95-rproc-2025-10-28-v1-0-ce9e7db9edcb@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Daniel Baluta , Frank Li Cc: linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761639500; l=4045; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=WdDRJmuJBlwPWA+Nz3ihkZzTNWaH9whzR7+VzVRnRNc=; b=lPuDRzvZTOJzskk2davysvj5IkS131ZOLLmtlaZTm3xSElfwf2c6OSVYHYUFN4uahTHEt2NI2 Xrb4++Zzr5iAivdukioUqXEs4m8BqWmF+s/mDiYmvlm5JDn6xBSXEIf X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI1PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:1f6::8) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PAXPR04MB8558:EE_ X-MS-Office365-Filtering-Correlation-Id: 37cf6b06-832c-4540-e238-08de15fa9a68 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?L05sU05wMktORk1pLytzQ0xacXJSaGgvT3JrM3p3RHZEUkRtLzlTVWowV2dK?= =?utf-8?B?bXdOOVZWdUoydFNEZW45WlArQVRkeHF2cGlsemZ6U1lIMURFVUEwMlFLSnor?= =?utf-8?B?VzRoekJ1QkU4a0F3bHVseFNpUWJrOUpDYkdHN3NnajNId0ZadkRWOWZ1T3Zz?= =?utf-8?B?T1JCTDArUFRZWUtPQU1RaDkwRHowN1k1OGRXeVlaaHdKVXBiTXBGeVlnZ1RX?= =?utf-8?B?WXJvREowa0IyVWRPeXhhUVVlRTNzeWs1NlgxblJocnJwR28wNVhSendFQ3Yw?= =?utf-8?B?OXd1TWM3M0pYanZNZzQzcGNrK1c2S1NyOWlKakx6NDdjYThvTWtvWUhSL1Vm?= =?utf-8?B?SEJCaGFzclBLY0pxMkRBcGFvZUo2QzdIUUhtZXZxSEd3VWdWdUZMTWl0Y3NZ?= =?utf-8?B?Yk5La1NWTmVOWWxUa1VJcnAzajl1MjFYVkV2aGsrZ0QxSzZ1QzFNbnd5MGZD?= =?utf-8?B?L0Nqd1NXOHVoNVltUHR6YmpVMElwOERWRjdoeGprVVZjRlpHYzFMOE9nYkJn?= =?utf-8?B?ck5QMS9Gb1hGdEdiUUpYbEszQkNtOE9JQzVPVVVrRkpGbk5NalJ3KzBGSUZP?= =?utf-8?B?UDZaMVlYWk4xRjBYWlpZLzBCRW0rQ3ZLVytTcHlhblovZkN1ZlBlWEZWeFB2?= =?utf-8?B?eUxpMDEvODZMeXNGaW9OQjd5cHdGenY3ckpKbERvM2ovZlF0eDJkQUVIdDA4?= =?utf-8?B?U2c3a25HR242cm5Ob0dCQ2t0SXFxOVBvWkt3bjVYbGUwZ3VyaXlDYStFOGVG?= =?utf-8?B?V3pDUWc2eUVCOGhGRWI0L0xReE5nT0VJS1B5SEdxSFl4SURuWFJDZTFNMGw0?= =?utf-8?B?Z1NYZ2dWUk5FU2NLcFZ0THBpaDFRZUJBL0dNNTJPNi9qazRmcEp5NGF4bThy?= =?utf-8?B?bEY3cVRHZXE3blZqa0dLK3NXWXZuRnBhODBkYm5uQ1kzdzBtWmludFVKaWZl?= =?utf-8?B?NEZHa2VsMEVUZjdpSHhreEt0NktyL3VMRktxM2FLbjJoSVJnODBWWDBmNFNC?= =?utf-8?B?WHhCdnljS3o1bmkxSjgvV2VpS3JsVXorQkpSalNraG5hRjRZQ1pObHNYanR0?= =?utf-8?B?VWFWb3VoTFV2NTEwR0cvMVdSMzdCVEl6dGFENkcwdkZXZnZrdFIzelZuaDYy?= =?utf-8?B?WXVXTEsvRXR6QmVIK2JzKzNzOS9wdFRHWFk2Z1J3NktrMCtoZHBDOTFrTmJV?= =?utf-8?B?S0NETEpQS0I3VFN1RHhnZlhjYUVoQzBiSHErcmwxekhLYm01aTlSVWY0VFNx?= =?utf-8?B?ZWVRZC80OUFSdkFVR0pUb2ZWU3BqZW4rdW9oUm5yZFczNnJTMytXSHBRL3Ix?= =?utf-8?B?T3hIQnpUUzU1WmxVU0RnWjlJSVdWMGdxZlV1RFQzMHBnK2x3TjVQcEZ3TzhS?= =?utf-8?B?L1ZhdXNXdVZ2TkVucTV5SWwrY3VOM2w1WkFCMjRZcTBQYlMvVUpyQ2ZyVk1F?= =?utf-8?B?Tm40bUZ3ckZWZ2d2RXR2UXRxdk1GMDdnaTBMdk1MZzBpN29xNlRmNWxrQVNz?= =?utf-8?B?ZFZrVXFNbGc0WTl3cnczekRSNkYxSmtrTk55eDdtNkkxMVpQdjhXazVBRHU3?= =?utf-8?B?cFdwZnEyNGcrRkVwU1E2MmFGelZaTkVSOXpnMlN3NWJVdDBpWnJTK01mcTNr?= =?utf-8?B?RWN0UmNDRG55RUZCU3d2UmJJQlVUcEs0Rm5JMHhrSTF5bEo2RTQ4M1F0TCt3?= =?utf-8?B?Q25FR012Qmt4Ni9GOUNuWWN1Tk9vbXJqZ1l4VHQ1Wk13blZ3R09QeU1NUldK?= =?utf-8?B?Wm5uN1NneEU0Zzk4ZS9IbEliVENJUTlERGsva0ZmMS85QkFET2taWE5veTZn?= =?utf-8?B?bmFpSFU4REZvQzZrQitnNUxVY2NwUk80S1lLVUpHUXFuN0JtNFd6WDA3WWRP?= =?utf-8?B?RmExb2s5bldudjVBWnd5b0ZOcXo0R0lqeXREbmdiMUw3WkVHalJqK3R4YkxV?= =?utf-8?B?a0hKZFVtQlFPbzZGbUtPTlJVSnB0ZXh6QllmWURwdVlqcEtvNGlsT1NCNHlP?= =?utf-8?B?WmJVU2Z6YlpYdXgwbllmTHBzcXRqeTliZW5zQjhCczVCUlhKZEpNUU9qd1hq?= =?utf-8?B?aDBDaFJyNGZGMllIaTdxQ2NPTmF2ZG53MlJkZz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cTZzQkNvTTNzUjBBK0srNHpwSEo4Vm5tRFNVdm05a1ozcWZ5TmRXQk56b1l1?= =?utf-8?B?ZDRncFBVdnRra3Bzc2d2cEl5dElnMFFiSHQyZ213Y1B3Y0pMNTliSGhrTXVP?= =?utf-8?B?bnhtZDZjaEdUQ0lvRE9DeGxlVEFxVk1mTVVINmlzd1RqdGRuL2txOElUMDJG?= =?utf-8?B?QSszOGVtNUZXSXhkUlhWRWV3OTc2bXhlUGMwSHBMZVZ5SHEwdFVtNnZNRkFk?= =?utf-8?B?Sko1eWNXV1RKQnFCc213WVp0aGtnVGdsZUdlL2NoczIzc2Ywb00vNHdzeVk4?= =?utf-8?B?MVB4Nk1qUVBmY0pEOUVhQkgvNjJBcjMvUEJoU2FJbEg3OTNPYnE3SkFEWGdv?= =?utf-8?B?V3BKeW8zalNnKzFrMVNEOHZhU2JNQUUwSUVmdWZZWWU1TjhWSDdHWkthMDJ1?= =?utf-8?B?VWhRMVFxQUtlWDhoNXh2bmlCN092dlNPUGY1QUZTd1prRlhhc1hMdFlNdmZP?= =?utf-8?B?UFFJRXRGY2wxQmFicHlxeWp3V3ZZd2JnNHYvSkxqa1dnekMvamFoQUFzUjRh?= =?utf-8?B?WW5PYzJBNVB6dlExSnZrM2wrQlF3dkhHaVZ1eDBNQms1QzU3RnZ0aWcyZ3VQ?= =?utf-8?B?Z1RBdU1QYldrNUpCek1NK2dFd0xBdy9oSnFUZk5BR0pBOEoyTDhxRlhuaXhZ?= =?utf-8?B?NmhDWXd4ei9qcmxWL3N6THoxK25RMXp4Qm5MT0o3WXJlTG1mcnRKeUxUcGxn?= =?utf-8?B?ZWRCVVNYRHlkL2JROWNvVEpLU2xpYy8yWWZlclgzUks1SlJkMEU4bndndStN?= =?utf-8?B?V3N4MmZmOGNyckN3K2c0cEk2OVNMYWZZZSs0KzMvUXd0YzZOSnQ3dHMwY2tl?= =?utf-8?B?WE9maEtrWTdKMmFLYXJTS1FwMm94K3RqSUZyTzdxWkwwY2VHNmF0YnNteWd4?= =?utf-8?B?dmR0cFlUZncvREw4ZUJHc3lMaGRZMzc1MzEzSGY1bFNDbi9BNjNIbXNMS2Uw?= =?utf-8?B?QVZKNW4xV2czNURyVGNIRkhRT2M1OXNlWHdhWkdwZm8wRlhoQTc1NmtPR0N2?= =?utf-8?B?TDkvQml3SDdDTzNEWExCd0UzOTI4SXo4L2ZtM0R2OU5pMEI5dHo5Y2JjVFJp?= =?utf-8?B?aXpHVE1NV1ZsdFRtZnZiT1lrTjl1NjZzZkFlelA1SDVQaXdra2tpV3B1WkZj?= =?utf-8?B?RFgwT1BVVVlXalpTM00rcVNJNVNyV3Q5UHhGQWhiK1lJaTVUTyt3Y2YrTEFq?= =?utf-8?B?enN6QmFMbzFhNDFsaGx2elFxOGU0RngyOXlDVDdEeGNjMThvQ09XR1NTMzM2?= =?utf-8?B?clVGTlNUelY3c25RYlNsc3BJdjNmVUhnVFphWFNsY1R5aDVaKzRqUm5kS3FT?= =?utf-8?B?K3JjL3ZTaGVIWGFpQ0VkTjdua1ErYll3Y0hwQnYyOTBSUWJEejZoUVBaV3pV?= =?utf-8?B?WWdFdXoyTDZhMytaR1ZQR3E3b0RpcElzREZIZDY4R2RDRTg1R3pCa1ZXbXdk?= =?utf-8?B?VFp1ckl6dkFvbWhMTHFEVEtXNWloRG9MWjlxdjE2QkNHcGlaMU1qdzgwUnYy?= =?utf-8?B?cmtwYVd0c0ZUQUF3bkJrRUh3cTFZZnNzZjh1dUdmRWZEVjZLMXhOWVp6QjFG?= =?utf-8?B?OWkycnFzOXBjWS9VVzdQek5uYWRoN2xMTmdsdG1jT2R4YzF4WXpXS3BvV1pG?= =?utf-8?B?czlGTmpEalFJcFZxMlkzY0VXaURkU3JFTUdDS2YrdzI3aFoyMFFJM3pQSkJ3?= =?utf-8?B?N0lJSXgwazdSWGpHQ0JOWCtHcmtTSW50QzRXcWZFQmxGY3FNb3UxeUJrM3Zs?= =?utf-8?B?dm1SOXo5N0RhUXJKblJxZWpuSXZ2ckNRbFdzNkljdmJhdkRua2hqbTlMcElJ?= =?utf-8?B?YzZKQUg5T2dOUk9UQTEyQTdZSlUvZ2tMUm9ja1o3emNrMzdTTXo2cmJnVjFW?= =?utf-8?B?eU5jaldRM2JrQnVxbXZYbTN1VHpjN1djZWcycUIyYW5Ydkg5Y3NsRUQyMkl1?= =?utf-8?B?TmhMaGQ2OTJYM1ZyOVVHNWJCdmxSUitFT2ordkFGR2ZRRFRIV0hGbmhtcXNX?= =?utf-8?B?L0lCTm1EY0VYSUIrdzFtSEw4RE5Sck5KY3paQWdXMXREUmNYVHV0aldPeE1u?= =?utf-8?B?cUR2SXlTWWQ1MFhNYWFObWUzVzJHQVZ4bmlVVUV2ejRYamJBYjhmcFdqdkRv?= =?utf-8?Q?BX8K8xLOvrB1ejt/NBcGkr4xt?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 37cf6b06-832c-4540-e238-08de15fa9a68 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 08:18:41.2126 (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: 5JDd1sMLrMT63CtIgBqMduIRIpRHgxH5411RqOoQf5FGBSHfbn3u/OYUf0KgjiPiSbF5Mm0LLSU8QPN+ZwNAnA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8558 Structure imx_rproc_dcfg contains a const pointer to imx_rproc_plat_ops, which defines the start/stop/detect_mode operations for a remote processor. To preserve the const correctness of the static configuration while allowing runtime modification of ops behavior, this patch introduces a new imx_rproc_plat_ops member in struct imx_rproc named `ops`. During initialization, the contents of dcfg->ops are copied into priv->ops. This enables the driver to safely override or customize specific ops at runtime without affecting the original const configuration. This change improves flexibility for platforms that require dynamic operation switching (e.g. i.MX95 Logical Machine ops and CPU ops). Signed-off-by: Peng Fan Reviewed-by: Frank Li --- drivers/remoteproc/imx_rproc.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 02e155e967942d745de4ccd96f9008e4211f9b36..4ffd2415295be5e60c8eb8ea512= 6b3562bf703fe 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -116,6 +116,7 @@ struct imx_rproc { u32 entry; /* cpu start address */ u32 core_index; struct dev_pm_domain_list *pd_list; + struct imx_rproc_plat_ops ops; }; =20 static const struct imx_rproc_att imx_rproc_att_imx93[] =3D { @@ -315,7 +316,6 @@ static int imx_rproc_scu_api_start(struct rproc *rproc) static int imx_rproc_start(struct rproc *rproc) { struct imx_rproc *priv =3D rproc->priv; - const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; struct device *dev =3D priv->dev; int ret; =20 @@ -323,10 +323,10 @@ static int imx_rproc_start(struct rproc *rproc) if (ret) return ret; =20 - if (!dcfg->ops || !dcfg->ops->start) + if (!priv->ops.start) return -EOPNOTSUPP; =20 - ret =3D dcfg->ops->start(rproc); + ret =3D priv->ops.start(rproc); if (ret) dev_err(dev, "Failed to enable remote core!\n"); =20 @@ -372,14 +372,13 @@ static int imx_rproc_scu_api_stop(struct rproc *rproc) static int imx_rproc_stop(struct rproc *rproc) { struct imx_rproc *priv =3D rproc->priv; - const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; struct device *dev =3D priv->dev; int ret; =20 - if (!dcfg->ops || !dcfg->ops->stop) + if (!priv->ops.stop) return -EOPNOTSUPP; =20 - ret =3D dcfg->ops->stop(rproc); + ret =3D priv->ops.stop(rproc); if (ret) dev_err(dev, "Failed to stop remote core\n"); else @@ -590,12 +589,11 @@ static int imx_rproc_scu_api_detach(struct rproc *rpr= oc) static int imx_rproc_detach(struct rproc *rproc) { struct imx_rproc *priv =3D rproc->priv; - const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; =20 - if (!dcfg->ops || !dcfg->ops->detach) + if (!priv->ops.detach) return -EOPNOTSUPP; =20 - return dcfg->ops->detach(rproc); + return priv->ops.detach(rproc); } =20 static struct resource_table *imx_rproc_get_loaded_rsc_table(struct rproc = *rproc, size_t *table_sz) @@ -995,18 +993,16 @@ static int imx_rproc_scu_api_detect_mode(struct rproc= *rproc) =20 static int imx_rproc_detect_mode(struct imx_rproc *priv) { - const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; - /* * To i.MX{7,8} ULP, Linux is under control of RTOS, no need - * dcfg->ops or dcfg->ops->detect_mode, it is state RPROC_DETACHED. + * priv->ops.detect_mode, it is state RPROC_DETACHED. */ - if (!dcfg->ops || !dcfg->ops->detect_mode) { + if (!priv->ops.detect_mode) { priv->rproc->state =3D RPROC_DETACHED; return 0; } =20 - return dcfg->ops->detect_mode(priv->rproc); + return priv->ops.detect_mode(priv->rproc); } =20 static int imx_rproc_sys_off_handler(struct sys_off_data *data) @@ -1056,6 +1052,9 @@ static int imx_rproc_probe(struct platform_device *pd= ev) priv->dcfg =3D dcfg; priv->dev =3D dev; =20 + if (dcfg->ops) + memcpy(&priv->ops, dcfg->ops, sizeof(struct imx_rproc_plat_ops)); + dev_set_drvdata(dev, rproc); priv->workqueue =3D create_workqueue(dev_name(dev)); if (!priv->workqueue) { --=20 2.37.1 From nobody Mon Feb 9 08:41:35 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012061.outbound.protection.outlook.com [52.101.66.61]) (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 772B02DC78D; Tue, 28 Oct 2025 08:18:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761639532; cv=fail; b=mBvZlC1Mu4D3XbwebcqpfmAoNmHjow9j7Roc/qhMH3QpQ0vfaIy1Z6HOBcFOWSvMRrnaddUAMogyz9qUtKSFrwlmCi5XGhZqHTqryDtLtIEHj/zN9gi9iqIgPtRW+B9wGRjmHqHXISjM0F//E0iGiTSzJfhNXtOFY+S7egLATZU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761639532; c=relaxed/simple; bh=b30F5pNFs2cO5PsUBT1ippdPdIvYFyO9Zhu20SBR0As=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=EdWRoCpF23jHmoOMrZdEM4EbSTz081Z8S+ojHcnABIe4TqlKwrODw6qhedcfjgpCmNV6qx3WVaNOnbu9O8RfWdZVbF3nctjDHCRT+az5rfHLTuRlbW0gbv2/iIjajvuZA5pH84pJDNvJzNvhaD4Q9vKt5ac81m2KiKkFi5mHaow= 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=X6/5S3t1; arc=fail smtp.client-ip=52.101.66.61 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="X6/5S3t1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uAyYDPZLIW6OOS7FewniPRo6EzhnmbdxWvTvvjcp83Re0AqKIt4lSH8mLAh68QNHz7camwATVbiKroguEe4l7K4LfvfXZHE+mvPnh8bDl0/+AKlo5Rj6T4/zWQW0y82HEJ+csJHnhavqlF3Bre1vWR4DB1hbLoA/0VO+2Lc0RYKmDWPP+r0dOzPmqXZ5mxbU5KfEo42S8wvsaBcLyvidI1XXriJgCbb+HeLh6qACbbx++AAAv9kenTMxDdSMReSgyyKDNQb/SQdWEPIcoGoARpdOXM86yUEYS1ddd7krUMymI3RNrLa+IOnVSlO+IzfepteA0M3nOPmZpGKu7hxV2g== 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=gWTbfLWpW6s1xjvVo8haIraYMLeroqPRPh3QGxjz64A=; b=LeQnD9hCS6SQbnjS6S+dHcwheXNMH6Ud/WqtYxs6Pn+BruGbLWqs9EKCO+D6Fv6ThaHEquVmU3SDboHnsFaOqiKLBRtkmZ6IMICWpc53TfC6XoCFSgBNL0mgmb6tZaunkyRD+2BWBlfmHS6oHw7MqGifRrZLhC7oKSg5LIRaoCZ4LU/wyzMp8PrIZMdOjUHGAZgs1YLqRyYoqcJrxXW4BkSgq6IqtQ7rL4A1/a6a9Gwz4UQJcjSMzHTnx0r60jk3KpDYXuChhQfMWeiVHBrvnJn2abO3WpbkIS9NfNYMZM5SaF0LUuzuCD3QIkrLM5ahymGqsBTBtApqbE5zVwp/qQ== 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=gWTbfLWpW6s1xjvVo8haIraYMLeroqPRPh3QGxjz64A=; b=X6/5S3t1uApu4fa47K7UtqEqVnug04w2j5QxH5ZO/P5B5qenNctqWYSYVcnC3ijXPA7iZiwTZ3Il+qPv0hgHJih383l84lCxtkMy6KmITPwjTQe1tdYW2UPYEZcgilhuOf6lgX2ouXFy8a2fkeIM5ZgaPJcOHgCpWk1+b+J6doTUlBb33qID7TMqk3pNgsZRa+GiLOkoPTXC+YV196Nm/btMjbrr5xcv+8gL6q/tgcLli1ZxefLLZpgay44asn+NECaSkAMq5fmFWx2JBL44hT1YBSE4Q3sZPxG2Y6GVKtq7O8b9xJ6/Chze2yZ+zWG/z7PXufKhjFo6zHVzCbwYGA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by PAXPR04MB8558.eurprd04.prod.outlook.com (2603:10a6:102:215::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.20; Tue, 28 Oct 2025 08:18:46 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9253.018; Tue, 28 Oct 2025 08:18:46 +0000 From: Peng Fan Date: Tue, 28 Oct 2025 16:18:03 +0800 Subject: [PATCH 3/4] remoteproc: imx_rproc: Add support for System Manager API Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-imx95-rproc-2025-10-28-v1-3-ce9e7db9edcb@nxp.com> References: <20251028-imx95-rproc-2025-10-28-v1-0-ce9e7db9edcb@nxp.com> In-Reply-To: <20251028-imx95-rproc-2025-10-28-v1-0-ce9e7db9edcb@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Daniel Baluta , Frank Li Cc: linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761639500; l=11367; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=b30F5pNFs2cO5PsUBT1ippdPdIvYFyO9Zhu20SBR0As=; b=yP3eN6tlWldNbKvBBrBSZia6Ss32f8kYljMYwBHZGhfDA4cCuSlfKB8wM5ffbLjhcsqRwaE0+ Y9MJBd54/52AOBiYLkjYbkW794Cy3iqtOm6sMudI3bwLiw57SKhMHhJ X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI1PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:1f6::8) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PAXPR04MB8558:EE_ X-MS-Office365-Filtering-Correlation-Id: 3eae76ea-6862-40c0-8562-08de15fa9d76 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?QkFEYnVOaUh6NWdOcWRqSGtFZ3JZL1hWSEJ0Z0VLQlpnY3lDTWVDdTVYdVI5?= =?utf-8?B?a3RoYTY3ZFNUSm1DYTdGR3R6YWdmWFAzRTJaUGRRVVRuYlBMQlRmUkJGQzAw?= =?utf-8?B?TUdCa0dsTjFqVnJVdThJdm52cjRmbnhoWmh4REMxNkJDOVVVcUxUOFI3N0JD?= =?utf-8?B?UmIvdWNPTi82aktqelV5eEoyNHptSUhsODEwYUtFdTRKaXpZQ3hVUGNpdjVp?= =?utf-8?B?SEN3ejJpK1lXdnVkQ25HU3laZGlXNmlQY2FiQ3BoT1hWeXQ1Qm1MNG9PblFk?= =?utf-8?B?cHdSc0xzaWZPTlYzdVZkTTByTEt5ZHNQREZhUEhDbGUyeVlEYm40Q0srRUJh?= =?utf-8?B?ZUFFK0dLQ2Q2VEtWZ3kwR2xTR2dXQUlHTjcyZFdKOXNXekg2SU5FWkU4SWts?= =?utf-8?B?dmU1bEw1djY2RzhUMFRobHh2MHhoS1FyZERxKzFybjJBZ3ZjNmltMmVTTUlz?= =?utf-8?B?OEpzeEpMZStkRTMvbjkxWlg3N1ZnMkNGSXhFRXpEVzhHb2NFYnVQbldDVGx0?= =?utf-8?B?djFKbCtrKzBhNXZVZmVWVmZ1dGY5cmtOVDFTUS9SaEZvOEw3MTZBTkxpc0dq?= =?utf-8?B?WlpBaUJpK05lZDN5SWVuQ0FkcUlOb0xTcXJPMndmbkN3RzVGOUc4V09wZDUx?= =?utf-8?B?ZTJZMVU0UGVuQy9uamxtYWhUU1hlYTZLbU5XSHhYc1ZTUWVEYjJ0TEI5R0Z3?= =?utf-8?B?VVlRdTZ5dmRLb0s3S1B0SHhuNGNSUkVkQ3JpSGVhUzlwNWVHM3hkRHJIUXFw?= =?utf-8?B?U0tnczNaNmhRaHF6U093ekpxOGdGbnJybW5va3NjOTk2Sno3Mi9jc3RJdHN5?= =?utf-8?B?NlBsY2NIYUJBb3E3ZjQxdGV5clE2TTVMSGwweUdtclhJaVJFWkZwTCtRaEtR?= =?utf-8?B?cldQdnIwWEQ5ZlNueU8vTWc1UFpRODJOcHNGTEVrVWFwc0NOVnJCUTFDM05H?= =?utf-8?B?TVJGU1poZUFNL2l2SEtCWTJ2Zyt5dVMvUkh5Sk1wRnJqdWVDd3YzdjJ4c0li?= =?utf-8?B?MlNzazgxY2RSTUxROXJMWTFiVHBCdEdqSVBLZ3FsZVZ3WGt6VU9CSm9vOVls?= =?utf-8?B?bGFPaEl6T0k3U3BhK05tOFBPWThOcVh3VXVqRUl4YWp2VmorL3JLTjlQcGZy?= =?utf-8?B?bkR3d3FXT0RQQm8wZVJlUkhIVEgrTTJkVmlyTGp2SHl3MVBCWGVGUVM2ME12?= =?utf-8?B?aE4rZFVSWkxHVExzb0hDNi8rcG5qbmpianZuQU5TTmQ5cmdOMDd1dGRtemY2?= =?utf-8?B?SnZWUkJEMGs2TEovNnFNYzJBNEFYNzNFUXgvUmhQbHJEbnpRTDNVVXVBcHVX?= =?utf-8?B?Rm9zUDZSSGxTR0ZaeGZUK0tZem9GaGdEODd1RDhRWVVYSjB5NkRDbndPeFlI?= =?utf-8?B?RzlUbEFQTGxqTE5HWEpER0FPKzRHVWluUTJiS3FHbzdHaGMwaSszeXRvMlJL?= =?utf-8?B?Z3RuUjdMZGtKRmlCQ291SFlicGdnZFBXVzFqRUNnYzUyd3lUZU5kSkgyRmww?= =?utf-8?B?UTdES0NIUlZac1BzK05YM2NSNVZWZ0F2dzROS01jaXdsU09sOWFJR3QvamFV?= =?utf-8?B?NFBSOWRVOFppam0yUm1tWG9aVHVKaGtMWXBIZFVxUzNDdnU3VHY0a1VoMk15?= =?utf-8?B?K2V2TlN5OFA2TkMzengzNm9MaGZHT3JNdllvYnd0Rm1UTGdiQ1Z1U0FuZVcy?= =?utf-8?B?SkVQK0NSbnhobHhPcEhpQWNsdThUWldPNUVLck1xdnA2SVFUZUpkamY0Ny9W?= =?utf-8?B?TjhrdFhrc21kcm9rU0FmbHVwdVBENlAvRzRBWmRsbmJod2lvb0o5K3drTk1I?= =?utf-8?B?S0k3ZjlMRVFveE1jeGpmZ1RpWkpuNW5sRDBvNFJkZ2kyN1h3VFluc1oxTTZo?= =?utf-8?B?cDcxT2FROWt5VW1KN29jUjFmUGFsM3Q1dG1BTkw5YlplRGROZ3dzNWt3clZt?= =?utf-8?B?RHYrekQrMExVdFVtYkppUEdscjRmbi9oaFBzUER3eHdsdFhGaWFxTllSQnpa?= =?utf-8?B?ZG1aTmVsUWNTZW4rbHJPWG1UazV5RlFQbzRreHM3Qk1mUzdJd3VGZHp6bmF2?= =?utf-8?B?TXBsNzFZREc4YXg4eDVacnZ4cXFPeGticTkxQT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dmMvSkVCYWJqQ2ZqMFM4bkY3eVFQSkFRM3d3ZEZ0WDVKL05sSGtHZkwxZENM?= =?utf-8?B?WDU2ZWs1RTlRM1Z1b25xUzc4bjJmNzM4UCtDWEtYcGVqNUw2L0JaTjBZRG9V?= =?utf-8?B?eFh3SEdZOTZMcG5rRWxLQnBxQkJCYVQwdW13RmpWR2xnNWdvNE9MdEszWDJl?= =?utf-8?B?dlJOVUZHMU9QbCtuLzhJaWlGQXpNejRTQVZOTXZZSkxuNjF0UFJjUXlGdFF1?= =?utf-8?B?c3ZhZ1VRcTNCQ0U4clZuMnlkVkVMc3dqSTk2MnF0ZGJYRzl5TmhocFBacVd0?= =?utf-8?B?bzJvajZHcnJESTlheGp3NWtYM0w0azBYM3k1SlBrTGY5SlMvTGs2TE4yek1S?= =?utf-8?B?WGZyTGlPSkF6UjhFSTU0VEd6Tko4bS9lemVQVDBZMVB0bnN3M0pNSEhhTUVM?= =?utf-8?B?aDdITFRueGRWTGQrM28wWmFFSHE1TU5iRWJMSU1wRGdJYWJnak5kNE1oRmxX?= =?utf-8?B?elRPZ1hHZ3NCOERPRURJSUkxbGNwZ1VzT2xBejM3Z0ZDbU9mSDhna2hsOGtj?= =?utf-8?B?N0hHWGdOSW9RTGhGYUJHTFhoRDFnekxzQVVqdEtOYXF6U0JMTjA5K2g5ZGow?= =?utf-8?B?RVZpZ1pqQzFLR29mdHBXZi9MT2ZzQW5tOVphcmFrTE1OZGpJUU00R21iMWNS?= =?utf-8?B?R1pqWVlVVnBaTG5rVU5zcnFvMXMwNnQ1d05CMVMxYkFJMlUrT2FtWC9TZmJo?= =?utf-8?B?SnR3Qlk0dE5DalFwbktpUHFaQkxBK0twWVNrWkhNOFRIdTY3bGJjNDdLOER5?= =?utf-8?B?K2R3dFcvbTZhQ05ZMS9pcTNSTk8raWc2eTBwTHdRcGRET0NPSUlkQ21RL0NB?= =?utf-8?B?ZHdEM01reGxQZEJrc0ZZSTllTllHUHpVQ1lIZEVkd090ZUkxNkY4bFMxTDRt?= =?utf-8?B?Z3NkeGNteHZlc3lWMUNpNjhUTnFFditNOXVKS1FRVC9yeGJ2dXlINHhIVFM5?= =?utf-8?B?VElteGw5WDI0bUdObXFlZ2NPK0dPanJIbThlMnZMTHdWRzNrbjNZSnhZTnZv?= =?utf-8?B?cGNVMkRTcUJ2ZnFRck9Ia2x0enNpUkJZTnF3dmJVYXNVZ3M0UnlBVThWK0Yw?= =?utf-8?B?WVJVRVJVVUhSaGdjWVNkTlpUcWpkZ1hSdmF5YUlqcHg2ZW9wM2RhOGpaeXZQ?= =?utf-8?B?bnVWNitDNTJnMWo4ZGdab0hHMGNFWHorUmdPbEZmd1RWZ2ZONVRzMlRKS2di?= =?utf-8?B?M053ZGhUTzJySFpyVkltTWE4cW9vNURMUmQxZW1UVklhTkxnZjExay9WQ2hu?= =?utf-8?B?NGFwQkh6REZrZCtPVUJUQmI4bS8xRE1qdGlwazFKQTQ4M3ZZQWpzSW55K0pw?= =?utf-8?B?NHBmVy9iWkk1UTMrK0Q0WFVqeCszakZ1RUt6YlZSekJxTEg2b3ZiRDVYZGx0?= =?utf-8?B?YUtDODJEWlIrSjNOWTVVR3VQamllY25pbHgrbndteWVhTDFRUHN4MmQ5NFAv?= =?utf-8?B?aDBkdDlSK2hJc1N6WDYwNWo3eC9rMzZud3hxRWhCUUpXUU9ESDhhZkRmK2t3?= =?utf-8?B?WHRPc2didlY1TCtKbWlFanBsT0QzNXpjL1E5ZGh6UlVsYThWamlEZzVVRXlr?= =?utf-8?B?ay9aeHlYWWdhbjh0aTFkeW4xZnpKVVVncmtyYkplUVpkMC9reGhsa1FlQmxM?= =?utf-8?B?STdRMWFzOWlBSmQralRYVmhpSmlCQ3g0dWlOc012WkdxL3FFSXVhNTduOGFj?= =?utf-8?B?U01iSjAvTm53NzlNSkliTlJnSXFsbE9TQjRqU3RPVzFRdS92NU0vSjhhNGpO?= =?utf-8?B?aVNUN05Falg4YWN1dG5BK3ZSbk93aHBPTlFCVnhIMW45bVhuQzRHL3Rqa21N?= =?utf-8?B?WU90TmdLSHlOcm1vOFBCeU5VZUFlc29FUmxjODZBVEM0SCtTbWxPS1h2K2d1?= =?utf-8?B?aXR2SGQrZk1WemRKbGk2MGRaUEVKWDdDTDZWRzBiL2pLbTlYWG9ydzRldGRF?= =?utf-8?B?WnNBZEEvekdwbFNsbkpnMzM5MWQxSVhma2owSDlBd0hLQm1qV0h0TE9aQTk0?= =?utf-8?B?ekw4amFtTGMwQnJOTERwNXBpY1dnc2VveGdCSTRRWWhBS2VsQmlUVms2ODdZ?= =?utf-8?B?c0VPeVphb3VWbUZORDM3QURrVkhvSjF4VWFnL0NxVUNqMHRVa1dGaXFkcHZT?= =?utf-8?Q?8Qib8pjQ2wTvHPFl1N+yx9DqY?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3eae76ea-6862-40c0-8562-08de15fa9d76 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 08:18:46.2917 (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: zEcLoCxeicHuHEdY11N+xnGyfS/r64ijXeqwqXtrtnt76IcedDmD1WSHqLc8qDGY6I6vgAFf555n4J9EDFX+pg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8558 i.MX95 features a Cortex-M33 core, six Cortex-A55 cores, and one Cortex-M7 core. The System Control Management Interface(SCMI) firmware runs on the M33 core. The i.MX95 SCMI firmware named System Manager(SM) includes vendor extension protocols, Logical Machine Management(LMM) protocol and CPU protocol and etc. There are three cases for M7: (1) M7 in a separate Logical Machine(LM) that Linux can't control it. (2) M7 in a separate Logical Machine that Linux can control it using LMM protocol (3) M7 runs in same Logical Machine as A55, so Linux can control it using CPU protocol So extend the driver to using LMM and CPU protocol to manage the M7 core. - Compare linux LM ID(got using scmi_imx_lmm_info) and M7 LM ID(the ID is fixed as 1 in SM firmware if M7 is in a seprate LM), if Linux LM ID equals M7 LM ID(linux and M7 in same LM), use CPU protocol to start/stop. Otherwise, use LMM protocol to start/stop. Whether using CPU or LMM protocol to start/stop, the M7 status detection could use CPU protocol to detect started or not. So in imx_rproc_detect_mode, use scmi_imx_cpu_started to check the status of M7. - For above case (1) and (2), Use SCMI_IMX_LMM_POWER_ON to detect whether the M7 LM is under control of A55 LM. - For above case , after using SCMI_IMX_LMM_POWER_ON to check permission, SCMI_IMX_LMM_SHUTDOWN API should be called to shutdown the M7 LM to save power only when M7 LM is going to be started by remoteproc framework. Otherwise bypass SCMI_IMX_LMM_SHUTDOWN API if M7 LM is started before booting Linux. Current setup relies on pre-Linux software(U-Boot) to do M7 TCM ECC initialization. In future, we could add the support in Linux to decouple U-Boot and Linux. Signed-off-by: Peng Fan --- drivers/remoteproc/Kconfig | 2 + drivers/remoteproc/imx_rproc.c | 193 +++++++++++++++++++++++++++++++++++++= +++- drivers/remoteproc/imx_rproc.h | 3 + 3 files changed, 197 insertions(+), 1 deletion(-) diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig index 48a0d3a69ed08057716f1e7ea950899f60bbe0cf..ee54436fea5ad08a9c198ce74d4= 4ce7a9aa206de 100644 --- a/drivers/remoteproc/Kconfig +++ b/drivers/remoteproc/Kconfig @@ -27,6 +27,8 @@ config IMX_REMOTEPROC tristate "i.MX remoteproc support" depends on ARCH_MXC depends on HAVE_ARM_SMCCC + depends on IMX_SCMI_CPU_DRV || !IMX_SCMI_CPU_DRV + depends on IMX_SCMI_LMM_DRV || !IMX_SCMI_LMM_DRV select MAILBOX help Say y here to support iMX's remote processors via the remote diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 4ffd2415295be5e60c8eb8ea5126b3562bf703fe..8ecf95c81b598bbe38b72180887= 8e5427339a08e 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -22,6 +23,7 @@ #include #include #include +#include #include =20 #include "imx_rproc.h" @@ -92,8 +94,16 @@ struct imx_rproc_mem { #define ATT_CORE_MASK 0xffff #define ATT_CORE(I) BIT((I)) =20 +/* Logical Machine API Operation */ +#define IMX_RPROC_FLAGS_SM_LMM_OP BIT(0) +/* CPU API Operation */ +#define IMX_RPROC_FLAGS_SM_CPU_OP BIT(1) +/* Linux has permission to handle the Logical Machine of remote cores */ +#define IMX_RPROC_FLAGS_SM_LMM_AVAIL BIT(2) + static int imx_rproc_xtr_mbox_init(struct rproc *rproc, bool tx_block); static void imx_rproc_free_mbox(void *data); +static int imx_rproc_sm_detect_mode(struct rproc *rproc); =20 struct imx_rproc { struct device *dev; @@ -117,6 +127,8 @@ struct imx_rproc { u32 core_index; struct dev_pm_domain_list *pd_list; struct imx_rproc_plat_ops ops; + /* For i.MX System Manager based systems */ + u32 flags; }; =20 static const struct imx_rproc_att imx_rproc_att_imx93[] =3D { @@ -313,6 +325,44 @@ static int imx_rproc_scu_api_start(struct rproc *rproc) return imx_sc_pm_cpu_start(priv->ipc_handle, priv->rsrc_id, true, priv->e= ntry); } =20 +static int imx_rproc_sm_cpu_start(struct rproc *rproc) +{ + struct imx_rproc *priv =3D rproc->priv; + const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; + int ret; + + ret =3D scmi_imx_cpu_reset_vector_set(dcfg->cpuid, 0, true, false, false); + if (ret) { + dev_err(priv->dev, "Failed to set reset vector cpuid(%u): %d\n", dcfg->c= puid, ret); + return ret; + } + + return scmi_imx_cpu_start(dcfg->cpuid, true); +} + +static int imx_rproc_sm_lmm_start(struct rproc *rproc) +{ + struct imx_rproc *priv =3D rproc->priv; + const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; + struct device *dev =3D priv->dev; + int ret; + + ret =3D scmi_imx_lmm_reset_vector_set(dcfg->lmid, dcfg->cpuid, 0, 0); + if (ret) { + dev_err(dev, "Failed to set reset vector lmid(%u), cpuid(%u): %d\n", + dcfg->lmid, dcfg->cpuid, ret); + return ret; + } + + ret =3D scmi_imx_lmm_operation(dcfg->lmid, SCMI_IMX_LMM_BOOT, 0); + if (ret) { + dev_err(dev, "Failed to boot lmm(%d): %d\n", dcfg->lmid, ret); + return ret; + } + + return 0; +} + static int imx_rproc_start(struct rproc *rproc) { struct imx_rproc *priv =3D rproc->priv; @@ -369,6 +419,25 @@ static int imx_rproc_scu_api_stop(struct rproc *rproc) return imx_sc_pm_cpu_start(priv->ipc_handle, priv->rsrc_id, false, priv->= entry); } =20 +static int imx_rproc_sm_cpu_stop(struct rproc *rproc) +{ + struct imx_rproc *priv =3D rproc->priv; + const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; + + return scmi_imx_cpu_start(dcfg->cpuid, false); +} + +static int imx_rproc_sm_lmm_stop(struct rproc *rproc) +{ + struct imx_rproc *priv =3D rproc->priv; + const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; + + if (!(priv->flags & IMX_RPROC_FLAGS_SM_LMM_AVAIL)) + return -EACCES; + + return scmi_imx_lmm_operation(dcfg->lmid, SCMI_IMX_LMM_SHUTDOWN, 0); +} + static int imx_rproc_stop(struct rproc *rproc) { struct imx_rproc *priv =3D rproc->priv; @@ -485,6 +554,44 @@ static int imx_rproc_mem_release(struct rproc *rproc, return 0; } =20 +static int imx_rproc_sm_prepare(struct rproc *rproc) +{ + struct imx_rproc *priv =3D rproc->priv; + const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; + int ret; + + /* + * If remote processor is in same Logical Machine as the processor + * which runs Linux, CPU API ops will be used, directly return. + */ + if (priv->flags & IMX_RPROC_FLAGS_SM_CPU_OP) + return 0; + + /* + * IMX_RPROC_FLAGS_SM_LMM_AVAIL not set indicates Linux is not able + * to start/stop rproc LM, then if rproc is not in detached state, + * prepare should fail. If in detached state, this is in rproc_attach() + * path. + */ + if (!(priv->flags & IMX_RPROC_FLAGS_SM_LMM_AVAIL)) { + if (rproc->state !=3D RPROC_DETACHED) + return -EACCES; + + return 0; + } + + /* Power on the Logical Machine to make sure TCM is available. */ + ret =3D scmi_imx_lmm_operation(dcfg->lmid, SCMI_IMX_LMM_POWER_ON, 0); + if (ret) { + dev_err(priv->dev, "Failed to power on lmm(%d): %d\n", dcfg->lmid, ret); + return ret; + } + + dev_info(priv->dev, "lmm(%d) powered on by Linux\n", dcfg->lmid); + + return 0; +} + static int imx_rproc_prepare(struct rproc *rproc) { struct imx_rproc *priv =3D rproc->priv; @@ -532,7 +639,10 @@ static int imx_rproc_prepare(struct rproc *rproc) rproc_add_carveout(rproc, mem); } =20 - return 0; + if (priv->ops.detect_mode =3D=3D imx_rproc_sm_detect_mode) + return imx_rproc_sm_prepare(rproc); + + return 0; } =20 static int imx_rproc_parse_fw(struct rproc *rproc, const struct firmware *= fw) @@ -991,6 +1101,83 @@ static int imx_rproc_scu_api_detect_mode(struct rproc= *rproc) return 0; } =20 +static int imx_rproc_sm_detect_mode(struct rproc *rproc) +{ + struct imx_rproc *priv =3D rproc->priv; + const struct imx_rproc_dcfg *dcfg =3D priv->dcfg; + struct device *dev =3D priv->dev; + struct scmi_imx_lmm_info info; + bool started =3D false; + int ret; + + ret =3D scmi_imx_cpu_started(dcfg->cpuid, &started); + if (ret) { + dev_err(dev, "Failed to detect cpu(%d) status: %d\n", dcfg->cpuid, ret); + return ret; + } + + if (started) + priv->rproc->state =3D RPROC_DETACHED; + + /* Get current Linux Logical Machine ID */ + ret =3D scmi_imx_lmm_info(LMM_ID_DISCOVER, &info); + if (ret) { + dev_err(dev, "Failed to get current LMM ID err: %d\n", ret); + return ret; + } + + /* + * Check whether remote processor is in same Logical Machine as Linux. + * If yes, use CPU protocol API to manage remote processor. + * If no, use Logical Machine API to manage remote processor. + */ + if (dcfg->lmid =3D=3D info.lmid) { + priv->ops.start =3D &imx_rproc_sm_cpu_start; + priv->ops.stop =3D &imx_rproc_sm_cpu_stop; + priv->flags |=3D IMX_RPROC_FLAGS_SM_CPU_OP; + dev_info(dev, "Using CPU Protocol OPS\n"); + + return 0; + } + + dev_info(dev, "Using LMM Protocol OPS\n"); + priv->ops.start =3D &imx_rproc_sm_lmm_start; + priv->ops.stop =3D &imx_rproc_sm_lmm_stop; + priv->flags |=3D IMX_RPROC_FLAGS_SM_LMM_OP; + + /* + * Use power on to do permission check. If rproc is in different Logical = Machine, + * and linux has permission to handle the Logical Machine, set + * IMX_RPROC_FLAGS_SM_LMM_AVAIL. + */ + ret =3D scmi_imx_lmm_operation(dcfg->lmid, SCMI_IMX_LMM_POWER_ON, 0); + if (ret !=3D 0) { + if (ret =3D=3D -EACCES) { + /* Not under Linux Control, so only do IPC between rproc and Linux */ + dev_info(priv->dev, "lmm(%d) not under Linux Control\n", dcfg->lmid); + return 0; + } + + dev_info(priv->dev, "power on lmm(%d) failed: %d\n", dcfg->lmid, ret); + return ret; + } + + priv->flags |=3D IMX_RPROC_FLAGS_SM_LMM_AVAIL; + + /* rproc is started before boot Linux, so do NOT shutdown the LM */ + if (started) + return 0; + + /* Permission check finished, shutdown the LM to save power */ + ret =3D scmi_imx_lmm_operation(dcfg->lmid, SCMI_IMX_LMM_SHUTDOWN, 0); + if (ret) { + dev_err(priv->dev, "shutdown lmm(%d) failed: %d\n", dcfg->lmid, ret); + return ret; + } + + return 0; +} + static int imx_rproc_detect_mode(struct imx_rproc *priv) { /* @@ -1166,6 +1353,10 @@ static const struct imx_rproc_plat_ops imx_rproc_ops= _scu_api =3D { .detect_mode =3D imx_rproc_scu_api_detect_mode, }; =20 +static const struct imx_rproc_plat_ops imx_rproc_ops_sm =3D { + .detect_mode =3D imx_rproc_sm_detect_mode, +}; + static const struct imx_rproc_dcfg imx_rproc_cfg_imx8mn_mmio =3D { .src_reg =3D IMX7D_SRC_SCR, .src_mask =3D IMX7D_M4_RST_MASK, diff --git a/drivers/remoteproc/imx_rproc.h b/drivers/remoteproc/imx_rproc.h index aeed08bdfb5619c7afd7201589f417cfd6745818..b8a30df92d3bdeb915e33551235= d555b947d0b16 100644 --- a/drivers/remoteproc/imx_rproc.h +++ b/drivers/remoteproc/imx_rproc.h @@ -51,6 +51,9 @@ struct imx_rproc_dcfg { enum imx_rproc_method method; u32 flags; const struct imx_rproc_plat_ops *ops; + /* For System Manager(SM) based SoCs, the IDs are from SM firmware */ + u32 cpuid; + u32 lmid; }; =20 #endif /* _IMX_RPROC_H */ --=20 2.37.1 From nobody Mon Feb 9 08:41:35 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012061.outbound.protection.outlook.com [52.101.66.61]) (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 334D52DCF50; Tue, 28 Oct 2025 08:18:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.61 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761639535; cv=fail; b=qP3/Np9pEMX0uSJWqjy9YM6u34h1dOooFNiRiAWqifnXG4GjQ1bmcgNY/tbHgmXXm1aMs9PuhxsrattZJy+kwAB7UGOhjkyHAKCNcbEnu8/RfqjXR/fyS9E3/pd7BAdMuDPmPAnLFv3Ui5ztVnAEos5luC3mVcsTm/d5Du6uRdg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761639535; c=relaxed/simple; bh=avdlzDHrzg9u9lQnekFeY6Vk3Zqyc4rSKSp+MF6sk54=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=s+hU6JBLN5HCYhAQs2ke0s5WsahQQ5Qq8723AMpUg9LBUy7Dj1be2JytTYcNWE1acYrPlQvbA5YMONFRs4ktrNduBfwuqjgTqkVUAvjf1oi7ohba1xVdQODQ0hFlT+frwMBSWoKYcmA50Pvfsk/L/5Kx6rlq8Cz+npDOMei75oE= 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=jWsczogP; arc=fail smtp.client-ip=52.101.66.61 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="jWsczogP" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GGh03ylhfhrwipCjXSuPD+y2Fv2Q7nmIhz+HL/mN3T20ogPO4aFg+LD3Y68cKWquwb/nYGA9BwTKtUyoeM3XEicUnx5E2UvgL9pS9HNqBSdN00ViFIqRYCZn5ZGeXyUgvw4P+KxhfHhuCIFuhBaBAIynwdckNFCkkz4aac0ElvhSvsQ3EccF/GETnlJkBn6xzGNrMLfHwgDlfGEJJBKettHAedg7noc4jZ5+qhELCJM8R2/03RdT2PHh9k0ufTvwqxDDJIxu8ruSdd2S5PcrY45tb7YXXpC28+/tek1I/5kvMKAKgyMtz4SHY5/w8wGkbCxbKkpJ01pOXb+aXTjBXA== 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=9vlyufoZ90pT5YsEMXqZJHcHzy5g9x/cOs51+q6qqVU=; b=gcPv1coENQtsDaTCb+ES9SjSzg4cSNTiCmLAmTjb3do+gEkryZtwiy+a9Z3LWEYSiHo+JxQLe351yBfefGQ4TxwQiAPBC1mBwdKlRcIyi7i1maFP4kXyU9IOiMHfjukLRbRpy2fveVVKvJTKBkd26b8GoIj6AAaZgsHvy4OyCdp96kae94u3la2fqFq7qvbkCVsVBdK8oGSW2wqS4O6pipwmxuwsf1uauoKv0neIhMgXSFy72UaRPlqvSDHCGvIi6Qc7Ok4Xt57GULB67P2IruN8y3Bgj3To+zmOL/mYnNmWuF20T9YbfYJVrp8b22tNgFuLDxtHYG7Wg3/6e4FTEQ== 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=9vlyufoZ90pT5YsEMXqZJHcHzy5g9x/cOs51+q6qqVU=; b=jWsczogPwJkti/xIou6woTwZ/SeNN6H0n344zqST69RjtFd+3LX7n5HhVRFaAANHShlFiOWPC/LZAAAY4xyJfCuEGLSlWlN3z7IihzfpoE46nzBciLXIn616jLFrasOWHBDQHkXnqQcFL7RK5zP6yH/C6krP9Qz5Plr+QeiJrHP2a1maszIqAbYyARGXCjae5nNa8ro40eYkfkvbnJMPHK62gV21Qw9nrc3AQAiV4dh4yNqL2umc9Qbuo0i3WVJwtUv4HWwYbllpmy1cgD49qyaoorOGLuBmuHv7kkoLDcQ56u7qkfxpFSbVKvEHaOPrjIc2ilR5VgN7M8Mhb5trmA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) by PAXPR04MB8558.eurprd04.prod.outlook.com (2603:10a6:102:215::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.20; Tue, 28 Oct 2025 08:18:51 +0000 Received: from PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com ([fe80::165a:30a2:5835:9630%4]) with mapi id 15.20.9253.018; Tue, 28 Oct 2025 08:18:51 +0000 From: Peng Fan Date: Tue, 28 Oct 2025 16:18:04 +0800 Subject: [PATCH 4/4] remoteproc: imx_rproc: Add support for i.MX95 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-imx95-rproc-2025-10-28-v1-4-ce9e7db9edcb@nxp.com> References: <20251028-imx95-rproc-2025-10-28-v1-0-ce9e7db9edcb@nxp.com> In-Reply-To: <20251028-imx95-rproc-2025-10-28-v1-0-ce9e7db9edcb@nxp.com> To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Daniel Baluta , Frank Li Cc: linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Peng Fan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761639500; l=2375; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=avdlzDHrzg9u9lQnekFeY6Vk3Zqyc4rSKSp+MF6sk54=; b=EcAeG15D3zCvvlNL1S4PC6YbsX0ZDeQJVJVt23MZQjJqbM1bg0viD2SFPn0yQycmXHaZxOVxd yrBaCaOIBo9CJOWCkubYoLeI3q7ZGSzZR/2GGV9YZ2raR9SMs6LeJwA X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SI1PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:1f6::8) To PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PAXPR04MB8558:EE_ X-MS-Office365-Filtering-Correlation-Id: d3686943-d884-4a26-8331-08de15faa0a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|376014|7416014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZUltY1FEa0VFNEFRSzAzOXcybUFjaFVzYkQvRWx2U25mcldBNlBwNWdQT3pS?= =?utf-8?B?bk54NHQ5ai9JQlhPRU9hMWhOZ3BSVE5UeEhMQlN2YnEvZk9XWmdVZ3BibWpa?= =?utf-8?B?eEhRbXYzbmFXOUpKTENvZ2NOMGZHOVJ0Y2h3Y05DRklmK0J0OTg0M0lWc2t2?= =?utf-8?B?UjgvcVVMMk9jUm5zQ05GWlZOc1V2SGN2TDNtdFNnYTVGS0hzckhKcGltYlAr?= =?utf-8?B?Mk5nYnNrYVRodzV5YXhDditYR1ZwcWZoc2lGT2Z1R2ZIRUtzSzhNZ3VDdm1X?= =?utf-8?B?cTdJV3cwcStUT09jZE9KTlZzaFRWUHN1K2ZxVjc0Q04yb2hvL255aEp2c0VB?= =?utf-8?B?NzFqK0pVczJCSFRCSTFBLzEyU3BxaitPWlZhVjJPSjIvTkVYR0dLZDBJT0FC?= =?utf-8?B?QXBWSTh4SjdNSFZoUm9ZSjRnK01lbk5aWjN2QkkwZk1uaWdlOWJXUzFaZExV?= =?utf-8?B?ZHJDUnpJOVh1TG80SDFYckUzbDZkcXUyWHRYTFljd3NWaGxnbjNGQ2ZCMlVt?= =?utf-8?B?ai9QQzY0Mk5NbmRsOERscDFOclhCL3NiV3ZNOSt5MlNUM2U5dzNkMTVqc0R3?= =?utf-8?B?dlBNd0ZhNjJTcEp1Qm5WZkF5aXROUFhqdFM2S3V0NEN5UDh5ZkZsc3hxWmVD?= =?utf-8?B?M3V5NTZuQ2tWcFY0Zlhhb0ltZFhQOXVEMlhObFR6ZDB3WTd2cTBvRk9ZQnhK?= =?utf-8?B?ZzJ2Sm5vRFFpWmhwNFJkdnhDSGozcjY3cGRSTTA0bXNDd0UweFJkRGQ5V1l5?= =?utf-8?B?YThPUE85NGNjemVSY3MvdUU2Y0NQaG5RY1NLWGNxdVZtdHVUNXNEK09yc1hI?= =?utf-8?B?VUljWmsvWnNoR3JSL1pDb2hFMHYrbkY1dXdZMkZRNWhXc0I4K3U1bHd6SXB2?= =?utf-8?B?WC80Wk9mSTVTMUoxeG9LSFJzcy9FSDRkWEdpdWR6WWRhVGI2OFplc2hiTDZ5?= =?utf-8?B?VldvWVo3VnE2cTVtaGcyVTVaZW4rcko0R3hvOERUQmNDRlBKdHhnV1QvOSth?= =?utf-8?B?MFZ5SmVXRWM5bWw3MHRHNXlnMXYvWUphNmVaQkNyMUtFUjBUS3BHOFY4R0NY?= =?utf-8?B?eGJuTGk3SWFmNldTbG50VGk3Mm5DU0FTNTFxRnpmd1V6ZzlMY0hoMjZIMXhp?= =?utf-8?B?eXl0WWdZM2xhaFZ1b2c2SkRrUHVEcXVqQzMzY2JlZzRSeVRGV0p6MkxSSzJN?= =?utf-8?B?RThwRHJkWEhjcktlVk43K01VaWtZUUFiQjc2ZnAvWW1IemZhR21Xc2NnT2xP?= =?utf-8?B?RUxxelcxS2hHY1g0MTdiMG03QnovU2d6QitsMkJXZ05vQXZIZ000WUFKNFA0?= =?utf-8?B?UXlidmd3YjJuSGkydmdzbXVZVlNDZkJ2V0k0bm1tQ2FPcGd0VWVLb2VFVDJQ?= =?utf-8?B?RlhxVmdsaHIvK015c1lrSmFhUkVTRHNPNzhGVStOUmRZTU1TWjNzUTBucW44?= =?utf-8?B?VGMvVzR5Q3lNakxzbUloVzdGTGVPd3phTlozemt1alpUdm9ocWt1S0dna0xz?= =?utf-8?B?QVl4WCs2T2x1SVdUZ1N4OVkwRlozbUYyT0VyUU9xZUtaUDJlZzlIOUhRVGxx?= =?utf-8?B?RFFzRWZXcHFDM2xIaFBaSWZXcVluZGQ5QkdWVjNJY2U0VUVGNEdGOU8wUlUy?= =?utf-8?B?c2lacnhFVnNYbmlZWGVRZ3Y2OFl4QzZ1MmJ3UHFnWGgyTWZVR2RKVEVQNTdk?= =?utf-8?B?NXdueURSYkRGaHhmaCtlYkJQOUVmSlR6Tyttc1dTczNVak5QYVJPZkRPM20r?= =?utf-8?B?UzRBYUY4YlY4ZmUrMlFWWkxENlh0ZGdtUXZkNXFya3I3cHVLMUVqRndZcCtm?= =?utf-8?B?YVVkTUhLT0dDaFR5cjNOT3F5ZC9rQnkvazRwS05aejRtWktuZkl4QkFWcklr?= =?utf-8?B?clVJcUZBbEhsbnlGMDR6WGhwUlI3SnY3Ui9FYVRQb2V2WGo1U0s0Uks4MnJm?= =?utf-8?B?Ulp0M0h0Nk8yTDRydGNWM053bkhaZGZlL21BdVduSER3cVJ3c0FabmgwSjVq?= =?utf-8?B?a1ZTSmdaZjVZSW5lT2F4YzVHY0VGT3puM25BREhtS2JJT1RHbEgwVGxSeEsr?= =?utf-8?B?TE8xc2xxNVRhZnArMFpEYllqdU1yckljdC83QT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(376014)(7416014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?d0NqblpEZUpPMUwyMnZoVy9sQ1lqL3hicUJzTE13cTdLSkduL2doeGQwQzZZ?= =?utf-8?B?eFpjTHBsV1FHUUw3Z3NlZm15amRkdjhMNFR2SFZUTjQ2U1NUdkZ2WHNyV2dr?= =?utf-8?B?Q3F0eG9JRW1MYWxwcWQ4bVp3RVNzcEFvdnVDTGU3L09DcTV0T0VvR3JLVmgr?= =?utf-8?B?UUN2ZzNicXhJQmVLOHRaa3JSdnZyV3dmS3dDU0NudGl0c3VWYzZKRzBJMVJR?= =?utf-8?B?QVlKS3lFTmNQTytUMDdpaDFwYTZabGdBVEE3UnVqVzdlb1NLWUFsUTR5VE1Z?= =?utf-8?B?eHdOazhPL0ZWWGh1OXVjWmdIcTBiK2lwdm1RNTFJRE9iVDB3bGdOaWtNYWor?= =?utf-8?B?dm9UaXFQL1pWOUIxSHdsTkthZHU3UnRLeFM5eVlWYlFEakJtUVg2Zjh6Tm9J?= =?utf-8?B?azN1WEJJN0dqN3paZEQwOU43MStFcFArOWk5T3RIWVg2ZnY5V3htSVBXcHkx?= =?utf-8?B?bC9DZnJvbkFXZU04RGxKWkZLSS9LcFJpSHZwOXF5Mm9OZlRBc1lxWDJuU3Jh?= =?utf-8?B?M3hNdVhnQW5ocE1Iais2RzRROG1lY3dsSUhUdnZlSWoxQlY0MC9LTHR2RWRT?= =?utf-8?B?UkQ2b1Z0U3dsSGw2SmxiVHg1SkdLSnJWV0Yya1U0Smdqb0xhUkhDTjIyVkxt?= =?utf-8?B?TzJsaGRKZFcyejRza2E3SUJZNFpHSWtkamJtK3dqM21MZWlCck5adVBVWlRP?= =?utf-8?B?M3ZmeENoK3o5YURnSnZYa3NvQlZVeG9BcUxmdlVxQ2J2UjU5VHBhbncyYUdM?= =?utf-8?B?UDBsT3g3YXozdWM4Qm05N2xpd0l0dkVnM0lQR1V1SmF4MkMyQ0I5cmxyVitw?= =?utf-8?B?ZmdpVmxyd0x4Z3N3YUkxNGphU1lkbSt4L2dOUURicnd6cllRc3UvSG5mUlJw?= =?utf-8?B?MDMyay9rUUkvcW10dllOMm5XaDE3U0l3K1VBb1I2ZjErdHE0N3p2cDltZ1JN?= =?utf-8?B?THloMnpEazNoZlhBQWdYVTNZU0JtbGlNeXkwZVNXbE14dTF2WnJDaGRsN1pz?= =?utf-8?B?MERSYi8vdUI5Mlp3emRSK0dkZHVBUWpLMCt3WWJjNTM4a2hJV05HYjVFV0dU?= =?utf-8?B?THFOYkdLWnVlbll5ZUN3UGpMNWdvRkYyQTVhK2NvMlE2bkc2WlVIRy9jSlZS?= =?utf-8?B?UWFhdUFzU08vZ2ExZmp3SisxdnZrbk96Z1piY2xKckcrUnM5NmxpcEhHOVlz?= =?utf-8?B?TjFoZEJnbnNpKytBYnNWMGRYVHp2bnlobUQvK3hOTzRmRncrMXIyWm1ESGR4?= =?utf-8?B?ek9JQlhNVzFRbXNJMUhmVHZFRFFrNW44Q0VDeWNqMUpCTGQ3QS9EK3BGOWNt?= =?utf-8?B?Z3ljSlV4OWNRRWVPREhGRTEyZ1V5R3hRMFFia1ZmRHVjK245aUxnekdQV2hH?= =?utf-8?B?Q2pxVnhMUC9wVERmUnBYdEN3M2JHTUw4L0s4Uk9qVHdXejloNDZ3KytmcEY1?= =?utf-8?B?V09OVkJDV3ZoMVpNWGxvaVR5Nm1mRVMwM3lsMTlYQmVzc0c5VkREb2dhdHNt?= =?utf-8?B?OGw0U0NvSkFtU0lNaDd1bGh6RGRYekp2SmozNTVNeko5VUZnRTdGTnFJR0ZV?= =?utf-8?B?czRsUkN6ZGxZZHJ1ajlkYzVYZ1JENVhYWVZTWll4OXh3aTNXVDlLSWY2WEFB?= =?utf-8?B?Nm9oN0huSkxpaVlVZzJFKzhPb29oNkhtbG1UeFU1WE9tbVZDWHh1VDBlNi9R?= =?utf-8?B?OEtLdlhxbTdVbXZYTlltblNtalNhRktyQ250bDZaeGJvODlrdURoMEJGckF2?= =?utf-8?B?Sm9EbkVEeTZVTVh2R1picXg2VmU2V2xPSU52OWluWkg2NTlZc2dGTFkrOFVj?= =?utf-8?B?eFc0T0hCdnN0c0NtQ3NKRVNReDRZUC9VS051VkZXNE8wY29CZDhYZy8vN3Vv?= =?utf-8?B?eFFLSWFHSHVJZzFGcUNPeWFXZmFjbFBOQVpDTFR3WjFIOWp0VnZGZFE1NDJC?= =?utf-8?B?K3ZsZ2kwTGZwczZjWEVnQzkzNGk5UVVxMm1oWmFJcHVCbzV0RnRkbzZwRTNK?= =?utf-8?B?eHVuTHp0MnhpMVNSRWN0MHBWWHp4cTBnZTk5MXBJa2JZM0R5TE1JS3dRZ2lC?= =?utf-8?B?NW5YVjlRZ2ZuUnRRK2tlNFNPR0x2czVVOHU5NEJUL0k5TXlRVXNETmpRMjhB?= =?utf-8?Q?H0vu08GKWmL6GS+ShBXSkZp+N?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3686943-d884-4a26-8331-08de15faa0a1 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2025 08:18:51.6219 (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: 0Nil7fNwTty97n4J84SO4mqm3NPJwmHsxL89Zq7LkC+TesIiF3Aam4e/OBC3kVMkFJNp7GfxghALwgpferJubA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8558 Add imx_rproc_cfg_imx95_m7 and address(TCM and DDR) mapping. Add i.MX95 of_device_id entry. Signed-off-by: Peng Fan --- drivers/remoteproc/imx_rproc.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 8ecf95c81b598bbe38b721808878e5427339a08e..45eeb5d61d43c9ce72e840611e9= 3af067a4296e7 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -74,6 +74,10 @@ =20 #define IMX_SC_IRQ_GROUP_REBOOTED 5 =20 +/* Must align with System Manager Firmware */ +#define IMX95_M7_CPUID 1 +#define IMX95_M7_LMID 1 + /** * struct imx_rproc_mem - slim internal memory structure * @cpu_addr: MPU virtual address of the memory region @@ -131,6 +135,18 @@ struct imx_rproc { u32 flags; }; =20 +static const struct imx_rproc_att imx_rproc_att_imx95_m7[] =3D { + /* dev addr , sys addr , size , flags */ + /* TCM CODE NON-SECURE */ + { 0x00000000, 0x203C0000, 0x00040000, ATT_OWN | ATT_IOMEM }, + + /* TCM SYS NON-SECURE*/ + { 0x20000000, 0x20400000, 0x00040000, ATT_OWN | ATT_IOMEM }, + + /* DDR */ + { 0x80000000, 0x80000000, 0x50000000, 0 }, +}; + static const struct imx_rproc_att imx_rproc_att_imx93[] =3D { /* dev addr , sys addr , size , flags */ /* TCM CODE NON-SECURE */ @@ -1440,6 +1456,14 @@ static const struct imx_rproc_dcfg imx_rproc_cfg_imx= 93 =3D { .flags =3D IMX_RPROC_NEED_CLKS, }; =20 +static const struct imx_rproc_dcfg imx_rproc_cfg_imx95_m7 =3D { + .att =3D imx_rproc_att_imx95_m7, + .att_size =3D ARRAY_SIZE(imx_rproc_att_imx95_m7), + .ops =3D &imx_rproc_ops_sm, + .cpuid =3D IMX95_M7_CPUID, + .lmid =3D IMX95_M7_LMID, +}; + static const struct of_device_id imx_rproc_of_match[] =3D { { .compatible =3D "fsl,imx7ulp-cm4", .data =3D &imx_rproc_cfg_imx7ulp }, { .compatible =3D "fsl,imx7d-cm4", .data =3D &imx_rproc_cfg_imx7d }, @@ -1454,6 +1478,7 @@ static const struct of_device_id imx_rproc_of_match[]= =3D { { .compatible =3D "fsl,imx8qm-cm4", .data =3D &imx_rproc_cfg_imx8qm }, { .compatible =3D "fsl,imx8ulp-cm33", .data =3D &imx_rproc_cfg_imx8ulp }, { .compatible =3D "fsl,imx93-cm33", .data =3D &imx_rproc_cfg_imx93 }, + { .compatible =3D "fsl,imx95-cm7", .data =3D &imx_rproc_cfg_imx95_m7 }, {}, }; MODULE_DEVICE_TABLE(of, imx_rproc_of_match); --=20 2.37.1