From patchwork Fri Feb 28 15:43:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrei Botila X-Patchwork-Id: 13996674 X-Patchwork-Delegate: kuba@kernel.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2054.outbound.protection.outlook.com [40.107.20.54]) (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 0261F27560B; Fri, 28 Feb 2025 15:43:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740757438; cv=fail; b=HwSiDGBq+iNn2AIensoMgefCIMhGKKn8MyBVq/OSa/b7Vj8e/3KUTvDq/J4Q+UoVc6yhUt9iGmRrIbsYu6B5n1ebWHSP3ittOiLTQtO2jYOztxwzX+4NCxIZOSROVmuPlwlfoD+FgcXhdx79Yonn8dqM4Oi8TWDFzwokqcRDyPw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740757438; c=relaxed/simple; bh=jMae/gS9aeJVl7V1scGl8OvqRldw+rUPbF3Vv9oEoRQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Qirj6NEN921T7G/7YgUAzS3BUe8wmfYEVWRv8ax7oMOEMTPLQouZp/R2QyB9ToXVcAl1tQom4UcYOXB+ZtPaSCfsFhfDcmz3fgVhrlGMbmc8Q7oT46HHijkuFt5yBs+yQ55YufSio5jEKrY0eVh0Smje/Erb3dPOuPTXe97WwvA= 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=O2BXPPzG; arc=fail smtp.client-ip=40.107.20.54 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="O2BXPPzG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WUtNzl6INoKmQL5VIWM3gJ6gLZgognELyXYNn+Aq91O4QaNP2vaStsJPnppo1bXsZaQ28+wfHhjMN6guuBdwgFxOQkjLBmUgDOulCvXUrkDKM8OB24kMfxnVCiLhejSBx/VkohQm/WEyUvZxz24F1Vbf+pCVO9EeRewhvQUtSaPFrwB050yzT70ZJnJ6oAxIkSHy8D5QP+ah2ixj5BbvB9LAY/ZsQ/3a9ZPNpMSK6owtxaBniEagV8q90YVYWHB51GwW08TNqQvWg1WobxEKLQrAXMGT9Z//pbZRjCPwZPsD3bxWKKd1UXxGJ/jZqxeofJqJT3jUeuWZISxMAp1ZDg== 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=fFf5kKNt/3TV4SrjeVtO+pq5d7vnY1H+D8rSh2YZHH4=; b=ssEB0H9eqB8hgWTge9VukhuJCQTEeOMYmvc4TZ26KO2parEkMiCAGlsh7ob9uRGwC2aSDvx88FqCVqZqNeXdpD4s+6kQlOAGX3NtbV7loENP/fbOuB7UoTSlUowvBTCxpMLFB6AgdOmftcdW9T454tAnLntLz82MXK2L0HaVgI4uEoV9rOxpni46puksyK2HHgi4M+tw0r1EoL4XGAKcK3gt2rj7Uki9l/4UVtylpL3HoaSTux9sEcvviY1LnhJEhJDum7CO974a7q41RUu00KzE/elov1GowAlrmj3uiu0/ickTgaZal29ZcW4QSqoTJs8gWvW2kUoWsmS24AEkIg== 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=fFf5kKNt/3TV4SrjeVtO+pq5d7vnY1H+D8rSh2YZHH4=; b=O2BXPPzGqkrgKM/y+MKM3KNJ/O0SB8FMr/w4UGBgONZD443pjvIy54mr2pX0/yB6D+bujULn4JJ4ameY+45hA3Y8R+SdUYKYKCIYD/r5jmOd/Rk2ezM5zYAl3+g8aVfWnhef/V00q3ZuQKgjw61xi1bknh9fZU0j7XztIlR/4wnSiLxYnh3CeX4U3OAl2kfhjgd6AdVjYZaFoKfa3krEgXxK1FDYvSkn6UzFFvVOJ76Od4dpgj98L/jV6NuIubF10C76D41OS7id4W9kIoYvx/IVWlKwAhRDrvlkaRbEmUUQwW7mg+E+SajWkxfIBxNg/fiDNEkVVOYiLhErXDP+dw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from AS8PR04MB8216.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::22) by DU4PR04MB11054.eurprd04.prod.outlook.com (2603:10a6:10:581::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Fri, 28 Feb 2025 15:43:52 +0000 Received: from AS8PR04MB8216.eurprd04.prod.outlook.com ([fe80::f1:514e:3f1e:4e4a]) by AS8PR04MB8216.eurprd04.prod.outlook.com ([fe80::f1:514e:3f1e:4e4a%5]) with mapi id 15.20.8489.018; Fri, 28 Feb 2025 15:43:52 +0000 From: Andrei Botila To: Andrew Lunn , Heiner Kallweit , Russell King , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, s32@nxp.com, Christophe Lizzi , Alberto Ruiz , Enric Balletbo , Andrei Botila Subject: [PATCH net-next v2 2/2] net: phy: nxp-c45-tja11xx: add support for TJA1121 Date: Fri, 28 Feb 2025 17:43:20 +0200 Message-ID: <20250228154320.2979000-3-andrei.botila@oss.nxp.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250228154320.2979000-1-andrei.botila@oss.nxp.com> References: <20250228154320.2979000-1-andrei.botila@oss.nxp.com> X-ClientProxiedBy: AM0PR05CA0075.eurprd05.prod.outlook.com (2603:10a6:208:136::15) To AS8PR04MB8216.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::22) Precedence: bulk X-Mailing-List: netdev@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: AS8PR04MB8216:EE_|DU4PR04MB11054:EE_ X-MS-Office365-Filtering-Correlation-Id: db1fd4b9-905d-4e39-6ca8-08dd580eb387 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?uKwojjj89bu7d9YQkL2/Re80SUS020K?= =?utf-8?q?EVr7k5IVH3yuDXdItYSCr5mNGzDmNocqlFctsc++ZDhV3bXzdZaXlvuJKlngqiGjV?= =?utf-8?q?trmUHcSIO0TS4BVm38BSVFoKFPbBdaBa37BT6ehbL+t3JOPJ3+Bg0Z8froedsieOQ?= =?utf-8?q?kLKzgiOfJE6dTBYUH5gWu/sFrGotpGRqrSwqn9LkyJj5HP8oSkDuSGSHNmk/V1uLk?= =?utf-8?q?1JB4luj0JgRPoCPn3eYOxJCXSJMxoAWEjb6Bevlv9Y/hsbX4VfmL8TfqsdmdTBQCd?= =?utf-8?q?2QB8VslRoZ7GxJTRl4jSo3A/RDUOid2WsMpOstqQ9xvL2LLjeHqIYZwvAo/p4RymZ?= =?utf-8?q?A350aJ7Yrzthqx2/tEelhusI2lxdjig53feOBW53wTpVtcc+eRowJM8uL4ZQVvYSN?= =?utf-8?q?qv2/YIYm2Sx9CMZbHps0zzUZW6ZOtkuVsDmb8udU5xo0zPwrhaGfaZreKESKiMlsy?= =?utf-8?q?2puI2kel+NHNgllSPI2eJYSv3vk7DIiLvmwrM9iYlUeTMaLaO7B92AdVEx1j6rc28?= =?utf-8?q?peB5qIj7cFSYN82bwjXrnU+AdhxYssb+6mLeAdLAhZjdRSmd5c89kjPx3pU+898fE?= =?utf-8?q?FqOv7KrRzz56oHDY+inx8JrR/9eSKqcGwTpaBpcXOpsI9KjHTiwyfJ34NtahhJE6T?= =?utf-8?q?1jbVyNwvJ3JP8l/Gl7SqtiOupvA3NPyHRAWje6XHAvMQCE5jU6TqrqnyBPDTLuGra?= =?utf-8?q?+qYQWEYpY1aQ4dehJLCTgI925MDZf5Eav9zWvZ/4KdLOWzyudDr6v6b/jO40MLtp3?= =?utf-8?q?eamlMvVXIp9ajQ/u1+TzA1bPoGAvbAZlLf4g1eft9ER/InYELxXAEiBIWkdNNpzTW?= =?utf-8?q?uZbm0KE0uYM9HFGb1/Ij0ZVCJt7sLg1gQQ2QJ24Rw6CNYVgFYDIwucuMqiNk8GvQe?= =?utf-8?q?M7Ddm1Klx7jQu9+r87jiQer10itGoYJrZaF0BnOI6b4pxauO6gOlXWDDJVBW0J01J?= =?utf-8?q?Z7F3bjo2H2j7xAXmfGhjqR+7zwOkq+wiKVJ0xrj25moQ3hEPPigTmbjf4NVNHyD2P?= =?utf-8?q?YM8LpwBwXTyrRs0RLvevvgMxFw5Kn3kmuTK0yn4KHjKMBDbOCPDwz92tDEgAX3viS?= =?utf-8?q?izep2f32bGI/ElvkBLb+ISAWpAIP9nPplVBFT9JLvqGuypgCKFcyfXC2I81EcX6jG?= =?utf-8?q?kgq6muR85y9Rb9iRlHEeKouxCg2ce2J9FZ9t8hyqDRc5IDVmgojOwRjHtj1YJXnWT?= =?utf-8?q?mvgpwj0dCj0O32jBr2JfQ4IOTjKe99W0ohNYk6mlSXwWuIEFc0MSga1ukKapSCn4V?= =?utf-8?q?revilPJzh5pvVl+Z8Vp6YcodjAYeNpqF3v0uKp3+RBnqq8wxrCA91ZabknbMf58v+?= =?utf-8?q?nD/n6DKllzWA?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8216.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?lQhoJXfjFX83Hyu6XAzkXZCE4dls?= =?utf-8?q?xXlyRn8L5dk2Svo5n+7xfW8CTGW5a1A5sCTMfhtUX6ZlGN7jvg4RiPkUnJtuNhAOR?= =?utf-8?q?wc+RImPmMmXbVExxdDetfS05pFsf3pTcT90jI3JpakKLfpmleLLaewgOuHUe+OHj3?= =?utf-8?q?xq6RK0SQXWYzY89pdMtaaAiRjDg2KF6AuQcDT2HFqm1Gx6nHwK1iGAOoJsmIgiWWS?= =?utf-8?q?v5WnjFkKbMiAaLRo61UcAKY+229rL8eVh0hHQ1DYUbgdMqxfdy6WdZRgyz9tkbiRm?= =?utf-8?q?6cseUaRqTogzebGdyqlfAo+luxW8Nbu40ICQ5UlGukDgiGTSyoGhcfP+/BE2kHXUw?= =?utf-8?q?LwRAelxgnwxP31AO436apZVnNwlIuEVjWj+h/Nz4Dm7+xSUaZhoSDqQ6HM50RVUmU?= =?utf-8?q?kzGx3+tgHEfTjB05UcgLEhvu2uXTKePsWaWhQV6quOXn+fh8x23sYt5GYpWDdlGKy?= =?utf-8?q?wwFKd8b5FX1ya+QMjwyCUJ7KvRZ27FLyiHdpvQ0WQYg5YZ2fR0vkBavIkQFwEFHyk?= =?utf-8?q?wJZL4ikI5eb7fyEc6ePFnPIO9zBgl4Cp8dyBGGVTrelRdaFZMWGcLbFdQcKoghO+G?= =?utf-8?q?QP6Z3Zx3wzNJl5Kxg1gzqYD3gjPyDUlugxBEG3XwHMkYgdbIKmw18h+bdO90uo8Sr?= =?utf-8?q?O35I7x3MaMB4L5yG7s/9YFPCPdD+2xFNUuwkX337Rs5KUq/ztkEO7Is8tajs0Oal1?= =?utf-8?q?CA4QIPAKjkbv4Cx7ARJQofrPa7/rrUUR1FvbN82xr93cThLA4498tAlyTB9NeR8en?= =?utf-8?q?eOaSSynNxrmePMEsGxKoyDqxzDYM4zowtcqcvTRbCWyoyd69k2au/Y+CJhiugxtnv?= =?utf-8?q?KtlvFNqkute/VzWsIhY5mIyCIt9WYKfego+uM7ZjWhs/lVruxCMYUSyMiXx/G9BK+?= =?utf-8?q?BkDJqwmqB1sPHcWEWUvzrcqcQbWVxTl7siTSgm+04kHe20svNH9r2ZISxMNqWjDGc?= =?utf-8?q?ps0hMpRGw+n4W/kIKrGzJcVXCoLR6FQbJFTyjkr4Q1rwgskmISsO7GpFyT4Jprg/K?= =?utf-8?q?i+VocS3h2Chyps9J9K9SJXKQm9TuEfG7UcU/BKN2CcU2oNwzDKwG0sWiKku0sL+vF?= =?utf-8?q?LSTNySrPHCxGvZrArrmMx5C0+UbSVKsibK95EB1XceTY6eWKiMbQkfuR6d02LrUc9?= =?utf-8?q?doEpvjWU8/nOea6DPcP/P0SCloj0wAHhBIhulYRxn23dxw5Uq2aRpgYVJbMpTW/Ws?= =?utf-8?q?gj49inZRnPEQD8EqSCafVKSit5laaayaFdS3fubGLfXfT3QxJFLZmZdn/y3tRrxnu?= =?utf-8?q?CGgDL/egD8pxRr3SqJsoq2ySHV+KuI6ONyvxDANSkLpO5SxaqPpmWCoBYi0gOKybo?= =?utf-8?q?Ro1vN3MgstLTQ6bNLFvF5ppTsI7iMGG+6s8QsHzgehemztAsP6ACfA5ss4VwTJVI7?= =?utf-8?q?edyElNCO8VA5YNxel/G/Ut8lwdP6JNhL3IRfH6W5Zy0lsonPnp1MAwJThuoEV4ubu?= =?utf-8?q?CFkDW0CGrtjWF7yH0doPfg0J+nOCm780HniN/bCFu9N25nYMUhBl5ALxvv1yLmWEP?= =?utf-8?q?Vahzfm8Lg/DP?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: db1fd4b9-905d-4e39-6ca8-08dd580eb387 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8216.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 15:43:52.2719 (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: 10Waw7oJ1oOUwIu2nwi3Qw2ARWbst7AfrL3N7gCTilviXsSc+Etc2Kr64vpAa1qyJ+x//EjygFU06jolEfeT7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB11054 X-Patchwork-Delegate: kuba@kernel.org Add support for TJA1121 which is based on TJA1120 but with additional MACsec IP. Signed-off-by: Andrei Botila Reviewed-by: Andrew Lunn --- drivers/net/phy/Kconfig | 2 +- drivers/net/phy/nxp-c45-tja11xx.c | 40 ++++++++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig index 41c15a2c2037..d29f9f7fd2e1 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig @@ -328,7 +328,7 @@ config NXP_C45_TJA11XX_PHY depends on MACSEC || !MACSEC help Enable support for NXP C45 TJA11XX PHYs. - Currently supports the TJA1103, TJA1104 and TJA1120 PHYs. + Currently supports the TJA1103, TJA1104, TJA1120 and TJA1121 PHYs. config NXP_TJA11XX_PHY tristate "NXP TJA11xx PHYs support" diff --git a/drivers/net/phy/nxp-c45-tja11xx.c b/drivers/net/phy/nxp-c45-tja11xx.c index 4013a17c205a..63945fe58227 100644 --- a/drivers/net/phy/nxp-c45-tja11xx.c +++ b/drivers/net/phy/nxp-c45-tja11xx.c @@ -22,6 +22,7 @@ #define PHY_ID_MASK GENMASK(31, 4) /* Same id: TJA1103, TJA1104 */ #define PHY_ID_TJA_1103 0x001BB010 +/* Same id: TJA1120, TJA1121 */ #define PHY_ID_TJA_1120 0x001BB031 #define VEND1_DEVICE_CONTROL 0x0040 @@ -1914,6 +1915,18 @@ static int tja1104_match_phy_device(struct phy_device *phydev) nxp_c45_macsec_ability(phydev); } +static int tja1120_match_phy_device(struct phy_device *phydev) +{ + return phy_id_compare(phydev->phy_id, PHY_ID_TJA_1120, PHY_ID_MASK) && + !nxp_c45_macsec_ability(phydev); +} + +static int tja1121_match_phy_device(struct phy_device *phydev) +{ + return phy_id_compare(phydev->phy_id, PHY_ID_TJA_1120, PHY_ID_MASK) && + nxp_c45_macsec_ability(phydev); +} + static const struct nxp_c45_regmap tja1120_regmap = { .vend1_ptp_clk_period = 0x1020, .vend1_event_msg_filt = 0x9010, @@ -2032,7 +2045,6 @@ static struct phy_driver nxp_c45_driver[] = { .match_phy_device = tja1104_match_phy_device, }, { - PHY_ID_MATCH_MODEL(PHY_ID_TJA_1120), .name = "NXP C45 TJA1120", .get_features = nxp_c45_get_features, .driver_data = &tja1120_phy_data, @@ -2055,6 +2067,32 @@ static struct phy_driver nxp_c45_driver[] = { .get_sqi = nxp_c45_get_sqi, .get_sqi_max = nxp_c45_get_sqi_max, .remove = nxp_c45_remove, + .match_phy_device = tja1120_match_phy_device, + }, + { + .name = "NXP C45 TJA1121", + .get_features = nxp_c45_get_features, + .driver_data = &tja1120_phy_data, + .probe = nxp_c45_probe, + .soft_reset = nxp_c45_soft_reset, + .config_aneg = genphy_c45_config_aneg, + .config_init = nxp_c45_config_init, + .config_intr = tja1120_config_intr, + .handle_interrupt = nxp_c45_handle_interrupt, + .read_status = genphy_c45_read_status, + .link_change_notify = tja1120_link_change_notify, + .suspend = genphy_c45_pma_suspend, + .resume = genphy_c45_pma_resume, + .get_sset_count = nxp_c45_get_sset_count, + .get_strings = nxp_c45_get_strings, + .get_stats = nxp_c45_get_stats, + .cable_test_start = nxp_c45_cable_test_start, + .cable_test_get_status = nxp_c45_cable_test_get_status, + .set_loopback = genphy_c45_loopback, + .get_sqi = nxp_c45_get_sqi, + .get_sqi_max = nxp_c45_get_sqi_max, + .remove = nxp_c45_remove, + .match_phy_device = tja1121_match_phy_device, }, };