From nobody Thu Oct 2 04:49:34 2025 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010002.outbound.protection.outlook.com [52.101.84.2]) (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 9A19B277CBF; Mon, 22 Sep 2025 08:47:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758530850; cv=fail; b=pbReySF4XjBttMBXccRzbvEISPKd1gcCCBRB2iFzZY8RQX8zp/T7Xi9v2LABlLmsYxczfcvkkv9Wex26wMNrXcxEyXndDuaQ1g2g3i3ChzQQ0oL7GY7xxn3p56Frjpx7QUJ33rU4lN0oExjcArBemdjkSjhe/9trp1tEbyqIA7c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758530850; c=relaxed/simple; bh=TRsZ0ci/aLEW+SaueGeooS2ENkI0lYOVpD1LSUyz5v4=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=PKn1h2xt47sb17M58jHr79MnxolTd9lrtHAv05FF0AEKajFV8nmHSOffPPERYmX2t2F9/nTD6Zvh8Zzugi3Z9I3s5RyWBbyDgY9ttd4v7cxKPgTpdi9NWV3Qy9LI323MF8V4/OTEb9QpvrTQSUilNHUG80K8a0UIp4XeZfLKdKc= 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=WRb1M9RE; arc=fail smtp.client-ip=52.101.84.2 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="WRb1M9RE" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qI0BZXGENGzisxxK/uJYmCtlgiTEwSJ98PPlNWdgOvKxu8jjarkiSAt0cOKale0Du+BuwC3GcFpNcKIhpoG8CgYG8pghJ8pknttOCfLYvrB15+pwe1yCAbC4us+/XisDPxhf9NYd2PX6oASJuNIwcsjQttITy/isAW1uoBGrvfR7sVUbfujSKYy69IvCsh2HrXm8j7nzG8WwtX9sKFFTwh37Qre6Fihl/vWMuAL52A3g8PzFtyShINrylkCUJKm+h/iR5Rhh7ZiNCjXjJpsbJef/YzYX3A2xz7X0HcTbL4rVhJVGmWW+dwjzgXnSv/CGODJQr3ODyJ7gmdTR+GzKRw== 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=Kg5c2HZGy8CR2JpqaFH/BR4h/i2YzPgs8WST38wgX5Y=; b=x1aXW5LkWSi6uQI75bzB7leqs8z7EzEIj7MzozMmsQNCsdQbMSBf1lnv/06Y762hNJaK9mgKIs00clH/3wYlqXaj2LXBSpHB2Zu0ys/z+qAh4Mh1egVPzID0t+YWZ4rubG35Mjk2LehaafMzItAYXcVX5T1sPCn1DgZRs3mdTXoaCsgVNicuT/M62B1ySMYoA9NKreKHVMB/Yt7kT0yIb+gWARIUc7Cjmc0N1EqwwOGzrc5greDuzIZEyc9SA/T1xDo0ZwV5Ak72C6v5mZ+IquwiFv1L3ipWWTRqMdyOG+nurEbynzU8dgI0SDrerECGea+PfRlvl4go6iXDE9AgJg== 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=Kg5c2HZGy8CR2JpqaFH/BR4h/i2YzPgs8WST38wgX5Y=; b=WRb1M9RE1wECzTYDej6t859NH+qhKpgtgmom33bVwLvHauirJQpVa6pETSRF/uk9bpJXWscoaKv3gGM6k/GC8ZPF2MV6AeNTcAX7CsexFZ4xgkEImKcGAQUCFzy26g9/6uAeTzn+kIcIxk8dapPA7iu2KmdL7cwe23zrOcQYLDbqk4ufnkkpyjIQY+QCk75NPopHc5RGMfsnIqediC8KMR4FFU5foYC6alLR+Ojs8LRAXToXAjFJnuKC1ljgfljm9Dktj53l/mbv3LOwNPWug/5UC9sxQ/i+Ykik4g+y9YORT6PP0YtcQt9mehqohcSB4E/yT+tZ04pqrTbuh5gULQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) by AM9PR04MB8828.eurprd04.prod.outlook.com (2603:10a6:20b:40b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Mon, 22 Sep 2025 08:47:25 +0000 Received: from DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::868b:3935:5e0f:6a33]) by DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::868b:3935:5e0f:6a33%4]) with mapi id 15.20.9160.008; Mon, 22 Sep 2025 08:47:25 +0000 From: Haibo Chen Date: Mon, 22 Sep 2025 16:47:13 +0800 Subject: [PATCH 1/3] spi: spi-nxp-fspi: re-config the clock rate when operation require new clock rate Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250922-fspi-fix-v1-1-ff4315359d31@nxp.com> References: <20250922-fspi-fix-v1-0-ff4315359d31@nxp.com> In-Reply-To: <20250922-fspi-fix-v1-0-ff4315359d31@nxp.com> To: Han Xu , Yogesh Gaur , Mark Brown , Miquel Raynal , Frank Li Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org, Haibo Chen X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758530860; l=1955; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=TRsZ0ci/aLEW+SaueGeooS2ENkI0lYOVpD1LSUyz5v4=; b=E5EvkzBcJcupcPszoL7S8G2dD9FAaIZDPjoqIoS9kIdQiru/p4UpFgjl6GfY1CZvdgJzk7FwH bwjQyRth9RoC/owF/WUrrcgAZIbNrKy3clxO/Y076C9kv5ixta8wHrd X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI1PR02CA0033.apcprd02.prod.outlook.com (2603:1096:4:1f6::14) To DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) 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: DU0PR04MB9496:EE_|AM9PR04MB8828:EE_ X-MS-Office365-Filtering-Correlation-Id: 41cabfbc-a464-4efc-a688-08ddf9b4a715 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|1800799024|19092799006|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?WFRrcUtkUlV1WWl4WGVDQU8xQnRMQXZXOUpHNjNGQ01kUzVidGppY1hEWUs1?= =?utf-8?B?OUFjMm8zeStlQ1BHM2JleDdHSWR6cFRiVHE1ellqSURudnZyMFFEdkhMMkd2?= =?utf-8?B?dXgwVWZuakZuSGlRV2xjVW1NUFdIQ2ExbDZOYlFDMHhzazQ0WDZwZGE4Nnl2?= =?utf-8?B?Skg3N3NoS0xucUljME5rNmJOOHRZa2d0blVyRC9nL1hvcFFuZllTK2dMSVUr?= =?utf-8?B?MHk4VDBtbk1oRmx0M0JmN1AwY0t0NmpnYmZVTGZYam1pdmRPaHhuQ2RrcVF3?= =?utf-8?B?Z2NoVkY1YWJiN21kcGsxZmdMVTJwUHhzRDByTUpYaGEwTVhDSVFtRitxSmtQ?= =?utf-8?B?RVZ3VkVXandJL2kyZW42cXRuditxUGRrOU9ZUTNrWUdDVUJUaUxKYjd3aFlX?= =?utf-8?B?UlRFTFd6ZklRa2UwdVRXbVI4NXFVSWZ5RGtldG5iVWh1TXFMSmlXWEhucFJN?= =?utf-8?B?MGpHWmFyMGRpOHJkZXZUYmcvUjZwU252NHQvenI0ZHh4R0t5Q2NKTkNZRUdF?= =?utf-8?B?VW92RW5JTTlEU1ZySE01eFVDYmlMNi9IRVFTME9pUFV5U1lDU0ZhdGNKSWpk?= =?utf-8?B?R1JFbDg2ZlRHbkJPTktvK3o2OWw1MERySWFzU2VwcnhNYXNqOFpYOUZibXdw?= =?utf-8?B?QTV5WHVMRFRqb2JCTkFSV09jTGVINFVtaWY1WlNNMWRtUnBzRTh1U1ZoMjdr?= =?utf-8?B?UUxENHVsdC9UZGd2eVR5ZmVOL0VpaEQzRFlocThKalBNVzZEQmo0QWNoa3M3?= =?utf-8?B?RWZMeGg2WHJ2U1A3Q21CNVNvRjloaytqYTRJSnJKUzNwcUcyYStBSGRTbGZH?= =?utf-8?B?bFVjVU1mZmdIODhQaFhXL2hRY0lWeVM1MEc5ekdsV3dtUUFpNVdsWGtYRk9V?= =?utf-8?B?N1ZzTGNkb0s0eXNSSjhEWWhaa0NQQXhqeGE4VGxJSDRsTzBwS1BiWEQ5S240?= =?utf-8?B?b29wbmVzQlBzQnJ5THFrY0dwUndGMlo2UHlRTlFrNGJkeGZXMGtmS2JST2U2?= =?utf-8?B?U0R6cTU4Sno0aU1LQ09peTZmbzc0S1p0Vy9keDhHZkVzQ290b3NyRzJib20v?= =?utf-8?B?aE5Na0lRWHhpTWNBb3FGNG9JWjBsaFM5NWw2b0lyVnBkNzBKV3F0dWpkUUZU?= =?utf-8?B?eXZNczMzMy8vSWFadzBjOG05dHVaMjZpVk9SbW52Q2xvYSsxd1ZqbGhxZXMx?= =?utf-8?B?U282WURBMGVhRWc2UjVNeHdqQmNpRzNDcEZxbFFUa2N4cWh4eklOTkFBQVB0?= =?utf-8?B?ekNla3hhTTEvRkVGaDFUZFNWMjIydDkyemJrbjNTZWc4WXd3MUxDam14a0Jj?= =?utf-8?B?djNiU0kvNFJrTkdscDRCaUJhYW04SHovc1QzWDdsYVVJTzgvaWdrTlJkZW9n?= =?utf-8?B?cGVCdjlEbE9QZmMyVlJSN2VmMlZybXZGYTlQRXNyUW1UU25DR3NhcTVHZU5y?= =?utf-8?B?TFgzUzd2dExzU0RpbXdSRG9PajNLRVRZNmd1TDVKa3BhejBHdUNLaGVyU2VU?= =?utf-8?B?S0R1NGhjYWxkVjltZndoZkRTME9Uc2RRNGdOeERnUWNaQTFBTERGTGYxNWM1?= =?utf-8?B?UXJ5UTFlL1Z2Q2dIWDAveXgySXRvS21SQ3R5b2s5bmZabVJLa0F1bUE0dmQx?= =?utf-8?B?K2x0TTdXS0hKT3ZPUkRRT3lpbVJ0NUNWcm9SSlhLeFNVaU9WNjFYK0lzMEN2?= =?utf-8?B?cGJIZmlObFdnZmhoWVE1aE94YWxEMzBLZ2hNZ0V4OS9YZ0RZWXplMlVSa01X?= =?utf-8?B?N2xSblNrYWhrVHRURXZjZmRncCtYaXNXWC93eTBkNGpPWmdDVVcwcFc5eTlF?= =?utf-8?B?NEpUT1Z1dGFVcjBPeFErbHJZVVJMQmJ5LzlLRGJEWW10SmF4dDZpcHcyMTQv?= =?utf-8?B?RHIxZEJ6VDRHTXlGSER3VFRKWERsMng0VkZtaGdhK2RadWdUaTNuZVUyRmZG?= =?utf-8?B?Ulk2ckFKYVhjNWIvZVFUYW1vUnhPcitJcVdINDhmZGFVN0dCZ2xyTVVvUE00?= =?utf-8?Q?OprIaogP7ASGCE69M5iFrOWN9h6qtg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9496.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(1800799024)(19092799006)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S2lySWtoZnB5RktNRFROVWx4cE9zamtNWUVXaGpLcTFKNFBFdlV4Wk9udm9K?= =?utf-8?B?aWxLeU1lT2RTQlRaM1RLZE9ubFVvTFZHSzF4UHJPTFFwSkdpbmpEaHZ6TUMw?= =?utf-8?B?UXk1eFF6MjdqNkI2enRhNmJTOTBENWlXL1g4TndvRmhubTVpQ3FteUtxVXlY?= =?utf-8?B?dEIrTERRalY1L1o0SGVTVm14a25ZT1NGMWVsSURFWUtQTElWSnVlRi9qL3dv?= =?utf-8?B?QTZ0QUgzdXNRSWgzbHc4OGE2RnJBYlRESlc5TjlNNkoxdHJld0szcWw4VHBS?= =?utf-8?B?cUJWQUFHdHVvUS9xTEQzSjhidnhpQ2hVWWNaZFhXcFNhTlhwYzBHbjBHSEVU?= =?utf-8?B?YUVEV1I1VGFpZ25sakprc2ViNnNjYWFya2ZWcVFpNUJCRlFZc3F0YjJHV0Vu?= =?utf-8?B?dnZoTUZmQ3Rrc3RlcFFpMkdYMTZFMWticnNqWCt6RzU3aVo1QjJTdVFiYjc2?= =?utf-8?B?RTZsRkhVeGplTU9hdytRVmlHZ1pGSzUzWW1LUmxEMDI0RUZDTVB5bFQ2L0hv?= =?utf-8?B?NXdXRUt4Z3YzNDkzK1NvbldqVSt0R0lqNTZLQmhPbHhacXMyVmtaZ3pXT1Nv?= =?utf-8?B?TFBqelNLUEpCbWpsakRYL1JCTHY1amZnUk9lS2cwS2w2TkdIMkhDVEZ3ZU5l?= =?utf-8?B?Z09vWHNvbi8yd0ZUdlFMckN0czJLck4zQ3dBYlg5MHdUeUE2R1FMUzQyUXpC?= =?utf-8?B?Y1ZqRzJ2WEF4YWpUVml1K2JmYW5sTUhPV1FBWWRoU2xIeEdSVHdtRmhzRnBu?= =?utf-8?B?aTl1MXQ4bFVNUEF0ZGxQQ3dndWZSK1I2RW5VM0tKd3RBQTYyK1U2ak55b2pq?= =?utf-8?B?d3dUTkF3YnpvUWI2SHNPZ29CS0VCQW50d0dCdHJpYmViSGtXaXV3VERzaFlC?= =?utf-8?B?QjZjYWhCc3F6RDFOTXRGS0RtZlNNcW1Ka3dITnBqTkJsanRZNlBXN1dsOVNZ?= =?utf-8?B?UG8rQXNQekxKLzRYbUk0ZGJSVVRMMXkwZ2tmcUpEcHBUR3AzdTZUdmtzZGpQ?= =?utf-8?B?R1ZSSk93S0RmQm1nRlFWNWNxYmcxSUZ0S3pvbXFGUldqb1ZJay9QMGFpQUpl?= =?utf-8?B?cVM3Z0dHSXlZV3dQd0ZiNmJlYlVoNmhBblRjU0NVZlZEWC91K2hqbDk2MHQz?= =?utf-8?B?K1RPTE1aM3dmY1lxaXJHeFduRXd6ZXZWVG0ydlRVeTdySExERTV4OXNTQURo?= =?utf-8?B?SFg1bzJSSGlNdjVldnBEQ3p6VERzdnBncFFCYnROM21IM0kySWtaeDNaT3I1?= =?utf-8?B?SUwyMERQMzgzNkFSd3RXeU9IRjJoOW03Ym15U1FteWpTSHNmOGVUZHRJUFFk?= =?utf-8?B?WUpPYk01T3hKY1VDOWEvMEJ4WU5QamlDaGgrVnY1ZTBoZFlZcDNoNWdqY3l2?= =?utf-8?B?VngyVllJNndqNldKYkxiby9GbW9iVjBpN0FkQWpSWHFTMUtobEc5K2x0ZHlQ?= =?utf-8?B?bUFadjNHWmZ0OTREMlBtMkQzV1VCRExBM2dEZ3JZWEhtUUNJNlhJZnp6TWdx?= =?utf-8?B?VXovQjBCbGVxN2hBUStGOHdqMWMrcHJTRlE2dzZ5UExGdElGcEJvTlVIRFln?= =?utf-8?B?SmYxRVlZMHBrTUlGSGkxUkhydytYczRzWkVjMlhGMkh2WlVXS2pjb3ZsSHNE?= =?utf-8?B?Q1JCUWwwdDBpOEUwRFdqMHIwMi93M3FzUTJaY3gzNmRtVHVEL0YvaDFkeloy?= =?utf-8?B?a29sK3ozNCtuejJYT3VWNzdmbjQzNWNBVDlpaThxQ2NXZ0YzS2JYZ2wwZCtp?= =?utf-8?B?SVp2NmYwdUpYUmFTQm9JMXNtQ3FRUG1TYUQ1NnlLMnFDMmRLUXFJSEpNaG9n?= =?utf-8?B?eVk0NkFEcnphVld1Rlh0ZlpRUnA2TDE1ZVc1aTBGMVQrZ3pVRWJDVmd0NGcw?= =?utf-8?B?YnhSUTBpeEZ0UktiUXl1c29RbjlTQmpqSWUxVDhzazBoOXpHY3FJL0U1T3My?= =?utf-8?B?WHV1Y1RTK3k4R1dyeklYZlNobmZLaVc2ejE3ai8rY1FOa2RXUzkvbmJmSEVr?= =?utf-8?B?dURveFo4S2tEWldnaVZ0M2lSQWN3a1dTb1N6cXE0emVnTG9YTDM0bDE1RUIr?= =?utf-8?B?ZkZPTWU3azNkM1AvM2JyM0xpVi8wY3Q3eG1mQ3h2WmhJTW9MbGJMZGt2UXFh?= =?utf-8?Q?axPqIGLwwAdBQB8Z9hv70+XDf?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41cabfbc-a464-4efc-a688-08ddf9b4a715 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2025 08:47:25.3211 (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: Ss3e92NV8YeATIkKtSa1ktZUFXJt3usaKPLDaJcblR/yD1F+o3xyBSFfvnU3oIKe0GN2YX6icaG03asua1NiEw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8828 Current operation contain the max_freq, so new coming operation may use new clock rate, need to re-config the clock rate to match the requirement. Fixes: 26851cf65ffc ("spi: nxp-fspi: Support per spi-mem operation frequenc= y switches") Signed-off-by: Haibo Chen --- drivers/spi/spi-nxp-fspi.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index f9371f98a65bdc7e5eaa612c0770a6228bdda364..4e82f9e900acb91c6de46559efd= 265f07cf4437d 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -404,6 +404,8 @@ struct nxp_fspi { #define FSPI_NEED_INIT BIT(0) #define FSPI_DTR_MODE BIT(1) int flags; + /* save the previous operation clock rate */ + unsigned long pre_op_rate; }; =20 static inline int needs_ip_only(struct nxp_fspi *f) @@ -780,11 +782,17 @@ static void nxp_fspi_select_mem(struct nxp_fspi *f, s= truct spi_device *spi, uint64_t size_kb; =20 /* - * Return, if previously selected target device is same as current - * requested target device. Also the DTR or STR mode do not change. + * Return when following condition all meet, + * 1, if previously selected target device is same as current + * requested target device. + * 2, the DTR or STR mode do not change. + * 3, previous operation max rate equals current one. + * + * For other case, need to re-config. */ if ((f->selected =3D=3D spi_get_chipselect(spi, 0)) && - (!!(f->flags & FSPI_DTR_MODE) =3D=3D op_is_dtr)) + (!!(f->flags & FSPI_DTR_MODE) =3D=3D op_is_dtr) && + (f->pre_op_rate =3D=3D op->max_freq)) return; =20 /* Reset FLSHxxCR0 registers */ @@ -832,6 +840,8 @@ static void nxp_fspi_select_mem(struct nxp_fspi *f, str= uct spi_device *spi, else nxp_fspi_dll_override(f); =20 + f->pre_op_rate =3D op->max_freq; + f->selected =3D spi_get_chipselect(spi, 0); } =20 --=20 2.34.1 From nobody Thu Oct 2 04:49:34 2025 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010002.outbound.protection.outlook.com [52.101.84.2]) (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 E5A31284669; Mon, 22 Sep 2025 08:47:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758530853; cv=fail; b=BCBIUl8R5rnfAekGXFpNuNyn1t+ZvXFO13svCiKTJuGWcQWqTHhYqDmoR/VPwA64W1bhphqD5vytDwzBaJgs9FBdbIcvgtUOSA8jRu2STWDyVyACzIPv95783xp4eXR2N86CjXEVTJ4vKij5mKVUHGe+v8IcgJ3lQBOOTGLOc/c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758530853; c=relaxed/simple; bh=cV01PCBLglDUgIt2whYobzU93+IEDeJaYvWzffy2QR8=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=HSGCl+TFZ0I9tNpiHFhjIKQEW3sSypCnws0HzV2RndRzksJpWi4fR4nCJEDc6JuFVsloQyksH3ETPFyPAPOikxWrwBH6YCokx3R+BkTMXY0hLxPQwmclrH+rMbBmmv95YGywf7QiUQDLgm++HocrtHdnEyYK8jvIGrlFg2wa4sI= 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=Z9rSaEAG; arc=fail smtp.client-ip=52.101.84.2 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="Z9rSaEAG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QPZSy9/LfJ97i6kikB1eAoi8Y4ZkVYAaSX6arzsp0FfmsBAUFHofqPjghbhdGN6XNTBQz9RAQQtH94Jp17gI7zSNN98G31ZYKfoBEbBx5Uy9ziJ124nN2Gf3fRb6uLh/00j4Lubgq+vye45VMdmtTmJQRqIPf2n66+hicDSUETi2nwglGCiWp3D2970tBpxdL0RE9WbjRfUTLK9sSsh1ly3eZvIlI9pn4aJIjDPe5XrXSGXqYx/qEiLoi89kCY2WVoqAEMhnx89eMFgDjZK320dk/lQxy3rtQDBYYT/zz3fqA6SqHhKqS093Y7/fulUiQNN9Sp8dw1cQO4mhAvNFUw== 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=FQvRpHF8Z77UvRS8rkg4DvTI8kTcPCougfCGkKr8bZo=; b=PoMLSTIU/2tu1NIsuiGn0kLwXUMUcv9q9sjlIVHII09oWE5nDEpzI28J4yGl+4xQbYKYuUMx82PcVaEu/4ZE+5upQn0Bdz1TccBu3PRZPnFzeKHvszprKnqL+ELmJm/BBC1q2bcHbO/sjj8eUTdIMt8KcE+KTs12sHi+NIn1ZDvF6vsy/e6HvwUw8yomAetwH5A6EuXyh0Hibk5+wAr+ggp8D+p6QGTPb58qzY430pOYqjP9rfU0Sq+DFkFM2miocTpVYv4vXLu3tBFpNOZqE7LXNorvTVXlyX+dI4tA6fZ5vOcVGgq0fNz1wu340yHRs8MXdIWM/0fg2sG/8CdHQw== 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=FQvRpHF8Z77UvRS8rkg4DvTI8kTcPCougfCGkKr8bZo=; b=Z9rSaEAGi1Tw/tdz+EM4NHRVsUfwQ/pWDO99emIjJsZrsFc7RqTUYyUaTSl8rNSQ6Xx2n+veLVsJpMWmxxFGZ4ZBC4To3DkRb2OaIFXrQ3Gep7x2qjGk/C1n7D1uCCU0q3ABBlslFOye3rwpBWXxNB2SJ7HHHfinB8Px2GBjuI69xIN6SRpVP7ROOYoBVvfOqBQKAqzTp0JSQoVkk90/05ipVfU1lkr2hidF+02KcytK+GOTP/Ku+lJJOLBidcWFsmFSes6q0AihPk8muxzOv3LpdJJwe4Tdw5nt9yhxQ8otihhDX5eJrEJzqbMeiyDGceLShWGCivwtu8WiISSuMw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) by AM9PR04MB8828.eurprd04.prod.outlook.com (2603:10a6:20b:40b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Mon, 22 Sep 2025 08:47:28 +0000 Received: from DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::868b:3935:5e0f:6a33]) by DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::868b:3935:5e0f:6a33%4]) with mapi id 15.20.9160.008; Mon, 22 Sep 2025 08:47:28 +0000 From: Haibo Chen Date: Mon, 22 Sep 2025 16:47:14 +0800 Subject: [PATCH 2/3] spi: spi-nxp-fspi: add extra delay after dll locked Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250922-fspi-fix-v1-2-ff4315359d31@nxp.com> References: <20250922-fspi-fix-v1-0-ff4315359d31@nxp.com> In-Reply-To: <20250922-fspi-fix-v1-0-ff4315359d31@nxp.com> To: Han Xu , Yogesh Gaur , Mark Brown , Miquel Raynal , Frank Li Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org, Haibo Chen X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758530860; l=1107; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=8sysKbFlTgXB0LPW3VBSstIyaNx0kMlQU9m6Xqxp2UE=; b=/jI9aeHSa7tShoUd2oP7JV2ANfDCEUBD7LLjFi8Y5slGMfwPLh3xQ0Q28S7yfo1lHYEpc6J7x mu9gX0Air6zDtVdQuhs8ku9l8DfPLG1RfC8G2NH6ROOHE7LGF94rQ/Q X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI1PR02CA0033.apcprd02.prod.outlook.com (2603:1096:4:1f6::14) To DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) 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: DU0PR04MB9496:EE_|AM9PR04MB8828:EE_ X-MS-Office365-Filtering-Correlation-Id: a15fe9aa-6a86-4040-7d09-08ddf9b4a929 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|1800799024|19092799006|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?OSt3MmlhSVB2OVBrdjhzYmZMOE0xNExGTVkreEZMOW1nWEcrRHYzUG1mZFk2?= =?utf-8?B?Mk9KaDN5dExkZENxZHgwSGQvN1ZXWmg4QVN4Z3gvdm03NFlNTG11TmVKTER0?= =?utf-8?B?c3g0OExidzl4eURxN0xFT3dmOGM3aUhCQjVlNk5kTGxkRnZtYXdJd3lsczIz?= =?utf-8?B?V1dmRkRnNEhXQjhwUWFYRUFyTDlPS1FYUTNjK25YTlVzZHhNOHBIaStsb2Qr?= =?utf-8?B?QXRPSGw4T3RBcU11ZDBDN0NySGl1S1lRNlo2VWNkVTljSzlWOFJETFU1d3dY?= =?utf-8?B?U2t1b2dNb09kM1dlSGszV1FxV283aWZHOWhDMFRjOXJtZlNzOXF6eGtaYmc5?= =?utf-8?B?OXZKSU41clJYQ3VsK2RYZWJmUGxHR1NQMmVHZFk5THFBM0N0a0UxdkhJWEIr?= =?utf-8?B?NitsQXFDN0VScGwvRGxzRTFMNzd2SW50MFJhN0dhbXZXSWcyMTVoMnoxMWtR?= =?utf-8?B?ZmhseTRBKzdXazBsSzFPbVF2RW5DNmZQbHRvRWRDakpnUzQ3VVU4blUwYkt2?= =?utf-8?B?RWY5RWp1STI0a2Q5K1RaeTJxWk5sUGpCblBpMDJWbkNxSVhFT1BvRmZoTWQ2?= =?utf-8?B?eUNsekduWXpXTDVtK0V6WUNBZnNPeFBIUjh3ejdUem1qaEw3NElobWdoNHlz?= =?utf-8?B?UXBhQVd4enBZQTErN1JzeFordndWQzIrRUZlL20xOWtmTXNBL25xYmJmRWhN?= =?utf-8?B?V1ZLTktaUzgwSTZNRUxKTWY3VWFpdGxyeENiUlFwSHdQdzk0b25ZSnRsbFR3?= =?utf-8?B?SUlOMS9FSXJ0S3JXa29KaHd6eERxbkpjNnM1YURBMEZnd0pyT3NTVCtjaUNp?= =?utf-8?B?NEZabkJaUkFqR0tYbEhRRG5iUGd4T01uUytpTXlkWTd5eUw1TkljeDl6LzFY?= =?utf-8?B?RmhCVUROZERoalkxa2FCT1lQYTZzZFdJWkVwaUFmK2FIMzE5TFRINTNuN2lT?= =?utf-8?B?V2JYRjRjNTJXcU50anRqaytrWjE3UnBiclpib0xLVVpEcGxMS2NkNDkxV05r?= =?utf-8?B?enRJREJwaXBhZEE5cy9UUWU4S1FEYUhGRmxBZkZjOTdpQUtndmNMTXBBS1FE?= =?utf-8?B?UDdmNzNDUDdzeXRLTS9PSll2LzdxblhVQnM0QnQ3eitxWXA3WkFqNDRjSjdI?= =?utf-8?B?TzNhNUxUSEplYkd4MStjUXloTlJ6UE5pd2RsNnRnd0NhNDY0Ly9BVVVPalI0?= =?utf-8?B?WWpkZ094Zm96bXdOZXlPbEJFL2h3NDY2TWJuVGRBdk5FdEVxc3RuZ1JZUURi?= =?utf-8?B?dzFBU3lSQWw5akFpSGZBQ1RValdJM3FnNzJzbWVleUozdjVPVVVNMDlYZ1h0?= =?utf-8?B?WFVNWHZoMUJldFJHZzN2SEVjYlRmY3JFYmozMVo2eDFvRk5iQkY4UExEMGUv?= =?utf-8?B?dDR3d0U5ZUF0b3MxNy9RMUNleHJmVGxUcEQ5RldyUWNUQytzTjdIM2FreDdG?= =?utf-8?B?V01EcWtMTHhoTzY3a2NjaUw4Y1BCUXZUYWlCY2t2Q3h0N0FQeHhEMFAxRDV0?= =?utf-8?B?U1R2d0h5YUFRalI0T3dScHNOTWxrRzRYVjU5clNOUEZUZ1RBc1dNVlNYUUc5?= =?utf-8?B?TTg0a2RSTGNqcXlZU1ZuUVUveWlZRWkzME15TVFLTUpzYWtJUldzT1k2NGhp?= =?utf-8?B?ZnR6L3hHSS9maWVUTFkwQXBwcDRvTVl1Z3BRajdDMCs1RDZiYXhKVHkwaWRR?= =?utf-8?B?TXBLWmJrRC81UVhqV3A2Nzc3UjA2aEx0SnZJdWJmTnQyeHBQcy9IVklQaUNh?= =?utf-8?B?NU1WS08vbFpEdnV6cGZNTCtPbTljRVB3OEZhNmlpVFluMUVOajRJaUttS2h2?= =?utf-8?B?bU9uS1NaTXdsTll3UkZTN3owOWVnR0pMTWtzaUpoTStaQXpYZ0xLekdhbHNF?= =?utf-8?B?UGc5MGFubjJGSEhEa2RtQWVuWk4wVkdHZzVlZi9hUk9OaFRUWnJhMzNGc2Mz?= =?utf-8?Q?tv8xLZkcl0o=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9496.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(1800799024)(19092799006)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QmRCbmVjT0JtUEVHeVFXVkQ0ZXpRWGRVQy9NM3oyWENqQU44a3RPZWtSRVNW?= =?utf-8?B?MUU2a3lnVmN2UkhwdHpmcW5xYlo1SklHc1lpRE5Mc0dDbnhkYnB5a3FkWVc5?= =?utf-8?B?SWdhVTF0U0dlN0RuRkhkWEZiWDVIVmxQNEZ3OWk2aDlDdmt6Tm9BOE9ZRVBL?= =?utf-8?B?NXM1NzN0dzFVYndvVjRBcFkwVU12Mld0VVNpYVQzSXl6eVZmYXRXRjl6VUc5?= =?utf-8?B?eUFLY1BmcFNCMVRSeWwzZXFSbUNlL0QzUTJtUCtmdDlEb082UkNzS29WRzJu?= =?utf-8?B?d3lDdktYd3RCZ0N3ZzlXT1M1YU0zZXYxdit6YVVma0JzSHpUMjI0NVZEWEF1?= =?utf-8?B?QktCcy83ZG0vYi9ibGRtdVY5cElIMGlyQTFlVnVxeE1jNTU1Zzl2WXpIdzdE?= =?utf-8?B?dDhiYlMzd1E2MXVtcWg4YXdOT01ESXJweG5YdW11SDlsODNvNTZpMmd0VlpM?= =?utf-8?B?bFY0Y3EwTlg5akcxRWVONituU0RSZkdkd2UyYXF1dXlWbzV1ZFdFUlFJRmRq?= =?utf-8?B?NWQ5UzNJcGtqWGVteCtJU0cyZ1VKSFIwZm53QUxDQk1XUG82VlZySUQrVkVr?= =?utf-8?B?VzNSWlkyR050eHdob1JvSW1QOEhLZ1Y5OWg4T0dTSlFVQUJ2dlcyeDYySjhj?= =?utf-8?B?ZGRuUk9oekZ6ak9Lazh5REdLanFwK2hxR3d0eXBSU3gvaVRaZSt1MW5UNWFO?= =?utf-8?B?MmthUnJIZ0RPOWE2eXYrVjFVZFE4Nmxoa1lYVUFsVnQ1N09QV1NlZjhSUEt0?= =?utf-8?B?T0llZnJNUEVENGQ5aC8veGxGb0RCdzRnOEtNMTNNVnRCMlNKZTVIS0JJa1pm?= =?utf-8?B?alhBV3VoRW1OMVFnV0I1MU1rdm1qQUtFUlFKU3NEQ0c5d0Q0ejFLa0RBTVdS?= =?utf-8?B?ajNIZzhlMjIvTk5ITFJFNlJPb2hROUFTSlppZHh4eTZSK3I3Y3lnYlhHOG0w?= =?utf-8?B?TDFvSll4R2ZMbXNVblJ1M21NT0ZldndONVdQb0w1eGxka3J4SmViWktXT2lL?= =?utf-8?B?cFNtdzM4aGEyd3hLeGpHS3NvUllUVmdldGdDbnZ4cDdCZUdJWDN5cXlyNDBx?= =?utf-8?B?U2dlRW1HS0JtclB2bXNpcVdFcnExa2NwQlY5UWZWZ2h6RFpXeWNKY3UwdzdW?= =?utf-8?B?czMrUnhHblZnU1hNWjFpOWZ5Ylpqd0M5NEh1c2VDTFIxWlNjWFc3d0lScUhT?= =?utf-8?B?QURRaVJITG5vdTQ4Q0wwNThrLzRFL0xhOW1hRkRlWUlNbHFxRE9UYi9VcEhC?= =?utf-8?B?WVVHSkZROWpLTitleUhVdWNpa0VLc2ZKZ2xZUm5CK0tQa0ZjYVkvSU8vc3c4?= =?utf-8?B?S2NUY0pRVk5OQkh2UmFyWXFrQ3cxYWhYMW04QmlsOHd3aHEwbHJNNnR0MDdu?= =?utf-8?B?ZE1oSnljSXRJVUJsRFlnaU4ya3ozREpTWk5SVjRxVTZqbVZwNEl2Y1BPRTlu?= =?utf-8?B?bHpveXFoelMzM2VKeW42WVNxczhpMHkrenpwVmIyOEx0ZE9KdG9RRlJlUUd0?= =?utf-8?B?QXhOdXZMZXJxaWZVT3M4ZzdLbGgwZjlJUnlESHVNWWFDNmY3RTZNQ2VrWkg5?= =?utf-8?B?OEFVTE1XUXRHbnRMWFlHa0MySHlXSUtLQTVNcnFBL0hNUXRvN0Q4SjN5WkhP?= =?utf-8?B?UjZ6YzVla0hzMTBMcFF4ejliVGFaYytKa1FUZWR4c3FWdFRGVjJYeXBjWVNN?= =?utf-8?B?UGVCT2R2U3lRMmNmZjE5bnVhczk1cGo3VnNYbFF0UHU5TjF0S3B3VlQvVEox?= =?utf-8?B?d0ZUNDdIVUhPM2tlcXV4OVNkSlIrbG15Q2U1bnZ3U1RnVXBHRVd3eWUramln?= =?utf-8?B?RDFERlRYaEQraXJsdTkzYUlnWDFvM282Nk1FK1hyL3A0cXh2NVpmRmZEKzVq?= =?utf-8?B?Qi8wTVZCbTMranlQc0dsdTU0S1ZXTzdYeGJnTVhoMXBWb2huUU9RMG5oazdT?= =?utf-8?B?a1JHMU81K1Z2Y3JFQ3JyVFBZL2w2Y1Q0Vlk4QkpES3h1TUVEU2xuM1NENEdC?= =?utf-8?B?cjBKa0pTMHp6ZVE1V3p4V0FSbHY0TDU4RlZFd2F4QmNRZmMzLzBjaFlWcjRx?= =?utf-8?B?SGgraGpRYXQ4SGlmeGJhVmNxNWdtZnV5czBQODF5SUpxekFOYzd2QnA5YXhs?= =?utf-8?Q?7EsEy/gQUBJvPnThe4xcqlTLZ?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a15fe9aa-6a86-4040-7d09-08ddf9b4a929 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2025 08:47:28.5875 (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: qpzRi1bhwfmSzKUNpTUe1y5k1rxAdKJip49W2X/ogOXmceKxNiHsH4c8b/yioEUwsicdAkHhUxlQKzfCGJhbIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8828 From: Han Xu Due to the erratum ERR050272, the DLL lock status register STS2 [xREFLOCK, xSLVLOCK] bit may indicate DLL is locked before DLL is actually locked. Add an extra 4us delay as a workaround. refer to ERR050272, on Page 20. https://www.nxp.com/docs/en/errata/IMX8_1N94W.pdf Fixes: 99d822b3adc4 ("spi: spi-nxp-fspi: use DLL calibration when clock rat= e > 100MHz") Signed-off-by: Han Xu Signed-off-by: Haibo Chen --- drivers/spi/spi-nxp-fspi.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 4e82f9e900acb91c6de46559efd265f07cf4437d..96b3654b45abcaf53266ce9acac= 8d6578a19458a 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -721,6 +721,12 @@ static void nxp_fspi_dll_calibration(struct nxp_fspi *= f) 0, POLL_TOUT, true); if (ret) dev_warn(f->dev, "DLL lock failed, please fix it!\n"); + + /* + * For ERR050272, DLL lock status bit is not accurate, + * wait for 4us more as a workaround. + */ + udelay(4); } =20 /* --=20 2.34.1 From nobody Thu Oct 2 04:49:34 2025 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010002.outbound.protection.outlook.com [52.101.84.2]) (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 4DF25286D69; Mon, 22 Sep 2025 08:47:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758530855; cv=fail; b=BluJ+LlRkeuqhzwAS1sfPUaxxFm5T+WMsKxQi4VxQ4AoHEvS5UTLx+QWTLmD10QesZeHgHzLJ+TBx+CoeoOijaj87K4RbHNBVgUzpGj43acr5M6Bg6yk2lHst2WPkFObk6IdwHNgxh0DNI41ofTbknIqhVSG4VO/GM0UhNQ0FOs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758530855; c=relaxed/simple; bh=tdzobF3xzy0eobzxfR96Pss6YzSfYNTdOGJ04f29828=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=hD8Y//sudRz4mlU8mnpBDtnVzzixkU3hq2UavrufQZxp0seGleGdjQuHbHqc52D2cGoL/+iiccPwYD+8XLvDTr0BHVsza1nN/EnrMVNy7HAl9f3IbLv+Lh5NufxDGQZmbVje4P7J8LQS15I6bHGa5pjszoj3oF9vGfXMNpiwAsM= 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=TWXuQjRV; arc=fail smtp.client-ip=52.101.84.2 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="TWXuQjRV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n5+KfeH8rPcGE6YIuxxZUeN2E+NtSp9dpv0mMriecNXQPzGEv0bxSp8kQpkvR8O9OJjOrOayfSJjB2x8Pc5rXD8hjC5qvxQo4xfyPMnxSuyn9JnxOVyarhFS7lZ+8TSuF8DvP1FK7fPvguMQ2wrtcHjDZsPh1G+X0n+Wv/e/hwN4Yi4NOG/eVw4h384jVWxCIEehOGnhyOkm0GRH21FRc9Ipr3UAl+4RznHabwwMPhqcI9t6vlMtPc+rzAm9mIg5WUxOVfnaCR1TNvpZHwq6paPDrHVcAtFit+qv2KgjQTtLnfp1EkWZPvae0EXXNRc8CtO7I11CsnLvCW+gQfoJ8w== 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=MtosikZgLWOzzNWbohYIpf6A8XA6YbSww1zTr9mmfMw=; b=QxcjkNDx+prnAYnoEWKUGxXlCrzicVBziCJq4tE4gmA2eeDPktB8NZc9+8rpSs0fctwEAioAUUw2hkwmPlzmCQrz3bRgCLZHJCkz7Se/eCMfpJuReng28vFyB7/sZethjcduKzdibd0mHvurDu8H+C4LVcEp1ZkuGMPIfas0ppcg6b5tCwNVJ2iqFr4TA3pZiSARAQVBU8TREPOPfDuJkkoADmbs8cIIfzhN33MuR7iEcM7Bzk8fB+Pw/ezUp9D99X1sJ4HWwbcHv6BUHZbU3YLxjEMY8NvfXoccxFq2wWHfPWpNGYgmJPmBZ1s584IXRxptRNeRpvp0dQIcoLKZPA== 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=MtosikZgLWOzzNWbohYIpf6A8XA6YbSww1zTr9mmfMw=; b=TWXuQjRVerQ2ikR2n4YEBfjYbhSrH2Zf4Ds1ZNoA9e6/NBAw4za51hGhl5lyWH1hUhOTKm2izQ8LYS5b5n2LfHuAvU3qs0N+rtejWetjCHtSXD5Sjr09TJFMTQRt6/roZTc8HMGWoyvGoUlClN3wQT++GqxOP+fYLSq8ONiPXpyl7E0IpV7jTM7QF8vLL0d3v6lBdSWWNnY3DkSqx/FptKOxxZIpralKZ8e0IbA4lG87ad6KIJ2u6M7VCY2H610jjnRwlyxB20oxT55h2adzqgX0l0DFER5JeaU4hqOv84m9ZXlTgBGKLJeVJENRHCUeVUI3f5PrZ/wGDxfOaQuEVQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) by AM9PR04MB8828.eurprd04.prod.outlook.com (2603:10a6:20b:40b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9160.9; Mon, 22 Sep 2025 08:47:32 +0000 Received: from DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::868b:3935:5e0f:6a33]) by DU0PR04MB9496.eurprd04.prod.outlook.com ([fe80::868b:3935:5e0f:6a33%4]) with mapi id 15.20.9160.008; Mon, 22 Sep 2025 08:47:31 +0000 From: Haibo Chen Date: Mon, 22 Sep 2025 16:47:15 +0800 Subject: [PATCH 3/3] spi: spi-nxp-fspi: limit the clock rate for different sample clock source selection Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250922-fspi-fix-v1-3-ff4315359d31@nxp.com> References: <20250922-fspi-fix-v1-0-ff4315359d31@nxp.com> In-Reply-To: <20250922-fspi-fix-v1-0-ff4315359d31@nxp.com> To: Han Xu , Yogesh Gaur , Mark Brown , Miquel Raynal , Frank Li Cc: linux-spi@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org, Haibo Chen X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1758530860; l=2012; i=haibo.chen@nxp.com; s=20250421; h=from:subject:message-id; bh=tdzobF3xzy0eobzxfR96Pss6YzSfYNTdOGJ04f29828=; b=cCttyTWf2kqvZ0V5csBkvj5uE7FHTTvcLr3iqRK+nyaPa+Ne1NxUobl9R/sqERcM0f8/NabGs VX7QSEpyv/GDaWfHHYXeERHxok+sIlHT+x9f6h72plDErnfHdxDwDA8 X-Developer-Key: i=haibo.chen@nxp.com; a=ed25519; pk=HR9LLTuVOg3BUNeAf4/FNOIkMaZvuwVJdNrGpvKDKaI= X-ClientProxiedBy: SI1PR02CA0033.apcprd02.prod.outlook.com (2603:1096:4:1f6::14) To DU0PR04MB9496.eurprd04.prod.outlook.com (2603:10a6:10:32d::19) 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: DU0PR04MB9496:EE_|AM9PR04MB8828:EE_ X-MS-Office365-Filtering-Correlation-Id: 92bb4cec-ab8d-4951-002f-08ddf9b4ab0f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|1800799024|19092799006|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dUcrM1prQzFUeEdYaG56a2VJaERHdDkybGVDSWZ4WUtERklaVE91Y0dDVG5i?= =?utf-8?B?RklVZVdkZUFFb1lBWm1VcDFjYTh3ZEFyV1IrTUlWd3FCdUp6QWJiZHZSOXdK?= =?utf-8?B?Z21wWjRvNlRlZ2o2SWpJck4xd0hzU1djalNDQkIvNFRhdjd4VWRVbmc2V1R6?= =?utf-8?B?MVFqN1NPWnpxbHJjUUJ2azdGOFlUMHo4U0tnZk5PK2xtY3YzMXFsSTBCOGgy?= =?utf-8?B?RnRiK3pXajN6NDYySXROaUNBZmY4ekluTjRLTXora0NXQlRiNitWSjIvZFlj?= =?utf-8?B?eGFHV1FmNjRsL25MU1FPdU1LQ2xud1llWGxpWE1xNmthcnJCaWczbEx0U1RV?= =?utf-8?B?aHk4dTF2NE9OUURMNy93eDByVVNyMXdzWjdINlUvalE0ZU9Pd3N1RWdmTmph?= =?utf-8?B?ZzRvR2RNV1dNR3h4VldUSkxCelpleGxKQ1gyVy9hNXhGaUVyUHpleUFSdDNi?= =?utf-8?B?TXpBSCtFUHVLYStGd042bkk5aWRJY00xR2dCdE1pNG1JM2s5ek9xaUVIZ0hl?= =?utf-8?B?RnRBZlNaQkRPMnBwQUxvL1dSZkFvMzZENWgrUjB2bkNvdmx6eEZobWE1ZURS?= =?utf-8?B?d2MvM1dySzFocUY3YW45R2xOSUZuRlV6dlBaTXlqTUcrQ1dIRkV0OXNwNEpu?= =?utf-8?B?SzhKNFVrQWY4ZENOcC9oTXhnUXBwUWxPTEpXMTlBMGk5b1F2USsvTkdRK051?= =?utf-8?B?Q2huT245ZDcxbTBhaVBHZlM3K0lVYkh4bzMrZ0Z3elZQUEJwNWRRTHFqYzhB?= =?utf-8?B?SXU3V3prcml2eW5tRVhCay94eDdhaFhJK1doVXFEVksxSThEeU1uZVlwZDlM?= =?utf-8?B?ak1Ma0RXZE1KVEp6cXhheWh3WmU0U2M2dit5cko0am5YVEJ4WnVnWjRpWUVs?= =?utf-8?B?UzNGdUFpSUlHcjM5ZFVQVDdoUnRURHdHYUVGaWVPcklqT3VKMFZXLzYxaGs4?= =?utf-8?B?V0gvL3V0RnRxQmRtUGVlQ0pIcDZRRllwcm50NWxoMzFpVHhwVDZRRk14YSsx?= =?utf-8?B?Q2hjdHZYVmVtVHQ4MXlnRHFibXlLNlJUeDlKc28vSEtmSko2NVVlREphaXhZ?= =?utf-8?B?OURYQXdjWTJyZ1RRQ1JJZnVBMExzYUpOSjF3Z2EzdDFiVUx6Wk03aWNtV1ZK?= =?utf-8?B?ZVhYaThSR2M4TUM1WEdQeEZHaVhIbDl1TkVhby92ajlRNmdlYzlhQkJNRDQr?= =?utf-8?B?NEJZY09ZUzJlUkJhRmlEeVNrcEYxTXcyRm50ZnNIWG0yNzF0ZHN3M3p2U21E?= =?utf-8?B?ZnlFQXVvQnVpcXQ3T1BUNERHK1VKc3VCdkhpT0piSURPSE92NUx0WllHTjV1?= =?utf-8?B?VzdzNFU4YUNjVVl4OTlaVzhUM0pXRkxLV05pVnpZYzlmclgxRWNKVE11ekE3?= =?utf-8?B?akx4cEtja2VZR1pYUmtUZ1k5STNGRGlvTlhHSU9pRVNhTzQ4MVJFQ0VIOG95?= =?utf-8?B?WGI4UUhrUkdZUDBMTjJEcUFWZFFvN2JwODVDekQzcVRHUUF2ZGxQS2FTUHY0?= =?utf-8?B?RDI1MDVUOVdDaU51U0NZUDhDYWpGYkJnYkd1d29GZ0Npbld0a1RMYlRURmNu?= =?utf-8?B?UnAxL2J3a05HUzVVSWwxbS8wVXNQNm44V3JqV09tOXBGQUNwbGcyOHorZm0w?= =?utf-8?B?VCt3RGE4dWM1VUMzRDdGdWFpdFBsdFJsMFNJbzBoQTh6TUJkR1h0QnVINzZo?= =?utf-8?B?eDM4R05PWVBVSXZNcFJ5SVI5MkhMRHFBYUZJZ01zUGQ5S2s3UFBWQ2dHRThW?= =?utf-8?B?YStWNU02VEpMT3VubmQ0QTZkRFZYNjlJaFkwYWVQY0dFTU8wU2x5Q01lL3pC?= =?utf-8?B?Q29hM3kybktaelZleUw2VVRrUS9BV1JyN0NURGMyTVRpb1R2MTNiczV1RW5M?= =?utf-8?B?M0Q2RlVUcmdCSEdXeTVERERDWVFkZ1NPZUZ0Tm0zVzFJYW11bFlaZzhyMktC?= =?utf-8?Q?uzH4nSiL8J8=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9496.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(1800799024)(19092799006)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NmdXZjc5SEZwQnRrbmpOQVpUbHZrWjBPc0ZodzQ4WWJhb3lqaGp3SDhuMkNj?= =?utf-8?B?TkNuWUdtajk3MGFXdTQvbXd2R2gzYURCVk5abDNGZG1jcEhTOUxXV0xiaHR2?= =?utf-8?B?dElMU1VmNXBnTVQvbGNPRnhaNnRiWEovL252OVd2Q0lkYmJNVlRkUitFWFZz?= =?utf-8?B?dEpOblBUQVB6aTNaWmZxbHMrNW1TUnB5eEVHNkkvd1RXZ1B1TURHckVwWWtu?= =?utf-8?B?QVNwQ2MveGtVMko1SWF4VDJmM05RL2NpNG9tT3FMd1hIK09zNUFBMk5tczdH?= =?utf-8?B?RUYveENhazdBNkR6bGc2dm9zYXF1VUFCSUFub0VIdjk3U044UnVURFRJZWtk?= =?utf-8?B?MzloTnRFYTh1NUd3MzAwZnNRcUtCbGZ1aS94Nnlkbys4MGYvR2IramJqb2Rk?= =?utf-8?B?N2E1SEYrbnBnLzVEckE2MWtHb3lXQnRWQTg1bmNhMTNMVk9DWVErMXd6SHZC?= =?utf-8?B?WXBTRUoxNW4xYlVZcXFDRENoQTUvY00ySWdPRHAyTFQycEt1K0ptaXZPbzlk?= =?utf-8?B?RnU0VHQ0TlRsaEY2ZnZldHYxamR2WjhwMEFkSS9xcUJObFRhSDIySmVXZW0r?= =?utf-8?B?RHJuVHF2K0lZMkdQRXE4cDRyRUd3dkJ2SEtaRTZNNEpCcjFoUUlvOUx0WmNX?= =?utf-8?B?RU0yYkVWd1ZQSlNhRXdZekVUUXBIc1lLTUw4cWZybG0vSXJwams4TmQ1dEhk?= =?utf-8?B?NnhzMS9LMjhQcDZrOUVmMWZ5UWF6WmlUVXZhOGxsRDZxbUFFZFVabHVTdDNK?= =?utf-8?B?c2xlY2RHOFBmUjZ5MGkwMFE1cEp6VEQzaGtzSThpU0t3Nk9hUC8xU082V3ky?= =?utf-8?B?QzE4TENWTlJubXZ3VnFUQ0M5UXdicG9jSkNWOGxxNk92V2JUUTJSK0FkQyt4?= =?utf-8?B?OUdBWFphTnFQNjZqVUZFRUQvNFNXN1F1Z0VxQ0EyZmhhZWpsaFhlZ2ZmSFhB?= =?utf-8?B?b0dUUHdiaEdsa3I2bzVHMkZZVy9wUVZ2V2EwMXc4UitlWHdLZzFmQW9aQUJv?= =?utf-8?B?eXpUbW9WcjZDdkFQWkNKSkZSTGNwaXJnbFpUaG9mLzNZR05DTjlhN2RCOWt1?= =?utf-8?B?REV3QTNxdVQxZDZWYjZDV2ZFVXZRS1hoRCtqRzNaSHVNTURMN3VSUktMcVRy?= =?utf-8?B?R1lBU3ZOdlhINldmZENtd2RaQUxjVUlvMHZCTmJTOHdOQ05vR3BhWU5jMWJ0?= =?utf-8?B?MWhya1UwQ0FDbVdyTmNZeHBhcmZnMlhVNmNVQlBiVVlCckVFM1hGZEszZ3lR?= =?utf-8?B?R1hvRnBob0dxNlNPMlBibXhkOUhpdlA2QU91eEVRcTNzRzBQZ3RRWFR4NGxs?= =?utf-8?B?QjdTUVF0S0FEeElhWFV2YmQxTFRWVytPdkx0RUxtMzBwaTc4Vy8wcXJtcTZq?= =?utf-8?B?dVZMRjVEcEpNYWgrOWZCSWp4byszcWZSOS9ORlRBK2UrVHY4Ny8zb1FBem9u?= =?utf-8?B?ZTM3Qk9hRTQ0Mml6b2lSWkphc0w1SDJEQmQrR3FHZXFtT3BYUWRnaTRoektj?= =?utf-8?B?cFFMSXg1K3o0NjNGNVNJRzRBWFRocytwK1krYkpFUk91KzNDUjlUWlJNaWJn?= =?utf-8?B?RGhnMGpCQkhra2VLTXQ5ckxvTy8wK1dFNVVPT1hRandld0lsTEwwRHQ5dHFZ?= =?utf-8?B?YngrVnpjV3dJZ09RRDBuaTQwUUVSVWZhZ0xkWDJRZ0g0eTMrLy92V0x3a21p?= =?utf-8?B?eGlUWVdJUlg4eHpHTGZub3prZ1F1UXAvQmMveGJySk5KMS9ibEdOdnJYQWk2?= =?utf-8?B?YURhZkJEc25JcTRIRkFoajlqaE96MXE5Zmo3aVBRSDZ6M2tmd09paEVjV1Zo?= =?utf-8?B?bUQvckYxWGc5UUowVW9YdFIyUzJidmNBZUtHNUlubnBUam1xVmNzc2pOeUhj?= =?utf-8?B?N3RpSGRvLzRPYmoxQXR0YkFJOWdwSnNRdUNnQmVzenp2UHdEZGZOL1NnUlV1?= =?utf-8?B?bXhQdDdTUGVjaTluZUJuUkJkd0doaFhRVTNhZnpmTEJTWWtLTnhzS2N6ZHRn?= =?utf-8?B?L0l0YmJGMnhEQjNUL1pnY1E2aHhhMStCZi9iWnZxb2RSSEJPdnd6L2pxajZS?= =?utf-8?B?TmNNbjlnNmNMajJiWHlXSUtPZjJmMXFmRGtpejJ1Z2dqM2VSM1JtaS90ZEJs?= =?utf-8?Q?/urLrfjDLxIup33x/myIfY2BC?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92bb4cec-ab8d-4951-002f-08ddf9b4ab0f X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9496.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2025 08:47:31.7743 (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: SiBI5LUXZKq0Bd3yOiASnIhi5LdB5q0AGMM4efHE8aF9aZKZnNFmUURyALdZNxWbgwK96iExEXPTelNgHYxBZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8828 For different sample clock source selection, the max frequency flexspi supported are different. For mode 0, max frequency is 66MHz. For mode 3, the max frequency is 166MHz. Refer to 3.9.9 FlexSPI timing parameters on page 65. https://www.nxp.com/docs/en/data-sheet/IMX8MNCEC.pdf Though flexspi maybe still work under higher frequency, but can't guarantee the stability. IC suggest to add this limitation on all SoCs which contain flexspi. Fixes: c07f27032317 ("spi: spi-nxp-fspi: add the support for sample data fr= om DQS pad") Signed-off-by: Haibo Chen --- drivers/spi/spi-nxp-fspi.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 96b3654b45abcaf53266ce9acac8d6578a19458a..b6c79e50d842fa2d0aa9cbd16f9= e5f28405ef710 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -406,6 +406,8 @@ struct nxp_fspi { int flags; /* save the previous operation clock rate */ unsigned long pre_op_rate; + /* the max clock rate fspi output to device */ + unsigned long max_rate; }; =20 static inline int needs_ip_only(struct nxp_fspi *f) @@ -687,10 +689,13 @@ static void nxp_fspi_select_rx_sample_clk_source(stru= ct nxp_fspi *f, * change the mode back to mode 0. */ reg =3D fspi_readl(f, f->iobase + FSPI_MCR0); - if (op_is_dtr) + if (op_is_dtr) { reg |=3D FSPI_MCR0_RXCLKSRC(3); - else /*select mode 0 */ + f->max_rate =3D 166000000; + } else { /*select mode 0 */ reg &=3D ~FSPI_MCR0_RXCLKSRC(3); + f->max_rate =3D 66000000; + } fspi_writel(f, reg, f->iobase + FSPI_MCR0); } =20 @@ -816,6 +821,7 @@ static void nxp_fspi_select_mem(struct nxp_fspi *f, str= uct spi_device *spi, dev_dbg(f->dev, "Target device [CS:%x] selected\n", spi_get_chipselect(sp= i, 0)); =20 nxp_fspi_select_rx_sample_clk_source(f, op_is_dtr); + rate =3D min(f->max_rate, op->max_freq); =20 if (op_is_dtr) { f->flags |=3D FSPI_DTR_MODE; --=20 2.34.1