From nobody Fri Jul 24 22:19:40 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013026.outbound.protection.outlook.com [40.107.162.26]) (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 D1C0A35E1BF; Wed, 22 Jul 2026 22:01:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.26 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784757670; cv=fail; b=Rcl/Rtvvl3wdiraH859RO+ePrB9XfeK1hf7Y70oODCBcFxNiKENkaEO37ld7a6Alop9clbU4JV1Wn5Y1Y7OZRd9q7/vbF7F+grjepfxkmm8ONHSxyXqh+sqwtJChf5+lMxoje/zt38YRN7KKSRo35dZ1ztSLh66i4p9V1ZaWkGM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784757670; c=relaxed/simple; bh=elROp9V0DiULEEdOsdSyB2XnxZY5p812IliXFhFeI9I=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Ji8EXQn2VgJjq0D6m4/bDnF7mhS6+GHek5IQxmVR8UzNbeqhnuqONpemPzXQNOZG5h7pcoh7D6WS43u4at32Xc6Y22XBFCZ24sQcIIQkKqfZkJN8hq3wwlpHxpsRBqRLgbVLPHtpF2850+IV1w9FrxSq1E8JbAKVzm60ddN9jCg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=gWK5XNGX; arc=fail smtp.client-ip=40.107.162.26 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="gWK5XNGX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mpUwx4/dSSR08m0SFo3Kkq3GfglgZY9ehX2KAEQGdQWkUfGe/f5MMxm2ABO2j6phB1QsVZaTfrYfATJbAAMdiocUU3O7Y78Azj9rj7Ec9TXIo/4QaQTOf4NGRhmsT/hdAsV56J1KgB5nYFaxUPZH6KdjraaW1mnfKxs+8v/UOCV5mdRd9VcGc8hXM3Vk6c9rDJE41fzLJQUJQ2P232zh6qyjM4J5oBs+1UWJ+BBWM1WVl7PzeOgCZroTxpoj+lsAjzyiljKT4mC8GoZUN3b7Oovov8kKpI4BCDMhdHg8562O1NABxdfAoXHmm76680A/NNCo2q9f5zqa+GtbofASpw== 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=0VliVplz83szFe8xfrwhusYXlxPRF2FZ3ziJslIKnVU=; b=vzLif2d50HFeXyHpzp24syvYGnV7Ha1R0xP/TacglFUb34S+IbNrp9/jlt1t0JFemopzr38Dkz2fF6yx0AoHTp7r7yJTl/rNazpq9iWPrZnbhIbyxloJ/Jz+viG+1oJlFblEfeT3XlqP9HMo+gdibStGLI1f8PQTpXAthsomzqtGQiUtdkC/9+ks46wOb3yk/FA8buF4ry1J6YdjKzymT85tB8aZs0vobRzRnUdUmwxqRb9pgMgUIpztzakxpvnULMVKJiyu8t/A7ZQQb3io5Dy8iTpcECXqprahlX37CF6vbDexX+xHMJOxT+nuljN5lY7MKpto8E0hHtsOpbBmIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0VliVplz83szFe8xfrwhusYXlxPRF2FZ3ziJslIKnVU=; b=gWK5XNGXxMwBtuh7syEznykbx27stRbNBLRcfX+FM4UQKyVKihE3jUtTa7q+9IsIOjumwZjn79cZOo4cDUf5RTdwHb/1ZFKwj3oPQ0XKRf0RUyQ/VMdM1zGUzittYruwazpqF/L9wxj64iWYelRnUo4p7CHEdSGLDoslANORLFtPMAi/jw18YFn+a5FTtFE/9OgMGDMj04f65xq2vCIZYi69tyD/BqLndvzTqiAkEjliWjQA4slTbzSTzT+hEvlO8oqv83Ale2V5dc3Xq5a7ZU176YSlPVtpO85y/1k3/FyEmtJOcMMesuQrFd/H+9MhmIUMzaRRLy7c5tP02Tc4FQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AS8PR04MB9079.eurprd04.prod.outlook.com (2603:10a6:20b:446::12) by AMBPR04MB11809.eurprd04.prod.outlook.com (2603:10a6:20b:6ee::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Wed, 22 Jul 2026 22:01:02 +0000 Received: from AS8PR04MB9079.eurprd04.prod.outlook.com ([fe80::9761:3d78:e9db:2308]) by AS8PR04MB9079.eurprd04.prod.outlook.com ([fe80::9761:3d78:e9db:2308%3]) with mapi id 15.21.0245.009; Wed, 22 Jul 2026 22:01:02 +0000 From: han.xu@oss.nxp.com Date: Wed, 22 Jul 2026 17:00:42 -0500 Subject: [PATCH v3 1/3] spi: dt-bindings: nxp,imx94-xspi: add DMA properties Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260722-xspi_dma_upstream-v3-1-6b7ff50cae8e@nxp.com> References: <20260722-xspi_dma_upstream-v3-0-6b7ff50cae8e@nxp.com> In-Reply-To: <20260722-xspi_dma_upstream-v3-0-6b7ff50cae8e@nxp.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Haibo Chen , Mark Brown Cc: devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, Han Xu , Conor Dooley X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784757654; l=986; i=han.xu@nxp.com; s=20240131; h=from:subject:message-id; bh=MCiFiAilyAzkGuxQ+rkCaGPOy72ZAtH49wa5fbKHe0w=; b=PS24wtQq79UbQDpVK9t5jQMTqtx9WioP/v0HaFqJi7SGBEKy2uWyFjcEc5YocMxzt06bwZQGq apf8JDpSDuBAgooAVKrhlRGiTUYK4eOUxxgGfV+R89cqeN/59/74h9d X-Developer-Key: i=han.xu@nxp.com; a=ed25519; pk=XSryOlQ4EKXqt7ZHz2D+BcDu1AWYF0m5bX48xQOVF5A= X-ClientProxiedBy: SN6PR2101CA0019.namprd21.prod.outlook.com (2603:10b6:805:106::29) To AS8PR04MB9079.eurprd04.prod.outlook.com (2603:10a6:20b:446::12) 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: AS8PR04MB9079:EE_|AMBPR04MB11809:EE_ X-MS-Office365-Filtering-Correlation-Id: bb781c84-581e-46dd-824a-08dee83cb856 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|19092799006|376014|7416014|11063799006|10067099003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 7xySC8RawKb68eru3WkhFdIiGxzeJZEyoEbs6srg79kGoIMRmcqUnkHQiYOjp640PFPYYq5fqGHGmBLRBQ01fj2IrnPcEBS0NOWtq2wHIvTMN9iIBepZKoxu2cfjgooqf5Qxdi5Uo4iBglzh5yngYhxVTolGGu3IK9GHLvvm5nt93yMsGUCIaAhw5zNQ0FuQ+nmLLxSaFP1dfV40iIT9X4O4VnRO6W5lmHLV7uUkA4AVyLficHFbgobREpl6P9fYrhFOqkGGWOSHhb3OH8M4yEPSnqFAJhhfGTRHurvzpT6/Pz8K0lWqyQLjpqqVVMsgTqt8m7VCaAeQROu9CSdcd0jU8cpF6E+n5khEv6yd1c505etRaPKOo9BIGZjlWBb/l8QYQGsBogUn1fdMmgtHIbhR6YU84LGWasU8u/iTAqpFRRxexYY6girHPYfPTOGYRtA/mJ6xLrxLKTVKRZR4lYzEbgDe2catYwI5fbVhWR4KhV/MuKUXSvuaQUePOQqtwzt5gybEEQOnB+nRNqkw1MfEJgIkj0wqtYVpSgLu+sOFQc8T95eEWTieKEwQqYR0NL4osxHfHfK7C+EcCC7YCerpZAWR6WOxv6w2Q7C1u5knIr/4SlCWTwfNLYpV7/+Ll7DmC2DKn10ASZrfZmBHszyG2exRPjfBDkyB1SJBPg8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB9079.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(19092799006)(376014)(7416014)(11063799006)(10067099003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TDBMRkV6aXdXOEdscENYeDVpN1ZrSnRkWk9oYUVaWURmMUJ1Z3JmcGcybDdH?= =?utf-8?B?MlBVWDBRZVNQak5SMUcwdy8zZUN4a3VRcFFHS0t1RG5QSjFMVU5JNVl4aG0z?= =?utf-8?B?emdXeDM0dCtLL2p1S1dZeVJ1bENmZmptQ2gxdVphNTl3a2QxQ3NndWhNeWt0?= =?utf-8?B?TEMwSGI3eWVoTitjci93d0lkS2JNN1hEd24zUk1yTDBsR2Rib1Fhc0d2MnJP?= =?utf-8?B?bmxTeEliN2d5NDgrVXNKejJZSm5OM0kzeGZFc1RPZDgvdkdqWm1oSDRkejVu?= =?utf-8?B?S09tam1WZnlzM25DYmNFZU9wVlFYZGwrQUNOdDNncUluT1hJc0JtN011Z01U?= =?utf-8?B?SWQzSEFOUHpGQ0pCWFpERitQeW9XMnh4M0FxeEdqYmlsck9vTy9nNU5Lcmoy?= =?utf-8?B?VHhwSUlUY2k0TWpacUNVcUkxQ2ZPYW5nZkRmZENPTDIyM0pzc000OXlUYStS?= =?utf-8?B?MU45RUNJL055aFMxR3lQZGIvcFNna1I5SUpsZnZ4ZjZhOGxsUTJFYlhYSXRY?= =?utf-8?B?dVZWN1NrVlowWk1LWDdRZFZYbUt5d0I3WUVFaWM3eHNxUjQvOXowbU5QY0Zq?= =?utf-8?B?T005dW01dGNsYzhQY3pWTmlLYTgxVGJvanBqWnRnSkxZdm5xV2IxRUVPTGRz?= =?utf-8?B?UU8zTG82Sy9vM3R3Z3lnU1J4Y1Q5dXZTRHFDbVZ1QWNxMGJjTEFmblQ2bzJZ?= =?utf-8?B?V051V0hKVTFQRXRWN2EzMTBMWVVHYVk4amIyNDZqNU1McG81bmtOR1hWZmJP?= =?utf-8?B?ZFN0M0Q1Q3JaMzkxQ1JmVXd5cUVoRURZZWw5eW5XV0NicVpGRmtyNWxXQnY4?= =?utf-8?B?UWlBS1ZMZG5LYklwRExNcWU1WkhQVDJxM0prLzR2b0drQ3JKWjN6YU93Y0tl?= =?utf-8?B?am9US3pVMnNNTnBReGlEenRWWmthZFBGdE5HQmI4NE9UekNJYTdrb3cwY2ZQ?= =?utf-8?B?VitBeGY0cUNERFJJY3ZtWVUrSm1PVVJlTGQ3K1NodlVaZk5YQTAvcVhwY0VZ?= =?utf-8?B?VlNyOTZCdE4wWWY2ZnZ6Zng2OUlMcDdYUEE3N2UzRTIzQjlzckVNUURLOHJC?= =?utf-8?B?VzQ2YWlCRzFrLzYrOEFXQTdYdlluMVdDci80YWtkRkJ6MDVwOUgydjA5SWhw?= =?utf-8?B?VW14Yll5Ukg2VGJNQzAzcUxydXc4VUkyUWMyM3B4K2g2bE5jN2d4MG9jTStt?= =?utf-8?B?RUVpd3paTk5KVHVpSndrVWhnVXQ4NlZzVHp3L0NkSmtzTnVoa2xTSUQvYmY2?= =?utf-8?B?ckZtWTE1TXNtU0xUT1dzYWxEa3MvTHlqZmxkNUlYTFdXYUVRZi9aejRtb05R?= =?utf-8?B?V1RKMGYrdFJUdGFhc0NIY05zYkR5UWhjQzFJWDJsL2hLdThPeU04bGlDY3pE?= =?utf-8?B?MmFTRDE3MzJYMk5pZjRvOTNHVGZNVE90UzdCU1RCV1ZIT0I1aklyRElTeG5J?= =?utf-8?B?Z3JiZDV3N0RVektRVTBPL0MxYzBDYVNFWEtKdXo0eEpZa0IycWNLSlUvSGlJ?= =?utf-8?B?QWtrTDNFS1QrTUdxSU5PTHNXd2NaN0VBSUd1eTBUM0c5cmZtVHE4TENGUGN6?= =?utf-8?B?NjcyOU9FM1FaVFhDTXAxc1VVcnZsbWxBbDFWRmgzQ0RVL1VGYXNGK0xGN2VJ?= =?utf-8?B?SWR5RFdZanFpTHA2bDFQcGRKR2tNdG8rM1BPd2pHRnNQQkpZVzFWcCtTYm9Q?= =?utf-8?B?clloZXhOQjg1bGxpOWE5VGRyK29sM1ZHVERTZW5iYmQrQUVqNkVZbkRNUTZn?= =?utf-8?B?S0UzbExhamRvbmlEdUh6LzgzSUtqOXJWaFRFSFFQNHRPMnhZbjdMM28wOEo3?= =?utf-8?B?U2kyZE1oSjVVc01rUTJOSFY0TitwMFZkQnYrd1Ryelk1ZG9NTDFDZU9YVTJp?= =?utf-8?B?TytNM0IwTjZFZ0pYQTNjRVdLWkpIazlZS2hDejBYMHg2WFZNek9oSHhsa2Jt?= =?utf-8?B?UC8xUjZicmVEV3ZoMWRncGVYRERZZjBGMVRVWU40NjJvb0hWbUlhcDZNc01T?= =?utf-8?B?aklGMlJCNFR6aFhwOG1kVEdVWUJnYVhocERoRHQ1b1pJRkF6aGZzcU8yelJF?= =?utf-8?B?SERJVXd1aFpwTU9Id3VkS0ZrekxQazVrZEZTdzJvVkVnMVpVUy9xTjNDTFdB?= =?utf-8?B?RDhGM2FKZkU4WnI2TU9CSWI2WFREajVvdTRnUDl0Mlpxc25veG1QYUtRVU9r?= =?utf-8?B?b0VBOGVveHVuYUZGN3VpMlNlWHpNTldYWGRjQnBwMmVDSnEvTmZPYjEraGxE?= =?utf-8?B?ZmlCSE9kSkRLbjNSWnhWWXJFb2p3L2YyWmdXWjZxcU5DNUFuMzNaN0tzbzA4?= =?utf-8?B?RVlSK2toS0ZPWXhueldYZTJ5SXZTRFZoTVdRK3VGS3FrTS9nK01ST2hKMzlt?= =?utf-8?Q?rvOexITXCgowuRyk=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb781c84-581e-46dd-824a-08dee83cb856 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB9079.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jul 2026 22:01:02.2500 (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: 595M+guS98zCFpwHbBE305QBRwHVgOvo64He0B6Ju97ARCHcosR2J+nBW5LH/h3/brC3vhpWk2FjTf/kCasUGq9usAvzULlc8CCGNbgl7Q0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMBPR04MB11809 From: Han Xu Add dmas and dma-names to describe TX and RX DMA channels for the i.MX94 XSPI controller. Reviewed-by: Frank Li Acked-by: Conor Dooley Signed-off-by: Han Xu --- Documentation/devicetree/bindings/spi/nxp,imx94-xspi.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/spi/nxp,imx94-xspi.yaml b/Do= cumentation/devicetree/bindings/spi/nxp,imx94-xspi.yaml index 16a0598c6d033..ccf841f194c06 100644 --- a/Documentation/devicetree/bindings/spi/nxp,imx94-xspi.yaml +++ b/Documentation/devicetree/bindings/spi/nxp,imx94-xspi.yaml @@ -30,6 +30,16 @@ properties: - const: base - const: mmap =20 + dmas: + items: + - description: Transmit DMA + - description: Receive DMA + + dma-names: + items: + - const: tx + - const: rx + interrupts: items: - description: interrupt for EENV0 --=20 2.34.1 From nobody Fri Jul 24 22:19:40 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013026.outbound.protection.outlook.com [40.107.162.26]) (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 C9A1A43D4E0; Wed, 22 Jul 2026 22:01:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.26 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784757673; cv=fail; b=LcMmVPJpYJD7M28TK+ZYimY8DKRsk0PijpQk+W/OJ6zXuDUDd0QLgtuFBQgdCAFTzDW7J8MaUsSDspklIrepC4c81HVr97NllzyFNPe9ygBVBie9r0yOLw8KkjFzOMAf75NynI3hcKdL1k/zMaHIc9AsI5CQbA0my1+CwrUP7Mo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784757673; c=relaxed/simple; bh=GOmQV/zRkSa2cPzgshrNEMlUr4EwlHkcbAjlRraJcRk=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=gM+QzXaET4mwkQSbWDc8B99uRtk86MDBWj0Haoue/BsJ4+00WWiR0UYLKQSNIYOiTA2x3xibsmkUcHWLv7Qm4Xsi3zG3STvooa/ocqWHNHiVN4PH1b24hcg5ZjVFX0ugton+x5jWPILpR1JKO8AQZkJ52XYjXJ1aT18QheXwUKg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=t6giOm44; arc=fail smtp.client-ip=40.107.162.26 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="t6giOm44" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=u0exvZnMPcpE6zmA5f5qAjYUcQ2XQO8WfDcgMoHrkmdeGwQyUSvRpKMedYy3etVBLEW9ofoXozXLBBAu1uSez7xPc7hrffgZ1HBktW24IPMg1kNQSOz0hfUtpoXr8H2+v9w01qFu4hw8KnyvFfrwds5OQVOljksv9PlzsF7wxLNX1HTt0FfxlU7TAKZZI75uz6TY9PJC3Tn+Lg8YP2CmfL0dm6sMSyqVD/XVdT9HzICettvmYwaaYOrljfa4ID9KkMz8lNQIH15PAAEI0pmzK3K5cqvXuN8L36gj5uebrKXWReXX8GQt0UZfHpELBiWUbIZfsU0M95jPPlY+UJb9Tw== 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=DTNTuTI841mUK3zmBV4Zw/GMfGQammM31IOFBSPoiNA=; b=O8wfDep8tluuazTifbrGNg696KcWN7t4FUtui9F1ZeWLwUcY5tZKjBHV85XeCdMdNpORWCs/YLe7m/v2wQzCTtLnYOmzZ9g6eH3H8GKWmWwy0fDwff6mZQJdHPQoAlTDlgBZdrZfjft6h3MZwBWsuDd4JPdG1+4X6Q9720pXUeXz+YrWBreFiRJhKqfg+IgcWrhIiNYeOddrGz+p7D3SBKxnpygvnR3VjnZCHSy8IlgmxMf+aun16wNZ4eQCQwVpkpTK2rnGYEOPIcYL9LT0QzXKKm2eIiCWSBolSNo2pXr34jd9rG5xzmjatCZzsG3Ndx4n+66sroOyXn5HW8M0vw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DTNTuTI841mUK3zmBV4Zw/GMfGQammM31IOFBSPoiNA=; b=t6giOm44j2nd/s4lYPe0VT2EEZzGjAYgG9nvIYRZQ9AnV7IXv9VsM06AZoUT07N4/IY9/qT9BVntFqBvKB+nfGPlJTcc1u30eLRaGCPDtUTKAtMoF9tUbVVQnJS4OljEOT3M6AhzIzMQubAuJSjfToIviU2Zvcbe9Y+VP+0AQ1rtYe4UBb6ldUv1GwSR6HxI7y8gu15W1Vr+csiJGYouFkfkRgDvKyzpwL/L5SrUMfUXYqgwhXBg/kzbGUjcSBEYrBGdZJ3tz4SvYeuY82d9pVb12M++5b+Q5zoq5m68iwu0I83eFVm60plz1T9Ksb5LhJ0xtlHyS7xDTWww4VchsA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AS8PR04MB9079.eurprd04.prod.outlook.com (2603:10a6:20b:446::12) by AMBPR04MB11809.eurprd04.prod.outlook.com (2603:10a6:20b:6ee::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Wed, 22 Jul 2026 22:01:06 +0000 Received: from AS8PR04MB9079.eurprd04.prod.outlook.com ([fe80::9761:3d78:e9db:2308]) by AS8PR04MB9079.eurprd04.prod.outlook.com ([fe80::9761:3d78:e9db:2308%3]) with mapi id 15.21.0245.009; Wed, 22 Jul 2026 22:01:06 +0000 From: han.xu@oss.nxp.com Date: Wed, 22 Jul 2026 17:00:43 -0500 Subject: [PATCH v3 2/3] spi: nxp-xspi: Improve AHB read performance with DMA Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260722-xspi_dma_upstream-v3-2-6b7ff50cae8e@nxp.com> References: <20260722-xspi_dma_upstream-v3-0-6b7ff50cae8e@nxp.com> In-Reply-To: <20260722-xspi_dma_upstream-v3-0-6b7ff50cae8e@nxp.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Haibo Chen , Mark Brown Cc: devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, Han Xu X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784757654; l=7240; i=han.xu@nxp.com; s=20240131; h=from:subject:message-id; bh=1lxbCnQ0uzLQBru4HgkM8VP7ETtGFx9gI/cOm8PlJBw=; b=LifX4YPeKr1wj8jWx+4ClzlR99vjQW6c5ae73dhwcSMG7TPs2ssWAWR5n1Y/GkG2bt5pYLHNi XYs6UT9qSNICyol0H9RQc9Oi4/b7Fsk/PpUr6obkGIRafIiEn0mJ5Du X-Developer-Key: i=han.xu@nxp.com; a=ed25519; pk=XSryOlQ4EKXqt7ZHz2D+BcDu1AWYF0m5bX48xQOVF5A= X-ClientProxiedBy: SN6PR2101CA0022.namprd21.prod.outlook.com (2603:10b6:805:106::32) To AS8PR04MB9079.eurprd04.prod.outlook.com (2603:10a6:20b:446::12) 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: AS8PR04MB9079:EE_|AMBPR04MB11809:EE_ X-MS-Office365-Filtering-Correlation-Id: ba9cafeb-11df-443b-70c5-08dee83cbad6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|19092799006|376014|7416014|11063799006|10067099003|6133799003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: O73d1a8MsDmlYfbjSr4ZJM/qZmhjHwYbqWXjSe+pS5xTQuxu+Go3BOwpN8+Sh6G8ISXMikyfbet5B3Uz6nzC5iLdMJJUojycpn60vsN21yFfMfHukem6xj+tgs8OapVLJdLjlHkWhydmxE9LirXZWU0DTJpDZkA3v+VaPZTHArh2rVXL4B2zonelU5SFyX7aIvBc5iEL6MhtQxEROk30UDWEfcFrOZa3x4oiTpEhL//XS/GA1uERvC/Y77xEAtpdeTMw8toaNhFV64pK4HZVEgvdA2Wh3C60xU/UMSXd0dZdMepHZePOwmg1ItGEiyj38XaBV0wrQ0wSg/nGmSbGP+hRY/SkbDVqtnkY8zra8YatH+02oUg8Xf51RLPV7TAfELKuA3VoFxCKYSCtV12lqUQ43RKKooqW263hewjRTXuleyE7q5nt4NARzbvLcW2NzXo2QyN6+g9t85EtQNz2fiXsFfSqfvxgug9dfqr7s7IWXl1SdBC3cpAREzNRt4j7Bug9ix3s8KelwlFVB/5pZ6dchcXX5P/hJu8A975+YrxBn1HMH0O6pdfuRgzru7HO4WV5vhATLY7SkosjhZOmRkTiLfVm3UcRL6Mpf6JWePo6D4GnaTvwp29KwfGEEgga/4pLlnTyORJA/Roc21dB662AeoDfWvKWR+7tqhd5i9s= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB9079.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(19092799006)(376014)(7416014)(11063799006)(10067099003)(6133799003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UUpFKzJiMjhneFNmdVpqckhnbEZZWDZ5eW84SHEyNWtKdGp0V3hLTkJKaGgy?= =?utf-8?B?cU44OE9YVk9WTzRVcEpIc204RUJiRnFlYWV6TGFDRTBmU0hYQW5iQzZOb0JG?= =?utf-8?B?cVdnNlF6L0ZvdlMyNHFPbjRicjBGNEcwRkV5bHVmN0xsclErSUpBSmVvUVB0?= =?utf-8?B?eWxQUlRmR0FoVDQwME1kc213Y1o1NzNoeW5sUUlaQ2R6ak0zR004cDB2Q2ln?= =?utf-8?B?blBKbkVhRTFFeFQ4KzlrdktLcGNHK3VjRGV1WWR4WW5jSjZ5SmZiM21ucG1C?= =?utf-8?B?R2FuTmZwOGU4eEk5cmtTV3d1T2YvZFlINUJ0VjF0M0J1S28wSTA2QlFkMXc0?= =?utf-8?B?WXV5bFVvTm1Sd2xiTldBRFBqUDE3WFRYZTdUYlIyUGZ4S1lKUnoxRXR0ZDBw?= =?utf-8?B?YmQ5U0ZVWVhaNnVqelFBMVVwMHRoV2szZ3hGRWF2YzhCcE5xUGpIaFpVUENS?= =?utf-8?B?RWNtKys3ZUozOUN5MW9Xb3o4UmV3a2h0MDBnMzlCWEFCbSsyb21aalk0U3ZO?= =?utf-8?B?eEl6M2xOV2JRMVNxOGtwczhZN2oyeEpSSnNmSEQ4ZXB4N05uSGxDTHlsbnll?= =?utf-8?B?aFhLRFFCSk50eFhWMmgzMm1wZnVRUDBvZUU2UFNTSjEzVzI0VVJENTc2cmZi?= =?utf-8?B?TTJPKzJuWG1NRUVlVnBLQzdvSi9ldU5UUnFQaGo2dHlOb094RnMzb3Z5bkFX?= =?utf-8?B?QWJhRVdLOGdHbHUzTlpVditzUFcyOTdmdFliSERBWUxTcEZLL2prUnM0YUx6?= =?utf-8?B?SmJMWDJFNEJNTm1HSmUxOUhwRE92UDdLWnB6N256Rkk2NDlqNjZLdFdMSjR5?= =?utf-8?B?R29mcUo5dk5OTnp1UGQ5YmZPeHduMUdYak11UjhXTkxxWmVNNSsrQUdwSEZP?= =?utf-8?B?OFl2NEtlRXlPemJrRXpCYVdaQXhlcG1MZGhaL1N5SXVIQlg0empSQmR0SGFh?= =?utf-8?B?cHhDU044UVgyQU81ZENuWnd4OFpEcjJtcjhxMDRkTnJwU0xtdjR2UUw1WVlT?= =?utf-8?B?U1oxMkJPaFI5TW5kaWFEV0RQV2w2WHF0SVZsTzFpZnc2YWhDWnZtQzBTMERJ?= =?utf-8?B?ZDZyUUpGMXNDZUl4VDRyQ08wL1hvNkJDSzMxKzlEQ25ncTV1eXBqSWExN3Vi?= =?utf-8?B?Z3QvYU5tdVFZRHpuNno0dDBlOU1JeE9vMEZGUzdTYVFXUnZaeFhGVVRWK21E?= =?utf-8?B?U3NteHlUNmY5Ti9hUnNSY1QrN21EWUxRZ0NWQkR1c3UzWEdyN2xRQ25aWW54?= =?utf-8?B?ME1Ha0oraFk4Z28rOEhRZlBXUDVPNnNPcS9vMklUa0FxRkJGalp5T1U2WFlB?= =?utf-8?B?Y2pVWVpTc2pCREdrVFFWTzI1U1J5RDl5ajhrU0JNeUhIU04rMUNYM2txYU8z?= =?utf-8?B?RjVuUE1scVVMNmYzQ3hSNUR3dGY5cGw0S28wbFNuRjNEWnRaKzZnd2l3L3ZX?= =?utf-8?B?US8rejZueTBvaXZORVNvWitMZXZER0pRL2FCbVlscFN1d0h0Mm02N0J4Y3dE?= =?utf-8?B?TWNkZnVWelVRUGhTN3ZnVnNkMzM0U0hIZXhBQjV2Q2taNVBFakJQMEhKaDdK?= =?utf-8?B?V3d1QUo3dVY1STBsWXkzL0J5YldDak0rWnVkSVVxbFlmMVYyU2w4eWhmVzRa?= =?utf-8?B?VHJmazE2TGtiUnMzZUUwbHRocklsZWxicE8wSnFYbEZXb0VnaEFwL1VwR0tw?= =?utf-8?B?VGdGckR5SWE4cmxGWXRtd0FIMlgrdGJMdFhhNlRpT200NmVrQ0hsWmw2Mmpt?= =?utf-8?B?VzdUVWg4Z2crN2R5T2taS3REWnVON1FTcy9jZmtSMU96RTV6TGdyMUZMY2Zw?= =?utf-8?B?dzZBYWVSOWR1b2k4TWlFTFdZRGk3Ui9tZHQ4emN3L2RjejlUblU5b3BKa3ZO?= =?utf-8?B?MWlJSjhvN1M4WS8vSnBTTEpkYWZyNnlFWTk0Vms3bTAyV1N5clRoUy9aRTN0?= =?utf-8?B?SUo5UlBFYm9INi9neC9TZ1MxSW94Q1kxVlYrQmF3bGZFNHpWRHZDaVEza2h5?= =?utf-8?B?Si9XWXRUZWozRE1JL1VSVHFXVnJMZ3J5bjlhdGFpVzVDWVpWZnBJOUFFNGdO?= =?utf-8?B?UUk5cEFNaHR1TWJZc1FIS2pqRk54VUp0cjFKMXFzWTdaMlRwTGprY1ZaeXhh?= =?utf-8?B?RWVRZW80WDBMamFnU0M2bUNKMVNkWTVQc0NQSDB4d291bjAxeU0rWlE2SW91?= =?utf-8?B?emt1WjY1MG5wd1hhTzUxdkZhVVB2U3A2b1Q2NU1MQWZYeEYzRGZLcGRZZWVN?= =?utf-8?B?U21iSUVSdU5PakRqSVp6LzNBMGw1OVB1QUdGUFRJOFR2dEtvbUtrTllTck9Q?= =?utf-8?B?dlV3S083bHI4d2Q3ekx5Q2FVWmFIY29zNURWTFdhQUxBSWlyWjZLY3IyYWlu?= =?utf-8?Q?2vXrn+/IJG6nVfHk=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba9cafeb-11df-443b-70c5-08dee83cbad6 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB9079.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jul 2026 22:01:06.4734 (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: W8PQN4g6Rp0VeWJwW/IsJlpgajV6tM3mhnKl0BEWohOdfx1uWAwMr3ahLnzbMCLmiquZeZcTFLk0C2EnJFlOfmIQs+NryNvfxGpRbfhYqjk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMBPR04MB11809 From: Han Xu Use eDMA for XSPI AHB read to improve the performance. Read with CPU root@imx943evk:~# dd if=3D/dev/mtd0 of=3D/dev/null bs=3D32M count=3D1 1+0 records in 1+0 records out 33554432 bytes (34 MB, 32 MiB) copied, 0.479719 s, 69.9 MB/s Read with DMA root@imx943evk:~# dd if=3D/dev/mtd0 of=3D/dev/null bs=3D32M count=3D1 1+0 records in 1+0 records out 33554432 bytes (34 MB, 32 MiB) copied, 0.115788 s, 290 MB/s Signed-off-by: Han Xu Reviewed-by: Frank Li --- drivers/spi/spi-nxp-xspi.c | 143 +++++++++++++++++++++++++++++++++++++++++= +++- 1 file changed, 140 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-nxp-xspi.c b/drivers/spi/spi-nxp-xspi.c index 037eac24e6fd2..70cbc3ef658b6 100644 --- a/drivers/spi/spi-nxp-xspi.c +++ b/drivers/spi/spi-nxp-xspi.c @@ -35,6 +35,8 @@ #include #include #include +#include +#include #include #include #include @@ -303,6 +305,12 @@ (opr)) << (((idx) % 2) * OPRND_SHIFT)) =20 #define NXP_XSPI_MIN_IOMAP SZ_4M +/* + * It takes 0.5s to access the entire area with DMA, + * leaving a 10x safety margin + */ +#define NXP_XSPI_DMA_TOUT_MS 5000 +#define NXP_XSPI_DMA_TOUT msecs_to_jiffies(NXP_XSPI_DMA_TOUT_MS) #define NXP_XSPI_MAX_CHIPSELECT 2 #define POLL_TOUT_US 5000 =20 @@ -336,6 +344,9 @@ struct nxp_xspi { /* mutex lock for each operation */ struct mutex lock; int selected; + int dma_copy_align; + struct dma_chan *dma_rx; + struct completion dma_rx_c; #define XSPI_DTR_PROTO BIT(0) int flags; /* Save the previous operation clock rate */ @@ -796,6 +807,95 @@ static int nxp_xspi_ahb_read(struct nxp_xspi *xspi, co= nst struct spi_mem_op *op) return 0; } =20 +static int nxp_xspi_dma_init(struct device *dev, struct nxp_xspi *xspi) +{ + struct dma_chan *rx; + + rx =3D dma_request_chan(dev, "rx"); + if (IS_ERR(rx)) { + int ret =3D PTR_ERR(rx); + + if (ret =3D=3D -EPROBE_DEFER) + return ret; + dev_dbg(dev, "NO DMA RX channel, falling back to CPU read\n"); + xspi->dma_copy_align =3D 1; + return 0; + } + + xspi->dma_rx =3D rx; + init_completion(&xspi->dma_rx_c); + xspi->dma_copy_align =3D 1 << rx->device->copy_align; + + return 0; +} + +static void nxp_xspi_dma_rx_callback(void *data) +{ + struct nxp_xspi *xspi =3D data; + + complete(&xspi->dma_rx_c); +} + +static int nxp_xspi_ahb_dma_read(struct nxp_xspi *xspi, + const struct spi_mem_op *op) +{ + struct dma_async_tx_descriptor *desc; + struct dma_chan *chan =3D xspi->dma_rx; + unsigned long timeout; + dma_addr_t src_addr, dst_addr; + int ret =3D 0; + + dst_addr =3D dma_map_single(chan->device->dev, + op->data.buf.in, op->data.nbytes, + DMA_FROM_DEVICE); + if (dma_mapping_error(chan->device->dev, dst_addr)) { + dev_err(xspi->dev, "failed to map DMA dst buffer\n"); + return -ENOMEM; + } + + src_addr =3D dma_map_resource(chan->device->dev, + (phys_addr_t)xspi->memmap_phy + op->addr.val, + op->data.nbytes, + DMA_TO_DEVICE, 0); + if (dma_mapping_error(chan->device->dev, src_addr)) { + dev_err(xspi->dev, "failed to map DMA src resource\n"); + ret =3D -ENOMEM; + goto err_unmap_dst; + } + + desc =3D dmaengine_prep_dma_memcpy(chan, dst_addr, src_addr, + op->data.nbytes, + DMA_PREP_INTERRUPT | DMA_CTRL_ACK); + if (!desc) { + dev_err(xspi->dev, "failed to prepare AHB RX DMA descriptor\n"); + ret =3D -EIO; + goto err_unmap_src; + } + + desc->callback =3D nxp_xspi_dma_rx_callback; + desc->callback_param =3D xspi; + reinit_completion(&xspi->dma_rx_c); + dmaengine_submit(desc); + dma_async_issue_pending(chan); + + timeout =3D wait_for_completion_timeout(&xspi->dma_rx_c, NXP_XSPI_DMA_TOU= T); + if (!timeout) { + dev_err(xspi->dev, "AHB RX DMA timeout\n"); + dmaengine_terminate_sync(chan); + ret =3D -ETIMEDOUT; + } + +err_unmap_src: + dma_unmap_resource(chan->device->dev, src_addr, + op->data.nbytes, DMA_TO_DEVICE, 0); + +err_unmap_dst: + dma_unmap_single(chan->device->dev, dst_addr, + op->data.nbytes, DMA_FROM_DEVICE); + + return ret; +} + static int nxp_xspi_fill_txfifo(struct nxp_xspi *xspi, const struct spi_mem_op *op) { @@ -1016,10 +1116,21 @@ static int nxp_xspi_exec_op(struct spi_mem *mem, co= nst struct spi_mem_op *op) * all use IP write. */ if ((op->data.dir =3D=3D SPI_MEM_DATA_IN) && !needs_ip_only(xspi) - && ((op->addr.val + op->data.nbytes) <=3D xspi->memmap_phy_size)) - err =3D nxp_xspi_ahb_read(xspi, op); - else + && ((op->addr.val + op->data.nbytes) <=3D xspi->memmap_phy_size)) { + /* use DMA for transfers no less than ahb_buf_size, when DMA is availabl= e */ + if (xspi->dma_rx && op->data.nbytes >=3D xspi->devtype_data->ahb_buf_siz= e) { + err =3D nxp_xspi_ahb_dma_read(xspi, op); + if (err) { + dev_warn_ratelimited(xspi->dev, + "DMA read failed (%d), falling back to CPU read\n", err); + err =3D nxp_xspi_ahb_read(xspi, op); + } + } else { + err =3D nxp_xspi_ahb_read(xspi, op); + } + } else { err =3D nxp_xspi_do_op(xspi, op); + } =20 nxp_xspi_sw_reset(xspi); =20 @@ -1029,6 +1140,7 @@ static int nxp_xspi_exec_op(struct spi_mem *mem, cons= t struct spi_mem_op *op) static int nxp_xspi_adjust_op_size(struct spi_mem *mem, struct spi_mem_op = *op) { struct nxp_xspi *xspi =3D spi_controller_get_devdata(mem->spi->controller= ); + int alignment =3D xspi->dma_copy_align; =20 if (op->data.dir =3D=3D SPI_MEM_DATA_OUT) { if (op->data.nbytes > xspi->devtype_data->txfifo) @@ -1042,6 +1154,22 @@ static int nxp_xspi_adjust_op_size(struct spi_mem *m= em, struct spi_mem_op *op) if (!needs_ip_only(xspi) && (op->addr.val < xspi->memmap_phy_size) && ((op->addr.val + op->data.nbytes) > xspi->memmap_phy_size)) op->data.nbytes =3D xspi->memmap_phy_size - op->addr.val; + + /* + * For AHB DMA read, align the transfer to the DMA alignment + * boundaries. If the start address is unaligned, shorten this + * transfer so the next one starts on an aligned boundary. + * Otherwise, if the length is unaligned, round it down. + */ + if (xspi->dma_rx && !needs_ip_only(xspi) && + (op->data.nbytes >=3D xspi->devtype_data->ahb_buf_size)) { + if (op->addr.val & (alignment - 1)) + op->data.nbytes =3D + ALIGN(op->addr.val, alignment) - op->addr.val; + else if (op->data.nbytes & (alignment - 1)) + op->data.nbytes =3D + ALIGN_DOWN(op->data.nbytes, alignment); + } } =20 return 0; @@ -1203,6 +1331,10 @@ static void nxp_xspi_cleanup(void *data) =20 if (xspi->ahb_addr) iounmap(xspi->ahb_addr); + if (xspi->dma_rx) { + dmaengine_terminate_sync(xspi->dma_rx); + dma_release_channel(xspi->dma_rx); + } } =20 static int nxp_xspi_probe(struct platform_device *pdev) @@ -1283,6 +1415,11 @@ static int nxp_xspi_probe(struct platform_device *pd= ev) if (ret) return ret; =20 + /* DMA is optional, failure(other than -EPROBE_DEFER) falls back to CPU */ + ret =3D nxp_xspi_dma_init(dev, xspi); + if (ret =3D=3D -EPROBE_DEFER) + return ret; + ctlr->bus_num =3D -1; ctlr->num_chipselect =3D NXP_XSPI_MAX_CHIPSELECT; ctlr->mem_ops =3D &nxp_xspi_mem_ops; --=20 2.34.1 From nobody Fri Jul 24 22:19:40 2026 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013026.outbound.protection.outlook.com [40.107.162.26]) (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 00496441636; Wed, 22 Jul 2026 22:01:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.26 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784757678; cv=fail; b=mA6zpPcU0+FoolpFFmuTdI9uAp7do6Xvn5ZM4pmw8epT5nx7WzDZtZr7veN97TTZ/0WO1IVyb5lo8U83LhK+KAjYinDAMp5mQ+dZ13N2Z8zYGG1IofChHsN+OhHgmMZ1ilQkMyNJq9HBX343TRyiNJE+J3vaihf3/aD6bKDyXQY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784757678; c=relaxed/simple; bh=qC2MuxbiwI1dazDchoGku4cXFfmM9o6MbUMycaGk5mQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=HwWPfNb/HCUEkqi+tJSvAU8G4jcqDj7pq2U6/KSUUnS4SYNg9ugpPJq6h0ZwBG+6seDGsno5gngy0WC74q8VS6KzyHSp2gagWX6qB83wPTd8qSBLe8AVF+GIuW6n1pzVWQrq6h3Ky6bT8H48DNzR9QQYs8HDydZiOKPck2GRrD0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=F1Iw/MT1; arc=fail smtp.client-ip=40.107.162.26 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="F1Iw/MT1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=L5PetWt7oc3mG+pZTiEvsWS9nBoEC6x0OmnAtpSqyDkoEZ1Q5LLWv54uxLQPgKY0tlmvB7W+e4cJGdzAxqc1vwHRp+YpsgryjMzeZS2IzvIBZkkgU/QegK/0/bcUOHzjCJ7rQKWIWBch9JzDpcopc7m3pXkdfTHIGpQruorGn8kC8oaxWF2doTVpk4v2v5xLLSHlITOUDEpjTqixgK6HDXla1UcOtz4km5FREnH3qSLRxy/kk2n45Z+Fcqh6PiRXRu5GCPRoohofmr5Ko4PFXooJkXpPoE1XKi8EX+HiO1anmq2ipqclGiRAV8QLkPH86KDSrFrvwvKUVJ45IJtiig== 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=jpvPCPfsVrrM81pvHxdFj3wlD026RLV+ioUWciRQEDU=; b=lRtcfTta5d5wKQhRh58yMeRRQOnyoPFy2Fp+7YmoaGnvYL7sXEahZ3kQwihQdPZs1TPPGWyXNW6qSnbgqYOTvGlfTaqYWUGlsD3tAet8OEjhIKDL0Z+2o+2R2VRhSKg+S0hA4gsv4WEr/tdW918p8pp0W9VZt95JAqLdM3nBMg2zExs8qnHV3pzpiQpNJUYpk4q2H4lrEjQ7prbu0jlKtp5L8uBRGqGfTeQptO+dt0D9kTgTCga+1iQkuGTQY68ShHyHfykIZbD7tGfiggXZAa+zzzETOTqy14Ts79iApMNop0lIjpX6aA25gaWZDtr6rqOrMlsqNjVLoBfamy867g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jpvPCPfsVrrM81pvHxdFj3wlD026RLV+ioUWciRQEDU=; b=F1Iw/MT1/qCGncAmo2O6hmiPLsaAcwTXTuSu3/ZB2m+I0T+GO8Vi4qG0d7LA8eNQPjPZl1nsD+he0jLhHelENm82TWsngybL1M5yv8Ixi48N3Kle/FGUuno2zndCyRy+ceRzQBWMvTGpH9VkY34+mWVPjlKccZ+cmloZLVPaJmFwkZuh+1Zm5Bn/A6GqlWItDYVll8ToHcLZNrHUrt6LtFyUSJyR8cn+vK2mnT4SM3vnJ+m3Cu5gbxTR29DLl832ppKCVsvGnPM0+HGNV2uug19Y6BdZVpVtDeEvew9kaDf1gov+eSWgaKONF5/3/jBLJyDmYfX6Q6fVhdlE7H+RzQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AS8PR04MB9079.eurprd04.prod.outlook.com (2603:10a6:20b:446::12) by AMBPR04MB11809.eurprd04.prod.outlook.com (2603:10a6:20b:6ee::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Wed, 22 Jul 2026 22:01:10 +0000 Received: from AS8PR04MB9079.eurprd04.prod.outlook.com ([fe80::9761:3d78:e9db:2308]) by AS8PR04MB9079.eurprd04.prod.outlook.com ([fe80::9761:3d78:e9db:2308%3]) with mapi id 15.21.0245.009; Wed, 22 Jul 2026 22:01:10 +0000 From: han.xu@oss.nxp.com Date: Wed, 22 Jul 2026 17:00:44 -0500 Subject: [PATCH v3 3/3] arm64: dts: imx94-xspi: add the DMA channels Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260722-xspi_dma_upstream-v3-3-6b7ff50cae8e@nxp.com> References: <20260722-xspi_dma_upstream-v3-0-6b7ff50cae8e@nxp.com> In-Reply-To: <20260722-xspi_dma_upstream-v3-0-6b7ff50cae8e@nxp.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Haibo Chen , Mark Brown Cc: devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, Han Xu X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784757654; l=968; i=han.xu@nxp.com; s=20240131; h=from:subject:message-id; bh=DIvYzVJJ+Z7BGus1NDjEgVrT7HPmIigSFr3cNQeP53o=; b=PY2WZPRTkcLXciZnAVduNEhhTia2TDOT2tBEAW13cyjeR+3BvCGDJholI7kNgWzrOo+341/at 8r6068Fx7LaAdjg88erz/mtXu3UAtcMe1HYbpx69s6YmSJeZjA/wQ5C X-Developer-Key: i=han.xu@nxp.com; a=ed25519; pk=XSryOlQ4EKXqt7ZHz2D+BcDu1AWYF0m5bX48xQOVF5A= X-ClientProxiedBy: SN6PR2101CA0018.namprd21.prod.outlook.com (2603:10b6:805:106::28) To AS8PR04MB9079.eurprd04.prod.outlook.com (2603:10a6:20b:446::12) 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: AS8PR04MB9079:EE_|AMBPR04MB11809:EE_ X-MS-Office365-Filtering-Correlation-Id: 7869abe6-43d7-4f04-f474-08dee83cbd67 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|19092799006|376014|7416014|11063799006|10067099003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: lcU02yv0zXTX7rz6b5tIJclOK/cjtt2C6h8c9p+k/62yXPXn+/NqihZjaN6+uyZyRnOxczE/4BhQfKN0Y7F1s4mGmB+Stmxl2JX9ltBlduiaIufv7c0FHZPzut9qKSeO1MOkmzoU5NfHBvNRm3gaYbZIMbLN5ftNAWnLjrhGjyKCVP+kB9nv1HIuSdvQLiQfzQIic3w+nS8QP6Ik6ujo070zmHxTq+OnyJWB7uHrRimTpKfIjezjjNaV2W9Lp3YdAIOeGZB6UJgD3yq60sW9nEwQ5DDZuXVX3nM759c54m6xwial3KO30MTvaJxRJF+KSpHuP1f9rZJ4BoGuaCGkoMNwZcGkdquVnElZ7ZR6zy5Q4eznIqKj9b+KZKmXh6yd8nQMh6D9AAFURgBMlCqtdNqqLEVardoSlrfFarpRCGLlIgRDonmKTqWnW3ixnaaaP4mYO/PYraLiEuuSVOp41r1zIPfiVZpRVGpybchyrRP5ozAM1kVAVfpsrPk4K+oP594AwU5k9RRm64JRqO2fXtKRIhLt3tpMzh30eDRiH8xPLqW+FcH2ZQ1ONrLuovbMRdpMrrLznpgstRfWuywPeN1kkh2XGwFeZll9wQU46lBe88z76AkYQtp/bR+ueS3ROI7b+mZfwxyTbWOqICM7eiDSysOceRCArVofYAdcJMM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB9079.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(19092799006)(376014)(7416014)(11063799006)(10067099003)(56012099006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dUhiREhTNjh3RmgxZFdwWmR5VEVYSXJYbGhNcWplYmhQU1V1OTBObGlhY1pk?= =?utf-8?B?SkpsclgzNkM2NGM0V2Q0WWNEMGYwRzZoSEtpVVZxUnV6ZUt1YTdyZjFDRTNC?= =?utf-8?B?Q1RxcG5DZDZDeTYvUGtNaGpMRGUwU0ttTFFmakJvODJNWEtqSjYrSExFbUVH?= =?utf-8?B?ZWJYT3NUdmFBd1dzOGs5S0E3TEZha1VPUlBHTk5jb3cvKzZHQTYrVEl2UUU3?= =?utf-8?B?SnM0Z3BtSFVxVGdEd3hQVDlwelh1TWkyek9UcmNMK01ldW15VHZKOTYwd1Vk?= =?utf-8?B?Zi9zcGgwSXVhUm9ieG9xYVF0VU1xMTNJV1docFVtNFVIRi9vMktSMHVlNFNX?= =?utf-8?B?c3NpdGxFZzlSZ252WkNhUGhtL2V0N0xVTlQwb0ttRXltTEt6bGszNFFqQnFr?= =?utf-8?B?L0ttSkJ5MmdYZ2RDZ1Nxb0o3Tkh5N2piUW1XbzRtaGN1V08wc0wwaXR6ZDNU?= =?utf-8?B?MlJ1RTJxaG9sTXJCamtnL2xrcmszeU9aMS83QU1oeEpLNHZDajEwNXl1djJm?= =?utf-8?B?VkZzbTFvZkFhSnhoUUlhaGdqRmJFRkk2VGVQampDQisrdUw0L2dHWFpFK1R1?= =?utf-8?B?bUpLNmlrSjVPbmdjVWMwZnpCTGdBWGZ3ZFRTeXZTOWRSMnJQK1pleEtoVGVH?= =?utf-8?B?a3ZjdG1oTElVbVBuQy8rV1N0eDhleHFSOExDcndvRXk2YTJsb1pVS3NvZTFN?= =?utf-8?B?QmlYVGRXYWlYREN2RnFhTkRCZDNYS2x4azVuRUd3aEZ6dXdQVkV6WFoxSlVn?= =?utf-8?B?NDFFejNGcUZ2UTB2eHUxNkowU3NzTzQ2NDFJTExDaTlIeUlFd1JZUWNhVnQ1?= =?utf-8?B?c0ZCZnAraEJZbUF4dWI2TVJ4R2hOT1pFNDlYYVVCRUYrNUp2KzN4Vy9GRVo1?= =?utf-8?B?VU9NYlVyVGM2MlUyZUJrYmV3enJaQUlaMVJiYWZDUXBBaUV6NXkxcXFtZzZ1?= =?utf-8?B?ck1PckZsWkdsa0VKdDRXdVRZYkl2UmxweU9jU2xxcUpZTm5vY3IrMEo2aGto?= =?utf-8?B?c0JTUTVQYmxLRWVVcWU1dmhFb05JclBrSXQxSVh2b3JuRGJsd04zNFVZcThx?= =?utf-8?B?elZDTEYvNXVKUW83K1dvb24wS1JzeDlJb3ZwdmdsZmxzSE1uYlZIZjhZTU9r?= =?utf-8?B?VWRFcis4R2FWanJJWXpyMk40M2VEalY3WVVMdStvQkM0QVlLbFgraFUwMDVh?= =?utf-8?B?dzYrYmQ0cGlYZ0RjSEpjUjZzTHozT3N6bWFkVnVNZkVKTGQzbWs2S3VPTGlG?= =?utf-8?B?QWNFb0FNMHVsT2Z5NEYxcWlaTGRFZGlaWkgvcjFJbDBXYTkzalc0UnhocUgz?= =?utf-8?B?VXdnUmlhMjhYOFRrVjFFbmtnRXpnZ3NlNWh3QU9JUTRHNjFqQ0VsUEFQQmRU?= =?utf-8?B?Y2NQZTJ4UTlram9LQ3BFQ1lVdHlqK2N2aDdocVlBdy9kanBtR3JFYWhaRkZu?= =?utf-8?B?WEV4RnkwYjJoR1NzcjNBQWhZOHFEMGJ0U3Vnb0FTMmlEWmc2MUduM2MzYzdF?= =?utf-8?B?d3I1NFM1SS9Ba1o2bzRyZDRZV09ud1phR0d4eW1wbGF2SHJUU2plajNjbkJq?= =?utf-8?B?RVdmYXdoNHo0ZDgxRERRbkV2dlhjTFNXTGVQTWduMVJVS1lsR0JvQTVwSExs?= =?utf-8?B?bnVqazl4UXhmNmlKbW85bHRFS00xVHBDL2txTExvOHUyTXBpaTNya3NiUVQr?= =?utf-8?B?SHlFelN5YkpFc1dScFZqcnErOWFNbTQxQ2lFczc0TEo0Mklnb2hoN3lnUnB2?= =?utf-8?B?dkU1MEJ3TDRFWjRERFNjQ2hvcWJiUUM3VW5nUGs3ME5XTk12UFRwZ1ZxVWxD?= =?utf-8?B?ZEEwd1FWUDRnNElQeXZlRUFNZjF6TTVVZDMyTkRDWlpLL2FUbFNrRjFiLzZv?= =?utf-8?B?Y2lra0Nmb203S1VlTmtsTXcvTzRSQkZneHRtbHNFL0ZXTnZvRWlmcGZIQTlm?= =?utf-8?B?SHYxdEh2YUhwV1h4QXdaeVNwMWNtUVMvKzh3T3RiTWFwNGxMdWVrblpLaUpP?= =?utf-8?B?YUUrd2hrWVJpOGx2NlRhd0NRRFNpMENhQ1BiM2ZYM2s4S0hHM05lVFMyZ05t?= =?utf-8?B?dVQ3dG1halNGaGZseUN1TjhraGpIcVE3QnpxMFFvNmM1SUpORGxobm01M1ds?= =?utf-8?B?VE9FY25MZFNEVXEvclh3dUVKdGM0ZzRkUEtaMWVRdnFRVW9lb1ZvNUU0T0la?= =?utf-8?B?UjgxL3lqQ1hYd2lzSmhjTEpwdDZLK1YrVHVrUnpYVlJaYW1RQmdLSFRaSkxO?= =?utf-8?B?UTg0VWxHR1Q1aUEwOER6U0kzS3FRTG5mVHNRZzBIMENoUG1ZZC8vMkxwZmpZ?= =?utf-8?B?RjM1NW1pd1Fmd1doL2ZhcHlCenh2ejV1U3B3VGtGc2d0TGFCNlVsR01wNm1Z?= =?utf-8?Q?P1d5sZ2E4+se+DYNomGcSGUqMz1Ru4elekqR5?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7869abe6-43d7-4f04-f474-08dee83cbd67 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB9079.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jul 2026 22:01:10.7850 (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: iMMsrrjY5L9ZSQj1C4vy9t3VWZaENROzahRMeV6sMavmkXXJj7fp4IiB+zV4Qr9pEscsxPFzlhC2eXEr3th9a/wZ/UgdynyUT3vp2CH+gH8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMBPR04MB11809 From: Han Xu Add the DMA channels for iMX94 XSPI controller. Signed-off-by: Han Xu --- arch/arm64/boot/dts/freescale/imx94.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx94.dtsi b/arch/arm64/boot/dts= /freescale/imx94.dtsi index a6cb5a6e848b3..70c9dbf10fa5e 100644 --- a/arch/arm64/boot/dts/freescale/imx94.dtsi +++ b/arch/arm64/boot/dts/freescale/imx94.dtsi @@ -827,6 +827,8 @@ xspi1: spi@42b90000 { #size-cells =3D <0>; clocks =3D <&scmi_clk IMX94_CLK_XSPI1>; clock-names =3D "per"; + dmas =3D <&edma2 27 0 0>, <&edma2 28 0 FSL_EDMA_RX>; + dma-names =3D "tx", "rx"; status =3D "disabled"; }; =20 @@ -843,6 +845,8 @@ xspi2: spi@42be0000 { #size-cells =3D <0>; clocks =3D <&scmi_clk IMX94_CLK_XSPI2>; clock-names =3D "per"; + dmas =3D <&edma4 42 0 0>, <&edma4 43 0 FSL_EDMA_RX>; + dma-names =3D "tx", "rx"; status =3D "disabled"; }; }; --=20 2.34.1