From patchwork Thu Feb 27 16:00:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrei Botila X-Patchwork-Id: 13994859 X-Patchwork-Delegate: kuba@kernel.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2068.outbound.protection.outlook.com [40.107.21.68]) (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 989B51C1F12; Thu, 27 Feb 2025 16:01:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740672104; cv=fail; b=mwwW12Ix+MLQXqVAHXWS6JRh82BjROo/ggYi3Yd0hRI7dHmhtbgaa1b831H3D8oRWdR8q2GmO33HUAGMuT9oyKbadp3Cl0Gu3m2PiOhvFDrlTYKYjYqOuB5R3aGm9Wml7QciQgBjmY2GPHImB2ILtinNb6JUJ2mK4h6GHbuk+io= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740672104; c=relaxed/simple; bh=T9zrsyUNtUyiKS8TzG6HPmP8BfBWAQnfck+Itfm5CWs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BI8xIzmTkGqEdj5Z6SP/TniIbmFkQi1q4Kz/AlirpQSjet2kzCd70DVJCprxR/nrBUjdgv+zIMZQ72E9QCA0R3TqfKnRS/kerfIYJy2xvOQmGf6nH4asBg5bnzlghpKrKGHAwA7YE3FnRCBf2l0CF1k2Gb8GrTfGGVJfBVcxOEI= 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=ehl1KWKz; arc=fail smtp.client-ip=40.107.21.68 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="ehl1KWKz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HCVu15tTDktosbvq6BRThk+jZ9SzeDFpJdijF94PzD4GOrbcFGaNoGmXGM6Z0wIev6H7roIZcRhAM4FExQkIwSF1HQHGlYfvLRCFBTqVsWKePKDUjGQ4e/Ns4esuxYYhpQ77ovui6TBiXubxKoDd+AwyUu0XeqkjT1TGd0CVG8nq3yg9QHfHGLT0KVAwBNa7BU+WQW+qxmzBzJthdF53TOyJa8e8A1djcYAKc+QjhQRqxqflG9M6T7MxpZh4cCxigxs+1cdLW/d/Cq2lnMOhoIkq/f5WJHxVZ7LP3GI/6+AC3FpPClClFDvYuzxVsbl0UrF/2oyOHsJoQS+AK5oQBg== 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=GKFccNKLk6bXrLGVs03QGGShzGfrL3dftPZIgxLf04I=; b=snUxI5eWrUJ4OJjK01yTKyZoVDQAM76mlrfvfB+HCwAcvlrWNNp7+mEfX/S0j+PjJgP5feRdnAvJ/9OTC/aVlqulfEvhPSfw3IN6VUl3RqQbbxTtnibmvySRjxUofEexfyiT8GhUvdO/bR3f8z2eMwXECtFKbVIA29DTK6CirUPuqebjLxnqY9M/j/J1QfyNCMO36GNLUbCZwkIXzMQFGhkA5GUYK/hKe6sR876YOuf4MmovHqIGIjDtjPpssA8qOILz+wg5GUcxKIFNEtsR76W0zGjSzEbnLoPqyjEsWauu2wRzt4kOX/+Z8HeBvlyCIKmA2h9EIWauKbjahuxtAQ== 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=GKFccNKLk6bXrLGVs03QGGShzGfrL3dftPZIgxLf04I=; b=ehl1KWKzdsrV+Ksaj731xebE8XqB3qaKnMSUVQGtRY4VtXZ+4VqHs8NedvJXJloRYb7YmU8Wr4bW6mRofwZjh6Ekjfb5k+dI1n9MdKHmmeNBgTDcx5m/s9h30XEUXZ/3wytzmHfs7WgePaPS4BALlMcdhlM0QEJY+17LxNpKQ12pYbrWq/nEEWOS6tEr+zKYjNQAAufAousqns6eJbjw3I+5ZB5YymPkx3Yk6Jky1PSEUfn4HTO7QJM+U2HqYb8inNbg8ysFHvohLn77zETvCS6xrTkgJGVUDNKJF0MUruIPYeVl6G8TB+7+l6oit0NwzVlliPB6cExL07x2sGCoUg== 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 DU6PR04MB11229.eurprd04.prod.outlook.com (2603:10a6:10:5c4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.26; Thu, 27 Feb 2025 16:01:36 +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; Thu, 27 Feb 2025 16:01:36 +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 3/3] net: phy: nxp-c45-tja11xx: add TJA112XB SGMII PCS restart errata Date: Thu, 27 Feb 2025 18:00:56 +0200 Message-ID: <20250227160057.2385803-4-andrei.botila@oss.nxp.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250227160057.2385803-1-andrei.botila@oss.nxp.com> References: <20250227160057.2385803-1-andrei.botila@oss.nxp.com> X-ClientProxiedBy: AS4P191CA0007.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:5d5::7) 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_|DU6PR04MB11229:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f2fba4d-8038-4a7b-87bf-08dd5748031d 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|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?1C/gwVSR0EU6aLbWvQdX9ZDG3+N/3DA?= =?utf-8?q?U4DXr8x3qgbapvVeh7yEHhVdOgRZhWOG4Auah9+KKBZt+Z5JtEg2V1yxxLBys8OKh?= =?utf-8?q?k2rLteAHvONj9axGSWBOpo61Cv9dMyZ4B9CEqfruR0/UCffYaYMBymzAC3GAva83x?= =?utf-8?q?YzObG9meHKYuIkzX8DKvm2sOqFYqf0+FGDiWXFtP7e4pCpGEfCfOp7FqIFNwBYLwC?= =?utf-8?q?iXdO46iXizThNYyH/6iJ31CBxq+cDVvlNkir1XKyscBDcxAdezZHd3PpFBTlK0OYq?= =?utf-8?q?gZlAavuAbuYnMYy9dqtBzex8qPaqXg8h6ZZOBkvdgcUISB/t4A31fpKMfIYlDagwj?= =?utf-8?q?AI06m0tcNRiNNk0t5xw8aNFiW3s99jALu4VlccaUmEnysFcbDkahB6BhhTL/Vbpmh?= =?utf-8?q?elueiHQp9sYsR7m2EwLP/YC1i9rWNqxiFgzioQV1YoAP8yeJ8qfOAIR2cF2JEIoEr?= =?utf-8?q?9oKPceRfD6rxJVIJcF6zXkGXiEEJJ2B+lko7VIQ4tzxDTrDSap/WU9ATIWExw0T4c?= =?utf-8?q?5SZ8AmOmEigqloEUwikn52CNQ4MzqWGdfTl6LLmEihF53aZGK9RTsqhC8rDR2qY/D?= =?utf-8?q?HXCGUcHeGLZDopn/payMoY4pJGoL5QAO3JIoU3K+GjygmfWY+fzgteISP+ghsaQco?= =?utf-8?q?L5sjFg5t8G5xDBUVbU8RfynA5UxulaMNYgriAFPJsnNpsMemPdxh70PDby5+6w3yH?= =?utf-8?q?D5KV6ueQIklBbTO1roAfjqwbTux2aqU90VStesdR2AwBMf37jxB/+ba5x/pBEdcFP?= =?utf-8?q?nPCTdPHhEuriqYtlLcwLv4wRajUALk8qMzU37d0aG8S9ClrjOk54UADiKymoxTPB3?= =?utf-8?q?YEFuwe/ZFXtpU9BFd5ascVfuSXeZPT6BRu8L8NrtGlWR7MqFhaDDDgbVFcqbMEf2x?= =?utf-8?q?3dIyAAdirI/vYvGmHc1oUdEnK06qvpyB5UULWVUwHtDr2Grjbe+8415N4FN8sHKjb?= =?utf-8?q?OmNHAcGXZjJ0gjmCGfC732/r4ngxM+iqYbklA/cC7ldOoINduSH+GPUQDeXvN24c9?= =?utf-8?q?4b5cm9o+Sv5g3D2x2LrDrsnIjUiV8JPI9oP4PpV+kfvFtlfbA00nKGT2M26ccwxnR?= =?utf-8?q?1ijVpP1hRgz0GwSQ1PySkKcy4OTVDrr4nYHs7UCKX0YfwuE+oNz270VkJElwcdjJf?= =?utf-8?q?lw8TxsN8O4aB5BGEgd92DAlpWm1agwyzvz1X2NcjCsIp1cozBrS+oHenmTt0mbjVQ?= =?utf-8?q?tLPNVF3YmqE9k1t7rvDOJlCxmeJfjYEwNFRPden9LoxwDLGzFlqQhwr22/Ve9KkBf?= =?utf-8?q?XT2Gtq+/xmV3HbdwaLFxniCmIe4/e8ajWErxYpW6lzPokErKi4NHPFBBIsWlw6M0+?= =?utf-8?q?/5D8x8O55+jP?= 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)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?GbGG/KZuxItfebtCb3mM56GqrvBs?= =?utf-8?q?qMr+TXd9j8CwcA6O+3N0DIEWrWlgV91mOG5ZlrNd00vsu8ZBx8KmOZ2OxiBNORJh/?= =?utf-8?q?T3Y7Ax95P4y5f3HkXJuASjPnlHFJ2msDI8Z5OjGs/Okff1MCnIGlYNwz+GdX1Dpgl?= =?utf-8?q?U9pCX/0U23QTEf0ittsadvEIrqSLzcZh2+ODvAdbcpiWs54CmIkn3mRnEqmOBz8p/?= =?utf-8?q?ZcyjXuqvW17Stu5ZJo96eZ+5w/EojPHP/7+ES+Y7iR/0B68Aj9wHswdwPFYB1VulM?= =?utf-8?q?2X6KUyBm2hItber4ndNPIcl9HI3WEQ5hch3ra4mtbuaBOo0EJ7Deb0QmS2dpitEWQ?= =?utf-8?q?Qsr9ctFacP5I0tQtsgcfgDa+yOBvJ6n/7efh00U++Qd3qqMD8A+Vxy1n5ryzw3Hdb?= =?utf-8?q?Wq8iOYbvDX20iWICQZaWfxIEyqLC3nqvFooQLW46ijyiy7lm6l1FTgbF43y46ri+a?= =?utf-8?q?oKWP6PEqaPsBcaIBW1wdfIQKLGbt7JONKawlnQJr2nmGXi557Gu+jbPyULF9iUAup?= =?utf-8?q?SQRJWVYtHJT/HM3kHngkhvljT4KwoEMtEqQaVPev/fCswrm1KUHfYmEsfJ04dcUAe?= =?utf-8?q?QYPmDBE21TC76YHxrhi1agH7dIlpL9eVzUUpTTeiyG/cmS/K6/YKz1/Rq/ACbdKcC?= =?utf-8?q?tj97zBF/ACXdLjP6NBi7pit/s0sXS9Wgmi4sNBYEZlK2OX4l3uY4hxFokhKxVXiLY?= =?utf-8?q?Rlf8CrXbgZHYtgAKs4gAkBSftzffUuYYyrgZFYomtV506Plux/PSPj+oBQ7tmaaLs?= =?utf-8?q?wOAspICwBmkw7tx1e205lujaT8AyPtolngp/Rz77wCdylo2qxGp/QS3u6iIPWIjWY?= =?utf-8?q?cCXPpIyl+E4GP8yl7riX8Raw4B9jqUMWs1BZynqrzXzdHVM1DnNZ9rS0TpOwWmZLK?= =?utf-8?q?8Asgr/LRXJM5VG6kQQHrrQ7/028pRUKmwFtcTQM4Ci4ZEsaXyfI4H30cal5MYbiYN?= =?utf-8?q?+RAgvdYdw5PMEAP1QpvXSbolgwek0uuMF0lG4ipYExTPXknsW7mPJKfNo2EO3RDwM?= =?utf-8?q?rH4JavC1CjnVEgCuzWIIpajFk3oUZcwHACskDIBZg8rFs04RsKZAlIhG2sghLm4lH?= =?utf-8?q?1xz+5CKfZN2gITkL3oPpEYqN9tR4ZYCa2tv5x3FCMWPDuxuVnNmjgX1fiOwwr0QnU?= =?utf-8?q?1qBYXFZzrlwAvBIjE+B4HmccOl3WckIsBdHLwHziNs/zUldQ3ybuzAfNN/SxPK0UR?= =?utf-8?q?svcD+PHQjBgRYQ/lBlns+OQcWhb4VWSBpjcAlTpZ8eUpdhg6sdbwURueOjOadC/aK?= =?utf-8?q?y9DSajA3ZOSfIOK5qlk/UQaiaTin01KQxW1o6wZ04wLEqLru79NFlJrNArORbdElx?= =?utf-8?q?XzOAlq+ARt4w1M3nX0flwHkl5yU3boL2lIRjfpgGMT2GoI+Hl74u1PvHSX/DxR/yh?= =?utf-8?q?aKUyz74Xb2YQqBmjZ/s1/JXvMhK+j56yhmCaBbzL0jnhD6zM7zNUBj5j3XJA16xpC?= =?utf-8?q?N38IspOW7o10IKf0lIoc06WJswLgLKIIQ2+q6uzTjSzv8mQscMAJ9c8YVMJwmU2tj?= =?utf-8?q?UmRy+qTJTVEt?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f2fba4d-8038-4a7b-87bf-08dd5748031d X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8216.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2025 16:01:35.9319 (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: 5RoHLYvEjsytdGm3lOVP3AqNiSKJIRzz06sqLZ42kI7Smdggi37iviHdkh/HqsqDDJfVHaXzeubxn36og8FiiQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU6PR04MB11229 X-Patchwork-Delegate: kuba@kernel.org TJA1120B/TJA1121B can achieve a stable operation of SGMII after a startup event by putting the SGMII PCS into power down mode and restart afterwards. It is necessary to put the SGMII PCS into power down mode and back up. Signed-off-by: Andrei Botila --- drivers/net/phy/nxp-c45-tja11xx.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/net/phy/nxp-c45-tja11xx.c b/drivers/net/phy/nxp-c45-tja11xx.c index 2607289b4cd3..d1de99bb3954 100644 --- a/drivers/net/phy/nxp-c45-tja11xx.c +++ b/drivers/net/phy/nxp-c45-tja11xx.c @@ -116,6 +116,9 @@ #define MII_BASIC_CONFIG_RMII 0x5 #define MII_BASIC_CONFIG_MII 0x4 +#define VEND1_SGMII_BASIC_CONTROL 0xB000 +#define SGMII_LPM BIT(11) + #define VEND1_SYMBOL_ERROR_CNT_XTD 0x8351 #define EXTENDED_CNT_EN BIT(15) #define VEND1_MONITOR_STATUS 0xAC80 @@ -1600,11 +1603,11 @@ static int nxp_c45_set_phy_mode(struct phy_device *phydev) return 0; } -/* Errata: ES_TJA1120 and ES_TJA1121 Rev. 1.0 — 28 November 2024 Section 3.1 */ +/* Errata: ES_TJA1120 and ES_TJA1121 Rev. 1.0 — 28 November 2024 Section 3.1 & 3.2 */ static void nxp_c45_tja1120_errata(struct phy_device *phydev) { + bool macsec_ability, sgmii_ability; int silicon_version, sample_type; - bool macsec_ability; int phy_abilities; int ret = 0; @@ -1621,6 +1624,7 @@ static void nxp_c45_tja1120_errata(struct phy_device *phydev) phy_abilities = phy_read_mmd(phydev, MDIO_MMD_VEND1, VEND1_PORT_ABILITIES); macsec_ability = !!(phy_abilities & MACSEC_ABILITY); + sgmii_ability = !!(phy_abilities & SGMII_ABILITY); if ((!macsec_ability && silicon_version == 2) || (macsec_ability && silicon_version == 1)) { /* TJA1120/TJA1121 PHY configuration errata workaround. @@ -1641,6 +1645,18 @@ static void nxp_c45_tja1120_errata(struct phy_device *phydev) phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x01F8, 0x0); phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x01F9, 0x0); + + if (sgmii_ability) { + /* TJA1120B/TJA1121B SGMII PCS restart errata workaround. + * Put SGMII PCS into power down mode and back up. + */ + phy_set_bits_mmd(phydev, MDIO_MMD_VEND1, + VEND1_SGMII_BASIC_CONTROL, + SGMII_LPM); + phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, + VEND1_SGMII_BASIC_CONTROL, + SGMII_LPM); + } } }