From nobody Fri Jun 12 01:36:09 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.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 524B833EAEC; Tue, 9 Jun 2026 14:30:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015406; cv=fail; b=qTYgaQfiAQvTBxLPCHVJDjLapQGFavlTzs8+ZNfOxixWz5xyLj+VNkcQYkI4kjGGntRSZ9mG+iqGeSQ2JiqbB/M4baiFMw2KFeQCr4m3USiE8wkfK5TaaJ82EXDJZbbqhy3GL6RhEcO+yfgL213bytK9fHJIuupDPvL68K0Eo70= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015406; c=relaxed/simple; bh=dJpWs2gRETGdQIhmX+y27i91wNGExK7OTMvLZbotmGc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=TkjtkPQxmO3dnnCbhNtcHKIYu1AE/NUC5VdPXlsZiDlsylGBfjFtzD0CKBOrKPOluAkzJ+AQ+rSXDqVUNO5jOmAY9naiMyNWCN0d8D/1G8zgxCiw6e2ZuQJmBIYLGambNxyIO4UaE/giBS9vwetcxb6M3iNEafQtP00QYNO7+ok= 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=MjXeUila; arc=fail smtp.client-ip=52.101.84.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="MjXeUila" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qc63pvzNU8A6t55P2moCXgh6Kabnt/iXOetk3S6dZj8TX9k+pVEfdu9iBwWcmo05MvioCuAUZ+8nC7KvZ4+LNdfO8g9jLF+Ij5rZi6vgNfgC1DM1y7ni4/4e5PYDKBi7GrXqwknzXqk8X8lr14tS4M3pmvhKNeJOumD5Cpk2Mg3HEVzmI8Apw708FNvHCEjptj+vkl5Zwj19+9mRwLd0qb2GpdnkAIUA0xRZPwHxRo+ap9zcjMhN9EyIUBph3OKmt9OsXQZuTzACehfbD9cUHGD7flu9y5uKj5s7Yvchn0qXYtO761SzwHsqOD4H/u5HfUZCg6rMUplGrYNSqSuD5g== 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=sovek11lEjjqCTBCFA/gs88c8O7YhpX9vtTEKIWKL7M=; b=V74FYE/FYwPvb3g1kk12JXO/GgoBpbtX8m29xldGpMvyBP94lQ0l2ZdJ2rhf6VlcqBCygp+LUWy4dXlsFkDiFqxq0BqwRONdpsdTygx0EjE45nVxmOFcvCOytpbkAov0Ll5l8sYGp1+jPOBZxpj4Mz0C9GJHO13KAP5o4waerFrdsUr4QWk9gxbfrbUyuel7HzGBF6KSN1pCRciiCKmjKw22OMgPJ1dDEP/xhRWojifu5Gm+4BuXbjwrK5CcYfX9PQAHNPQhcNPnpYYq+SeZMNIgxWypDA7RrfirIKlq3bvzLogLRWaUCmW6dkpo0JeHELRHWkvc1JxWBJ0VRrkv5w== 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=sovek11lEjjqCTBCFA/gs88c8O7YhpX9vtTEKIWKL7M=; b=MjXeUilaGowJlFJIheOGjE4pvJf9GraVvuywUzX2El6nmdfOXEHOpOVzp4+a2fCkh14OFAFDBZKUpN4I5BXZ3gybcW3rMWSf/cuENcC6ZmRz+IawtHbrPUIDXkYjQKvONvfR0FfSnLp2ugv89drBsXPf0RIgrKNO4G8d7Fucroqxf2zEkHhPqTuy3mcojQETAMwG4VKERXkjI+WszGeuG3CaT8f4D4H9PTjXNIygnzoGQen5LoLFu/NkzQXPfWUJrnwXNTX+DPP5alNDUcK5tPgwflXbdakoyZ88zOkWTlHdyjRlzgwW7biUtCCNCfXGmtnXlL6qA+rTs8jSFD0qYw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) by DU4PR04MB10911.eurprd04.prod.outlook.com (2603:10a6:10:58c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026 14:29:59 +0000 Received: from AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6]) by AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026 14:29:59 +0000 From: Ciprian Costea To: Marc Kleine-Budde , Vincent Mailhol , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Fabio Estevam Cc: Pengutronix Kernel Team , linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Eric Chanudet , Ciprian Marian Costea , Haibo Chen Subject: [PATCH v5 1/8] can: flexcan: use dedicated IRQ handlers for multi-IRQ platforms Date: Tue, 9 Jun 2026 16:29:47 +0200 Message-ID: <20260609142954.1807421-2-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> References: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0146.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::7) To AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB5858:EE_|DU4PR04MB10911:EE_ X-MS-Office365-Filtering-Correlation-Id: f46146e6-ebd1-45ca-5642-08dec63395c5 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|1800799024|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: NYzeG4WOaVzw2Wl4Rhm1OIdxUQlkh7hlRg06aqnTnI8aLEPg9/ohiTWex5H43J9q8z5/o5x7zJt9nLyHJMmwUvbUeqG7knXe5kcOOL0mCmZx32E8+QKYv8MYMLoq0wWUfvcC6ZpKutchoB1Vaoe6lTRv42pyLj/2q/4ArHy06iPJU8GOFNw56tcmVQCR3uKeTAN+9Q+jhErAs6u+jdI83PTB7a3hKRKc6KL1prvwRwn7bqQthqhroRjzim0ijMrYHR6rDFvZRcPkPj1k/6iHQH00uHenrhGeiZdFsU7/eq2Hce0szJV86qk/A2jyU/9V5sO/G7cKPm5K726YCfKHKzXFkJ5LHqeiqn8DqGaeY1I7zz24pjBmfbvcsvkDRxD31y2G9a/eBgmF+ODprdOlY3zBJ3DaJJGXlaZzuZCF3kfQp0TvHDfY8Tzks7H8UzMTLRsESyrScRdwZaGlQ1OXJyg7h74kvjO9FOtGbHbHhX9RVvgPBiHhvoohRTIYxk3bvqNbzhHani1OdohmH+QmSkY69eZoaN2JfInKx3cdIEUxEb/kNUD58S0nrMoK09Km8apBfET6eQPBahy8gfPp0iAeJ4mLuelFFR6LzdrTrKbIsXmn25E1tKUrRlOAi0ckqQzhxL85S72lBIGQ+9qEUGR27UCSsVyKtJrIQcNtXoYn6/eCgsjTOZs9q/x9/S4m X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(7416014)(376014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dVpFQjNMbGVBdmsvdDJVc0Z6SUI0eGU5VWxqN1ZqR1FVa3JHeXg1R2MvQWdp?= =?utf-8?B?dWlPZ2tNQnZHbEdiTlA1V0V4OEZCRFhwL3dUS3FaR2hZYmFmM3VWWG9GUXpW?= =?utf-8?B?OVBrUWRiQVFSaWxQKzUwYThjUzNNcjA0L0dxbUxrMTBKYUhLVmJnODdZMUM3?= =?utf-8?B?cS8yaEc0c2t2Ykh3b3JxaVYwTVZBOWV1WVJyUWVzdm5na1JIeDVZeUFjekps?= =?utf-8?B?ZEc5Vkg3RXFxUGxmL1RtWWQ1S3FZMlprS3dWTi9KQ1dGK29Ta2J0dUZxaFd6?= =?utf-8?B?VS9SQ2hGOGg4aUZ2clV1c1ZZTU11NWEyUHpscXd3WHBVWFVLUzFrOHJ1NDFo?= =?utf-8?B?NVc5VXp1akZ2Yy9BanRScDMvdnozeDV4OEYzNk56YXIwVUUxUEdVbHpXeEM0?= =?utf-8?B?SDBCTnF1bnhZWHBpQTlyZHZhakRwVS96TUt6Y1VlUmcwWGIvN05iQm1INGtW?= =?utf-8?B?QTlDc3RWcmp2Z1RvYzhuZFVKZ2Qrd2VMTStHS05xUjQwRXVEWGxYTStjZWU4?= =?utf-8?B?KzJSZVVHZ0JCOEtiQUN2WU0rTVAwcm1wdUd3UUw5L1Y5aXUvRGNsLzNzdU5H?= =?utf-8?B?UHRhc3dZYk9DK1prYXQxKzNGQjh5dkZWVDRzT3ZVa2paMElVSkRQT2ZZN3NN?= =?utf-8?B?SWFrYTg5TlplalpjMk5SR2lPdldZc3E4b1o3eVpTRmFQMEtVeVZQVktuM3VL?= =?utf-8?B?ZmVTOWRkQjRTRHNXK0k3dzg3UFdvM0FBU3RaRGNTczJoR3orRmpLRUxSbVNO?= =?utf-8?B?U3Nwd2xxK1ViZ2dsOW4yT21WMWFzZFJ1Wk1KdTB0UDNDVlpKa3ZNaFFIU3pt?= =?utf-8?B?bTl6R1RaemlzUXBVUWozMGtPR0lGRkUrVlkzc05LVzlFSjJ5cmI3SnFvY2Ft?= =?utf-8?B?U00zVlpGWWlNYTY3ZU9MNE5jU3U3NFZQWGNqbHcvWnMzT3Bpc25ZR1JnSkhR?= =?utf-8?B?a3QxRFRrSjB2VzhkSU1VY1phQUlYaVYxYWdHdFJQR0tuck8zT3cra1J3Q2No?= =?utf-8?B?MjdIODJtQjB4MHZsTEYwVXVPS3NEaXp5eUI2WGZhWGttNnJnaE1XdDl6VmtV?= =?utf-8?B?SGlPMm9YVVYreVZZOG1pK2ExVjQ4aG1zdlRlT0x5bzhnQVpuOWxqbkFRcEw3?= =?utf-8?B?L0dvZmk5aTZCRjNDRnpYQWYzSzFxcjAxSVdGeGxJY1hGUzBVbGc0ZVI5bVE4?= =?utf-8?B?aFlpNXVkMThxeC9WYWh3emU5cnhzY1BHQVVBeUt6TC9UN09QMCtNN1E4TlQy?= =?utf-8?B?S042akFEY0wzNnFXcVQyWjFkSlRneElyMFZBTHZ2NkpaMk80YmpFZERIZVJJ?= =?utf-8?B?YlFuQUJTQWNucTF1MXd0cWV4dnZJMk5la21EOHJZYmpHd3VhMEhRaDl2S0xX?= =?utf-8?B?NFBZR2d1azdsdVptbzVVcmk0WTUvSmxQcGcvQk42T0dMQ29BcHlibXBicGt1?= =?utf-8?B?YnhMaVhtYWx3a2hGbFhZMzNYcUFBSDZxQ3NOVTE3c2RvVGwrYTNWR3h6RDg3?= =?utf-8?B?LzlieTR3QnJKYTZ1cUpzY25EemRCVkRIeG11b01qa1c0R01oTkZ0eW85YTNq?= =?utf-8?B?NGRFaEJrR0VWT29CVkpnc1M3WXRmQ2RpMzdFNGxCSklCc2s4MXE1WERFQmlM?= =?utf-8?B?VnF5T0t6MzIrU2dEaFFRWkVVenNsS1A5ZE9nUVZObE9EMzFNRnBmSnlFUTlU?= =?utf-8?B?RVY1Z1k4MzdielVCZUZrSFc3di9WZzNhOVVpSzhMVFpQc09TakxMT3YwNXI5?= =?utf-8?B?bEJpWHI3VVZTYTVVMDVySFcraFhCUGw1eTlzcE84c3VQb3pEVEFVMklIb203?= =?utf-8?B?MmFoRFRrU0Yrdmxpa3dZMnRHZk9ZYXoxdmRFZXE5Q0IvQ3FZUUYwL2dBSkxW?= =?utf-8?B?ZFNucUZJWVJCSjI2Y25VbWlNYjdJMVprYkhBZmpKRWVRaHFwbXVNWnNmZ05x?= =?utf-8?B?cFRjUlZFVGduK28wY2t4QUNUSXk4a3pNaGZMT1RwMFpjZVZ5VlBJcUpVNllV?= =?utf-8?B?MkRkcEVwUzE5RCtKUm1mSklYYjZqR1ptVjl1QmM0VHRTMEpTL0VVSjF0TEF3?= =?utf-8?B?QzV5STg1OGxvTmltenlNcVV4ZzNWazhtL0hEYVFyTWFEd21kUnNCT3Uxa0k4?= =?utf-8?B?Qjljck02azdZOGdUdW9aYUxEZ25DMjdmZ0NXRjh3NVlrRWhjV3NzSUl5Y2l0?= =?utf-8?B?MVI3U2lSbmhBV2RIeGViWHhrTFltdUc1WmpNZmNUK1REUy9wMmFuMjc4NDVt?= =?utf-8?B?b2hMSW5ub2xSd1ExYTdkc3Y5V21WcnU0RkZvZGtKR0N1Zk5qMWxsaHhBRll6?= =?utf-8?B?U1UvelN5RHZvZFpKRENWS1NzelFQd0xzR1l2b3JQMXBwUzRKUXNCbE1uY3ds?= =?utf-8?Q?cU4v3zupMw3mkIrw=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f46146e6-ebd1-45ca-5642-08dec63395c5 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 14:29:59.3036 (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: 8sYSOgnUnSJ1SNP4yVoFjmrorSdnnQr5Hl+QJFGwdTDjql/smyZDvLOiJO4ifaav4HN5n2ua2COAKt9g95iXY1qyYMCRJcVlECWOYrnMl0U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10911 Content-Type: text/plain; charset="utf-8" From: Ciprian Marian Costea On platforms with multiple IRQ lines (S32G2, MCF5441X), all lines are registered to the same flexcan_irq() handler. Since these are distinct IRQ numbers, they can be dispatched concurrently on different CPUs. Both instances then read the same iflag and ESR registers unconditionally, leading to duplicate frame processing. Fix this by splitting the monolithic handler into focused parts: - flexcan_do_mb(): processes mailbox events - flexcan_do_state(): processes device state change events - flexcan_do_berr(): processes bus error events Introduce dedicated IRQ handlers for multi-IRQ platforms: - flexcan_irq_mb(): mailbox-only, used for mb-0, mb-1 IRQ lines - flexcan_irq_boff(): state-change-only, used for boff/state IRQ line - flexcan_irq_berr(): bus-error-only, used for berr IRQ line The combined flexcan_irq() handler is preserved for single-IRQ platforms with no functional change. Fixes: d9cead75b1c6 ("can: flexcan: add mcf5441x support") Signed-off-by: Ciprian Marian Costea Reviewed-and-tested-by: Haibo Chen Tested-by: Enric Balletbo i Serra Reviewed-by: Vincent Mailhol --- drivers/net/can/flexcan/flexcan-core.c | 128 +++++++++++++++++++++---- 1 file changed, 111 insertions(+), 17 deletions(-) diff --git a/drivers/net/can/flexcan/flexcan-core.c b/drivers/net/can/flexc= an/flexcan-core.c index f5d22c61503f..f73ff442d530 100644 --- a/drivers/net/can/flexcan/flexcan-core.c +++ b/drivers/net/can/flexcan/flexcan-core.c @@ -1070,16 +1070,14 @@ static struct sk_buff *flexcan_mailbox_read(struct = can_rx_offload *offload, return skb; } =20 -static irqreturn_t flexcan_irq(int irq, void *dev_id) +/* Process mailbox (RX + TX) events */ +static irqreturn_t flexcan_do_mb(struct net_device *dev) { - struct net_device *dev =3D dev_id; struct net_device_stats *stats =3D &dev->stats; struct flexcan_priv *priv =3D netdev_priv(dev); struct flexcan_regs __iomem *regs =3D priv->regs; irqreturn_t handled =3D IRQ_NONE; u64 reg_iflag_tx; - u32 reg_esr; - enum can_state last_state =3D priv->can.state; =20 /* reception interrupt */ if (priv->devtype_data.quirks & FLEXCAN_QUIRK_USE_RX_MAILBOX) { @@ -1131,25 +1129,57 @@ static irqreturn_t flexcan_irq(int irq, void *dev_i= d) netif_wake_queue(dev); } =20 + return handled; +} + +/* Process bus error events */ +static irqreturn_t flexcan_do_berr(struct net_device *dev) +{ + struct flexcan_priv *priv =3D netdev_priv(dev); + struct flexcan_regs __iomem *regs =3D priv->regs; + irqreturn_t handled =3D IRQ_NONE; + u32 reg_esr; + reg_esr =3D priv->read(®s->esr); =20 - /* ACK all bus error, state change and wake IRQ sources */ - if (reg_esr & (FLEXCAN_ESR_ALL_INT | FLEXCAN_ESR_WAK_INT)) { + /* ACK bus error interrupt source */ + if (reg_esr & FLEXCAN_ESR_ERR_INT) { handled =3D IRQ_HANDLED; - priv->write(reg_esr & (FLEXCAN_ESR_ALL_INT | FLEXCAN_ESR_WAK_INT), ®s= ->esr); + priv->write(FLEXCAN_ESR_ERR_INT, ®s->esr); } =20 - /* state change interrupt or broken error state quirk fix is enabled */ - if ((reg_esr & FLEXCAN_ESR_ERR_STATE) || - (priv->devtype_data.quirks & (FLEXCAN_QUIRK_BROKEN_WERR_STATE | - FLEXCAN_QUIRK_BROKEN_PERR_STATE))) - flexcan_irq_state(dev, reg_esr); - /* bus error IRQ - handle if bus error reporting is activated */ if ((reg_esr & FLEXCAN_ESR_ERR_BUS) && (priv->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)) flexcan_irq_bus_err(dev, reg_esr); =20 + return handled; +} + +/* Process device state change events */ +static irqreturn_t flexcan_do_state(struct net_device *dev) +{ + struct flexcan_priv *priv =3D netdev_priv(dev); + struct flexcan_regs __iomem *regs =3D priv->regs; + irqreturn_t handled =3D IRQ_NONE; + u32 reg_esr; + enum can_state last_state =3D priv->can.state; + + reg_esr =3D priv->read(®s->esr); + + /* ACK state change and wake IRQ sources */ + if (reg_esr & (FLEXCAN_ESR_ERR_STATE | FLEXCAN_ESR_WAK_INT)) { + handled =3D IRQ_HANDLED; + priv->write(reg_esr & (FLEXCAN_ESR_ERR_STATE | FLEXCAN_ESR_WAK_INT), + ®s->esr); + } + + /* state change interrupt or broken error state quirk fix is enabled */ + if ((reg_esr & FLEXCAN_ESR_ERR_STATE) || + (priv->devtype_data.quirks & + (FLEXCAN_QUIRK_BROKEN_WERR_STATE | FLEXCAN_QUIRK_BROKEN_PERR_STATE))) + flexcan_irq_state(dev, reg_esr); + /* availability of error interrupt among state transitions in case * bus error reporting is de-activated and * FLEXCAN_QUIRK_BROKEN_PERR_STATE is enabled: @@ -1188,6 +1218,65 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id) } } =20 + return handled; +} + +/* Combined IRQ handler for single-IRQ platforms */ +static irqreturn_t flexcan_irq(int irq, void *dev_id) +{ + struct net_device *dev =3D dev_id; + struct flexcan_priv *priv =3D netdev_priv(dev); + irqreturn_t handled; + + handled =3D flexcan_do_mb(dev); + handled |=3D flexcan_do_state(dev); + handled |=3D flexcan_do_berr(dev); + + if (handled) + can_rx_offload_irq_finish(&priv->offload); + + return handled; +} + +/* Mailbox IRQ handler for multi-IRQ platforms */ +static irqreturn_t flexcan_irq_mb(int irq, void *dev_id) +{ + struct net_device *dev =3D dev_id; + struct flexcan_priv *priv =3D netdev_priv(dev); + irqreturn_t handled; + + handled =3D flexcan_do_mb(dev); + + if (handled) + can_rx_offload_irq_finish(&priv->offload); + + return handled; +} + +/* Bus error IRQ handler for multi-IRQ platforms */ +static irqreturn_t flexcan_irq_berr(int irq, void *dev_id) +{ + struct net_device *dev =3D dev_id; + struct flexcan_priv *priv =3D netdev_priv(dev); + irqreturn_t handled; + + handled =3D flexcan_do_berr(dev); + + if (handled) + can_rx_offload_irq_finish(&priv->offload); + + return handled; +} + +/* Device state change IRQ handler for multi-IRQ platforms */ +static irqreturn_t flexcan_irq_boff(int irq, void *dev_id) +{ + struct net_device *dev =3D dev_id; + struct flexcan_priv *priv =3D netdev_priv(dev); + irqreturn_t handled; + + handled =3D flexcan_do_state(dev); + if (handled) can_rx_offload_irq_finish(&priv->offload); =20 @@ -1761,25 +1850,30 @@ static int flexcan_open(struct net_device *dev) =20 can_rx_offload_enable(&priv->offload); =20 - err =3D request_irq(dev->irq, flexcan_irq, IRQF_SHARED, dev->name, dev); + if (priv->devtype_data.quirks & FLEXCAN_QUIRK_NR_IRQ_3) + err =3D request_irq(dev->irq, flexcan_irq_mb, + IRQF_SHARED, dev->name, dev); + else + err =3D request_irq(dev->irq, flexcan_irq, + IRQF_SHARED, dev->name, dev); if (err) goto out_can_rx_offload_disable; =20 if (priv->devtype_data.quirks & FLEXCAN_QUIRK_NR_IRQ_3) { err =3D request_irq(priv->irq_boff, - flexcan_irq, IRQF_SHARED, dev->name, dev); + flexcan_irq_boff, IRQF_SHARED, dev->name, dev); if (err) goto out_free_irq; =20 err =3D request_irq(priv->irq_err, - flexcan_irq, IRQF_SHARED, dev->name, dev); + flexcan_irq_berr, IRQF_SHARED, dev->name, dev); if (err) goto out_free_irq_boff; } =20 if (priv->devtype_data.quirks & FLEXCAN_QUIRK_SECONDARY_MB_IRQ) { err =3D request_irq(priv->irq_secondary_mb, - flexcan_irq, IRQF_SHARED, dev->name, dev); + flexcan_irq_mb, IRQF_SHARED, dev->name, dev); if (err) goto out_free_irq_err; } --=20 2.43.0 From nobody Fri Jun 12 01:36:09 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.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 CAA5C3438AF; Tue, 9 Jun 2026 14:30:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015408; cv=fail; b=qameRTMlleAQIPiN3KlxLT4eG/hrbFCgOMUA5ZQ0olxjdcMbeakX4o0a7BXN6wYEgsRTql7Rn9UCIZRWbawA6nec5TmCQdIPoWC/imPuz/zG3Fg1e4JBlMyJE4x2jSrmUIi7KQ8kDhkPG6x9H7+gnVjoDDSmsj6TZ4NXVfsr/gA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015408; c=relaxed/simple; bh=6K5ovCF7LlLU3RuXRapYSM6s03UgxstRKBaIyMdwDbc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=pnPtVcHAovXwHkvg8+/YSHPAQY7yVaDKGjReKrHWq6v6wfrRO4+uJMXDHLnZ85gNK7KIZqDstLcJBpTxAgQCm+0BGfgRi/RBYhYPuBh9XjDcaNUt+4kCfMEJ6z4LJHucdzFv2UVh5q/CpFdB+RVTU5X8fZOlvsU9kg4dplhKC5Q= 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=nu+jCJW+; arc=fail smtp.client-ip=52.101.84.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="nu+jCJW+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=So23xyBAaR+8gGpPNC5OGgbfPbE9OfyaPtBhjEqMDHiUkcuzMXkm+u9ciXheQg3I30AudgEJwZ+f9xoShTPQBFgdzDR+fXI+bCp2u8eMNhDtx3zGa6yDZ2SWOImXRejTF3QoDnqdwXxN1ywlfGIcCrDykR2xdfdxH+1yxgbAI2QVnfNeOZmMVSpNjlqZuvDg4N9IM/+K7czI6KiWx/1wY6oT6rqGl/Xzk0Tb1vbsPsn33ZPX8P/5u+YBdWhVp4jGLc6+XyAuKog/CeU0meqGKR0rJZuWo+HQ1jlUM5ImMIJ+DibMwCOEdmoyGuAm7Rw6L30wy/6V02qWyJ9iIVA7rg== 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=AKgIOGR2T5gCFT7G6SceF4Xob+IkVeidoEyct8TGBB4=; b=Z8opDzwKRTiBpe83QPXo9bjReGWYryZ86A/T4l08+qdCevzXfkADwaxFvv1lkyQSgIevxeXzpo38jikEKufo7X8pID5PZhpe9fx9BgMyPadfyXLNfW780Eu8a+8DNe3YUGfhahZK7UcYV8PpHq/aNLuI+QnLw6tgbMUpHxKQu924N//M1Kj5anYjPnb9jhvn6nTbztWJQ3Yip6SBfcgRMS/ecS8FI5wOl+n/rswz1ZrBKTgDpSM3tGpHu15VqaaejHFl04KonhqvU+92+gWfUZ35J8QY+s1XaWao2hC2rwGukTezBUtsyzYEclKccDV2CpCuu9aaAAmypqBBNufpAA== 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=AKgIOGR2T5gCFT7G6SceF4Xob+IkVeidoEyct8TGBB4=; b=nu+jCJW+rKD/rP9kceSya43/WkjwKR8RnvsOTyMvncHdVxpjg8OdWKHiT1wZzfGv60YRQnnRx8yF4k2TfsTgSWyOvnn/CjTtKZwa4jTueXsW6aP2OOx5otC1W6L+/GXzzMbi4haW1HSmVBYtFWY8cJDndnfHG4HTW2uKLipPgiMza0bQsDO3pyDVTveRujqtLGnMIBqV+WxAIwCqVm4B9re5pP78Aqz9YQFZ8iGQfLc5N8RynmTyiNIOGMsp0HwOugh7r7W1J9b4nsfhlEacAQI+PtpWhDRwVKOh49Gj8tDDfwo7PKbjRbpNfEWrrZRPfRRM8TKmcFYwIYLWILy0KA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) by DU4PR04MB10911.eurprd04.prod.outlook.com (2603:10a6:10:58c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026 14:30:00 +0000 Received: from AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6]) by AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026 14:30:00 +0000 From: Ciprian Costea To: Marc Kleine-Budde , Vincent Mailhol , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Fabio Estevam Cc: Pengutronix Kernel Team , linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Eric Chanudet , Ciprian Marian Costea , Haibo Chen Subject: [PATCH v5 2/8] can: flexcan: disable all IRQ lines in flexcan_chip_interrupts_enable() Date: Tue, 9 Jun 2026 16:29:48 +0200 Message-ID: <20260609142954.1807421-3-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> References: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0142.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::8) To AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB5858:EE_|DU4PR04MB10911:EE_ X-MS-Office365-Filtering-Correlation-Id: 00a03860-e5a8-4798-1542-08dec6339696 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|1800799024|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: HcJJhNGadgnY2aLnDy5VuzBhnHkX1MEGWsXD4JdlEC5PCuoaIgymV6n7DLcJxx8ecenWB+D1L6cUawuQBRW09Wepow9P7u3ET/FbhNjoapRkgAkyXNemLeebuhSx5ifPE5mD4hhArD9tg2IAeJ9neRtpdDDyhZSw2Sj+CXxdmBEcvynoL/7Hvvob3sjMaqRIHZNT3RL5NSLJveY17B1JNKc/e382eZ3k75A8Cx/JxMq0qWv8BTaCf4hizIWfp8V1Nj0j7ZWOFMu2YYgIWggayN4AkXZoYVtxvM23EsVtQHCE8EuSiyotrVWCp1cJTzEXZasvVZDhR/rIkOmaNKJW6hsqVo+BLNXvf0+SNubrCYXHGnWweeLSoxeiMJ3MxmYBzs0r+KQYVKM3JzqdG397gTWdo0E8s7h5YJgAwo18iBOppVtl/Ze3CrdLDfyXaExBX85unYMLKIkX5KzhTfThiwgHZfIAzfOivzLb58IJFZd1EV2HMhL6JggRn9HJhFZEbJ4tJPZepoayZsMr9/ptsW2I75vYxNcAbUrnNGe2dIzrz8iXAMryt+gSEr96hDhTru6skrpA/kOE4LU5L/nNUtPG75tm2PqJh399hi/CrEc8dJeltioq3tHcIrzM28NPRJtFMT6qe2sv4I5R0Jl95b7qbjK/HHe125YMHxX3+Q9Yzt4oZddVygcbf/u/0bgg X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(7416014)(376014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aDkyTmFaYWRpb1RVYVlvVXFSQlpSMVM3ejFxbUgvUXVHb1E3S3VmM0dDbTBy?= =?utf-8?B?UVp5Qnc4K0dZcmpGOVorL21XRWMyT3lkQzRHMmFyeXUrQTVFQVFhNFEvOTRE?= =?utf-8?B?ZE4zaTlRSFlzNjZJd0JpdXh3dGk1aktTR1NrMnlFOXBlQStVd1BPaXBrS3d0?= =?utf-8?B?eDFSbHVZLzUvMTdtYnVOSGl0ZVFLeVdsNFVVdzN6K2xvSk1oTml4d2MvcDVx?= =?utf-8?B?dXNxbHZkUTJKeXVpUXdrWFlYQ2ZyVnN4aDBva2hTRlZBWWZ4OC9Ya3lFN0lT?= =?utf-8?B?WFpSTnhGOE9OTzBiLzNmN3BUVzBzTURvNUxvMERlWnBXWmhhWFpqMitUY3VH?= =?utf-8?B?aklnQ1d0bTJVb0JtUThtZHA4VEZ4amdXQVdxem01ZkN2TUxlMmlKcSt2dkNp?= =?utf-8?B?d2JKNnhzbGgreDJ4L0lwc2NNa2I4cmsrd08rN2x0UGIzSmVyKzgvS29LSThR?= =?utf-8?B?ZGtJcWxlUEoyVmsydUFGZkFzSkpadkppYkxaZGVXUnZSQWVaRHJXYm1jdy9B?= =?utf-8?B?d2JiZkpUay81R1hXL0QveTREcWtmOVEzck0xTFFmSENEQjFENkdrbzJIRXIw?= =?utf-8?B?SDF5dENEVEFwbTJSQU9CRC9xK2lIQVorK3JobWY1eWVPd2g2ZkNkK2xjZVEw?= =?utf-8?B?N1FGSjI5UHZVVFNsWmpBdGNnUW10UEg5Y29pNkpRM0RtUUhKL256ZCtrZ0dY?= =?utf-8?B?V0R1ZVRDc3BiK2c4RXNnb2cxT1NuMTJDdXBNRUphSEUveC82dEJtcXN5QUxx?= =?utf-8?B?Y2VCMmhwb1JSem1mYTZsandUWmpaYmQ0S0pha2lVTjRDcEhpakRja3lkNFRq?= =?utf-8?B?Y2l4R0lLOEMvZG9ZNFV4ODY4eUhJZTFyNFlvVFFxNVA0YTBFZng3MkVGY2hM?= =?utf-8?B?bksyUWs3d25pZHFXc3NhbCtZZnhWWjFEdm9XR3R6R1plZUdMdUtKWGVhMDdn?= =?utf-8?B?QmJrdnJrVytOVHRHK1o4dlZXRk5BQlNQdVUrL1NCTmwrNTJjTU9KVWhLUGU4?= =?utf-8?B?cGlhbFJJaitFYkwyYXN4VTJ1cDhaRmZXRjFkdVJoZFpTcG1VQ2c0MVYvN080?= =?utf-8?B?dUYyRFNyNDVUTERmLy9UWWRMRTFodWY0RjNhdG50UitkS25EV09LL3gySVQz?= =?utf-8?B?Q2laUGNqNVZ4NEhUMG9XblMyQjBoa1A0SVBRY3N3Mkd4Ykp3R0Y4anhOQzZV?= =?utf-8?B?THkzNWUvdWx4YVRBRXZXcHVIZk1OZmZoS3o1WkRFRGUwYmdLUHhURFMxZjBK?= =?utf-8?B?cW9BVEtZWFk3aThFVDdEZUpiMFEyVGlSUDBCN1Jwc0F6TUIwUVE0U3VGTG9W?= =?utf-8?B?R2thWjRtRlMydlkzQU01eXhZTWI4a0J0eUFCODhqYytTU09TQjdXY09LektS?= =?utf-8?B?R1hPWXRpR1AzWW5ubll1WTZtN0NyVDJoWFpKdTUvMXF1bElTN3ZmUGttTnIv?= =?utf-8?B?SkpXOHE0bFpNNXArOTgvYnlRTjVTUDVMdTl2UmNTdHJUR3JiNzRYL2NjcTY1?= =?utf-8?B?SitGR2V6UmhtTzJ1Z0EyU21TRllVWmMzMEt4ckZVRSt0b3p4ODkxL0g3eUhS?= =?utf-8?B?Zmp3NnBoZ1AvMW5NWTczNlIyTTlENzFzUjNJYnMxOERMOUFKRVBlOE80WEo4?= =?utf-8?B?cnozY0tqQXVMb1BUTlJ1cXE5dzJKWVhVSFZrMmVKRW80MUFHMmF4UTNWQSt0?= =?utf-8?B?bE9GYjduWjVjR1pRejJESkg3OE9IclVrUjRQQll2dVlxQS9CQ0Vkd3dmSkNB?= =?utf-8?B?RjEzNlFDQ3RNYXRpV25XOFFYMHozM25mMUpnSkk3NWJseDNxWGpIV1JmUjRo?= =?utf-8?B?RldBRlkwa28rWjBJZk5uU29KWlUxbisramlEQWZNZ1g2d1FaWSt0bi9abFdx?= =?utf-8?B?R3RETmk3ei84Z0E1VnZWM2tCeTVwYUkzZEZrcHRGRmI1TFFtUG9PbjZBdFpq?= =?utf-8?B?R2NKUGxsQjZYOTc0cFZWZXdsaUdBUzBoT2FBb2RiU1JVZWRtK3FzUUxRWDRj?= =?utf-8?B?SzBBc3NvbDZvUzZUcUZpSFdSdml1RnEzTFpzcEZFRlFacjVjZm11dThZMCs0?= =?utf-8?B?Z3RxTUFxLy9SVVFRL3N3azB0ZWdha25DZ3IvU0h2YTN3aWl1S0FmT0lwbHdD?= =?utf-8?B?dEhEN1YweUE2WU9yenJtMDF5U2p0enV1am5DcG9ZQVZvZjdiLysrWE5JeDZk?= =?utf-8?B?TnM3TWRkcVJiVnBDZlRWdFRqNngvQkdWdlJZd3gxa0JwcWVGNWROQ1U0ZjNx?= =?utf-8?B?VzRhMHRpN0RmQm5md0RnNDVvWjk4UytDOXk3OHM3SjBBMkNFa0RQWkpDeW9E?= =?utf-8?B?WlZpbW16M2hUYW5TdC9Rc0hIZmcwa29mSHV4M2d4T0cyaHJha3J1c3Y4RUZH?= =?utf-8?Q?kA0uzxe9Chgi/hdU=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00a03860-e5a8-4798-1542-08dec6339696 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 14:30:00.6408 (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: YRGe9DuhQ0P1XcuzT+s8m+lunZAuZUoIq0KJKnDuG1LbuYfvZ56HNdOxZGzSgfGjdq8HfgpCx246XQz1g/S1CdonlIHJAr7IgFzIYCT0Ml4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10911 Content-Type: text/plain; charset="utf-8" From: Ciprian Marian Costea flexcan_chip_interrupts_enable() disables only the primary IRQ line while writing to the IMASK and CTRL registers. On multi-IRQ platforms (S32G2, MCF5441X), the additional IRQ lines (boff, err, secondary-mb) remain active so their handlers can fire while registers are inconsistent. Disable all registered IRQ lines around the IMASK/CTRL writes. This also fixes the resume path, which calls this function. Signed-off-by: Ciprian Marian Costea Reviewed-and-tested-by: Haibo Chen Tested-by: Enric Balletbo i Serra Reviewed-by: Vincent Mailhol --- drivers/net/can/flexcan/flexcan-core.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/can/flexcan/flexcan-core.c b/drivers/net/can/flexc= an/flexcan-core.c index f73ff442d530..7dde2e623def 100644 --- a/drivers/net/can/flexcan/flexcan-core.c +++ b/drivers/net/can/flexcan/flexcan-core.c @@ -1519,14 +1519,28 @@ static void flexcan_chip_interrupts_enable(const st= ruct net_device *dev) { const struct flexcan_priv *priv =3D netdev_priv(dev); struct flexcan_regs __iomem *regs =3D priv->regs; + u32 quirks =3D priv->devtype_data.quirks; u64 reg_imask; =20 disable_irq(dev->irq); + if (quirks & FLEXCAN_QUIRK_NR_IRQ_3) { + disable_irq(priv->irq_boff); + disable_irq(priv->irq_err); + } + if (quirks & FLEXCAN_QUIRK_SECONDARY_MB_IRQ) + disable_irq(priv->irq_secondary_mb); + priv->write(priv->reg_ctrl_default, ®s->ctrl); reg_imask =3D priv->rx_mask | priv->tx_mask; priv->write(upper_32_bits(reg_imask), ®s->imask2); priv->write(lower_32_bits(reg_imask), ®s->imask1); enable_irq(dev->irq); + if (quirks & FLEXCAN_QUIRK_SECONDARY_MB_IRQ) + enable_irq(priv->irq_secondary_mb); + if (quirks & FLEXCAN_QUIRK_NR_IRQ_3) { + enable_irq(priv->irq_boff); + enable_irq(priv->irq_err); + } } =20 static void flexcan_chip_interrupts_disable(const struct net_device *dev) --=20 2.43.0 From nobody Fri Jun 12 01:36:09 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.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 61B99345CCA; Tue, 9 Jun 2026 14:30:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015410; cv=fail; b=SnU2xi40wa5Y3Erb/xkcRseTQucPX5O7FGL8v1ii7ePRJI862Q/VX9JyCrWj2lLgu7WWSCn71VySZ0lIGyAswOfdyPC68nSBaCCPxaqXCZxLtOAk7+sOQO3KwXGnW1iCKYt/utnOLkOK10Pz//BH7TOl8BL2mgMSp28pq/TWz5w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015410; c=relaxed/simple; bh=7eKYA49tbx+/BIXFqZlln8IoXN48q9SkYGfKr1mUY5s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=IVlKOW1XWEfPCq6z7Ysm+srsXeFCdMD7gvL50QMtxYEl8a0MIHDtB5W0GOoNtf1pkkaRV4ziIyuDnpfwOoLVDSYfmcnaa4irFi+1Ep0BjMrcDia0hRJYgH3uAav5GDQDtTCImCDU9wiceOm+2UWQWYY/jbEYBzIe8l/iAW3nn7k= 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=E1QegzRK; arc=fail smtp.client-ip=52.101.84.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="E1QegzRK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Fo4QlWQonPcJ9UijSfUmOz7SFyRTznNg8IsscXpTH/XMgmODsMuQ2Dae3HXjHjvK30rlJ7qq5W8bcxxs7jyHUY1k56nsrWnCovp346GZXBFPAHZDQDnojrBSg6Rfnllo+Y0af7dBQp7yVgT6dpgRRuM0KIHGPbC8ilM1doWlIZgbzdtad6ar1F/j+aGmEwwhcAT8nBJOdDo7ElcVFkHUUTCwCKnWNg+NBnC1aueznn+vC5UV9hSfviScnAaTTqlpGxSvfxZljhZey76L8D+ujcMNdxsK2YZa/qPlnH2SQ2rbWvnmpjqNRf1Fkg7wQaa+XUqTex7KZmr/S3AToUSHHw== 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=+vN9VnTNJVtY1c5Yj09rWYJO/BcFlEGABjeIjd2gzv8=; b=IV/uv33OXpmE0XE1UuwvIVs4n4homEQYYqdVdXW3Kd9sTys23Ox3Y7y97ZrxRkteNHNxTUqc8u5+JKutfAxkwZpi63snxGP64zoIf/CPmkbdlH+MVX0PM3DDbY1z7SDX/GRElg/YHVICvuNk26pH0R17EzPjyyOStU2N5gd4Hqdy/zGRlFpW2yXYOxUZ4bq8bknXXkNJUvTKEHN9nzqfBzRfioET722zXxrtyV3u/Li1egmS91jNm1wScUEhFbyfn/35u+V0gVIQBZRSViTUOK6eLSvpI0HB/e1ILwQP0O3qyKYOiCqPSDmtj823Q8c3/YI2MKrQH7UdQUAt27Pb5A== 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=+vN9VnTNJVtY1c5Yj09rWYJO/BcFlEGABjeIjd2gzv8=; b=E1QegzRK31xFUZuL+sJgrN24NDnHKcCHrvZ0fHn5mSLkrQ4GEOqgLElnaCNW6kUUT9OeZZbAQA5Yb1Rg++qbofKuckCMs8DCPdg4JkASFALWDnKw3Nk7qeBNtB+97cvNePACz5miWKR+U0p9BRpMdTl4zFTQJ69CKNn6jydSkIONqVueElLW/Z8//9/FxFL1Zu4EY7dyPkiy2SXi0sbbDTpZbIvpk0O38EUQmWz0cimlER8VWa5fhMg/HDA63pTXfWXAAVtLa1QJO3smPhFryA/e6p8nqcKfuN75H3CNRS2/ajvVn0F470LBU+8QHB2yGeM6wJ0Cc1o88EETfzA3uw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) by DU4PR04MB10911.eurprd04.prod.outlook.com (2603:10a6:10:58c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026 14:30:02 +0000 Received: from AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6]) by AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026 14:30:02 +0000 From: Ciprian Costea To: Marc Kleine-Budde , Vincent Mailhol , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Fabio Estevam Cc: Pengutronix Kernel Team , linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Eric Chanudet , Ciprian Marian Costea , Haibo Chen Subject: [PATCH v5 3/8] can: flexcan: split rx/tx masks per mailbox IRQ line Date: Tue, 9 Jun 2026 16:29:49 +0200 Message-ID: <20260609142954.1807421-4-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> References: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0156.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::13) To AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB5858:EE_|DU4PR04MB10911:EE_ X-MS-Office365-Filtering-Correlation-Id: f5c3a93c-9cfd-47bd-2483-08dec633975f X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|1800799024|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: GIQ6mcsOlFsYCCUj2C3ra2wTx+WY2Uvk9Yl3VteZ3iomw4mpEg4HebeO6ggiiqr4ZwpCJWLzJ7xGpuglLgdhXpuGdou1/A3ft+WueFzgUseZkdcrzlD7TsWXEszq+/YzJBSh/WmcaPzQ3G9MtPHucnKBhytBOenAcCdqnoIivziEQNBIVqu9oKvSpTLFQn+0gQMUwdNn9O6uGyTnFfyN3uRx0AY7DS1zOh7ZnBhuOtmqt9SKa/apJ4VZdyrLNBXIeWqpKsTxa4qcCZIZ0AHKsS67Sd+pzpVrXWv5IIT62hvCg8vub7aNorYkg/a+eFkrQ/H/UR7yPydUJeQ+xrt+LWhVdtJh0gqJOwrKRT9waReaNMQ0bypCExjQybWpHnNOpxo95nFbb69g6j5Gbf6m5noKsUs97ozTAAWlrZioO5sfCh6xlTdaT1LzIl3hANg1rakQGZpWcy97ski67LXXExeswpBOHCgEpKh891woxhJ4RfwL3M6mZeZFTyBAAl5wFjdyKwud4PV8vYybXpyLyx/zKDIu8ocn8b2MSQ+zxZNKSvroINF7yx3RVL9dKqzvh+uEIWgtKWoiE4/sdrQ660S/Rl7sG+OK1DjRg2glelbd/GaeDMNhlKwuvzoYwX0sJNzM0TCXWJI0T85nUKMClmjhAwAee/cpxNcqCVLHXVnzz476EOKe9vRHEowpRa6+ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(7416014)(376014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a1FZY0FVWGd4aFI5cGNzQ3c2SXRFcnBWUVU2dTJOMTkxWWRqTmNKTFgvWXJ4?= =?utf-8?B?alNEdXpVbUhPUVZzNW90MGR6amdNMGx6WlhpNHArbjFQM3BnVWxJbmxKdy95?= =?utf-8?B?VCtYWlFUWjNHTFZGRWxPczBuV1NvWHZ0Nm94QW9USnBLWG5mZldMSFlZSWYv?= =?utf-8?B?aXl0SzdjVXZaRnYyZEQxM0FoVXZIZlpvb0l5T0JSS0JxNjdxM0dZc0E3OXJN?= =?utf-8?B?SWlXaFp4bWYwN21xcnRCUDdTTFVaRXdMRUtxbis2cDJaL0VzTDExUFVUMmty?= =?utf-8?B?UDB2Yjc3RXdVbm1tQjdUcWd6UFRya1FqK2ZkbFYzNU5MWXRwR0dWelFGRWpz?= =?utf-8?B?cjF5QVRRY3pzQnM2cy9MT2N1dVJWUHUrSk5SbitOeU1qdWNGM0s4VXVtNytv?= =?utf-8?B?emVpSWIxMEtXVE9mRGVOdXRhbU5hT2JMSCtKQU9iakdyWXdKT2s1UjlYT1Q1?= =?utf-8?B?eGpkQW9hQTMyYWJYUWVNK21OZmhTS0pVRkFhVVlveGRmMk1rUTRDcEtMWDlu?= =?utf-8?B?WmRmdmt6UE1uR1dkdnFvMWxUT21WMGdJckVCUDd6L3hjbFJNWktuaW9nNWx2?= =?utf-8?B?MTVnUjF3SkQwSXdvZ3VrQmIxalkzbHNZSTczdHRWMzNtODJCS1lpbnl6WWVq?= =?utf-8?B?RTUxdTlTSXJFV1R1MysvZWxNb0NFZ0JDbjRMUWZhbXRwWkY3Q2hyT1VvbndE?= =?utf-8?B?YUpRaGplN0EvZXV1U2UrZWVTeERnL0V6dkV2RUc5VnpUV0tiV0JTTXl4OEFl?= =?utf-8?B?ZGRlaTcyQ1hwL3VHTG9pYzdtN1JRdmxhSUdBUGF4Y09SckZLNmVCOTZTSXov?= =?utf-8?B?MTd5NGRRc2NFakl6TXA4OXZOZU5kS3lhWFNSUmE1bmJXYzdGMWJvd0M4Z1hJ?= =?utf-8?B?L0VQcVRTZE1SWWlKTnBYSkFPOWd2L2I4TVlPQ0NHekxvMHNVM1poQllnWW5R?= =?utf-8?B?RERCV0lueUR4dEpZS3BONzZPYUZXNHM4emNTRlVtYlphWCtNTFNjVjU5TEk3?= =?utf-8?B?bVV1UGlOcjBqdkovLzYya3pvWTVCQWtwTGx0SDdvSGE1QkJiaGdvaTFreXhQ?= =?utf-8?B?cGhkZFJyQU9tdjV1ZnhSMXV6cFZaM1Q5VmdURGFUMzJjTTJ2YW5mUkpnbGNV?= =?utf-8?B?L3A5WlNScWhGQVBHNlNTVERKcXd2Z0ladkluWXo3N3pPWHZ2ZGhpTEZlVEZJ?= =?utf-8?B?eXZwSGRXZW85MWJNcUl6WGxFOWNGVlVGdXhyWUl3VW1ZRnhOZU5zb3hyUmlk?= =?utf-8?B?RWF4eEdTVTRzaE96bHI2d2M5aGZrdFhRT2Qrdks3V3c4bjluU09rSHRjYnpn?= =?utf-8?B?R2hDbkJBb2wwN2VrUzVHNzVCZlZVR2NuQVR6anBmR2MzMGZnc1dnMlljL3Na?= =?utf-8?B?M1lIYjJDd0plK3BxMVQ5anFqNnpOTjYwcG1PT0hxWjVlakUxeEdZMjFtMDc5?= =?utf-8?B?M2Z2QkMvMVNNUGRiQ0ZWZU5hM2txK2hvVXlTTHR6Ly9aQVc2ZnFEZUFVQmc3?= =?utf-8?B?WnpWMStVVkxTRzQ0Ymo1TnRxQnFYcTlBK3o3Wk1vQ3RpQW9yK3VNZnhOcXlz?= =?utf-8?B?RnJxY1ZrejFob3hwUjhSMExiQ2NmSElISDJDWVR5S0ZSN2J4UjVPaGFpblZj?= =?utf-8?B?RE5PaEdtRVQ3UUhldFJka0hWeEdjd3RycjhJeDRPZkVlaHY5bnVTRFYxM1I4?= =?utf-8?B?MTZ6V2RrWG01aEQyTHFYRzFRL2NJVWNrUzdmbGwwejBjZGp0dkpRYitCa2Y1?= =?utf-8?B?MjZkTUhuRk1TT1BTc1JuYjhWZWl4c0grK1hVeDlmM1A1UVJ2eVdQMklZS2RH?= =?utf-8?B?QkJoaDNHbi9NMjdmdjk2KzV6TXAzNlpnck1LRWkwaHY3R1BNSkluakVRZFlQ?= =?utf-8?B?eFZQWTYyY3NOSFFsSjdSZ1JSN1NLbDBGc3lONlV2by9BMnNNS2hMazltUk1r?= =?utf-8?B?R1ZlYVlZSFk5aEV2ZnR6Y1Nkdmh1SU9NZit3enV6Rnp5MThkbjV2THM5U0VI?= =?utf-8?B?dTBnR3Fkbjh3NUg1SllUeCtzQ0l5cHhTNUROZ3llcGsreWNsdnMzZkNFY0g5?= =?utf-8?B?VWQrcmgzVStHUHlnamkxUGZScUhKSXJxRE9WM2RHRmV4ZWdEdmJSVnhLeVNE?= =?utf-8?B?UjhNK2JETzYxMXoxdXhLT3BRMHRRQnJvbWQ3ai9pVlI2c2JlL2lBMnA1eGJ1?= =?utf-8?B?RllyQTRxc3BGa3gwSnpHMFRlR3JIU0hRNkNJUVBzeFFKeDU3UVQrYmk1SU52?= =?utf-8?B?TGhOSFkya05lNlhFbW5paHhXRG83ZDdxWUwvRDJoT0lwdzVNOWZkQ29EVTN4?= =?utf-8?B?WDV2ZXlySFBEOVRDd0MyQ1hTSzc5OSs0ejQ1ZEZSVVFhdWNoY2pNd1ZpRUVP?= =?utf-8?Q?Ve4xkeSEMydL+NaM=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5c3a93c-9cfd-47bd-2483-08dec633975f X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 14:30:01.9729 (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: zvdP++TPtR+9dHKL8uTilFngFW9IPyPKqJr2S4lrsfCYtHptUjLPnr2ntzFsj1pqXtMzNiOnxhUKhgVQa/Z5+2UCarWX6kFtyWWgzAjBRvA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10911 Content-Type: text/plain; charset="utf-8" From: Ciprian Marian Costea On S32G2, which has two mailbox IRQ lines (mb-0 for MBs 0-7, mb-1 for MBs 8-63), both handlers currently process the full rx_mask/tx_mask range. Introduce FLEXCAN_SECONDARY_MB_IRQ_MB0_MASK and FLEXCAN_SECONDARY_MB_IRQ_MB1_MASK to describe the split, and pass the selected mask to flexcan_do_mb() via a new mb_mask parameter. In flexcan_irq_mb(), the irq argument selects the correct mask: the primary MB IRQ uses MB0_MASK and the secondary uses MB1_MASK. For single-IRQ platforms, mb_mask is ~0ULL with no functional change. Signed-off-by: Ciprian Marian Costea Reviewed-and-tested-by: Haibo Chen Tested-by: Enric Balletbo i Serra Reviewed-by: Vincent Mailhol --- drivers/net/can/flexcan/flexcan-core.c | 39 ++++++++++++++++++-------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/drivers/net/can/flexcan/flexcan-core.c b/drivers/net/can/flexc= an/flexcan-core.c index 7dde2e623def..0ed838f0719a 100644 --- a/drivers/net/can/flexcan/flexcan-core.c +++ b/drivers/net/can/flexcan/flexcan-core.c @@ -182,6 +182,12 @@ #define FLEXCAN_IFLAG_RX_FIFO_WARN BIT(6) #define FLEXCAN_IFLAG_RX_FIFO_AVAILABLE BIT(5) =20 +/* On platforms with FLEXCAN_QUIRK_SECONDARY_MB_IRQ, the MB IRQ lines are + * split. + */ +#define FLEXCAN_SECONDARY_MB_IRQ_MB0_MASK GENMASK_ULL(7, 0) +#define FLEXCAN_SECONDARY_MB_IRQ_MB1_MASK GENMASK_ULL(63, 8) + /* FLEXCAN message buffers */ #define FLEXCAN_MB_CODE_MASK (0xf << 24) #define FLEXCAN_MB_CODE_RX_BUSY_BIT (0x1 << 24) @@ -957,14 +963,16 @@ static inline void flexcan_write64(struct flexcan_pri= v *priv, u64 val, void __io priv->write(lower_32_bits(val), addr); } =20 -static inline u64 flexcan_read_reg_iflag_rx(struct flexcan_priv *priv) +static inline u64 flexcan_read_reg_iflag_rx(struct flexcan_priv *priv, + u64 rx_mask) { - return flexcan_read64_mask(priv, &priv->regs->iflag1, priv->rx_mask); + return flexcan_read64_mask(priv, &priv->regs->iflag1, rx_mask); } =20 -static inline u64 flexcan_read_reg_iflag_tx(struct flexcan_priv *priv) +static inline u64 flexcan_read_reg_iflag_tx(struct flexcan_priv *priv, + u64 tx_mask) { - return flexcan_read64_mask(priv, &priv->regs->iflag1, priv->tx_mask); + return flexcan_read64_mask(priv, &priv->regs->iflag1, tx_mask); } =20 static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offloa= d *offload) @@ -1071,12 +1079,14 @@ static struct sk_buff *flexcan_mailbox_read(struct = can_rx_offload *offload, } =20 /* Process mailbox (RX + TX) events */ -static irqreturn_t flexcan_do_mb(struct net_device *dev) +static irqreturn_t flexcan_do_mb(struct net_device *dev, u64 mb_mask) { struct net_device_stats *stats =3D &dev->stats; struct flexcan_priv *priv =3D netdev_priv(dev); struct flexcan_regs __iomem *regs =3D priv->regs; irqreturn_t handled =3D IRQ_NONE; + u64 rx_mask =3D priv->rx_mask & mb_mask; + u64 tx_mask =3D priv->tx_mask & mb_mask; u64 reg_iflag_tx; =20 /* reception interrupt */ @@ -1084,7 +1094,8 @@ static irqreturn_t flexcan_do_mb(struct net_device *d= ev) u64 reg_iflag_rx; int ret; =20 - while ((reg_iflag_rx =3D flexcan_read_reg_iflag_rx(priv))) { + while ((reg_iflag_rx =3D flexcan_read_reg_iflag_rx(priv, + rx_mask))) { handled =3D IRQ_HANDLED; ret =3D can_rx_offload_irq_offload_timestamp(&priv->offload, reg_iflag_rx); @@ -1110,10 +1121,10 @@ static irqreturn_t flexcan_do_mb(struct net_device = *dev) } } =20 - reg_iflag_tx =3D flexcan_read_reg_iflag_tx(priv); + reg_iflag_tx =3D flexcan_read_reg_iflag_tx(priv, tx_mask); =20 /* transmission complete interrupt */ - if (reg_iflag_tx & priv->tx_mask) { + if (reg_iflag_tx & tx_mask) { u32 reg_ctrl =3D priv->read(&priv->tx_mb->can_ctrl); =20 handled =3D IRQ_HANDLED; @@ -1125,7 +1136,7 @@ static irqreturn_t flexcan_do_mb(struct net_device *d= ev) /* after sending a RTR frame MB is in RX mode */ priv->write(FLEXCAN_MB_CODE_TX_INACTIVE, &priv->tx_mb->can_ctrl); - flexcan_write64(priv, priv->tx_mask, ®s->iflag1); + flexcan_write64(priv, tx_mask, ®s->iflag1); netif_wake_queue(dev); } =20 @@ -1228,7 +1239,7 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id) struct flexcan_priv *priv =3D netdev_priv(dev); irqreturn_t handled; =20 - handled =3D flexcan_do_mb(dev); + handled =3D flexcan_do_mb(dev, ~0ULL); handled |=3D flexcan_do_state(dev); handled |=3D flexcan_do_berr(dev); =20 @@ -1244,8 +1255,14 @@ static irqreturn_t flexcan_irq_mb(int irq, void *dev= _id) struct net_device *dev =3D dev_id; struct flexcan_priv *priv =3D netdev_priv(dev); irqreturn_t handled; + u64 mb_mask =3D ~0ULL; + + if (priv->devtype_data.quirks & FLEXCAN_QUIRK_SECONDARY_MB_IRQ) + mb_mask =3D (irq =3D=3D priv->irq_secondary_mb) ? + FLEXCAN_SECONDARY_MB_IRQ_MB1_MASK : + FLEXCAN_SECONDARY_MB_IRQ_MB0_MASK; =20 - handled =3D flexcan_do_mb(dev); + handled =3D flexcan_do_mb(dev, mb_mask); =20 if (handled) can_rx_offload_irq_finish(&priv->offload); --=20 2.43.0 From nobody Fri Jun 12 01:36:09 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.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 5C46834A78F; Tue, 9 Jun 2026 14:30:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015412; cv=fail; b=Qj9Utg9vURL43K+nbCgRrUksPXrdDREZelCK9ecYiTi7axBqZjhxeiYq1319LSoH/lnuSet7tcn+8b2m+dv4rIp2N5QvvUjUjtox0ti/ZB5laADeHQUw8pUK2aZY7yTCyRHzD0Raz0VAVilYKNectgvQsa70Qryia08zSEshwWw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015412; c=relaxed/simple; bh=DI8NbWiRRAIb+JDEt639lowZjnGhU8VOLTZ5BPXZH48=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=uBpKCb6gw1rmN1j6NzWNIkRnwdPuohTECA67I6f3psHNEKrLJNT4hmOcNQQx+8JJzwKyIRZFV32MzxRAkG7El153sp56WK1IkJj+5xzbm8iCcO3boDQEPC6t7eYCJ8fUtgkcuejz0yt4Tzm8aPOc51I0Jx7Yp951Lt2n23HXQrE= 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=potbl3Pc; arc=fail smtp.client-ip=52.101.84.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="potbl3Pc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sJt4ev3/ne+ZvulXb9V2zlHDovXqOL6zEGM8AnwETrcQx+kXNT0h29kXaFaLgCnCkq+kU3zI40mByO0J1uXmUqkXrHwYgA9RNV4fXPJ4nNCu6//QmfPbUDa0NdG3ZM1oFNCyMoGPI/OeTc6odjNxivq4WahQldhscAFYXF5OvEBa9Z+iHjTVAIb7pQalKWRnAcPHIGnA1XMwz+n9Euwglc1VgyY/xgms2hzH81UfcuQiyM6EBDRDvf99lfPekU/ggYEAmBtyV91mJGiKPeYfsBCPar8Vqcb/f/EYmo6h+Vb85ejKkY6RetNJIgJ2exZcJw8XtsEcG7pYHK4sZGEo6A== 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=Ymbqo3sQf65nxypSQJAoEHnEh6imn6MCosTpIapEuzc=; b=f9KkTlacfBMuAEr2+jRatYZipPRd5Z+9qd0HXTK2SBX4bRQrYjU32/JShfCj39Xj11c/jscQ4V0Jz+Qf8MoB10iJeEthctoEUdn4+sgwN5A1hNn/k3ugontZ27gNsud9VgcDQkPMtEKe9mJvcbyhMB2NRVWK9OGyD4r6tEGyAy3mwAG3NtYotA1OXHveSMlAFaT060nu0Jr9VXOyyz7Z0P0ZUnStC1h14gX4QMSui43vst9iMQf8zMDBLitY2fHUOf5fBDAiD0wHy19jAgP2gqAfiM7G3awmOToLU1OS1qv1lu6RHDveF1N9FqZx6J1gnzoHOY2BtrH4Hb4uveDnyw== 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=Ymbqo3sQf65nxypSQJAoEHnEh6imn6MCosTpIapEuzc=; b=potbl3PcXah4KSpTvJ2144EuTnOfZWnkitANAJRYzfKKSR43RZyX7dsC7ay/s/cMgmA110FdAZjOt8Marw+2C9hrwiuNQDpC/zN7FiwDDTNoDFynYyttPpUPihWs4uYcOtyw4HBoKqiKYsuXWqeEITMgwRes6KcZwn65wmNUFhihh2bjO2GnN0wMTYrmCEWHBPNWFwJegW6KSKBt0W9fAlPXaQ3qMT0wqmm8uKDBRhTNbzNJSwm2lDoeY5QjK0B//MpjTCl9ydj5R62996gVzXencKwhS5QfVPD2k54+yIN6uzOgxW1NGRLHoMLhL40pPVZCFjTtql3tlW+2CAIa9g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) by DU4PR04MB10911.eurprd04.prod.outlook.com (2603:10a6:10:58c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026 14:30:03 +0000 Received: from AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6]) by AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026 14:30:03 +0000 From: Ciprian Costea To: Marc Kleine-Budde , Vincent Mailhol , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Fabio Estevam Cc: Pengutronix Kernel Team , linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Eric Chanudet , Ciprian Marian Costea , Andra-Teodora Ilie , Larisa Grigore , Conor Dooley , Haibo Chen Subject: [PATCH v5 4/8] dt-bindings: can: fsl,flexcan: add NXP S32N79 SoC support Date: Tue, 9 Jun 2026 16:29:50 +0200 Message-ID: <20260609142954.1807421-5-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> References: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0156.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::13) To AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB5858:EE_|DU4PR04MB10911:EE_ X-MS-Office365-Filtering-Correlation-Id: cde6ffef-9f4b-484c-c6be-08dec6339822 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|1800799024|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 2l+g4asPG+rq7ccIc6HosnPUETzCvLVSYDxELk45JdDkw1ekdmE31ucIX/kc9IPMP2dp51vmyZ/vvTOG7jq5Zk/t4bMcCAaIoJJkr1cibHydhnPL1UNB0sDSTvPg5+TnxbQs7cjugYU5jNtJz68qxQlM1mYr/t+DbqNwMQ1ADL8wDdA/G7KFWiQpQVT/r8rrjSUWCVNt5XvZTKJKobCMdVVjnYIedN9qfFlaP8CTr5T91ta+xYxY5BxBxtESXOPgJlBZqpOhSxhy8o6G5Z63slJ65b9W78LHN8LdFogS22Wm0bEVS37tsfNP06s+XGgTMkAJh2BIcUleurlVRVclqO2i+sYblFax1YW8jDEuLZQHMayOKavM53EzXJphCRLqPq8A3f4YgNs819rZofYLJ2/2Y76byGAwuznPh7n3uJbd49Zko6+RgpLA1arNxBtQDElxNHzMdnXANeyOSb+qsYpDMukS4dfVBp4SbRgfkEyPbPBRK+rcWPBnwnNRf2LW/hJox/S4y82pzPOOk4aypAmc15xxKJQ0NVRT4ws5nYibu64NUiOxSIQdbJHPv6LuQi1KtOpRBaGPotvq/rE+79hVNFNSJ3uNylP06kihT4QVhpihver29y35QLXhNZcU5hZvGl15sO2yxFR0aQJOON6wSO/nQPkELa0FpFlNa3mPzfUa1lKY1zngZs+HOGvF X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(7416014)(376014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QU1OQUxQYis2Q29uRjhzdzhuWEV5c1BhY05LMTlyVjMrVVFZUW5tZkg2eXd4?= =?utf-8?B?WGJRY0NUQVEyTlFFOTVpbFRqK3dCUGgwbTRadE9ON3hxa1dLb1U1WGhZSURC?= =?utf-8?B?MjR2RlVkYmUxTTZ5Tk84U3ZLN0pva2N4Qk90STFGUVFjK1ZKVFIvbmVmN2Fp?= =?utf-8?B?V0V3Y0luazRxWDNaZkdzRUlWRFZwQTBSalJOd3pTWWphZlFWM1REcGZYQjVZ?= =?utf-8?B?a3REa2Q3SFRRUzJBdFNuQlN6RjU0Z0czRTAwaGtRU3daTzBFU3dmYUNJNnpD?= =?utf-8?B?Vk9hcThROVZOMGh4RXFYeXllaDBxZEZQSkFyWlFMWjZNdlozem5HejZ0aCt4?= =?utf-8?B?R3Rlck9sekZJcm9TWXJQeHg5S0dreXpYOHpWWWRPUTVaWG1sVXdWUXFNeVBT?= =?utf-8?B?dWtSYnVsdXJNNFczaHRDQ3lKUHdTVEZJd2lIY3l4UHdEVWZycjRTRHZOdEFt?= =?utf-8?B?eFJRR3lMYncrVldsM0xRZGVvbjRVRVkraDN0ZnNXVHdvR0M3VGRwc2s1cmZ1?= =?utf-8?B?eVhSQmVQVG80ZXQ3RkN6M3RuSGVuYUNXbGJTRGtvUWlEWmljc1dVRlQ4ZkRT?= =?utf-8?B?M3k4bnFKZWNGRUNxMUlacmtUMkE0em1iTGE4bTdwWDRvT1FMK2NqUk1Ud2hw?= =?utf-8?B?RXB2RE9xOXNhQ2s4b0RjNkdaR255TXRYVXFoSTNMbHVVcWJBSzlSalNCVlZJ?= =?utf-8?B?ZmdxbjhYWm5HazRCZ096M2syNktnaUFNN3B5czdyRTlOMHJFM1g5SS8wQUtv?= =?utf-8?B?dnVuU2sxOUp0OThseE1hNjd5aThzd0RaUnZST3EwaE8zSTdpaTR1cS9mT1RN?= =?utf-8?B?WmlIMVp2TFFaTUxtRGFoN2YwUmlQNVdGYzl4SjJ1V1FjUnZFeWlNMEdPeXo1?= =?utf-8?B?b1c5NXRLTzhKY2tNZURSdktGYkdINUhhNTNqMEQwYjVhaGVXWXdLSFpiRmpM?= =?utf-8?B?MjR2M3pINlB3T0FkbHJYUm5YZFdPaHNPQ0NsNUZnU0RFOUM5TVFqVGFDMDg2?= =?utf-8?B?bE9IMXhIaEVoZGtXSlVIS1ExU0JkRUFicGs5Mmh1OFZlVkgyNnVnTFBFbWV5?= =?utf-8?B?bXV6dXJ6Z0ZDWnNSTFYxUmhkTGwrcXFqWFQ2SFNMc3ByOEc5SkNzMTkvc3k5?= =?utf-8?B?bS9JTDN1UGhVczhWbzZoYVh1dEZGTmd2N2w5Vms4UGRyS2NadjBzVE9oR3JH?= =?utf-8?B?WTBMYUZhYS9Ra1UrOGI1NDFmTDBnVUhneCtXeXdhS3I0dVNqMXUxeGJLOGFm?= =?utf-8?B?NGhJZ2oyWm83QUZoMjVRYm5nM2Ficjd1RjZERVBnTW1ZSDRtbzcrM0ZtamNE?= =?utf-8?B?eWE2QjY2VDN0dEdzZWc5RVVBYVhIME9MSVBDZVJTTWhqRHNoQTNyUTN2RWs4?= =?utf-8?B?U1hoelJKeGcxamVNTUx4eFZxanBOTkdaUjFVcTV4bmx3N3dUWGczT0F0anFs?= =?utf-8?B?ZzF5dTc1Q0JsMVYwM3BBT2xKRkNLR3hZU0NFTi92OS8vQjFUa0lQaTBqcDFh?= =?utf-8?B?NTNFYW9zV2M2MmZ0SEZUS0J2bXFqVVdmblRhVWFZbFNWbS9lL2x2VnpPdHdW?= =?utf-8?B?dDd6QzFkUVgxcFVRemNBWnNOd3V2L2g1VWFxUWxqMDlDRVNJa2FudVc2a2FY?= =?utf-8?B?SHpEWk1rVHhuenVEZGZlbjNWRTBWR2dxU2JzSDRIVjlyRDFzQjB2d05uZVU3?= =?utf-8?B?NXdPRE9LSXBUMWZkL3ozcVlBK216UlZqUGY0dWxWRzdFcHM0WGlqcy9QTWFU?= =?utf-8?B?VUd4SG1DeGVhU2k3bFd6bzRabWg5RkNWZzFld3krcGRTN1JvV2JZdkF0VG11?= =?utf-8?B?ZUk1UCtFOFUyTEg0cmxsZlhoR2tuWll6OVpLV3g0dHVtaTVocGtoZXlzaEw0?= =?utf-8?B?WHF1SHBoVmhieFk5cktYbDc3T0c0VllKdWlET2ZwVDMyT3piV1VaU2xrK1Vn?= =?utf-8?B?VGg2WEhtTXRLdVJwaHdzMDdyajIrTWI3QStHdjZNVFJ6QXRqOFRYcFFKajFr?= =?utf-8?B?TjkyNzhadXhGVDdtbzVwNmV6ZmlXTnphM0tIa21PV0FOM01HZE8rOUNTU3JC?= =?utf-8?B?QlRvem04S3BJUEpXRHZ1cCtFVjZhQ2tUN0N2NWFnZjkyZDV4b0xLYk9GWmdp?= =?utf-8?B?SDBSMCtZN2ZaZXhlVGFzRnN1Q3Y2UjF1QWtwOWlWVjlIR09jS3VaUE5tSDhL?= =?utf-8?B?ZWIzYVFwY1NRQXlmRE9BVjNFSGNwVUJPTW92ZktTa2M1cDMrN2ptU0Q4THZy?= =?utf-8?B?YUx0aVpBZUFjUFFYVjc2N1Fob0hLTGNvK3FaQWZockloazk4ZHRTZjRTTGpz?= =?utf-8?B?RXoybEhiR0g5UlNyOGtFSVo1YVJBZWJNb3BzVjlRNFBnWXBOKzZkcTFYdWFi?= =?utf-8?Q?jwqeDFWqMZhGLMHA=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: cde6ffef-9f4b-484c-c6be-08dec6339822 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 14:30:03.2475 (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: gIaaGpHcRSMNs601zt1wdMXX0nmuZ9wLaiTyQSZ/dmmS3DqRg4r7akKUnP2qnqOBCTDvn/jK1ly1jYFAXfZdEhNyUu/hVutT12AzNKTfU3I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10911 Content-Type: text/plain; charset="utf-8" From: Ciprian Marian Costea Add NXP S32N79 SoC compatible string and interrupt properties. On S32N79, FlexCAN IP is integrated with two interrupt lines: one for the mailbox interrupts (0-127) and one for signaling bus errors and device state changes. Co-developed-by: Andra-Teodora Ilie Signed-off-by: Andra-Teodora Ilie Co-developed-by: Larisa Grigore Signed-off-by: Larisa Grigore Signed-off-by: Ciprian Marian Costea Acked-by: Conor Dooley Reviewed-and-tested-by: Haibo Chen Tested-by: Enric Balletbo i Serra --- .../bindings/net/can/fsl,flexcan.yaml | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml b/D= ocumentation/devicetree/bindings/net/can/fsl,flexcan.yaml index f81d56f7c12a..d098a44c2b9c 100644 --- a/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml +++ b/Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml @@ -26,6 +26,7 @@ properties: - fsl,ls1021ar2-flexcan - fsl,lx2160ar1-flexcan - nxp,s32g2-flexcan + - nxp,s32n79-flexcan - items: - enum: - fsl,imx53-flexcan @@ -173,11 +174,38 @@ allOf: - const: mb-1 required: - interrupt-names - else: + - if: + properties: + compatible: + contains: + const: nxp,s32n79-flexcan + then: + properties: + interrupts: + items: + - description: Message Buffer interrupt for mailboxes 0-127 + - description: Bus Error and Device state change interrupt + interrupt-names: + items: + - const: mb-0 + - const: berr + required: + - interrupt-names + + - if: + not: + properties: + compatible: + contains: + enum: + - nxp,s32g2-flexcan + - nxp,s32n79-flexcan + then: properties: interrupts: maxItems: 1 interrupt-names: false + - if: required: - xceiver-supply --=20 2.43.0 From nobody Fri Jun 12 01:36:09 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.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 7465E3438A5; Tue, 9 Jun 2026 14:30:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015414; cv=fail; b=Bo6QISJdFRP3wW2/JB08TtFghdZralyXov+CChtaagN79uJ89qNwGfWfa4tczze2fLW8SM7ZoiwCohNkM22UfIU27Bntvgs7cyVglcCnNav2FN/W7Pa6uv2X6JKAMLwpcIZ/mhp+Hh4ObBCT7LrTTK76ISrf3jlMBf0oRbbZ8sM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015414; c=relaxed/simple; bh=yqjm9e/jVtzaaVkfdCjpMcISauiXj4hSc4y/l8UOCps=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=N7vF6/iLuioLmKgT7J63e46RY+6ajXCl3C8oWHa215TQ5Y89AX0AdKUxDQKvyAWDsbp3V/o9MPjtF6HFPK9gZgtK57nmySoNMzH+dz7VZkjbg7GNF2THr19I1g2jczSfbY+17yjB30MVej9HPUPx9iot2dJNt7eLIyydaGBYwr0= 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=bMbXnVdZ; arc=fail smtp.client-ip=52.101.84.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="bMbXnVdZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mqXiQnD+UbL/YpWMz133PsowoSWMq7HjNEeOnAuTAM6QLAKCqiHhfcyymOCtbn54OPP7j/auDj0iBjycIg0tMKCb2joW+ywe3L0kuW3Y5Lwt2nBS/W2MdsiWfweodI6gVkjMRsSq5s0EGp/IOJUYaGJS/aen60LSPFiyEZ0Y+eRfiA+usDJMLHzQNCgd3K2xm6Ka24JI7Tye8v15JuPlnzZcOdvdrQDfyxpvOFExCnysM1TRe8cVy5WbVFb3QgCIqI/OY/cmg2L6GjOELksw/bBgtL6sqqncVmgdYLBFl8wD+vVrHK/g0Xae4LwMI5i1P4gYjdphmbIfkSjYjJugtA== 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=pOGCgEvHOsx8MBKASuwngqErL/RwRCkPDHD2cKebZ2I=; b=QIDhdzSfpxvfnUXGDWap5MVTY/BGmBlW6KBVEjwYfZWFAj/Z6Vt/1PxLMJzqoecpyIkM7slV9xsxppRepZygs3EAZvnv2BRrr9cggdfWTLJjjEndlYqzsKBqZItSN55UO3GK9hFkUIP8JJzhWBZQv6a9yhwiqcDAFyeGfVd4zudkJu6cLrCS+f2P8kmjJ3h0svLGwNUSpANsiRY6DhsMOfSe5ZgWfZXQalXJftzZqvhR1AHCVIgwxapR8rLjr0k9jGqpmWdYrZnmPppvJ53ejvF8/YfdA/UscpclEU6PKDzvKBiO5ChwFUOTcFLWZ2VjJCqpigLr6Z/JswzQniq/Ow== 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=pOGCgEvHOsx8MBKASuwngqErL/RwRCkPDHD2cKebZ2I=; b=bMbXnVdZNr5lBS3St0Ytxc3nxaI0A2TOQOJpt5tGfpBsoXIJsKd6coKbPrM6XHt0ncQIZvkqfoj1PNHcyonihZdg8ymbE0WydX9TS4ZOeY1YkiOMQuMdLvbt7g9xh2EIebkHqjsTsms0wk3b4SVIG2f8LwTFWI65GxYHSp5iRXTzXw0qLeMzN0Mu9qVrzmXFcSjNoOcyiLiE/ZbfL6EeHY4xAOYoTNycKZK6eU/dD8qYeRXWGMxbIxwbrLhUUANtWjJ24qJLhkZAXNqFhmo3spI9nDNOD7CJA0k93SzbYh5AFT5dLUPj+X3rTAswGAa8/zNtz0Wcgh9fkjUhWY3AAg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) by DU4PR04MB10911.eurprd04.prod.outlook.com (2603:10a6:10:58c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026 14:30:04 +0000 Received: from AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6]) by AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026 14:30:04 +0000 From: Ciprian Costea To: Marc Kleine-Budde , Vincent Mailhol , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Fabio Estevam Cc: Pengutronix Kernel Team , linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Eric Chanudet , Ciprian Marian Costea , Larisa Grigore , Haibo Chen Subject: [PATCH v5 5/8] can: flexcan: add FLEXCAN_QUIRK_IRQ_BERR quirk Date: Tue, 9 Jun 2026 16:29:51 +0200 Message-ID: <20260609142954.1807421-6-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> References: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0142.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::8) To AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB5858:EE_|DU4PR04MB10911:EE_ X-MS-Office365-Filtering-Correlation-Id: 258f558c-9efd-4702-2705-08dec63398e1 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|1800799024|56012099006|11063799006|10063799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: eWQPDMpDpL2L2Tn70nARYaHPPEKHKF6JfbubUiF7Z/vAgCYKNESk96+rURZDcPMl4jDUb8JjP4CfA6mqFD7b+yhNEuXsN+MnhHK14ZNSQ85ZHmBGT4W2ilxqgmoqVqSmSJvg1ZMdKNayvzZ67Wkz3Ct1hxAHk+k9Sdiy/RAu+ETbFE+9g3T5NuNceU1h5Esm/0PDbZRWKwwMqm5DYU6UOIGIA87Ae04GIWdMNwlU5ldF7/vkqJu/QuyOJ3YUAznncr3QSZzqI+YzgUPkqjMJ1D8J/n43ARi4rGoTLLi7WGUiLbBPnKyWsebQlbBoKSRyLx3HB8+r483qlTJQomrDnrFhRSzmmHbOQWGyDO+e0Y4GHrgUh++Num9aQnEiXH6Jlr3uLgYnTktpkNwIqMob0Y3lwNIxaR6LsZJN/dVai+MmwYoLx0vIZvvpi7A8eQQoydsYrbfYRe+AWGEEXL+ezNiDIzhnPYj//K/6rCnVcngxxtH3HjAg77QnU3hL++ywXRnbUsrb+STR0nzaH6YtV8hQ13r1dBF7//G6QebwUQqgaY4xsixG6BQwQOUKOCIUI4A0h1HD7WzCktQILlk8UeCWG5px77L53JCqVp9q7p+TtiyeuHYgE4PP+qOhD/EgeTXiD/7FVldTlbiBmQV9Qp+oOpjqAnXpGy4AIbpTs08YSkxL8ym3Osn6w/FGlLEH X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(7416014)(376014)(1800799024)(56012099006)(11063799006)(10063799003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?THlwYVdoYVd2ck5GeHdtTStMVXFxZkkzL2xoNm9YN1NqbVFnM21iYzRnOHFn?= =?utf-8?B?OXRTLzRLS1hxeU5aVy9Jdm5peUVXWmlBT0s2bHBYcjhZZ2FMQzdGRHNGOUZa?= =?utf-8?B?Z0ZzUUw1RlN4anRZalQ4VzErREZ6WjQ0S1Y0d2ZhZFoyU0o2WmwvTU9hWkZO?= =?utf-8?B?TWNMZkJEcUtUczlua3BvRU5POWh2aDZtaTU5enN1KzJRM0xxUlBsR3NzeG5u?= =?utf-8?B?cjJFbkpxOEFhWWQ2TFRpczBoSkp1TWdTZ3VKdnlOUDZEUmlLclVkeUl4bjFr?= =?utf-8?B?d0xUNjZhcExBbXBYWi9RWFZDSG9GZFV2MjI5Q1hIN0laZjVDUHc5OFgzcjMz?= =?utf-8?B?MElNWEJUcERRaExsRjFzT1hhNi83L1YzTUd2U1FaanQxSDZ3OThkZEtSbnkv?= =?utf-8?B?dElwcUdEVTlSakNScXlZUTZ3VHltdDZER2tDME4ySmIyeS94enhMckFmV3Fk?= =?utf-8?B?OWJyM2ZGL0ZYQnpOeGlpZWRCNUFXbE1VdDN5S0JYRzhiRmFBQWFqbUxBSnZk?= =?utf-8?B?THVVVWtOS2tpNU1xcThXbFcwd0xJV0FIZkFqbWJ1bmg1TE13SVJaZ2pUQ20z?= =?utf-8?B?RHNRdEVYVWszT3hnSmRrOFlkQVRqUHp1OHVFZ3BhL0FHQ0VGRG5EQ2kzVjdy?= =?utf-8?B?RnFkUWZ5SHlpYnRPZXMwQVNIL2pvNG96alZnMTc5RGtwaGZtOVUyRmdYMUtq?= =?utf-8?B?dnphTHFZMUl5NGJtaVlvcVgzdSticTI5WmhlbEp0M0pyYjNLc0dWTi9BZFZr?= =?utf-8?B?VjVJNE4ybTdmRlZGSUFYQWlEV0xjZW9mMU41Y1dPYUxIam5TdEJKeWV2Zlps?= =?utf-8?B?d09USFQ4bTErcUNva1Fhb0JVWWNVeDFuTXhOZGpNQkh2d3A3MW1mR2V2WE1w?= =?utf-8?B?czJ4SkhwR0lxQk80RWNMemV0RTBXQXpQMUE2RWhieGZ0OWFpN1VENDV1M09L?= =?utf-8?B?SjN3TW1XUTByNWYySjl1dFVqUDh1T1lDR0JMeU9QVzUwTllUVG5vbzlINjA0?= =?utf-8?B?NWJHWElYeFFYWllFQ2JSZXFGNWZ2enNqZFZ5Um1RSXVpY3k4RUJBbC8vMXNZ?= =?utf-8?B?dElXK0U0V1FIRXhidU1PSEQxdmtreDVLQjFabkVvWHJsZWxmVDEzYVlGaFdL?= =?utf-8?B?eWhuYWE5bVVyKzFkR3hZVjB6cGl6VXozWWVCUzNScUxwWTNMMXYya1B2WnNa?= =?utf-8?B?WEVGV05RZEF4ZW9RaEZmQTAyak9PN3AwUk1HTFJpNnJQRjhhMmxEZ0hCd0NV?= =?utf-8?B?b3pDeGZFYkdzNVpoa1BQOTZaWlRBdFRLMTlsMkVuZEE5M29vL283YllmSEFm?= =?utf-8?B?QzVHMTA2b095RENPdiszaGtIa0RrV0prWDJjKzQxUmIyT1JhY1VLN3JCTkgy?= =?utf-8?B?Qm5CeEowRDJ6R0VoVU5TSzVTVjFUeHIyYUVaUWtZSHY1L1JOQ2drWGZtaito?= =?utf-8?B?Y1RhaFZTTnY4MUJxRlNJNWJCUm8wNnNxTkNlQ0hVclpIcG5qbkgyNkFqK0Nw?= =?utf-8?B?MDdoelBnTTRpY042bHdTQjArTXFhQkF6b05uTW81ekM1TVQyVkZzTmltcy9Y?= =?utf-8?B?NnNHUDJaMTNrK2hiQUNxb1dzS2sxNGxGbng2c3J1bi9FVCtIV29uL1FHcDlV?= =?utf-8?B?alJ4dVVQS0NrRzRYS1JQbnlockVxdmIyU2wzVjUrcXVpSnJ6Y1JQTVNZWXRM?= =?utf-8?B?Qko3TjJwZncyNWRQaUo4dktlaERZUFNsV29NaGZpNVIva1lSRTI4S0x4MHhy?= =?utf-8?B?TzZ1THZoZkNvaFk0dXpUYmlycm5xdG9JdDlaY2NGWmNEQ2sxdXdpd0h1dXY0?= =?utf-8?B?U0tkaDV1d1ByUDFrRm53elhCMXlVTHdrWlJmR1lSZ2VCbDg1OWk2UXYxVHJI?= =?utf-8?B?OSsrc1ZNcThMdkp0ZnkvUzdzS2gvM1VmU0JIZDBFa2xzME5JV2YyYkp0TFAx?= =?utf-8?B?MmZtSFFPVmE0MEVWcnVrVnpyMjMzWDVUWi84TDg5U2szS2s1V1g4aVlYd1dz?= =?utf-8?B?cUNTRXZGNTJueW9qTUNvaDc3eS9hdkNERi9ydGFUaVJSTGM1dXFNVitKTkhp?= =?utf-8?B?QWFzVitNM0pLQVRWTStiV3FFYlgva1FGWlhFREtYZTFkNjVlelpkTlFFWnQx?= =?utf-8?B?ckpONWsyVXQ0UXZESlVwVGRVSzZua3dxcEovKzZUa0M4SkNGMno1ZU1GT3Rp?= =?utf-8?B?eW56VEVOMlk3ZTA0aEZhaTZobGk0UGRMbThmaHZkZ09EemNOMzVWK1JGaklV?= =?utf-8?B?Y3FMMURlQzNicGJmTWJOaGpNK0ZLbzJXRUQ4TndwakdaWVJzbWtpNUZZd09J?= =?utf-8?B?ejlEMVRoSVZ1SGc2OENzNEhPa0RqMDJBeHNacmlmVEgwR0pHMU4zRldvdzV3?= =?utf-8?Q?tzb7AqqKpT3UC+eM=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 258f558c-9efd-4702-2705-08dec63398e1 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 14:30:04.4925 (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: bNcg3Q2iLxrgvo/wil15gJj82hIaS2e/zl9RmNVdHTjREGkpudF1ynCu7SB5Bs4s0BYPJigA41rVfdHePU8VUvdIw2cyMfcK0P4G+YDFEQU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10911 Content-Type: text/plain; charset="utf-8" From: Ciprian Marian Costea Introduce FLEXCAN_QUIRK_IRQ_BERR quirk to handle hardware integration where the FlexCAN module has a dedicated interrupt line for signaling bus errors and device state changes. This adds the flexcan_irq_esr() handler which composes flexcan_do_state() and flexcan_do_berr() to handle platforms where these events share a single IRQ line. Also extend flexcan_chip_interrupts_enable() to disable/enable the new IRQ line during IMASK register writes. This is required for NXP S32N79 SoC support. Co-developed-by: Larisa Grigore Signed-off-by: Larisa Grigore Signed-off-by: Ciprian Marian Costea Reviewed-and-tested-by: Haibo Chen Tested-by: Enric Balletbo i Serra Reviewed-by: Vincent Mailhol --- drivers/net/can/flexcan/flexcan-core.c | 54 +++++++++++++++++++++----- drivers/net/can/flexcan/flexcan.h | 2 + 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/drivers/net/can/flexcan/flexcan-core.c b/drivers/net/can/flexc= an/flexcan-core.c index 0ed838f0719a..adf3af57fb0a 100644 --- a/drivers/net/can/flexcan/flexcan-core.c +++ b/drivers/net/can/flexcan/flexcan-core.c @@ -1300,6 +1300,22 @@ static irqreturn_t flexcan_irq_boff(int irq, void *d= ev_id) return handled; } =20 +/* Combined bus error and state change IRQ handler */ +static irqreturn_t flexcan_irq_esr(int irq, void *dev_id) +{ + struct net_device *dev =3D dev_id; + struct flexcan_priv *priv =3D netdev_priv(dev); + irqreturn_t handled; + + handled =3D flexcan_do_state(dev); + handled |=3D flexcan_do_berr(dev); + + if (handled) + can_rx_offload_irq_finish(&priv->offload); + + return handled; +} + static void flexcan_set_bittiming_ctrl(const struct net_device *dev) { const struct flexcan_priv *priv =3D netdev_priv(dev); @@ -1540,10 +1556,10 @@ static void flexcan_chip_interrupts_enable(const st= ruct net_device *dev) u64 reg_imask; =20 disable_irq(dev->irq); - if (quirks & FLEXCAN_QUIRK_NR_IRQ_3) { + if (quirks & FLEXCAN_QUIRK_NR_IRQ_3) disable_irq(priv->irq_boff); + if (quirks & (FLEXCAN_QUIRK_NR_IRQ_3 | FLEXCAN_QUIRK_IRQ_BERR)) disable_irq(priv->irq_err); - } if (quirks & FLEXCAN_QUIRK_SECONDARY_MB_IRQ) disable_irq(priv->irq_secondary_mb); =20 @@ -1554,10 +1570,10 @@ static void flexcan_chip_interrupts_enable(const st= ruct net_device *dev) enable_irq(dev->irq); if (quirks & FLEXCAN_QUIRK_SECONDARY_MB_IRQ) enable_irq(priv->irq_secondary_mb); - if (quirks & FLEXCAN_QUIRK_NR_IRQ_3) { - enable_irq(priv->irq_boff); + if (quirks & (FLEXCAN_QUIRK_NR_IRQ_3 | FLEXCAN_QUIRK_IRQ_BERR)) enable_irq(priv->irq_err); - } + if (quirks & FLEXCAN_QUIRK_NR_IRQ_3) + enable_irq(priv->irq_boff); } =20 static void flexcan_chip_interrupts_disable(const struct net_device *dev) @@ -1881,7 +1897,8 @@ static int flexcan_open(struct net_device *dev) =20 can_rx_offload_enable(&priv->offload); =20 - if (priv->devtype_data.quirks & FLEXCAN_QUIRK_NR_IRQ_3) + if (priv->devtype_data.quirks & + (FLEXCAN_QUIRK_NR_IRQ_3 | FLEXCAN_QUIRK_IRQ_BERR)) err =3D request_irq(dev->irq, flexcan_irq_mb, IRQF_SHARED, dev->name, dev); else @@ -1902,6 +1919,13 @@ static int flexcan_open(struct net_device *dev) goto out_free_irq_boff; } =20 + if (priv->devtype_data.quirks & FLEXCAN_QUIRK_IRQ_BERR) { + err =3D request_irq(priv->irq_err, + flexcan_irq_esr, IRQF_SHARED, dev->name, dev); + if (err) + goto out_free_irq_boff; + } + if (priv->devtype_data.quirks & FLEXCAN_QUIRK_SECONDARY_MB_IRQ) { err =3D request_irq(priv->irq_secondary_mb, flexcan_irq_mb, IRQF_SHARED, dev->name, dev); @@ -1916,7 +1940,8 @@ static int flexcan_open(struct net_device *dev) return 0; =20 out_free_irq_err: - if (priv->devtype_data.quirks & FLEXCAN_QUIRK_NR_IRQ_3) + if (priv->devtype_data.quirks & + (FLEXCAN_QUIRK_IRQ_BERR | FLEXCAN_QUIRK_NR_IRQ_3)) free_irq(priv->irq_err, dev); out_free_irq_boff: if (priv->devtype_data.quirks & FLEXCAN_QUIRK_NR_IRQ_3) @@ -1948,10 +1973,12 @@ static int flexcan_close(struct net_device *dev) if (priv->devtype_data.quirks & FLEXCAN_QUIRK_SECONDARY_MB_IRQ) free_irq(priv->irq_secondary_mb, dev); =20 - if (priv->devtype_data.quirks & FLEXCAN_QUIRK_NR_IRQ_3) { + if (priv->devtype_data.quirks & + (FLEXCAN_QUIRK_IRQ_BERR | FLEXCAN_QUIRK_NR_IRQ_3)) free_irq(priv->irq_err, dev); + + if (priv->devtype_data.quirks & FLEXCAN_QUIRK_NR_IRQ_3) free_irq(priv->irq_boff, dev); - } =20 free_irq(dev->irq, dev); can_rx_offload_disable(&priv->offload); @@ -2338,12 +2365,21 @@ static int flexcan_probe(struct platform_device *pd= ev) if (transceiver) priv->can.bitrate_max =3D transceiver->attrs.max_link_rate; =20 + if (priv->devtype_data.quirks & FLEXCAN_QUIRK_IRQ_BERR) { + priv->irq_err =3D platform_get_irq_byname(pdev, "berr"); + if (priv->irq_err < 0) { + err =3D priv->irq_err; + goto failed_platform_get_irq; + } + } + if (priv->devtype_data.quirks & FLEXCAN_QUIRK_NR_IRQ_3) { priv->irq_boff =3D platform_get_irq(pdev, 1); if (priv->irq_boff < 0) { err =3D priv->irq_boff; goto failed_platform_get_irq; } + priv->irq_err =3D platform_get_irq(pdev, 2); if (priv->irq_err < 0) { err =3D priv->irq_err; diff --git a/drivers/net/can/flexcan/flexcan.h b/drivers/net/can/flexcan/fl= excan.h index 16692a2502eb..bbb1a8dd4777 100644 --- a/drivers/net/can/flexcan/flexcan.h +++ b/drivers/net/can/flexcan/flexcan.h @@ -74,6 +74,8 @@ * both need to have an interrupt handler registered. */ #define FLEXCAN_QUIRK_SECONDARY_MB_IRQ BIT(18) +/* Setup dedicated bus error and state change IRQ */ +#define FLEXCAN_QUIRK_IRQ_BERR BIT(19) =20 struct flexcan_devtype_data { u32 quirks; /* quirks needed for different IP cores */ --=20 2.43.0 From nobody Fri Jun 12 01:36:09 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.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 871813537F5; Tue, 9 Jun 2026 14:30:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015416; cv=fail; b=COHCcH7SAC1qnn3W3maxTXvTZF/KFJJIXef3q/t7tO4/MOoxd8pCRff5570/9IX+c5cqQv2gaClfEZGw5pxL5+7p4vECvXX40uc6XVSk4JD5kJehnamBFNRsdQOSvwohlzLJ0TGEt6QL/eNrYEjI3AfNNWM+OTUCOzq6h+Wxclo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015416; c=relaxed/simple; bh=sTX4J3tmHnK52er7VvLi/80Gm70G3ZLbRp2Fcaf8Ijw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=uiDXXGgP5Nq8mt93tjyvCCpPOJDa+75XCxA5cv1ongvIijKyidfejwWEKxr2pXoalw6RJeETnZ52M7A5Sbv8WKDyzEiyzqWBm12REH+ustUWTPzwtTMIW1E8JwO0161EEyrxA9a/cGxcku2gPmP/q0Z2khqzQZUnPKgG0Tser1A= 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=sB2K90+/; arc=fail smtp.client-ip=52.101.84.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="sB2K90+/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tLGqJ84BixvH1fRFuRIFIw9TUDj0f96FoOXNyMjzS7gcFpA4UMCPLBzypgthW/sWYa7zDNBxNc9rtORAoR2olf/IteENJOmCx0JBs5SO2BpmNCZaRRwpJwUoetxd+60cIE0jj3QPgZe+I2Fil239EPv4YUDmrH25mkWQPH8SKfllr7jU0h1ZJKdVzwuS+JIVg/a0BlnuAMk5Ok9FRf5w8HwI41a4LRiGcSO4v+zLCmng+djLXTyw/Vecu++1GIJYl22rGoOL7QosliZ2wXW+OT8IugM8MY6wBOvhOQHr8hPX00cUITMwQQj+ralTdtF13womrb1T4QmqWzE5ltYqww== 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=jXpszbiPtlboi+fcxd72/CUp8PSNlw/YaDuOdE3ImfY=; b=ZRgSWRleOeLRRKKwLe4ujDZUzi8uMzez4RqETOCoz3NdTzyXpFpQa5pLiwzrVbUX/7nNPHbldp+bsFiwAcKxZ4FI1P+HNRkpsqUZEgN+n/JlTWgQcyCp1AxnOAncMDrOEjZmsb+QY3L3edJo4bGTHSeoDYEG+0Nit7T+sdUUVv18pt6Igpkn8FraBhGgnJ5sinLsnHridS8gt33nyxvbFPyt7v2o68DAjY/eiA/xH3niN5JIP4hf4Re0W/4JiIGPN2im+gRCKM0c6SZnPH+hq4yUb6B7eC0xnQ71tqskgIRr0qQei99uSKU+9vywFor2x+3vpxBi1Mb9NwlJBUVSig== 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=jXpszbiPtlboi+fcxd72/CUp8PSNlw/YaDuOdE3ImfY=; b=sB2K90+/jFH9DAukvr8oEzfxG81n6saC5GxgZGoPfr4fsjDheNeYbr6NCZUIbhlEkOrfZT/3cFFMqb9i4MSn/JULtgZWXaM6sDY1OZfaIV5eKArsy2Js7GJZBg3iqW0S5O+2eQCG2VPLCL9Ezcf6nmdNcMdyuRHbJtv1EMnBLYCb4pXQkS1iKqCtFVzt0RYx1tgamDB8jezX1I46ZxVXz2pOb8ek9K13mPddYt5pmWvvcsa05uQmjz6qh/gUThyuNKjv0Wbj6OGqM70rPj794SDQR30RHIZdRosLt5Jt2Xv3GQp61JT5i5djelxNGyoIdv9p8/RwUvQ7/hc3IFGVlA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) by DU4PR04MB10911.eurprd04.prod.outlook.com (2603:10a6:10:58c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026 14:30:05 +0000 Received: from AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6]) by AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026 14:30:05 +0000 From: Ciprian Costea To: Marc Kleine-Budde , Vincent Mailhol , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Fabio Estevam Cc: Pengutronix Kernel Team , linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Eric Chanudet , Ciprian Marian Costea , Andra-Teodora Ilie , Larisa Grigore , Haibo Chen Subject: [PATCH v5 6/8] can: flexcan: add NXP S32N79 SoC support Date: Tue, 9 Jun 2026 16:29:52 +0200 Message-ID: <20260609142954.1807421-7-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> References: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0146.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::7) To AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB5858:EE_|DU4PR04MB10911:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d4753d3-366b-43e5-c05f-08dec63399a1 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|1800799024|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: DAlfmui1hyFZHcquGSXO01gZ8rLngatQbdvkAxvZRp1BJiljEt7DEalX5Ge03NbNc4JazAmCzdjdtB0SYhcgCHRidv6MlCZpoPB6XmT3bsvCrq5DgQNXg/qinu/6AKtTGyL1t+dc0l6QVoIRxYrrIPQ4ei1xkQfIoZv8vS1YsgiswFUsK7jY53LGOxzcNf30XryizMsjZDEzFcuAMHMlOW3LSdFW/E4NIGUH6uTZETF4mmvX7tNfCMpOldgTg5AJXtIlJS7noGglSJLewI6aansFP+N1rDhoXVp0d4C6Xw71/HjxkucKwg4QdbMJr8sfMeWPG2xJfLz4L6pTwjQmRga7Gj46KUSXRbK6Gtwt8/Z4+I/5aC6SNaWkzUrg95zuNXlWR1jPREOCGulsD08snBV/BNY6e5emOVYYHeoLwmi+Q90PBItvRUJ/nXILPHPripttPTuOYv3i4l8FumXnKvcL647k2LXTxKxom1xy6DKEX6TKG4FiNMqq2CgY9RldWeKPWMXGRbdnthIvvUbooeAevgxqNfT84V0UyCSwFlHCKos1wwnMfzr/VvLsCYTcUmX/PGeiPmNDAHgB1OBQnXOJiQIrf9VtCFiPse33CJQ38KXwpzCDFH8P4idzpgu529wqDOQ/phGjQFvEFO015Tttofb6+G1AlFFqo41WbFQ/Er5j8FBi9mGaE55fVerf X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(7416014)(376014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SHdQMjdmbGNkVmVJVk9HUm9vOGtRRTZCRkhhMG1HUng5bGIzeWFzRXRtNW9Q?= =?utf-8?B?Q093ZzMyNHdnTmhSUlBLNjNHbGN5VjhyVlRKSi8ybVRkQkVXMHpTR3hpZjZ0?= =?utf-8?B?ZmVZQWQrYlhQazh1anpPZ3ZFVXhCdXF1eDl6UzlTMG1SZm15ckpmWVlTblNh?= =?utf-8?B?c0lsbHNIU0FOZm85YXhXZFdlUmV3czdjalRZVkxOdStXdDZ5NFpsQjFtZTlR?= =?utf-8?B?R2pCclZZTUFQblkvNnBPblJIb0RFT0poUUVLcXhZbTBBbjBJR0xsQktqLzI4?= =?utf-8?B?cUF2NERUV1dRZitvN0hMb3lwOGU2UnVDaXhORk9qZEZHekxZVXFKMW91Rk81?= =?utf-8?B?NzhTcEUweGJRdzJpN1Q3OVFKeHZZdGRXcE12V29rd2dneUhkY3VSTHREdGJz?= =?utf-8?B?OVZXcXJFQTd0czZjV1paMTlIaHRvdlZLSHUyR01OVk9IRFNPK045Ky9laWhl?= =?utf-8?B?VUNzMEp5alVPdmlDSjJRTm9oek9Kb3dFUkZGQ2VIR1Zmc2pwZ2tBSFp5UWg1?= =?utf-8?B?RGg4WnUza0czeGU2TnMyaVRESXY3SlhPbnArdUNNVkl4VjNETHlEdGR1VUs3?= =?utf-8?B?ajFhOXFxcjlNR3hRdk5QL1o0WTl2c3BBSmNnaXhjZytzOU1KU0xkMnMvZXJD?= =?utf-8?B?K0xXYTAwbHBSQzRuTXlTREtXSE9pd0F3RnBJM3BSckpFeDNLcTY3WHhxWmIx?= =?utf-8?B?d2ovaC9YcThSSGdXVk80RzVOaVpNMTZMZ3RjaFFiaDRkNnJZU1JNRy91RUZo?= =?utf-8?B?N204TTNvYjhEVFhHYzZVeUVibG5nQ3VIWHBObXRKUVNpTlRJS1h2azd3M3c2?= =?utf-8?B?TFBWR2QvOEYxZWt1clZrc3R6ZVJsVUFQcmNFcUhyK0tQQjBmemxpbHVlMW9D?= =?utf-8?B?V3pWQkNqTnQzcGVOc0Y1VEw2TTlWQTlMYUlzcWd2emFsYzJsbXNyeHhqMjlY?= =?utf-8?B?UDJiaXYzOXpESUo3ZzVYWkdBL0F5bWVmSHNMNkNwQXI0NkgzbW5KeTJHYnZO?= =?utf-8?B?cEJpNmFvY2I3VVRCMFVKN1JJR00wSDRIK0tFcjVxVHlSZk5Ea1lZcFpiZFRQ?= =?utf-8?B?WmE4eXZMWDdzRm5wcWtsajRESDl5OFYyZ2ZJRi9abS94Rkthbml4NkNOWXZY?= =?utf-8?B?Z25XZXVVcG9Ec2p1ZmRqMld2Tmk0bjBlanZMRlhFdW5EQ1lBRU5DU2lCa0xE?= =?utf-8?B?YWZjSjFWSXBMazkxbWJoZEF5cmk1WEs2dUpTYVJyb1Y5dUdPUG1ncmRIM0dp?= =?utf-8?B?ejBJRWd2bEkyMjVpbnhhL2JldVk3dDdnNytGZEhMQW55Nk9JeC9pTmE3YzNs?= =?utf-8?B?SkQxR0JZUy84UVluanR5Y01RbHhBclh5K0t5NGs4UzFVNmc0dkFLeDg0eXdL?= =?utf-8?B?UCszYlo5QWNZUzZkd3hXbVdsSWZTWkd4WW9UbDJDZDAzMG85Wkt2S29KMDhC?= =?utf-8?B?TkViZlRveHBsQnlnVkF2c0I1V25WejFMWHRlOXdHT3k1WlJJZVBHQzZ6WU5m?= =?utf-8?B?VnRlRDNTSUtBb2ZlMFAvMjhFTzcwbzlHZkwyd0xIWm1EL2o3ZjZrcmRteGcx?= =?utf-8?B?SUtxN0tvNnBxL0R0RkFtdVVabWprdFNuTFNqZXI5d1JqZTFsK21MbWFXTEs5?= =?utf-8?B?RTlCdE85SVhnbTBtUEhtZFFobHgwbjQwcTNCc3BvVWx4SWxQMkI0U3E3RWFL?= =?utf-8?B?dkVGT2FOK3BCOHFrYlZOZ3VYQWdKaCs2Wk4vQzhQdUMyZXhyNGhWOHNJclkx?= =?utf-8?B?YmVWblV5b2RsaWtDUUtNcFZ6aVhINS9YaFVkbTNwYTdoNzhjMXI3N3FLK2JK?= =?utf-8?B?aVF4c2ZJVDJ3YVZIWlU2eXJoZmJpZHNzdHljR0lnK0IwMjJzSlN6em5GSFFV?= =?utf-8?B?aVhQRXJzUThvWHR0M25YTVR4bVBwRGQya2gyR0gyZ0hGYkNkOTRnSUwyc0NV?= =?utf-8?B?OG9VeDlaZ3hDL0lzcUlFU0pVRTVuOEp6UGlTM0IwOUQxaGNnUUZabnMydjRj?= =?utf-8?B?VCtFd3BZMXVxY2luakxYUjVMNmtJbUp2ZG13T3ZuckJJTFhuWnFGTW9mZnhP?= =?utf-8?B?RDJRNFcrTkFGRjBxV3owd1E0dDVrVXl6MFRSRkF4Q0I4ZUtCT2J4ZGVZV0Ni?= =?utf-8?B?dFppeFFUWTkyOC83NSt4RFoyRll4bDJkeUZrcHpQbWE1VEdSMFBhSCtSaGtT?= =?utf-8?B?bXR3YkFqNFRQZWx5NEcvSkRVSnQ2UG5pN1VYOUNxV0VlN0pKbkRPejFuMmVi?= =?utf-8?B?Zmp1RzRpb1Z5TFd5eTcrdnJjWVVVUndMMm1VVUJtSjRzT01mY1dHVXM5dlpO?= =?utf-8?B?Z1Z4RXpuaDNKWVo0aWxGN1hIZ2Z0VGxnMnNTU21iUGdPUUlVMmpzM25Qdnl4?= =?utf-8?Q?KqI6H8cUzeoBWUrc=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d4753d3-366b-43e5-c05f-08dec63399a1 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 14:30:05.7485 (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: NCmlI+4MkqTJyTPZS4JTGV7HqsYl0Yj3rLw0BusyaUiokMXBM7THkF3Gp2NGHOdx5gGJhyjqr0mz9zL7OmemNgSJmCh2qXTHCralcvJcsS8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10911 Content-Type: text/plain; charset="utf-8" From: Ciprian Marian Costea Add device data and compatible string for NXP S32N79 SoC. FlexCAN IP integration on S32N79 SoC uses two interrupts: - one for mailboxes 0-127 - one for signaling bus errors and device state changes Co-developed-by: Andra-Teodora Ilie Signed-off-by: Andra-Teodora Ilie Co-developed-by: Larisa Grigore Signed-off-by: Larisa Grigore Signed-off-by: Ciprian Marian Costea Reviewed-and-tested-by: Haibo Chen Tested-by: Enric Balletbo i Serra Reviewed-by: Vincent Mailhol --- drivers/net/can/flexcan/flexcan-core.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/can/flexcan/flexcan-core.c b/drivers/net/can/flexc= an/flexcan-core.c index adf3af57fb0a..b43d60fab4b6 100644 --- a/drivers/net/can/flexcan/flexcan-core.c +++ b/drivers/net/can/flexcan/flexcan-core.c @@ -403,6 +403,15 @@ static const struct flexcan_devtype_data nxp_s32g2_dev= type_data =3D { FLEXCAN_QUIRK_SECONDARY_MB_IRQ, }; =20 +static const struct flexcan_devtype_data nxp_s32n_devtype_data =3D { + .quirks =3D FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS | + FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_RX_MAILBOX | + FLEXCAN_QUIRK_BROKEN_PERR_STATE | FLEXCAN_QUIRK_SUPPORT_FD | + FLEXCAN_QUIRK_SUPPORT_ECC | FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX | + FLEXCAN_QUIRK_SUPPORT_RX_MAILBOX_RTR | + FLEXCAN_QUIRK_IRQ_BERR, +}; + static const struct can_bittiming_const flexcan_bittiming_const =3D { .name =3D DRV_NAME, .tseg1_min =3D 4, @@ -2222,6 +2231,7 @@ static const struct of_device_id flexcan_of_match[] = =3D { { .compatible =3D "fsl,ls1021ar2-flexcan", .data =3D &fsl_ls1021a_r2_devt= ype_data, }, { .compatible =3D "fsl,lx2160ar1-flexcan", .data =3D &fsl_lx2160a_r1_devt= ype_data, }, { .compatible =3D "nxp,s32g2-flexcan", .data =3D &nxp_s32g2_devtype_data,= }, + { .compatible =3D "nxp,s32n79-flexcan", .data =3D &nxp_s32n_devtype_data,= }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, flexcan_of_match); --=20 2.43.0 From nobody Fri Jun 12 01:36:09 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.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 68AEC3546F3; Tue, 9 Jun 2026 14:30:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015417; cv=fail; b=rDuiEkhb0RIz678m2B9FERnJmtwhytHWZUiD+x76BYp/70AHJfiaE3f3eQl1m+tQe8Go6LUrU0nOE/tYv5DOf8vQudXCt/iDeSn5xnBZdf+4cSiIgi/WWVm5hrCTgrcVMZJDJ6vVqryuGtt9fli6RI++1KdaYXDAKZzXJVUtWbA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015417; c=relaxed/simple; bh=1cyX6uFLtBowZIySNTzBjl+58AVkrt1vkeXAVmhl1aA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=eug8kTfYFd78Wd482q2WEqp9OveVweODjHVZpmv39SckkoMTVUfcY5TsW45Bse0tN/beOHqIRGcZM1RHU7dOmCBwYZX6N2L6bRKtSGIcHIE/hpf24pdp78YOFuwZCnKoKrY7WYvqL/Y0Y66o6Otf/klcIcE3yrQBWyu9VHdtyt4= 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=YKQ84lpJ; arc=fail smtp.client-ip=52.101.84.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="YKQ84lpJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Lq7kYfrejSQzvWfnvb4jA1QhgOwEsk0b+weck7xLZwooQNyamYW9YkbGS8HpONpZlWt0ixzNc8D0+eVhBghhiQHuE0CsVMdwzdnC6SzXU4CrP8/+NzSo6nS0DLUohKdgcwHExi4tim8BbSy4CR30iLpnp4i3YiGr9W5HZSBunqXKER7LulE7f2NrRjigrj4fn7cWWMRK6RCga3d7b2S6UJIaLSeMp9mr3hTiophDodgWOf15+4ReE41uFcYoXUaz5PVU7Ut0aY7C/NYVvXZ/Dk5Mokx39BKtKywbSufUaVZeUzDyLYkpMW8ZLZizOocJwh1fWONfcykUxkBg1XOEpw== 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=SqcLfsw8F70o3uvk8F1mD6LDuOiCFjNES80/Ep8mRpI=; b=ebqYVMKFm3hTNDtSjibW8lIwrjnDkbl2qrzGfGv+h2epRskNZfMJAcnjI1y4D2EDwnqNwyt7ZoDS048mNjIlNMwmtH7FRPq6EyYJwSPn6t+HwKTGJPyLprIh0F8EvdpCZn8mHQ4rfJuXBi9kMQqCvxFC0cH+mqDXa5xi5xqxJGB3PIv850xbFsqDSsp+aYcNr/W8JUuIvh75apd1ZmJY6vhTnPyWwbQmTQoRHFUBfc+VzsrJcFP8B0WC64uLiKN1Sa7KvKoV/YGC27R5oDaT21c8VJiGqQNOux1WFo8qkhvv8P12Oj+8TmL41pUeEDmk0k+5HD15u+IRjvWzSt1lEQ== 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=SqcLfsw8F70o3uvk8F1mD6LDuOiCFjNES80/Ep8mRpI=; b=YKQ84lpJ//jwPJfwdI3doQnB5GCcq/wKu3hBJVcZdL2aD0y1qckXffUGVoeJsPrIKMFPA1xBUKtlwfjrihfxIUqYsE2bN7cdEaj3lI5yZjtN5psUTKV17wwViT8OdNZgACMRuwUTI88WL0BO8gQZXRlze8XEWI4ROtKkgkgRrIiftCeMXKQ3ciPJfRU79JQmFD/o1LXxvVw43CgcGNgQxVF2bUt1pD6TGdtW5kaVirpDydbCmZn9rNoLsXRRjH0cabsNyHaqI73kBYT7F+tij7VXl9ctLreCrXxKTfnwdWc7nP3EAg6LXS48EUTILeSQ5dqDLiFIuyIW8I7NJ7q5Mg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) by DU4PR04MB10911.eurprd04.prod.outlook.com (2603:10a6:10:58c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026 14:30:07 +0000 Received: from AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6]) by AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026 14:30:07 +0000 From: Ciprian Costea To: Marc Kleine-Budde , Vincent Mailhol , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Fabio Estevam Cc: Pengutronix Kernel Team , linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Eric Chanudet , Ciprian Marian Costea , Andra-Teodora Ilie , Haibo Chen Subject: [PATCH v5 7/8] arm64: dts: s32n79: add FlexCAN nodes Date: Tue, 9 Jun 2026 16:29:53 +0200 Message-ID: <20260609142954.1807421-8-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> References: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0146.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::7) To AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB5858:EE_|DU4PR04MB10911:EE_ X-MS-Office365-Filtering-Correlation-Id: e5b38941-96d2-425f-f1b5-08dec6339a58 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|1800799024|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: l5unLY5cXoIW1+aWQrJg6fNfI27CUmcsyTzXeUPSQ5PoLF1WqqaTUJuYiPjJORMcGJRhPMXw9ZP1mvvEg97Tn2rIoQrttdDay3c2SKGdz5Vlw4a7GhvcA/G/E6mF/8ePJIIBOwPQkUk0b2gL1KqNjGrmtmFoD24b8eyi5b5/c4c6dssrd/v8dZCN506Tq7gxCR8Gj1MQzUfrQNY8fXpiyDAvwxjtMT4t/oYRRYLC3w6bXBQhoedSHmhMU6BcR6NGfg/dcbHxw/3/YVHjXbSgqddT6jVvyg+bXkH6+W2qanoqntVdBj/I7PSBwa8fZq7OH4yPx7amHGRP6tDk2UIkdBECRymfAHwaB2fbAtSpDx1BTVy6HFlZOqSt0wksIMJKqzJu713iki31e7PwjX4JLi8Pkiet+4/3FxUHjVSwy3wsJZuVWWr8VokMAV55lyDpHLHsSLkxACelDXQqv9LSjg4kALnGOPB7HYf+EVsDUooEMtWVR5cI5hk4CPb/NKA+z9yiiFZa+Cr60XrcDtytqgqmrU4mye0kJlyEQzjBc2Pl5h+HFAqVNAhp7WWogo4qPK7iQCyNmZzFoM4j7d5BpOU1LUiieebavJyTpktXQQDmK5AB2d8BnNOFG0I19F3S2UzSynOod8TsOxFpwthEI3sxVQqAIhR9GpNIJvROvXAZBg6OhYJO6dN/jbNRHqYN X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(7416014)(376014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Zzc2YjgvdUF3VjlobUlCT0NMY1R6MjhCZERvTnoxT3pZdUVZRUh3VVVlWldO?= =?utf-8?B?RUtOY1lOODM3eW05bnB1WkFEY3daS0lDb3dxS1U5WjBGK01ycURKdWNDOTZW?= =?utf-8?B?eDJPeUFBUHpvSXNZQ2RZcmpJQ1p3SXlXOGowUTRUd3liUEphSXNJeXdPaUxm?= =?utf-8?B?Q1diaWx6RkZmclNNaThrVklqUWdoNkR4MkFqOWt0SjVLYTNpZ1JDV1F2eTdO?= =?utf-8?B?WHEyM1VuVUlFOVJzVHAyMjRLMlNjbHQ5Mk1aYU94amtOY05JUU9tMW5zVFdt?= =?utf-8?B?OVBkcWlXMWxNdnFhU1RkWWFmWDZ4b0syRVpxZ1hrNTV4R1JqamZESnN6TzdP?= =?utf-8?B?R3FLdy8wWkNRdSt2dWd4dHV6dk1ZbUNzS01rdHB2NDJaeWtzVm9hQk82bVhK?= =?utf-8?B?NElLeENxc2tYdHY0MVN4cXlJUks3bUR2c3RhUzFTT3FtWDUrZHJLN08xUklk?= =?utf-8?B?RUVqejFFUzdnWGdPKzNCa3cxTTBOQkNmbk92Q1IxaFlhQ0xPMnJnSC9HSXNY?= =?utf-8?B?QWxYQVZqcXNvMjhRYkFzYVdhQ0NFejdmQ3FFa0hLb1UvbmdqMW91UVpQSHIx?= =?utf-8?B?a1hoM2xBZytLZGdiaG5vMnJGU1ZYUWN2cHhrYVg5T3BnQnl1eGt1S01ySXJn?= =?utf-8?B?VzN1d1piSi9HVmNNZ0x2YkZNdnJjUGMzandIT0pGa2hpVWVZM21EQkIyZGF1?= =?utf-8?B?WUFDL3ZIeDRia3k4Nnp3TVlpU0N4R2h3cGRub1c4eUVPb3FHMGp0dFEvdURo?= =?utf-8?B?bGlIUURtSkJKWjlMbng1cHRQOTN2V3BrN3IyUXAyVVRZMjhHNjViSWg2V1gy?= =?utf-8?B?c0tKVU9pU29jNi9DMUJON2hKcGMwZWhYQmpkZWFNTnhLUzk3SE1sS2tvM0JK?= =?utf-8?B?Si83SDcwdWlDLyttYWxYR1RiTDdLWFZGRGc3alJPeFRCS3p3WnNQdloxcGpE?= =?utf-8?B?dFErVWw2WnAxN1NLUVk1TE1kYTAvNkZGY2NoMGVKdlRFbmYycVBwS2NURWds?= =?utf-8?B?Q2Eyd2N6dDJoaTU5Q0c0bHhuNk1GYUtSRlBpV3VOb1BwUDRjaER5VndRRWR6?= =?utf-8?B?WlFpcXYxNmRyZmlIYnVLd050MDcyYmNGbDNBenovQ0dnd0FTMVoyb2E0c1VO?= =?utf-8?B?UjkxaUg3MnIzMWwzYk4rcmppMmdtdWZSQzlBVncwTlFraUtPVjRTazVNU0lr?= =?utf-8?B?cVkzWWJBWHpoRFV3V2VxRm5uVlJ3dGxwS2RwT3JPVWFETkZFanREU1Q1Yitn?= =?utf-8?B?L2RWNDlhQUFQdzRDYktVL2xVOElLZy9QdWQ5cjBSOVk1eUVYc3RLQmtCaVZZ?= =?utf-8?B?aGJoUVRtbVo0cXI4bUk0bVNpWWhUQm0xZis3V0pmSWtWcUw2aHFFcGE5ZmhG?= =?utf-8?B?NU1LNWV1cVFvSGNXZERHNWJEM2hkdW0xRHJybHc3SVVKSnFvc0VYUVR5K2cv?= =?utf-8?B?RHJZZmtHUXZkTmtic0pxK01Hd3NVNndySEszd1h5akNVUFFOWUswMVowU2ZD?= =?utf-8?B?TWttSnVDZzN0VjJSMk13amJtbXlaQXZKMyszdW5IUVhvOUtmaG1HM1lpRytX?= =?utf-8?B?K3d6UzJJT25ydUp6bGczVmw0NmQzRGcxdzJNRTM3bE9xeFhGemdBSFNlaDJm?= =?utf-8?B?Tkc1WXBVdVpmWXVrRXdMaEtRQmxQU2o5cms3NnpnbDlnNE5QcHBGSnduMlVw?= =?utf-8?B?K1JlSldKK1JNVEZ5bndlT2xFbnl6SFRxdlBia1pKbDBPVmNqTWUvWWVORm1k?= =?utf-8?B?RHYyb0NKUHhKRXN1QnJKZnJMaHFndXR0RUhNZDdOa2pHbE5qT1VsakNnWG1t?= =?utf-8?B?UGlhOHZvZ2NGemVIUGFGRnZ0cjNVNkFhQ2VIck9tOFA4bE96TTNQa2tDSHM4?= =?utf-8?B?eVZHSXBKc1gxdjgwMTd1Yy9yZkdNeEFNeVdDZmt0eUJrV1Jxdytrd2xkWU1Q?= =?utf-8?B?MnE4ZitkWS8rY0h5K1NGMjJMV1BpaTdsTnhoREc4TjBxTm9IaXlUV2p3VExZ?= =?utf-8?B?UlFoUEQwTExiVjhNYXdrbjhMV01iWVBJTU1FNVpEcXFhaVM0QUJZWldUSldU?= =?utf-8?B?S3VsR1NVc2F3RHBJRWpicGJGa2lZVjR1SUhhYUdBM3lNQUdXQW0zTXN4eVY0?= =?utf-8?B?bmF1SkloK2tnbm9oTSsyTFkvem5SMzdRODYxV21tbnQ3QUhJZU4xbmhkVGZm?= =?utf-8?B?Y3JLZlduek1ianl4dUZ5bjdkRjZvN3RCV3RCc0lVQ0JNSnp6VDZzOEZXMHJq?= =?utf-8?B?aGErTFRqOG5UcGVjLzdBTm15Q3dLZHNvVWVSamsyZWlPYWdrZFNhajQ4Z0R2?= =?utf-8?B?VUJMMlBWOCttWW5sSHpNb3hodmxHMWZrQW90QnlQSVpkOEM3N2YyU29odG91?= =?utf-8?Q?uiGstDCcYgkzHHi8=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e5b38941-96d2-425f-f1b5-08dec6339a58 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 14:30:06.9779 (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: EHShwN/UZDL31KtAbtX+CiIwGk+UgJmD/COKZ2joA8HIM9AuXaCO3F71kejYnP8olgBmEASPUQRfkQAvgu5e086PGggTqjZzXQGF3T7tSS4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10911 Content-Type: text/plain; charset="utf-8" From: Ciprian Marian Costea The S32N79 integrates multiple FlexCAN instances connected through the RCU irqsteer interrupt controller. Co-developed-by: Andra-Teodora Ilie Signed-off-by: Andra-Teodora Ilie Signed-off-by: Ciprian Marian Costea Reviewed-and-tested-by: Haibo Chen Tested-by: Enric Balletbo i Serra --- arch/arm64/boot/dts/freescale/s32n79.dtsi | 50 +++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/s32n79.dtsi b/arch/arm64/boot/dt= s/freescale/s32n79.dtsi index 94ab58783fdc..c1a4fdead91d 100644 --- a/arch/arm64/boot/dts/freescale/s32n79.dtsi +++ b/arch/arm64/boot/dts/freescale/s32n79.dtsi @@ -352,6 +352,56 @@ pmu: pmu { interrupts =3D ; }; =20 + rcu-bus { + compatible =3D "simple-bus"; + ranges =3D <0x54000000 0x0 0x54000000 0x4000000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + + irqsteer_rcu: interrupt-controller@55101000 { + compatible =3D "nxp,s32n79-irqsteer"; + reg =3D <0x55101000 0x1000>; + #interrupt-cells =3D <1>; + interrupt-controller; + interrupt-parent =3D <&gic>; + interrupts =3D , + , + , + , + , + , + , + ; + clocks =3D <&clks 0xf9>; + clock-names =3D "ipg"; + fsl,channel =3D <0>; + fsl,num-irqs =3D <512>; + status =3D "disabled"; + }; + + can0: can@55b60000 { + compatible =3D "nxp,s32n79-flexcan"; + reg =3D <0x55b60000 0x4000>; + interrupt-parent =3D <&irqsteer_rcu>; + interrupts =3D <0>, <64>; + interrupt-names =3D "mb-0", "berr"; + clocks =3D <&clks 0xf9>, <&clks 0xfc>; + clock-names =3D "ipg", "per"; + status =3D "disabled"; + }; + + can1: can@55b70000 { + compatible =3D "nxp,s32n79-flexcan"; + reg =3D <0x55b70000 0x4000>; + interrupt-parent =3D <&irqsteer_rcu>; + interrupts =3D <1>, <65>; + interrupt-names =3D "mb-0", "berr"; + clocks =3D <&clks 0xf9>, <&clks 0xfc>; + clock-names =3D "ipg", "per"; + status =3D "disabled"; + }; + }; + timer: timer { compatible =3D "arm,armv8-timer"; interrupts =3D , --=20 2.43.0 From nobody Fri Jun 12 01:36:09 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010008.outbound.protection.outlook.com [52.101.84.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 0698E3546EB; Tue, 9 Jun 2026 14:30:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015419; cv=fail; b=Hz1nRKrXaNeI7oKj7unhGnS3zsGSQlfY0JXTKAeQq5Gu4IGiwwH0/27h5+q//EF8S2rY25FIJTqeagP/4IW1DyUJREJnUP3iKp0fAie1RSCkGkazk49/qRpxxbw6D2OIjHbvCZrIenJ8qskjR+4lJouEbPPaHIs+J8sT1BaXBb8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781015419; c=relaxed/simple; bh=kv2gcVZ98IZ1droNKSUM2CVJZ83nh8WhhAcQ/lM35Pw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=k0XPQZYMLOeg4e52NpMU/l1HEoPo5rz76zeEGiuB03ZcPDuk9wCBP+6uJTTo80/Rb5DI6tNq/+GHuaMZ+6+3WyL0P+ItaGfSGP+IOhmV5fLmfdrgQ/jHpcGb/SuI9jdyyA1seFA3kNg4O3jdl+QBDHY69HEGvyS1vIM+BJU+8gQ= 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=Ljmk4CQ6; arc=fail smtp.client-ip=52.101.84.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="Ljmk4CQ6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EVmGZJBXR/CTbAM1NmG+Z8fevuW9mlYCBoYByshIGwr0zTpTP8DKkYpyeFFQaS1NCHdJdxf3G9pHcyznRViNuihicz1tZO1uRmq0u8rQsdJOOblmRI4Oi+JgrsQ7YZtkUFxSlithrkBE9NYgWt0u6FFRlThtfy+dBQJ01j69lp7L2aPGcAuX2IvpiQM7pPzTTsS8i8lQ4z5oi6BloCwF+EQwB5dPMYdGvvOMgplDFHG4xgQR1R7l35HYCwZc8DwsVGFFtMnb6rVqPnH6h/5+TqOJ2xuT+j7XJf4SQLnIbUpcQFrko/XE0ankNNlbvCDEYOCx1POhrCNDzfFJbNm7Qg== 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=QHS9S/v3+oyAtUL/HuoPZmv7hIToiahgo2YsiFuzBLY=; b=yHWbfmUrV6cVEaCda98CbTZ7o/p7sxh9/i/KLnt77fqRsGv+U5nsGB32iRTU7qgiQQKCHvJG53lIV6vKmelgf0EKXnSmKVKX+4gIvdrsbyY5lNeIK5nTgywlXYZrLN01R9gVtwkJZx5Jt6ucJYozeB/I1ofs/4Tjpf17qA6S83LY+PFLMdkjFZ4Mxqb13un9GC6/SC3qufK4p7N+8e6Z2AktaQA9fGK7s5KshM3rB8RnhVaXJoLo2zg1I6LMQv+2salNftNQCzEJrxsPmxPU5m5+q8u6Nq8xZTrHqRN1xMLyznTMNwi290QydBrRAcgKHxUjDIC1Sz5YVTjwq0LRIg== 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=QHS9S/v3+oyAtUL/HuoPZmv7hIToiahgo2YsiFuzBLY=; b=Ljmk4CQ6cy+UKviVKgPgitC1foiWaSeYj/Mm2Jh2bFN1vh5LHGF5UV5zpQd3dgoE7oCFXAKYDWLJG/4pKETMj2KE0HZ41sbeE7BN8GEg0N4vOgKMJyCfQ4Bhr2zQKZAmeF+gJ5le/sZunSM+pstTcWkxRzdgw+qpynhy8ImcZftinZh2FF3ntzBxCAL5B/9Jyf6NMIWQx4zhf+FEVM/LsolL+eRLm0SjUN2xd9kzkjHDzyH5hLrygHU/VZU6gNr5FUaLn8NjL7VK50G8oke8Zed0X+A+LH7Ba6F3VklBxD6zzJx5Blw2Kp91Oo+8MRF7WlMIu+JK+a2qbZjjHKKrbw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) by DU4PR04MB10911.eurprd04.prod.outlook.com (2603:10a6:10:58c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.12; Tue, 9 Jun 2026 14:30:08 +0000 Received: from AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6]) by AM0PR04MB5858.eurprd04.prod.outlook.com ([fe80::bdf4:c9d1:4e3f:68c6%4]) with mapi id 15.21.0092.011; Tue, 9 Jun 2026 14:30:08 +0000 From: Ciprian Costea To: Marc Kleine-Budde , Vincent Mailhol , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Fabio Estevam Cc: Pengutronix Kernel Team , linux-can@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Eric Chanudet , Ciprian Marian Costea , Haibo Chen Subject: [PATCH v5 8/8] arm64: dts: s32n79: enable FlexCAN devices Date: Tue, 9 Jun 2026 16:29:54 +0200 Message-ID: <20260609142954.1807421-9-ciprianmarian.costea@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> References: <20260609142954.1807421-1-ciprianmarian.costea@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0151.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::14) To AM0PR04MB5858.eurprd04.prod.outlook.com (2603:10a6:208:132::23) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB5858:EE_|DU4PR04MB10911:EE_ X-MS-Office365-Filtering-Correlation-Id: f6aa9e16-4fa1-4dc1-3829-08dec6339b6b X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|19092799006|7416014|376014|1800799024|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: e1hdITRvNvt8E2ug2H0Ok/iIwISALlFbPjoZ6yyc/HCs2nDMuc5EhxKMzdxro4xEldyggac62ANYGaPZXqKpma2nYILyoGFvNDG8gP/R9hx5pIWfuAJLTcI8clcR1xLNyxVq54XsBtl0ZfXi1L+hZOCAGLVE9XhFFLioXAb9QXtp+gmxVafs2LOvmnFtdfR40AWn3BxJDwa+JJZhUe4URnTmtKPfa3oExp72ZvkTHN8LpJb0OLyPgHGzgp77AVQTIsxm5q9DYWGjxBzKKcjB/3dcufQLoRlG+Rb/TE0cpJxECoHmG40DrERekuU4TLkHMiY0FXdmu2j0YPdmJA1HBP+LPvNoEG/jVXUJIEu+QgC/B1P2iHsprxaF/XbLDnQTta42oIHARljj2b5GKmgYu9E3j+Und+yPhXZagGHYQ/Be3LfFaJSu0LY+gvIyPSywMSMM5ITJEyoXCMbk2fCsoYeetm1pox6CgZJx4pD2uDGVfoi45+wSPXsTz5KUBcwRk8AElqgJ6Mii19Wv88tWj+qg/9QnYB84sfbsKmticGKc7kyEUL07fZEW9R5tIeHlUPqeyDd5frPIp32atzomY5HZ7KOa3E8kHgd/MZFwMr6xAdwPSDssTl5DCLDLqNihhhbW0aZAtGicX89/tCIkSHxBOmJjM3UHYK28K/PYp//jMVTkVxjQE63oYZk+6zpn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB5858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(19092799006)(7416014)(376014)(1800799024)(56012099006)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U2piaEgwTFFCeVFscUt1cHhGSTBSY2NiaHRpRmxkSXFOOWlSWjNFVlFuOG0z?= =?utf-8?B?M3pjMUFGWXBBMUhJdzg1Y1hHVlUwQ04zMnl6OGtjd3E5RWRnNDlPeU1yem9l?= =?utf-8?B?b0NUUS9iazc0S2NWSFlITUljK3p0bGw5UGh2bmNOREp0VXVZTGdXNy9MeGdB?= =?utf-8?B?U3BtQkFqK29RN1FOd3lGTDRJR0s2cWE0eVBLNkJyQ01TVFltL0FpUzRUcGtK?= =?utf-8?B?RTFXNUtZb1k5TVBRY0dKY0NVZy94ODhWdEh1U1dXeDVYY3BtRlFzVHUrTzdo?= =?utf-8?B?Q0tLUGdFd3JXbVBmc2dPMUtqM3dQSE5ETUQ5SG00ODFZMCtsSlpDdDJQQTVh?= =?utf-8?B?dVJVWWNLdVZ5NEdUcHFoSW9nVlFGS1RZZFp2SDZ3NkZ1anVYcFZqMElPd2ky?= =?utf-8?B?WVhGTjlHTHBxbkVhZE15bC94dWptQUR5ZkhwNGlqcFc3d0xtcGk4UlQvVTJK?= =?utf-8?B?UGlVdXhRa3dVVzFESjNjMnExbExJUTNUUFZuQ1UwTVc1MnJ1aEFCQkdVZ0hv?= =?utf-8?B?ZE5jNE5qOFhXazRUbGRndHJWd3ZoRWhpYjdZeFdTWnQxWnFlWGdoMWwxSUwr?= =?utf-8?B?aERwL3pyL08yK0JVZFM1ZXBobWJmdTB4M3M0VHhJRFNxVG1JS0ZwL0JCajJ5?= =?utf-8?B?ZlpGeHo4UnBxTlYwMkM0OWY3ZnhocnJsTkZMTUhQTmlGblF2YlVucndyOE1X?= =?utf-8?B?OVRVMjRQZXBzRDlkeGI0UlZZTnFBWUNabGpRWmFyVWJLTHhMWER5dHRHeGJD?= =?utf-8?B?ZmMyVHRMRVp1OHhBdWpTWFo4OFFjZ3ovOTJFTXB5OUtzRG5heFFsSTRHM3ll?= =?utf-8?B?VHpGVWlPM1c5R3dtZDVMTTNYd1ZVdzBXZ0FpSjJrNlNpeFdUeU5BbjZJcGd5?= =?utf-8?B?U1djWE11QmdKNkpITzZLRFNMVDgwZUxKbno1OXQ0dEV5OUxUQlRGUmJtUmRw?= =?utf-8?B?bVFvT2hOMEFMQXNLelBvWUZDSE82blMvcnY2UUFtUU9INzJDQ29hVTM4cGhm?= =?utf-8?B?NzUyRHB1dlZoNll2WXJvOExHM0pLNjRTM3ZFTzR0eTFEUTNCUVcyL0tkcGdE?= =?utf-8?B?eWIwVEFiWG0vejhKRzZRL1VTbWJiQ0FYbXhaajNMQkhPaDhuZVdUV0VlLzVz?= =?utf-8?B?RUJnVkZZWWp0Si8ybExGcjlvRFhKckc1b2FkOTNSL1RBSmZpSFoyTWh5emR2?= =?utf-8?B?Tk55Q1k3SGxIZ0ZSYUlZZ1RicDVNUE94bEFXSjVsUmRoZmpOd2VBdC9YTFBl?= =?utf-8?B?ZWJHVldMdEptd2pBSFAvTUFQL1RZZlkyOUR0WEI2L2FTdDg0QW9PWlFoVUhO?= =?utf-8?B?aWljenhscWR1L1FSaithcHVoZ1A5NVROMjJsdWs1bnZVMmcrWGoycUhaY2Zl?= =?utf-8?B?TDJqaUYxOGlKalBRei8zOGhnSm9HQnU5YmY4dEMydS82KzRXd1BWd1RsWURX?= =?utf-8?B?dDJZS215ZkRNTkpwZzROdTl6QWJITWZHM0EwRU8yd0JSTnp0aFZrOFhUMFFh?= =?utf-8?B?RzgyY3RrajhjWkoxQ3FZNmgyZ2RTODN5Ynpwc1Rpc2krZnJDSmpPc1NMWnZx?= =?utf-8?B?ZFdFMGlGUjJvb0FQbTErRmFqTnFlNEhpWjduejRlNjBMR2syeUJqY1Fic05t?= =?utf-8?B?K2tVSG5aVGVrbGRiRVRWZlg2a1FQYkF4S201dC9iUHE3RDJnakRZYlExUzFI?= =?utf-8?B?OGsxMkZHbmlvbFBUVXJpS1lESUd4MWlCMUdGSkNiZ1BkUjg4VzQ3amxpS0ZK?= =?utf-8?B?Zjc5akJxVllzUFJtWE1EeTZHMk54SVZoczZxUlJqdVFnVnQ3bGVyYUpYOXVI?= =?utf-8?B?QUFjT1FKZkhzQStsUXM5RzNKbUJVWDNHcCtEdzF2WEZUaVg4QmkwUnkrVWtG?= =?utf-8?B?VVVSamhHK2trQndnbnZkWFJDeEN6RUVGQXF3WlJTYkk0NXlMY2hGR2s4YU45?= =?utf-8?B?cVFUOXZkMmJaWWlwSy9RLzlwbTMvbm5ueFBYVGhNZXB5TjQxalZ4aisyYmRl?= =?utf-8?B?MDU3anB5VUVZQWkvemhQNTZjbjN5aVQzdENGZVRMb1NzcEdZRlFvbm5JYk51?= =?utf-8?B?VDlNV1l6S0NiOUV3NkV5VTdQVnFacmlMM2tMS1h2VXZaY2JHSUxsUmRaY1FF?= =?utf-8?B?Rm9CTmpvZThRNjdxM3M2T0tSdTgrYnZqQ2s1NjZsNEQzWVMxSTJ5dXhUWVFC?= =?utf-8?B?dDRnMFVFbmNkdzlDdzFFMytSV3hqRjNXOURkYnBIN3J6NnVSQzZrMEZ6bk9R?= =?utf-8?B?ZDdjenYwTU9NK1NJb2RPcE5CNDNobDdmOTFVQ1QwYm90bmhBVnFuUU9yWEpS?= =?utf-8?B?S3pBUlF6Q2VCMEk4eVNWRGUwK01oNk5sVGVLUHN3Nk1oSDg1ZWkzaTNZaXFp?= =?utf-8?Q?sv8G42pnUg0bGe8w=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6aa9e16-4fa1-4dc1-3829-08dec6339b6b X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB5858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2026 14:30:08.7438 (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: kUc6V8NXSOPvJ3MnuvITcoLqSJOD/Gishy+mctB61nZaMBr/FQv2nsfTHR8biWr9WzaV7X4wUnVLaZWRTmkgIaqkrMK+Z8l32VW+ZUpyrzk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB10911 Content-Type: text/plain; charset="utf-8" From: Ciprian Marian Costea Enable FlexCAN controller instances (can0 and can1) and the required RCU irqsteer interrupt controller on S32N79-RDB board. Signed-off-by: Ciprian Marian Costea Reviewed-and-tested-by: Haibo Chen Tested-by: Enric Balletbo i Serra --- arch/arm64/boot/dts/freescale/s32n79-rdb.dts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/s32n79-rdb.dts b/arch/arm64/boot= /dts/freescale/s32n79-rdb.dts index 1feccd61258e..65a595d7535f 100644 --- a/arch/arm64/boot/dts/freescale/s32n79-rdb.dts +++ b/arch/arm64/boot/dts/freescale/s32n79-rdb.dts @@ -43,10 +43,22 @@ memory@80000000 { }; }; =20 +&can0 { + status =3D "okay"; +}; + +&can1 { + status =3D "okay"; +}; + &irqsteer_coss { status =3D "okay"; }; =20 +&irqsteer_rcu { + status =3D "okay"; +}; + &uart0 { status =3D "okay"; }; --=20 2.43.0