From nobody Sat Jul 25 00:16:37 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013008.outbound.protection.outlook.com [52.101.72.8]) (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 A4F494C9579; Tue, 21 Jul 2026 21:01:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784667719; cv=fail; b=kwembIooGE64azCMbeTtkKdr4AJyoemEDvuqnRe25AYwmcgHZqBEWhBdD0ITP64rWzbOe8CU4ywtcd1Nqq3V2IExUnh/Zzh0DCIB/h6IMSz1P2i96RecWvqtvxu4ixXb0bntRHQe0lOjeHkXF9F8hWKRq7B5rA6+euJgfjoyZng= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784667719; c=relaxed/simple; bh=BKsDagey3ml7bGqM1SFlj+n1MK+q9HD1gZSXDe1fo68=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=ooVJU9fmmS5RJAMiCGWg3CtBk3Ovo+4T/p9YNvVMdC4T9w5/utl1mIpddjyOmNnIpmo8Ana8Kw2eZ7CNY2iBS0Gh+Zk180HZN5ucr9XTA+sWCDuDqVktyZcHNWxQK0f+ISKMmhkamUruYSxq1xuXAOerMKupdhEObvuS3pPwg7I= 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=g7PVvdYE; arc=fail smtp.client-ip=52.101.72.8 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="g7PVvdYE" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Jf8HE7N6CZy6Iqgdoy2Bxs7OhUW0qZXlZNpoY6+Y742R/6TQuR+oVM9BaZZlWKeLZMi6/aFIu4J9+qYffkieRLaODmPXXrCkgUGIfChzpQDYwr/xNbUSREe8gak2l09M0FPFBlXXkMlZjywKAwB3wgwewa9reOSBCT7nCWRscPTzOP8K54fxy9ou/rfpmK0vjY+wMm+cV9uQhE6TzAb1c6rcbFxNr06gYXpxBg3BCDL1coTSm8/3OeyBlIcOWarGuBv8wrK7utRNWLPvFvBPIirgL0CmLNQjqbRlzJAhqxttfn/BGeFC7PSZmYb04JUUnuuu5slf6E1CG6qIJKw8mg== 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=Cf5wuqw96XKwxp+Itx9rvHZL5O1QVLA7Cu8xNP6COhk=; b=HOsv5jD5mT/i1oBSpiRLhXvFmvFkfb+K1R1he0IFaYGdxjfNtSfI0/4ogDENKQgmruSL7oYoMGWMlxorLzML148xzUmrIgeeynC4VXqHY+NVnJ+7NbMxCKsPgJsy4WnfA0hZSJsmcpwaVAibotaZ9jvbtUaFF2ElVjjD3nejzToslzzxVcCKVIZDUa7S/3py9er3mnpNOr6YHm7zJq6XMQmxBvLlUKU07Iw3Ah30QO0SMiXRMkbTEESC1iDCsbz5Bjj+rCLtkw2+09EYAJ3mnf8X5wYWLcHGkxE9SB+PTJdYYiEuZlG6/oU/ptTc9msOhRmOrAQ2BI9ShGE3M+A7OA== 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=Cf5wuqw96XKwxp+Itx9rvHZL5O1QVLA7Cu8xNP6COhk=; b=g7PVvdYEzlpyvNrmTHKkVmPmYm4BxQnHA6G7BFD0F0BijFUh7pL/6J9NEENh5t8CDYvVaqH3iJisJWOq/417US4Y7kDkmGFmf/n0FdaMmR5x8Ewumx8YN6LBtgV/JMtrliD8Bt+9rua5ukuAcpGX2YIaCNU6MYlENUpklz4t0aMtkuraqjqcFoNWMW4EA0f4uHW6Ye7KPa8UIAHTYYwQ1hnW2KJ6oTPLqCWXb3hJjr4wv7pn6EWTCr1yvHnfqF+6btdC2S0czu4ojyIhz2e0GdevoUiwIUlZUobXY4zFKd/bDK2sQbRpkhTW+eDCX88W7e7fYPqqCGfCiNWY2KV23g== 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 PA4PR04MB9368.eurprd04.prod.outlook.com (2603:10a6:102:2ab::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.18; Tue, 21 Jul 2026 21:01:50 +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; Tue, 21 Jul 2026 21:01:50 +0000 From: han.xu@oss.nxp.com Date: Tue, 21 Jul 2026 16:01:42 -0500 Subject: [PATCH v2 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: <20260721-xspi_dma_upstream-v2-1-9e19d80e7762@nxp.com> References: <20260721-xspi_dma_upstream-v2-0-9e19d80e7762@nxp.com> In-Reply-To: <20260721-xspi_dma_upstream-v2-0-9e19d80e7762@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=1784667702; l=891; i=han.xu@nxp.com; s=20240131; h=from:subject:message-id; bh=zMbeSSO90ZzJrEAaBhl3dXvmgeOfthJCxk5he/8iGDA=; b=UqR+FDgRiYVIqDeCGB8TDiJBo9qk2KvpWmiWa1M8HhA97+x5pVeA6DYwdKgvti+60L0QdwaqK Ei9ezOv2OxRDkUocjrL3vul/6Sco8wqKGb9YoV6glA3mEJrMIcP27Rb X-Developer-Key: i=han.xu@nxp.com; a=ed25519; pk=XSryOlQ4EKXqt7ZHz2D+BcDu1AWYF0m5bX48xQOVF5A= X-ClientProxiedBy: SN7PR04CA0073.namprd04.prod.outlook.com (2603:10b6:806:121::18) 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_|PA4PR04MB9368:EE_ X-MS-Office365-Filtering-Correlation-Id: 6055da35-8957-4f6a-2a5c-08dee76b4911 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|376014|7416014|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: jZLVGKqGXbbltMYzijCMlWU0nmoHnVDFfhPAbHz21/X0UxfQ+NSnWxR7QeMqoh7GJP6KOJAebliywRwUVVy5LKsmDeEFK+EeO0Ma7CecAVh96mzqZMT2KiMCGDwTE5BxbKRf2mdvEh2OACn1JDK2C8GY62gmIxMCg5bmDp+vs0ze15dcETFekghcL5yxyb+MH5iHzZhaDcks9KLwUTldE2DzVmV4D9NQrT1LNsbAh6LLzQrriDHVfCgWqKiHwa0x3PRC0MH+kvnxZg9YHwHDGBestpDLIxkRY+/tmfC+PZlgDVt4Cdp6G39ryqyuWBysycQfKw/ZlzAx5XZN2V5okttRwSd2uApY4yMF3g5XxjoQ28UOV0ZQiRaqpd+3jNeGO+jWOs31LgMNZkXntlq+SSqVehXlqgdxbI0ePlT0HvYNhcvajumgQ3GJr7A6eX0diSxBr4LtFWhOF+TuWgdAhJE3qL9G/nCZaHma1PVrY/pAQ3sBedNNEPrKTY0oxMj4WtPOZ1N5sMIpb2zVrrg6HGKj+z2CSXzxb4x2FucnF6o7KhjSm49U6RQQ5skNqfHGvs9n2Ojk9A4Vk228R4ZhqPXN3QU5VrFhtW2n1STtqF/NYc5gHUd0PaMnLQV/o74DnZ7Erh2/nWjjfB14cPmvnfBPSzMVhgPCG+pdfKaqMZc= 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)(19092799006)(1800799024)(376014)(7416014)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RXhvTzJsKzBWcXBLa3N3WkI1Z3R3bFhVTDJIblFMN09qS0oxaDA2Rmd3YTAy?= =?utf-8?B?WmM3eHMvOFJuSVMydXhTWHlKeWVPcDNUbDNRNjE5emVWQVpudDB6cldPNFd0?= =?utf-8?B?dU81NmdFUE9Semd2NDZoc2RuR1hDanhVbXhXL3J6Q2cwSWZIQmRITkY5bWRD?= =?utf-8?B?elZiZ1BHOGlMN1cvZUJ4MTFoaGJzN041VDYrWGx2dTNUc3BwMHBwSWN2Y01T?= =?utf-8?B?RWRVZldWSkNUL2sxMEhLRkt2Q012Z09KYjlJRllrdkVha3doZ1JCQjNvSm14?= =?utf-8?B?b2E4Z1BRV29OcVdsRmJ6dG4rcnJGOUUzOTVqL2NSQk1HNUtpR1pKTGxiNi9X?= =?utf-8?B?V0VJL2ptczUzdGxLODcxeU5XM0NPZzNDei9hOUJIbGcvQTNUbHgvVXJKNTJ0?= =?utf-8?B?MEhXWjEveHozT1dmQUt2NjRaWGN2Z1dzVjFwLzV5UjFQT05RZGk4UC9aQmJN?= =?utf-8?B?UlYxNnh0UVVZbGl5Vk1wMUpqQ3phT3VIaWozcHRrcDNQNjY4Nks5SHBFOUFs?= =?utf-8?B?Tm01STRLTHdUWXpXaVh0SnRBZ1VyMjBNelBiTmtSRnpIaEhscHB5WnREMlp2?= =?utf-8?B?RHhzaWUrU3pJNzJlVURlclhVeHg5aS9YbkJHdkZHdldFK1pyT2I5RnZDOWx6?= =?utf-8?B?blBOdEl6ZWJFRkN5TDBLRS9MQUI3VzRISldkNjFFQkJJTnlBeXhVZkRHS0kw?= =?utf-8?B?ZGlrNGVtc1lPcVIxQTBQb0xKNXVsNHlxVXZNK2I3MmZhRk94azcwb1VvQWVt?= =?utf-8?B?RXhENFpwYWliS2JwQzdnaXJDdiswcVNYNGMvdFFZQnhjU3Nvank1K3lkZ0Js?= =?utf-8?B?SlppYkVYdTVtRnRqYjJjNndiRUVvMTlmVzRDS1FqWjZoNlRKS0pVUE92ZFha?= =?utf-8?B?TWxrcTNGdUYvbzM1Unk0M1lDWUl0ek8yQ3B6ZmJZVVd3ZTdrQXVud2FnWTNM?= =?utf-8?B?eHk3K28reEhIYU5xYVpYK3QxcCtXRjBEUng0UXRuc1FPSSt1MDdIdHBXTmhD?= =?utf-8?B?ZlU4dS8xeFRlek5DV1hvYktaNmZSNHBiTGxhbUo4TUppQU93Zmw4eHNSM3NB?= =?utf-8?B?bDdmMUZsUStlSGZtaHFZVkNWS1ZHdmNiTUdRU3poWXBrNGZSYllpa3VZd05u?= =?utf-8?B?aU54WldPR0dOc09keXAyRHlFVFBvUCtFdHFObi9ic3RjUXpSbkphK1NNMVBk?= =?utf-8?B?QjAzVmM2TThjM2xtUlBwbUY5VWZWUzcvUHhIN1hvZ2ZxTXNzMXZLeWhjOWpi?= =?utf-8?B?aERLV0k1TG9ML2JhY01FL1hUVHdzWENWdnpsNG9tTS9vamRJZjQrRmk4My9O?= =?utf-8?B?THU3bndYK1VIUWVCN1V5SXRoNTZsR1kyc1hzRWhmc1NIeEg3ZXFNd0hkQlp3?= =?utf-8?B?NFhOeU5GOGR4b2JyWVY0aWU3b1JDR1N1UE00aHZoRW5ybmIxV3RxRWpwOHZm?= =?utf-8?B?c3BmdDRQb2paanFhK245QUFRbi9RR2o4eENoZnFkTzJJMENCTTBqSWtZR3RK?= =?utf-8?B?eVVQZERvTEFQUlhYa0hpYzQvTWJheTFpWnJYZlJuQWNlS0hwc0QvZ2kxQzRG?= =?utf-8?B?TFNTZTU1UnhNMmhYR0ZjdkpDTHpEU2VmTFppZXdHOFRWZlJXUUJqV0NrVDFB?= =?utf-8?B?anBtaHh5NElOeDdCU2tVcFZ3WDFSbjd3VXdUcWoweS9ORUlZMlVsbk5FcnY1?= =?utf-8?B?emZjUXMxbkFvSGhpeVVFL0EyaTFDejZVaHM0NTJ4Z0owekFlbytGR3VZMFRE?= =?utf-8?B?dTNWa1VqdlBxTjVxRE5NN2ZBOHNnWDVlV2p3RHNBd0JiTWQ5VWZoWXdSWklm?= =?utf-8?B?TzZIWVA5YThTeGN6d1pGM2NRQU5jN1dRZWcvcUJRWjNrNjVZQWs1amJQTFJi?= =?utf-8?B?Zi8xM0pqaDZtM0FmSmhOYjI1RytFbXpTS2p3L0lkNmlDMW5vRGZEcHZ6ZEwx?= =?utf-8?B?WVlSZjJxNG42dDRFQ0lLYW12aGc2d2pzRERHcFNQVU5MWkFUZ1ZBM2k3bVZi?= =?utf-8?B?cUdXN3VxL0pjR0JkYkZWU3JnaDZOT1RRR2hKbW5na0NDamM1bnN3SFVRMDA1?= =?utf-8?B?S1gwb0JOVGVQVmtGMm1yZmpHaU04RFRVc2FPNVl1S1F1QzAxM3ovNFQ3M2I5?= =?utf-8?B?YzVRdzMvOE1raUNjamY2bTB2VDlNdFNaUlQ1aU1lWjgxckYraG1vWFJPcTZD?= =?utf-8?B?aS9OWld0UzdwVkJGZkYwMkFUUGMvaFRmRkQzRkUwQzlCZGtScTdvdDJJakZk?= =?utf-8?B?YWF4aHhhaURnQzZ3Y29zdTIxK0RYTW5HMDMvSU5iOGVhQUZ1Nm5wRFRpZFJv?= =?utf-8?B?T21rZFZwa3ZjUllEMDN3K3F1a3A1MUVWSlVUeWY1ZDNRZjJMdjFwandJMDRK?= =?utf-8?Q?3iHZ8g8MxT/v+V5s=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6055da35-8957-4f6a-2a5c-08dee76b4911 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB9079.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 21:01:50.7517 (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: NOPwrL+M38K5Zwt3kd55VxjGwesDbgNsHlVE21M0Dhzr5c0a9fYjf2CWMcFVJ93urK8hWpXp0/a2Jys0rJLJ9ucA2/VbVEcwdZFEljVzCj0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9368 From: Han Xu Add dmas and dma-names to describe TX and RX DMA channels for the i.MX94 XSPI controller. Signed-off-by: Han Xu Acked-by: Conor Dooley Reviewed-by: Frank Li --- 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 Sat Jul 25 00:16:37 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013008.outbound.protection.outlook.com [52.101.72.8]) (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 D59D64582C9; Tue, 21 Jul 2026 21:01:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784667722; cv=fail; b=tdh80q3ncqmpQxIoOQ83ZPfa9DrELEaV1I3I5tqGmIqedvlH59Hts5XiBSiKmM/3LvRGCzT21ndZq38acs9y55R+RPPtdgEJ6/1m1sLYoShzkjkZX8NfkuZ2zyKk+Bk+LiXQOHgRtv+CTbI8kYMdg04Fal2ysugQhXVo6uQetl8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784667722; c=relaxed/simple; bh=DdVlN2VMncadnMRQA5E1EpH3MYYJtpaUwv9o4SzCCI4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=AxmdYEG9rpTxaGYYGE+CWAx9CjPJXJGlWhS/KCepppYI0fxamn5J2g8zZ+Gi5eH2HaHlg6w2ot+HzT4SIY/GkUUfrlrltoaNdXxdMkhqhL+KfWNdvNksUrq91tz54ZDhX83FfedComtW3kBZx9M9aqdq8y8hKrjVqL8icQ9FaVs= 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=UNYesfby; arc=fail smtp.client-ip=52.101.72.8 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="UNYesfby" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yWqPPairldk69F/2aPlBwk7+D22tXvNf4uSJqH2Q52y4cC4mHLOjU1km7kJ4BNeV2GuZf0QJi0hjyiyA4OhYeF+yhDwjJehyXq5JQ85KpIiiYpfJUuivMnrw668OMC1gnGb26/odqFt5VHcs7UZYEM3YPmMgmGzxvKLG3fYLJZZs20BhtBPseCCSS9gWRPVkwekaMPXqIMxcgTqVQFnKznUIuCKZMqg03Kb9FgZwiCRBpfQp7/o45B7evbzv+9SKYFGYpsaaWUTiwp1TVJzFgOL+ZfVW/SNHmN7a79i0m+ghd+sSr3BC2sIaeOOFLcJ+ClsmGGVFlyF4pi7FVUmpdA== 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=XZs/gwrEJ6BBCNRwI7CX6l2tXqEk32+8WegHi3dVYzE=; b=FPPZmzlGH25g74w4xvrh6II5wQ9MmrbpVPS3VpXDmQzACurjQUFKhVHKqfRlymBR9F4ljO20oddDEkQ8vTeiMJb+VMyoH81OmiiTN2XTzRMgqdhyAfao+LzwoDom3eByZ3q2uKjnon8h4E2crgEPbDx1mLlYdaMlXXw6b6cKLbNcTGZLLCvegoBX4TfXsi/MJ23gFcXN7BbbQ4fopR/FfmrtJ2HYQLH9Fqqq4sNFIov+yAaEpLrj+TS9Dh9BUYMGJEUrIXVdZ3iGrXoPXHU5bkvRQZRyeskaqNUs6X1qqWbaEyO76rGQVk0bbDqLoc8eGczzfAQOFsHhhZAEFuvnKg== 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=XZs/gwrEJ6BBCNRwI7CX6l2tXqEk32+8WegHi3dVYzE=; b=UNYesfby6LiKZvLckA1KR9rxMmJfnUDjPP0KdJYkruwH94TjQ8Tsnhs3COlTygH6ujGPjXr+TBYpvoilDBOPmcEAfPdwFVOrsIUk2pBX/1gjHt7wFqtKt9dvR97GFwzBESmtfOpGl0dnET/iThFc7iVy0CoXRW5au0lU52wnl/cqBfHhPvKxFqO8R15TTOlgtGaA28L8Zz0zxph9lCEq0Dd7I2gU4XPPe1CjtvbHV0+0jiAGi6WEwKvBwA9uU0nsl/HJkLeBaqF8U0o61P6F8cRcnRW3pl3KI81IhVVFxIN5WqfGnQA0V4mWXxLFEf4UY6rR16BKmy5A8NWwAx2E2g== 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 PA4PR04MB9368.eurprd04.prod.outlook.com (2603:10a6:102:2ab::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.18; Tue, 21 Jul 2026 21:01:54 +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; Tue, 21 Jul 2026 21:01:54 +0000 From: han.xu@oss.nxp.com Date: Tue, 21 Jul 2026 16:01:43 -0500 Subject: [PATCH v2 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: <20260721-xspi_dma_upstream-v2-2-9e19d80e7762@nxp.com> References: <20260721-xspi_dma_upstream-v2-0-9e19d80e7762@nxp.com> In-Reply-To: <20260721-xspi_dma_upstream-v2-0-9e19d80e7762@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=1784667702; l=6887; i=han.xu@nxp.com; s=20240131; h=from:subject:message-id; bh=M9NvnMh+wN/uUpzx44dr3yuA0BtGcPPTtoj8Tm2qqoU=; b=va/rM4D9k3YmKBpWXHOlDt/KruLn1rwyevykpeADcp+AuQvYQB9409HUhPd7WOQ8yoYHj851n jB7UlqmJkpMBqlhTerdv0bIHS9gGbul+7iPAQd4I1rrVqZVR8KwQYFE X-Developer-Key: i=han.xu@nxp.com; a=ed25519; pk=XSryOlQ4EKXqt7ZHz2D+BcDu1AWYF0m5bX48xQOVF5A= X-ClientProxiedBy: SN7PR04CA0076.namprd04.prod.outlook.com (2603:10b6:806:121::21) 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_|PA4PR04MB9368:EE_ X-MS-Office365-Filtering-Correlation-Id: 0adb199b-c0db-407e-9f1e-08dee76b4b71 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|376014|7416014|23010399003|366016|11063799006|56012099006|10067099003|6133799003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: dqQzyw13U7gkwtlK53MIb8epeoL/5hqDvenLCyIx2qrCa25VeIzyakFhoyToBOiX1ydfMUD3Nzalu3FZp9YM9oIFaw7pYDhD6C3ihyIztAMpUvia9ns5es/6V9QeIDnvjcCEI4msxLj/zRf2nTDI8fdMeNsiIjbc56pLRIDAGNs3byDN/+IjG88G1ntQ6rzsfqoQ4ks41iYztt1U7D9+uiE/K6vOBDprTaQxRiF+pwBTGIioka2Gnar5vH3a7n2sxVdRO7JgO9Bjj1wrrAffx18+cAxQ9a+f4QFPhkZjpe15fXWGe/ZO6zV63XWCy8w2+fVxuiJzuYrUCrp1ytt1bStz7RrSrpmnTYA0YX3rG6cigu4XsfNftp87aAsLCpqFkhIgNVwYbE6jvHWAcE4AbDr34FJRiuxbO0FHgrAPW8ne4d+qArIUWTBHj6tBO8x9kuqwGYZx4AC7roJjYV4JyFmpiacYxcgnemFjeOgZH5ZHazJ5JhxeinNq1twBGvt7N1x5K93vgSct8R/W68WwjSfSqWvJH9aIlVpC40Ad0lbN/AmMR7Q6eaEaYdFkJWL5ATaVrd/xOLiBIBlgHb6O3oUiMLtqn91wFXZP+P1Hcq1uCNrLqqATplBlqSpyl6iuwWYSFyFD7li1itk7QZkthhMnKjIl9VEH/sHTJSwczdE= 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)(19092799006)(1800799024)(376014)(7416014)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(6133799003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S1B4VDFSS3Y5Q0VKSDJwaENHU3hTV3dSMW10M2ZmbDhFVU5qWWxDTTRBcGFD?= =?utf-8?B?SXpVcWczcnlJQll6Y1VQbXhRRE1XeEYrWVdYM2pXUm43SHBDOVZyZ0h1M3Zq?= =?utf-8?B?VFVMenpQL2FjTGJjdlhKVm5SZzJ1aWdkenhDUFp6NHFtVFRxQ1ZHbEFzVU8r?= =?utf-8?B?NTJhTHpXYWhGQWlDSVZ6NlM2Q2ZIaGxDNER0bjBGeFJiVHp1ejg1dkNyZlVI?= =?utf-8?B?K0k3bXRleVg3ejU2Y3V3VFc0aEVEWVZXY0lQYkpOMlJ5VTlleDlkZVdQL1ll?= =?utf-8?B?OUZLTUFQQ3BTMjE0QlRFT3pORUVIVGNVTXY0dGE0Tmg1S0V3RFNGTlpCQ0lS?= =?utf-8?B?dDlaakNhS0RXTGQ3MlowdXFyV0Y3L2FBandTY04ySHhvNnZyRGtTU0t6N2w0?= =?utf-8?B?dmx3SmtXeG9CNkp1bml3NjRsVlF5aUdtYU9tVEJiVzdsbkd3SkRwOXRVZjgr?= =?utf-8?B?Q2F0b210TmFqWHdMVkhZZnNnVFVJdWNtZjV0dzZEUDBmVGFUUDBJOHVwMHYr?= =?utf-8?B?anRwV2ZmN0NRZ0thdXBzUUdNZWR6MitGUkRmSWVGd3ZWRnRtOHNSNTlLeEFm?= =?utf-8?B?YjJPRElZZHRMWkI5UlQzZWxlTE9QVVRVc2RqWWFEZ1NhY21CaHY2YVY4L2Rn?= =?utf-8?B?VjR0TStjNjZvRmlZcW90N0kvckpyVEJYUjFteGZ1MVdvdHJkTldPN0ZkTjFN?= =?utf-8?B?S2szU0d3dFRhUC9KNjFVRmYzeWRPbmFKTTRMNTRBZlY3RkM5U2FQQ2M4ckt3?= =?utf-8?B?SE1wY1FOK3d2cEdycmprWFE4c0lzam16M1d0OXZIWW5TWkJ4aUd5UEd2TFRJ?= =?utf-8?B?bmkyZTNxUWp5QUVLZnF6TGZxRU1QSmJJQm14SXFxNUkxUUFiNGViTG9pdXNC?= =?utf-8?B?aVorbHZiSDRvVkZlek1WUlZ2bGdiNFJQTmRCb2tiWVMveXpLcWdGYUFZTGxI?= =?utf-8?B?aFVqdGxlOTJPOWVZQ1FnRjI4MUdrSkcrQjVycTdKV21wb2w5cENUVDJIc2t2?= =?utf-8?B?NnJhMElVMTdXS1FLUVNsZWtxSnVibGgvTkR0Z2o3TU5WOXBQYWYvSEk2Y0Iv?= =?utf-8?B?RkpDN29kempKL3phTWNFQzFtbW5vMDk4Sks3aGhJUjJ0dm81eGEyZkNqOExr?= =?utf-8?B?K2YzeXNxd2N6eWZBaHVVQWtMRFRPaTZsdk9SS2VrTEJKVzBuUHVERkZ1Z0tV?= =?utf-8?B?VmhyTWs3RHJPRlJrQndTSGplWHllOElkYXhLR2I4dXZBS1ZWSTJpb1R2UnV2?= =?utf-8?B?ajRFRmxpSlA3Q3J1bG5UNFV6T3VJWjJsVm9RTnFGS0cxY1hrT2Q4M2lDdVJt?= =?utf-8?B?NGEvR0FVeTZTaXFVZkJpcXNuWUxTR3BXS1Z6UUR6cGJHZG14WUhJRHVaWVVR?= =?utf-8?B?VHZBd2d4dy9VUGlQM0UyTEM4Mnp5VEwveVBkWDcwbHd3ZDNKbS8rVFAwRkho?= =?utf-8?B?WDhNcEp4UXVDY1BLUmN0aUN0SjFLMTdKTklXMit4UmtHcGtrZ0lLZHVWVnFy?= =?utf-8?B?NlFzZzBHMGxSMjdrM3hUNDdlV3FRaWlWZ0Z1RkVURjhXR3laSm5UU0EzNDFH?= =?utf-8?B?cXVrN3hUM2NLZFBrU2pqTDNFU2FRRG5FNE52SWl4SEw1blNaZEtaZHI0aHI3?= =?utf-8?B?d0R1SkloMFJKcVBpdXh3T1ZSeU5lZjl0Yytad2ozdzN0RE51bGVVU2ZUaEZS?= =?utf-8?B?a1pvcUF4R1ZScmREY2NTNXNlR2JhVTM5ckxJVkx5NlN0VWdKZzFOM1RzZHMy?= =?utf-8?B?Rm1VQXBNQ2VuYlpPSHVkMkRBOTNOYzdodERGdVNGWVZTRUdxUGdqNGpybEJX?= =?utf-8?B?R3Q3c3JvSExFK3IwRFoyVVUxaU8zTDM0SDNzK3RvR0xRc0puK0lUUG4vZ0hZ?= =?utf-8?B?VlU5MTFVMUE3RVJTSXVORHN1R2RCZnZ6Y2o3R05lUEQ2Zm5ESkVZY0NhYndy?= =?utf-8?B?b2tUUElyRVh2OE1JMVBCSnUvd3ljZDVlY1U4R3BXODQwMUo3alpjSXE5UFA5?= =?utf-8?B?UmUyejFCdkZBdXNid3ZQYkRBZjJPektBWUd0NkV5MVhiTmZiZ1BuekVMeXJJ?= =?utf-8?B?eDNOVEkzOXBVVnNrZTI0alFYL2plY1hHYTlBK2ZkS1Zkb29LSFdaakRSczBV?= =?utf-8?B?SUZSQjBkTG05N0lMK1oxbmVsRWdqSFFBdGxvcWpoaktXRk9KRkdZSjZOLzNR?= =?utf-8?B?VnBGOXQyZnpWMEhxbzJrWXpIaU1URnpHMTBrSEdtWUhrZ3VHT2h0cUYyZFQ5?= =?utf-8?B?TGdWOWtUUlVDYiszNFVQSVY3aHMxcjJNL2ZhVHZzaytaYUhWZmtBaTBxN3By?= =?utf-8?B?b3dhQjQvVVdCTVljbmlHK3pPL3Zsc3VEYXlHSmNNVmRTenFVVWxsMktvSGNK?= =?utf-8?Q?61094A0qN+GzWXeqbxF4xrrPXwV4KOFXiv7eW?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0adb199b-c0db-407e-9f1e-08dee76b4b71 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB9079.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 21:01:54.7633 (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: OxkGMZEnIXZq3sC5hA33rS0a+Hcpe/0Yw5nwuiEVMxoU3u4jzCnI1/g9YW8SQsIWQNDibAWsZ4rN8KeKiX0shr1BFOhTEWjBq+6KkXa4sfM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9368 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 --- drivers/spi/spi-nxp-xspi.c | 130 +++++++++++++++++++++++++++++++++++++++++= ++-- 1 file changed, 127 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-nxp-xspi.c b/drivers/spi/spi-nxp-xspi.c index 037eac24e6fd2..0658c0557ff17 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,82 @@ 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 dma_addr; + int ret =3D 0; + + dma_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, dma_addr)) { + dev_err(xspi->dev, "failed to map DMA buffer for AHB read\n"); + return -ENOMEM; + } + + desc =3D dmaengine_prep_dma_memcpy(chan, dma_addr, + xspi->memmap_phy + op->addr.val, + 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; + } + 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: + dma_unmap_single(chan->device->dev, dma_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 +1103,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 +1127,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 +1141,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) + op->data.nbytes =3D + ALIGN(op->addr.val, alignment) - op->addr.val; + else if (op->data.nbytes % alignment) + op->data.nbytes =3D + ALIGN_DOWN(op->data.nbytes, alignment); + } } =20 return 0; @@ -1203,6 +1318,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) @@ -1252,6 +1371,11 @@ static int nxp_xspi_probe(struct platform_device *pd= ev) if (irq < 0) return dev_err_probe(dev, irq, "Failed to get irq source"); =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; + pm_runtime_set_autosuspend_delay(dev, XSPI_RPM_TIMEOUT_MS); pm_runtime_use_autosuspend(dev); ret =3D devm_pm_runtime_enable(dev); --=20 2.34.1 From nobody Sat Jul 25 00:16:37 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013008.outbound.protection.outlook.com [52.101.72.8]) (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 620BE4582E0; Tue, 21 Jul 2026 21:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784667727; cv=fail; b=MYyJM0GxdSnS5ungvD+efhhCojDAcAtQW2gXGW/Z7IJwfAbDu7/JDO0VfTz9HMMJZKoIfkmXNC3QimoQAGVsBN2gj2oee/W7YKyrqTHI9SDEvCkDlVmtTIWiMqg3jy0qiAZJS2eqZAQdXOvL5iq9/kZiADR0oUixUd4QkIqSkjw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784667727; c=relaxed/simple; bh=qC2MuxbiwI1dazDchoGku4cXFfmM9o6MbUMycaGk5mQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=e9dsxLQ7jAIRKg53wUlChMH8xdFx/FvMxrEUtBCpsVm5Luki3hhfn2YepeW3TaZ6MoxYRkKPuQz6M173hsSEGdsJusG0eoLu1YL1FN1ZJ9qXQ2DnETTzWLAkGQSfXn8HWDTS+12iOWgCPtpjYsorF99CSP3Ktq6IvbS1rk6rO+s= 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=Ae+Gab+9; arc=fail smtp.client-ip=52.101.72.8 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="Ae+Gab+9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=s1RsI1CNHAdiSadW+P/JsAVjitvareLub7jPt0230+JT9GQ1n3brSALaUaEuoTZZkmYG+iKXiA0mLyxw9PvPT4GtcS5DQ3/Qyum8rRJnkN3prVTDfYD5Zbz3ZmEbp8KZ5voVUTa+o/RcCtNN5f8u+F77sy/aXlSfXkhpjlYY/kAqq1Akq8h7Mg05JHbbGEZ2u/PR6tsCYc3xQsmwIFZHMqIatRLFbDxCehigIhUSWinR/MJtNOuLnwEPCq1RytvRH6De52vpj/rpxaRLhBUBUsJHnnavaXJZUpUoqav9IF2KKGipujQlNfuQJiTa5781N7PBPUfLVVRfRg5C1opnew== 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=tgMsin6P4JxurevkRxIKg4kmaReLuHG+id7efTAsoKlT+IjIcN14n1H8mBgs5LcYWVLjwOcIW2v7Flz+2B4SGHSghR5DaY44oQFmKVcE0bY1ghXq7LJD4jg/h010nrdI7W6VbUOTB24P51zsB+Eyi1ccNbyPVjZB269Sph3ED1vx4Ie5ZMfdGW4KzusYBj16w6PmWRB7ag9Mpu1LmorsPgPznNvvwPS4I4Zv9sdR8+wCL8EpyqFMhr3lIIotLQlmemT3xyNxX3THq3M2OmnKxD5zPbkMo2wyy001xnUxHV9WpKVYmeVnjww3ZULfRXhCYqrYFtXhFNEcOZpIts5yTw== 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=Ae+Gab+9HOwwaKVmVTPdqgUkGN+1uHbscsiz/QOutodf2llNpnyPzGWk2lL3g7rw1AwaulO13lhcNh7KKyUI1IUKljvM3WPunsK4cGZKGIAmbCsTTandkadAeuCftK95zaSCXw1zs6/mRzbjWjwSW1GNizWP0sbD1N0nlJFKPUtZrRmwsE0TIrml9uvKac0X5agJIfU26xdmsIaapvydidshJs/Xa0AKPz4Iv8QCVK3HvmKnU5/w/0SC7OAHptRf1hSs25pqcw488s6wEmbbFVtYMaOTmicXYx61sGAzFYEh3GZjZrZSR2RqqGr3PoHp1mVIFCVigg7Ouor54GK4HA== 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 PA4PR04MB9368.eurprd04.prod.outlook.com (2603:10a6:102:2ab::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.18; Tue, 21 Jul 2026 21:01:59 +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; Tue, 21 Jul 2026 21:01:58 +0000 From: han.xu@oss.nxp.com Date: Tue, 21 Jul 2026 16:01:44 -0500 Subject: [PATCH v2 3/3] arm64: dts: imx94-xspi: add the DMA channels Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260721-xspi_dma_upstream-v2-3-9e19d80e7762@nxp.com> References: <20260721-xspi_dma_upstream-v2-0-9e19d80e7762@nxp.com> In-Reply-To: <20260721-xspi_dma_upstream-v2-0-9e19d80e7762@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=1784667702; l=968; i=han.xu@nxp.com; s=20240131; h=from:subject:message-id; bh=DIvYzVJJ+Z7BGus1NDjEgVrT7HPmIigSFr3cNQeP53o=; b=Apbm1On0fO2MED88NHkNS8jopMTtUbVvmGx+zaQyO2ylIAukDH9WHOZIN+aOwZHKAT1TOu67g nv2Nkk5gK8bDLA0UDHhMQehSjMQPTFkueOfFvPZKBNQpRa5Uy6NbwsR X-Developer-Key: i=han.xu@nxp.com; a=ed25519; pk=XSryOlQ4EKXqt7ZHz2D+BcDu1AWYF0m5bX48xQOVF5A= X-ClientProxiedBy: SN7PR04CA0114.namprd04.prod.outlook.com (2603:10b6:806:122::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_|PA4PR04MB9368:EE_ X-MS-Office365-Filtering-Correlation-Id: e54c804d-b787-43d0-3312-08dee76b4dea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|1800799024|376014|7416014|23010399003|366016|11063799006|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: jSSHSUSU1RpJxa9td6XzsyPRYMatp/WjeZkop2qldCOSHkYRngbNIrtaKgY/T5kp8W99HmRkeUUSrBS10GCW+164ajElgUEUh1v8bN9YRf6K4VJEOPUTMQEuOt2uU3vkr9MRdp55hdbMQGi6Eqa2YE5DdGhATIuixh+fsAB9jX4vENJLJdrpS1ShM99fvSpUd3nuVy34SzPY1YQtDIOZJh3u/E9yBRHUxE3Tk/1dwFZjS8dvZvGACSPzr+/2xi9/n7bobzs+1o7xPvJ2PsFaVyMnH9Ob9nYFhLNXY9oeF2XphNhTOCOd7vcFCPBuuwlRP5YKV0i7oVTRt/gXgW1jRdIAev1RJqWnlykMjWV+KWIQ4u2mR2Wqmq/3pQNdlfIrfwpsN59GQZT2VTbjky2jXuTdRqTftBq8sFKninIiDkq0xycgf8QIhp0G5seOEGXc3uj25jDZg99SFcMhmQNfcLNSY+JbahjzPnOI1wC0mZCGhxim4dMnq7GrwtXUmK/i7VmVRx72oEoFmcZvFA44MIYCRFLmeJVoWhObiULYxn0fJUV68AscZjFxdoCvdlBeTxoX2S0HWFEMKQHtqK03/md7G894pNwCmTh3u6u18Zzatq8lrBSH4RzAh/pkjpNcxEYNNaRUrbDIPXOHPTNdU9pSWU0efwDO8lcKfaJGei8= 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)(19092799006)(1800799024)(376014)(7416014)(23010399003)(366016)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TUtzNXR0bndTN29EWkg1ekJSenJIOHRmSVFONDA2dEhWSXdHWVBqZDNPcExO?= =?utf-8?B?NXJCL1VtamxSMmNtYzQ5dExxV0l5N2xQNkpUMHRUZXhNeXBOeHpBcXRQZmE0?= =?utf-8?B?eXAxZFVnbHpjK3MvaHJuUnJxZDUzSG9ndFFVeFNwRVc5d2prdmpnbmZQNU5m?= =?utf-8?B?M3VxS3d2bmNyMFlTU1k3aUhRWlNpdDN0Y0xJTkMyUW5rNktQa3BONVY5MVJZ?= =?utf-8?B?RUNzdEUvYy9ySHBNaG55K0JVemxMU3hnRTZDamJaSG5vQjFqT2s1MHZxKy81?= =?utf-8?B?R3lUenJoT2pNTW9ZbnliTld3QnN2UG50T0hoN0lycU1mN1lBSk5JWFZtTVRn?= =?utf-8?B?VVA4blhiTCtubCtoYWVLQW95alFoVHY4RGNlVGpjQ3NmRGZUWWZPTFNqSGFj?= =?utf-8?B?UHIyZmR5Rm1rL2ZHb21kVlVrNVRWQzNOdHFMeGdHL3hjZFl1eDY4SjJ3K0NR?= =?utf-8?B?c2pwdmQ1T3p3SHU1NzVvUms0Q1g2ZWhvVmJ1ajRScm5WTTY3RjU4ekZTR0ZL?= =?utf-8?B?Y25acjdERnpQS0QyNXY2RHVTTmppd2ZaNjZzNUdFTlUxZzUwY0FZWFZISS9S?= =?utf-8?B?amtJQVJDWWxVOXhqQytJNFphVHhlTmpObzI2R21xNW9uazhTYjlUUmF5OHBn?= =?utf-8?B?dWFtWXNiQnF2M0cxK29IMWMrcmZYVi80eHNUUVo5VHNGUXkrTktibExySFRJ?= =?utf-8?B?TVpIblpBY0ZqMElydlFETUV1b2l2N3dZbjRoQ3dzaVQ2S3c2bGF6eE9hV1Jq?= =?utf-8?B?Ylp6REd2MkUyaXFwZmgyM1BNUVA1bGtXVG5LaHEzTW94d3gyUWcxZngxQjJV?= =?utf-8?B?YnNHQ3BGSXFwU3N3eTI0aDNEcVIxcmhPenBsOWhzVm41SGRsbit5Q2RPZ3pS?= =?utf-8?B?YkdRRGxWL0NkWnUyTXdtZ2NYK1VGeEZraVVBWldWbm9nWmV4ZEh4dUJCQ3Q0?= =?utf-8?B?MHV6cnpMU09aSC9iR2o1aUx4OXNINlNQQVBhd2pVdnltWmkrbVFxWW92Tnkv?= =?utf-8?B?di9Ld2lGZHNNMXBGcHdTTnJkVzdSQUg1YXpVSktnL2NrZkZvS210UkZ4eGt1?= =?utf-8?B?OE1tN1RrdVRpSFJockNSRzh4SHIyZHRRamFSUTd1ckgzOXlrcTh2dTk5Q2ZT?= =?utf-8?B?L0taOGNLeEkwQ1pzSnJQMXFoYmRLYkR6ZWdpU0hnRisvVTUvakZ1cXZYOTkr?= =?utf-8?B?akJEMnJuR1lzZDFpS2FRb09Ob0JRZmluTkpBelg5TEZ6U2p6cU1pYzlxWmJU?= =?utf-8?B?Z1J5dmNkb1VCWE83OEZ2OHJBRWFOdWRycGs1OFFLaXgvVTArRm00YytLS1cr?= =?utf-8?B?QXNCZlp5OVNOQlFINzdjSTJ4LzNWdWZ1Y0JQWHJPbEhLcjNtMU9BajBnMGp4?= =?utf-8?B?QnJhakVDZmRCcWtIaVM2OC8zL0JsNkU1eCtIaC9tcmFZbEZLK2NqU0RjRWNO?= =?utf-8?B?endQM3lkbGV4bkVnVWpiNXJ2YVo1bDljUDQyUjI3L3hOOFYwRm1rZEJQNGFv?= =?utf-8?B?d3o3bDhIM2hXU2tmRzJJUWtpQStUWmVTQ0kvSWdIUzBwVVJJeDlwVktwR2F1?= =?utf-8?B?YXB5YW53RU5GY3p5dUNQS3lWUE4yY3lBWlpYb2pBSnQ5c21oQ0pTL1NVbk9i?= =?utf-8?B?TmZTNjlzSGIvaXpQQWpxM0ZPbDRmODB4MU5QRFllN1JjSE5kREEyZmV1NkdH?= =?utf-8?B?NlNJaDNhdldZSUN2aHplSXM4QTNoYnB1blpUME1XNDRXVTIwNU9Gai9sN01D?= =?utf-8?B?T0MwM21kSXg5L0g0K1ZLT2FOOVc3OFFERURJT3p1RUxCSWpOWTVRTWFCUmJq?= =?utf-8?B?dGFFVms4NzVkWUd6ekY1anQ3QUFZanJXWGZpTHAybjJvSGFNM3NFYS90QVRU?= =?utf-8?B?c2FJekZYbnlONFZlZkg5ZmY0aHNHWlpkVEhuZlZtdWVUbTBVZDlGU1E5Y2l3?= =?utf-8?B?Rnd6MGthZ254ZmNuejZFYU1UMjZObDFtZHBJTmRoRHhYWWZXNzQvYTUzTUli?= =?utf-8?B?K2ZkZEVNZ3FJZ2I3RXJHYW5hTmdDRmtzQ0JJcUorZTJxNEZuLzZYMlE2T0JN?= =?utf-8?B?Y2xEcUFTVnpQUm15T2NjSWRIY0hsYzkwWllLa0U0VitIU3dpZXAwRUhqSVVT?= =?utf-8?B?bFNBalNESmswNno4ZWhiTDJyZEt0YjRQUnV5VmxIQUN5WnY0QjVBNDNBcTg5?= =?utf-8?B?SlZkMEpYbG9kTTVXTlNPbnBrSzI4NVlZYkVGUkRzbmNySUNoTmFUUytEaURJ?= =?utf-8?B?Y1VSSW1MWnFqQzkrMmZxbGNhbHN4M0pTNHJLSGY5NEVMQk1GaTJ6LytqSjZQ?= =?utf-8?B?c1I3aDlDZTVndXVpVGZQUVdGc2phcXQ3OEN4cDhNMHl5Q2I5cWR2cHdDMHow?= =?utf-8?Q?Tq5bK8k7FpoSlPGM=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e54c804d-b787-43d0-3312-08dee76b4dea X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB9079.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2026 21:01:58.9023 (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: F0r2oQCdcEUKAUhLgbq6UzcbDu+w56v9yUKIWX+bzCNCfjymAM6GXBdzeSvxlFGUeLhOKRG1K7Cx1H5RnbjRidEIv5qq6VPzG9qExz0pAhk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9368 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