From patchwork Fri Feb 28 15:43:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrei Botila X-Patchwork-Id: 13996673 X-Patchwork-Delegate: kuba@kernel.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2049.outbound.protection.outlook.com [40.107.22.49]) (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 65A47272933; Fri, 28 Feb 2025 15:43:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740757432; cv=fail; b=dyp30l7ZpWS+zzZ5yolv+LTlETnOa7wP1Ca89+gDPjHwf6PWy/5bDA2qKGIAyFM735FLk59F+2DhjoqBf8Es01F1g3bhbUmMLmRWq9cu71dvmYaojYhuRpAGQbrx5IJBj3wTjrbLXsrZn0Qss+GOrshNlWikSrstrYtLOcn4Mv4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740757432; c=relaxed/simple; bh=DmBEzLDoHwWOeaF7EQihGUHLWJLqvG2PecepCW+rVPA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=XYLrOmLMrxHLxQDt2wFM7h082lzXISD3PcF9J59DOVN0Hh/pH/3q5DHB6ofnrnKDZsrCLx+5UEWFrKFYr+DePl9gLPwXALAcKhQFzMantfS3GjYlj2Am0ztLv8RcCBV5AQ9yyHDdF+khM2+gJIoVbu270fyF+f2kN4p2TrQsLLs= 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=rkDqA8Hj; arc=fail smtp.client-ip=40.107.22.49 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="rkDqA8Hj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eQYgjosLzAQq90bnhxuQKJYlJtvDYbWeN2wR+l9aw82wSTSpJs8qjZai9EwgYl6jj9ls69fNrl/l9JoFvzFurjoYkTow/Xuvvi2gEiQv2EJmoCzbk0VCNm2Ze3JQaKnGs+a4QlFYY4D4cJneslx/ryOp04x1I56Bdo8c97wnlfP9vKVIVgoYVtxjeBqNmR2CxDiWIba1ddWRV0sDmArJ0kNxMmsFFPAJjaazeqJbJ3nEz3Qz8h1YOqL/lhYOTJ6NGejGALp5FvOyJ1vLPbVhcCEX12uXhpR1IKNdE2uyWuECmeRI7tL2GzsNRATpK5bf4pYTlX/jyQMD0+0WD/wuBA== 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=No2IRQPYeOv5OYWNtn1+SUTCZrRlVo1kZm5YKrj0Xfc=; b=sTvuy9uEeaSeqUoiKjXDpLPrMpTbRpmjOjHBf+DfpVAT7eH+UTbxE8vy3hN2PGE8oxSgBZqMzcyJTV3MnFZWX0GdeTOAoNMfKy24ZnAfHNjhoBREHZzGGLtHGyOdmGu9UuVe+OQT4kd0dpu2Ij/VLM01qKzEI78MY++9B7TaeTejIpnSndSlLEODgpghUTP2Hyh0wOD6efhQ+PlAjsEJl8x2AFQbTj4XEBLQrywwEMBqhHK9GnxYsG5M19bl9O15SkYDklkHSUO6/+vLJf0FHPCgS4l5FEEMMG6yI/L13DwXu1iHEAzuBoQKg6H6KOAW4gy4UyiJFy3Rv+KRTpoXzA== 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=No2IRQPYeOv5OYWNtn1+SUTCZrRlVo1kZm5YKrj0Xfc=; b=rkDqA8Hjhxy5jXJQD0px/Jr9foViSGIMkwDHYeU5mrMhSLiNMlZ/C0u4z0TelckCR07okCGnqY69asS2kXhJBKg5bzuAMfppHuCYNbBDJmYYIqIGj6crEmcvIwWuqrRCXvS2rOGsz9YBwBsi4e5wWXbQeBIFPYqFfgTBjyRCOK9t1hYlPhoOYxcL32Z2gooDtfNidOo/Ejq9zjfFrEjdW4WmHNSi6tgx+tulExbt56d9O+blyzSt3mfIf40DzCB9ZjX+WqxiCs302bt3lminHfHVF27BkfmT7YV7R2m89ewBTFEKx57IMQfYOLabBpxJbdaT7KEcAYnEIwnMr/muRA== 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:47 +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:47 +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 1/2] net: phy: nxp-c45-tja11xx: add match_phy_device to TJA1103/TJA1104 Date: Fri, 28 Feb 2025 17:43:19 +0200 Message-ID: <20250228154320.2979000-2-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: 749d443f-3754-4de8-32be-08dd580eb0c9 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?ORsk6g2l+zz0sLz4TV05snfavpWcXvo?= =?utf-8?q?VxHzKBH//MvryQsdZuKgtd10sInluz9kHGtwnVF/afMHntGQyGD3S90rQW6zV2yP9?= =?utf-8?q?oLBPtZ3iY+7o71f6NCdnA+IG7iZ+yobR+MCzSyy1qG+p9er6ccfEVJX1Zlr3X9EyC?= =?utf-8?q?FfI6zoS5IQ4dtrd8k0kJ0Oz4PMqSPYNXHkZ7fs3nopc4TJIQ7u8mtvJH/4EOvZuHS?= =?utf-8?q?EjycA2K3JZpi7j4HdsksPZOOsMNqbCc6iGriuWUgI2iIgFrkB8AgnfaJaoZcjuPR6?= =?utf-8?q?5OVURc6W/d9aot8KyUQ1rIoVw4/nShyxUgAFdVEwnq3hSQrpm4KoR0TGXEfYdjO2X?= =?utf-8?q?y7Fdl6ewrrEnimctO3a/iu/s3w+VzEVGR6NjhtrIc21ssLrdeHFf3Sor3edokFgO4?= =?utf-8?q?8JYtWbzAokWBOWioe0x3/n1GDuDbsCxKHOaLoBEews2shvvrjFK+yB5Vl1PZ617yL?= =?utf-8?q?cvpGDpwpjKI6O/Yv1cozuHs5Gp41LLCHg3h7WmXXtr2SjMyFqYC/3rrTDOpEoXT8I?= =?utf-8?q?NSz5v+WmEljNTjUt09aUKjQQhMO+avcFIzfYseYbsT8bvYPG/BxOGERGCq5Q3SQE+?= =?utf-8?q?gUI93h7StsHnPHw6huyVwU+CDrWCObLfflYyWRu0vwvsZziroinlV7e5e8ImMpD8G?= =?utf-8?q?eq88au9zHVxfh1eIAiNtQqsA1dGvX911ZhXvlrEf6I+AMez/d19vv6lsg21SfMhgH?= =?utf-8?q?qCEdmrbtV/1ki0ofYSWWDiktFWhBSMHCshQnrBWNiqHsLUAlefkWhkW84c1s4G8Zx?= =?utf-8?q?3Q0IWFlY9tqAkt2uTXYFr1o4CIdSY7ednIm9Y8sOvLaoAPKJlYoQYFYiQyjYdMWzG?= =?utf-8?q?m8TXTTrwog7x2VzK6ryfE8KRI7GKl+rsjOdKypP37qFGTFRfh2keAq0uKeWgBkC0S?= =?utf-8?q?8+FGmBKoOLwhIgG7cHU6vPZ6+roS/HSVvxc+CY1Fl3dm/yNEIBFARy/UZz2P1nGFk?= =?utf-8?q?x33XrW7WtAu/HDX22Mrw2hRPYxWiqd5zlE9RdsMlIxg0qIH8/obWYfFHZeLqO4epc?= =?utf-8?q?fBRc+SLWAfi0y0SWEN5+H9xgOu4zVJdnKEDPrgmWI3ScrbckAxljJZf6z+iUoxGtG?= =?utf-8?q?DbXTqjbqLFH15oYxcFjzpFzDWFAILg8lpC+Rl5ySXNs5XxIF652yOBCNsgnPH0Mdg?= =?utf-8?q?Ph98ib1epvb9Il3PTw+IrYr4rSS0nRbS7CWRa1WVwzE5HA6Bf0DpDPEY1x3pRxAan?= =?utf-8?q?4sioBXm5fvVkzf05ZSk347UG9JPhkRUun+Pl5/aiPTXbL94JvRjqWKzvoxmSMfHUt?= =?utf-8?q?r6rFNiBj8tAyYMHUsPYZuDVdzDMso2xWqvigkNFE/BniTziJGBtiNtSrQvzcLpo8u?= =?utf-8?q?jTJCjYKOeT1/?= 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?imijHv9u4aN/A4cPwtwa4LqhkCtz?= =?utf-8?q?UsatbESIlp9UCB0rj2nbAfCZVJmEvmZTMJHZnK4TrhW62Y1DNnnVmw2XhZ4a4QNS5?= =?utf-8?q?1we09iepRuo8QCfpUDcJ5UxSkp5aM+lyGVOhMmTRorjjXS/r4kRi6dqZw3ORHkv5f?= =?utf-8?q?o+ywEm4IUZM6YkHeUYf2g55tq3ufnykzGxvYs8wGTIgnm3qMzPxydYGb5U6vDcBzD?= =?utf-8?q?V+tVHd4OPYn0GxZvZHLws/F0NN745ChsUpkb70GMoMyM/xZDgSlzkG1EmTOGdVggz?= =?utf-8?q?f6fv5S+V9F9rr05WARrTOoqgVLKMl7Ibor6d7z7n+jxlOm8FwGrvo1YSlAruK/jlX?= =?utf-8?q?Jyas+mdi9UAAVZqixrFBECvGP612OBM+S4GNivhZugRV3EQAYNyn9A4U0Ef4bD4UC?= =?utf-8?q?mf8tLvDsqFntj9tE+NXJ3tVlUjQ4f5LEOCpGCAwzpCd5W1DVOD8XD8/k+7XpXYS4D?= =?utf-8?q?f+YTFP/SBOzWGGHGxqCThrRIcy3dNP6sqzOQbA/ue4po5pKXB1N2JfHRnkXOB6ywP?= =?utf-8?q?pK1ud/Gchg59DhJV/dceYNJyvtICZjv35/ecGdr/Ay2EabdgCjvZIYN9r1pLD8CAs?= =?utf-8?q?QyWO04NMnl3KEyZkNs9kJ6qyYw51eVV2C/1MS7jbMypBZVzfcZDP+il5Gs49/VtAe?= =?utf-8?q?YAXGymR2B3Y2rsG2P4OSRHOGDxjsCpyfMWjOV4SC0G8f35WkKjv0N8F2R2ZnUUHs1?= =?utf-8?q?HyOeuF+V/4LJFElKWMwxBA9XzvCMMFsz5sFGFVzNIjTmpzffZ5K8Z84t6sE/eXMXC?= =?utf-8?q?U3b0D/BtjbeLrCY19/CrfoGRC5L+kxeEuA13YWQ3TuB5tYVoe/I/4JDfLwq+eheAo?= =?utf-8?q?nsWJ0gqTGBKpvSoKyOImWuJhziykbowiLJRVB764SZfHj77ZX4dkzEpDtuMoN2LeZ?= =?utf-8?q?xjjr50l7xkFf3mssrxZ2bUmFFMYmJTbsyarjo3us4DXeRcqo6sPR5bli9nS8xO/DU?= =?utf-8?q?SbHevu1VwFP49Vn4xV7t3W3n014n0+KCSNax4HK2Qic01W5H1BbFjhK/gWt10VSEx?= =?utf-8?q?cXsJ57uRCP/d6TaFepBweVn/dyJ1eo35y3Rlbu5oKtlSQxzoLjG0aOybF0a5wO+qg?= =?utf-8?q?+DFYbUM0Mp7mu+S9SrFKOg33eP6oE3baNY0aY+yhWMIL/m7uC4h+VVfH1nIPNze4b?= =?utf-8?q?I1YsAwEH4yPApyItukqleVuROvKQ1EMXnHk+JN01ulwaQL6B4y9/DM1ekmbVhIVl7?= =?utf-8?q?FYIHW1I9eH29w27WxxVbYy/daL+wT+RqgLaulNLwZNAFbNz8EsmlC5Kp24GwYzwHw?= =?utf-8?q?7Er50isZBaZzjhiYcNLd72z+ApcycdxAYNrRbJJRQ9Sv8PHjvIPZZiPHSUq+jISO0?= =?utf-8?q?X6M6qUbnlp3FbvpZasF1GNajFrcUsFdxkpfQsTeYcbaghHpkNPwMSMHxJkEr/n8qI?= =?utf-8?q?WyrBvKolN3OnncOweLDNWx/d5Fs9y9HYTA4EiIjUORt/fztpdWFGo4SRdqPmi79Ka?= =?utf-8?q?g+bX6NUQvi0fGViTgvVlkLn9Ae+KrtFmvrxHU2ebiTqVngQscB54l5Wa0dFW1rJck?= =?utf-8?q?6O/kSYDL/XAE?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 749d443f-3754-4de8-32be-08dd580eb0c9 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:47.6605 (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: /eYwSEimZvgnuIKyVkEab1x5UNvmPsSr26DdPyfBce66ZnKALFvGpBAyB4tD+WTV9KDoV+HaUybH7DqhkEj3yA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR04MB11054 X-Patchwork-Delegate: kuba@kernel.org Add .match_phy_device for the existing TJAs to differentiate between TJA1103 and TJA1104. TJA1103 and TJA1104 share the same PHY_ID but TJA1104 has MACsec capabilities while TJA1103 doesn't. Signed-off-by: Andrei Botila Reviewed-by: Andrew Lunn --- drivers/net/phy/nxp-c45-tja11xx.c | 54 +++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/drivers/net/phy/nxp-c45-tja11xx.c b/drivers/net/phy/nxp-c45-tja11xx.c index 34231b5b9175..4013a17c205a 100644 --- a/drivers/net/phy/nxp-c45-tja11xx.c +++ b/drivers/net/phy/nxp-c45-tja11xx.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* NXP C45 PHY driver - * Copyright 2021-2023 NXP + * Copyright 2021-2025 NXP * Author: Radu Pirea */ @@ -19,6 +19,8 @@ #include "nxp-c45-tja11xx.h" +#define PHY_ID_MASK GENMASK(31, 4) +/* Same id: TJA1103, TJA1104 */ #define PHY_ID_TJA_1103 0x001BB010 #define PHY_ID_TJA_1120 0x001BB031 @@ -1888,6 +1890,30 @@ static void tja1120_nmi_handler(struct phy_device *phydev, } } +static int nxp_c45_macsec_ability(struct phy_device *phydev) +{ + bool macsec_ability; + int phy_abilities; + + phy_abilities = phy_read_mmd(phydev, MDIO_MMD_VEND1, + VEND1_PORT_ABILITIES); + macsec_ability = !!(phy_abilities & MACSEC_ABILITY); + + return macsec_ability; +} + +static int tja1103_match_phy_device(struct phy_device *phydev) +{ + return phy_id_compare(phydev->phy_id, PHY_ID_TJA_1103, PHY_ID_MASK) && + !nxp_c45_macsec_ability(phydev); +} + +static int tja1104_match_phy_device(struct phy_device *phydev) +{ + return phy_id_compare(phydev->phy_id, PHY_ID_TJA_1103, 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, @@ -1958,7 +1984,6 @@ static const struct nxp_c45_phy_data tja1120_phy_data = { static struct phy_driver nxp_c45_driver[] = { { - PHY_ID_MATCH_MODEL(PHY_ID_TJA_1103), .name = "NXP C45 TJA1103", .get_features = nxp_c45_get_features, .driver_data = &tja1103_phy_data, @@ -1980,6 +2005,31 @@ 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 = tja1103_match_phy_device, + }, + { + .name = "NXP C45 TJA1104", + .get_features = nxp_c45_get_features, + .driver_data = &tja1103_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 = tja1103_config_intr, + .handle_interrupt = nxp_c45_handle_interrupt, + .read_status = genphy_c45_read_status, + .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 = tja1104_match_phy_device, }, { PHY_ID_MATCH_MODEL(PHY_ID_TJA_1120), 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, }, };