From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CHN02-SH0-obe.outbound.protection.partner.outlook.cn (mail-sh0chn02on2106.outbound.protection.partner.outlook.cn [139.219.146.106]) (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 65A473D75B1; Wed, 20 May 2026 10:13:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=139.219.146.106 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779272021; cv=fail; b=kD0tk5CSANMFotaJwuk4l3MfanIy7fnGm9ZIL9Fwy+dgT9JkbDLB9cmp/rlRd+Hi6txpY6G1xOEzmqknQ8T/Mxy1lgwUbawSpM9D5zzpFlWshQo07IjvbN0mRU8LJ4Eux96S56R0UjIF8w94JMHvB0+HDnsXDjJBkcOf69bUmyY= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779272021; c=relaxed/simple; bh=7m94gfpIQSTYsRvz93LhNAz/npshgrrOYIlY9P3VQm8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=CQxz/VGBn/6P/3Su/ghcPDFY/CHLC30KpaPOnnk3sWal8wMAcRu6ygFKRsueqLMLH7zSnOKam3I8JHzX3GiayfO99HUeCY2+dAIRsoTjUQZQidZ9Nu9ktxTE6/3eLuEkAsqs4tF/nJB2Hq4UnuXFdN+QVFps3hsKQbS1fXeI71A= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=starfivetech.com; spf=pass smtp.mailfrom=starfivetech.com; arc=fail smtp.client-ip=139.219.146.106 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=starfivetech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=starfivetech.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HBwgh7UrHgevJia87gkt5wV3pexUIyApfmELbminD6Ilj0szVheGA5RDEhTUhWAsaUb6sQqDBtpxTxVXEV26J/hPtLWFZCQ9R/l1PdTCcNjiOyOFCQf/7zIpwqLtyyCDFuxU2CY4m+DPtl8dJb2Aay4B+WZgXsclsOPEWULkJ+FlM76U+VrsFaKQrmLnta8XtD+RkhuafEYPcJtJQgovGtNxEpzf1+cUKbjOs8xmLbGK1uuRmf4ETPJ2wEb4Oe8UP1b6YX46yf+SrcpQBory6+T6Quuo5eGJbXdFM8AjkiQoxZIcMXnEPO3va8GoMpexVTp0+9B/4ZCeDLU7HIR2Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=9uzoX1rJ68YLn2LOFVstJ6PpwnkDnw6RtMu4vEpjXK4=; b=QFb3cEJax3nZOds5ilmD6A1qPvXWHE2bpDS41lgF88YtsVBACpzc+3ubD+4p7/wqa/DFYh+yuHTsSt1LTboWtFSnI5X//lQQLCl6t8t9VdVM2TEC6vVFqPAuZXQcdHLOZNjShd9jr3fJwEd5DIPqhR/gldQvxnvZxhac5GXmtlm8ptS1pdw7+kOcP4HOFNovUMRAleChIoynxxucs1oi+Loy/FfrF6znLAVXDRLzWYb4bndtNpb7ED9f1Jeb1YsOiWwT1PoC54Sx+xhYbnFPOj7SejCiB9XRdIDj8BAGj/C6hKGvP1GVwuZr3CYYCC+sTjN2kWZ08RFYiqmvmNBMGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=starfivetech.com; dmarc=pass action=none header.from=starfivetech.com; dkim=pass header.d=starfivetech.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=starfivetech.com; Received: from SHXPR01MB0863.CHNPR01.prod.partner.outlook.cn (2406:e500:c311:25::15) by SHXPR01MB0637.CHNPR01.prod.partner.outlook.cn (2406:e500:c311:1d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.16; Wed, 20 May 2026 10:13:23 +0000 Received: from SHXPR01MB0863.CHNPR01.prod.partner.outlook.cn ([fe80::9b99:12dc:a115:b90f]) by SHXPR01MB0863.CHNPR01.prod.partner.outlook.cn ([fe80::9b99:12dc:a115:b90f%3]) with mapi id 15.20.9891.021; Wed, 20 May 2026 10:13:22 +0000 From: Minda Chen To: Frank , Andrew Lunn , Heiner Kallweit , Russell King , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Minda Chen Subject: [net-next v4 3/3] net: phy: motorcomm: Add YT8522 100M RMII PHY support Date: Wed, 20 May 2026 18:13:10 +0800 Message-Id: <20260520101310.128969-4-minda.chen@starfivetech.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260520101310.128969-1-minda.chen@starfivetech.com> References: <20260520101310.128969-1-minda.chen@starfivetech.com> Content-Type: text/plain X-ClientProxiedBy: ZQ0PR01CA0003.CHNPR01.prod.partner.outlook.cn (2406:e500:c550:5::22) To SHXPR01MB0863.CHNPR01.prod.partner.outlook.cn (2406:e500:c311:25::15) Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SHXPR01MB0863:EE_|SHXPR01MB0637:EE_ X-MS-Office365-Filtering-Correlation-Id: 86f2424d-b6f1-4e9b-e538-08deb6586c91 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|38350700014|22082099003|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: Qgp6TlVUNJTwGKnVqjx4SSrUBcy8IOYt1s1+SI3x8GeY9e0LO+rTxbDa6y+2bknF0saQbMJWSB1mH0EmfTAP+HFZBmC34/BVhBKtQdOiEwk+Rsfpxzlu3Yj9YnhqKbxcBCCaa8RTJ7vO4Bn0KBMewJ6MVG2mOjbUDGDsOQmd1jMWEjVS2xfymZmkuCMimgyhIX1qYRCZIRmJUYQMrT/5BWM+DHjPTOeIH+Vg1ogHN9kFbQNwkQFsIllFfTADPgmIe0ePZCgU2iZC+4rcfV2GsjuIn15AcaAI76ADdAb8T432ZYGwE1gd9iXe7DxCdLWuT4J5kIo/gdOPWWNxzDyKMN2Un80Vj/YYqjXQQ/vjqXUdIbmbqNRbmbXWHzwgCUJFE2u9t5f6XwvZBEbMKpItgxJMmGfGqhkAEIfCxgTGrT7wGrS572jdHCJY9qubHms+YfEHuWpYxbFaLxB2IywgALHpEmwvjGGEvQccva4JSqa9tZ/G+yp/YvT0w6KDYW7FcxN1N31RNi8jLVj4GswHEjmzhXRnXE3hyzh9tVweGF6Rmgdo/t4VX/BUlpCQD3Jt X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SHXPR01MB0863.CHNPR01.prod.partner.outlook.cn;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(38350700014)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?taI/nBAWHhYvzfDteVSdPtnBcLVS5ObTdqozlI2kk6kOvyJDJkwWnlyuqliL?= =?us-ascii?Q?NFwF1pTqSVTSSk9L5555OJVD8OpUvzNQBy7RMEtGrPE3SOWBQ7P4sH0L6h1k?= =?us-ascii?Q?8pp5Kwzk/gQp8msrRjVJHtMFj+ozEpxkwW11B0ZGbqNGeYmJoe8uF2sS5zvx?= =?us-ascii?Q?xmqfkMStExUeSCOjkoaZ/Sn/ys7FiZzleYSU4eJl4NHrpHz/+171fKlVZfXD?= =?us-ascii?Q?nXvJTcSNpq92MWSdtrBGZR/4/NXV+OTVMFa2rc2Sazri95weCv7TRdfhRVxS?= =?us-ascii?Q?nv8DzCKM6OCX6RFXiulqh1ZVLzmcYE8Z+OtJvidYL8IcZE6MIJ1EihgGpS5E?= =?us-ascii?Q?plq4JTgovaYr+dqmWxLcAkuty9kkiJ9qslk9AjZ1Bdq+rWhR4suDyhI4U/LV?= =?us-ascii?Q?pGn8AKQsXCBl2GwFAkMrx/SukH2IUbkTvbgULcFHJqpvVnuWZ48cx9CV7A6B?= =?us-ascii?Q?Dq2OuWza+uDpNS6MtI00xpPbTcj1usRQYhdlWHIwLwUeU83cCLwkGSDeMXOz?= =?us-ascii?Q?RgGkgKZO4tkV3iJzVthzCLyfIjvgQDKVpSwugtSzsSUeXw+WQ+4HDn7SJcxP?= =?us-ascii?Q?TqQVJ3MFfJtB6TBfcxrKS/bPM9F0Vmt3U6r3FSJtZ9++m8TIcfI3Ym3ZU3GA?= =?us-ascii?Q?bpUpc5SJFg9fxis2o7ebqtrm1nFw/URu60hAVorOsmZNWEblk4VrAUEzAweP?= =?us-ascii?Q?jlK5dyeNNSNzCndXlcPlAGFeWhuQQQs3NHrXPx6mnY592IHnFaGCDq65k+cn?= =?us-ascii?Q?PwspgnKSBq0F0dFVuX+6aBbS9PB0BLZe8sYhr/EMkqJQfHZlNFD+HxNXbfMG?= =?us-ascii?Q?MVfU6pQu/3ES1u/QqC027ObyEmr9QQpsGWxrxslx2fctRpLGFipQgONSwKqF?= =?us-ascii?Q?3UwnKHWHKb8GmP+IMSvQb2VU/YAnD9y73fv+RrIJ51bH9N0kDNveaNJoHpHJ?= =?us-ascii?Q?JU1GDm1oxQ1zEKcKC3cMsv+YclEN+B+tTyWNs1sNcrQ8D6mt4N6bC0Q8Wwyy?= =?us-ascii?Q?zvYjJ1LFJhOOJNkBz1DAqJVRHqmTo9NE+RvgGZtAvZxf5oA4c3IUDzBzUvXJ?= =?us-ascii?Q?R//RXwhWiVIKvOANcJ/ePqudHtql5Jd/aELgPybIoDNuJat+DS8MA59GH6//?= =?us-ascii?Q?brt3fgEaq8vUGg/C6sZu3OCnx0Jhx/BdMzrsIAJJFK+YYBaduumzGX2eQTOD?= =?us-ascii?Q?j4nO5YisWPHv7SbxDyGMJzpxw+Zxu1vzZ6Ld7Kq2z7vOTGuGYpSsTMd5em4I?= =?us-ascii?Q?9qNotnYA8qd/ize6EJTkvsnvS9hWwRkxLGMxLa5MTP44kPbBLEt1PyQj8rmP?= =?us-ascii?Q?o5G8NM+qYWv0/503A8DUtDEHD4Q/sH3lHaVg5RBmr8uagGSFDA+pNqZmbrGL?= =?us-ascii?Q?eIFhnxOAr/+R2kUWu+A1x++BsEVSEqI+YPYrDHlJqftyTR1G4nOlhewzUZRw?= =?us-ascii?Q?Jl88Igf4r/sJqGzTXvbS9ZnHfw+OgTtRWyJm8uCjvmg9frEIYFJA6Sw3TY9R?= =?us-ascii?Q?BCLsosiyi9MO+gfuTi7KKd33o0CfeBJsypcg0EnTyex8v5yYGLbiiwWwlJT1?= =?us-ascii?Q?7ZauGDR1OI5v+bEOAO1pLKxqNseXIbUxUMLhckEfdnVLCXpoykS+3TYDA0J9?= =?us-ascii?Q?YNzTICffgvKf+iv0itHrzqj5nyzkjQGPOH18a2JxqddUeZIz0+F3MeAprAVP?= =?us-ascii?Q?Itsnp9qW/B1RVS77sXA90dCFjRRlM1cKh08OijxGYM0IwYjmIfqSeEku2v0m?= =?us-ascii?Q?mbI2eznnFg+jTsTAo1IEPG5R68koHVg=3D?= X-OriginatorOrg: starfivetech.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86f2424d-b6f1-4e9b-e538-08deb6586c91 X-MS-Exchange-CrossTenant-AuthSource: SHXPR01MB0863.CHNPR01.prod.partner.outlook.cn X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2026 10:13:22.9410 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 06fe3fa3-1221-43d3-861b-5a4ee687a85c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Kqj54doY0WwwTe8ztZjBzAk2KxvDgmxNcPwQ6R8PDs62CLB/JNnsutPEgXp2FBGgF9LY+sIbyxvdvs8fmbQa9SO4KXRWd8JtYN45z036r44= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SHXPR01MB0637 Add YT8522 100M RMII ethernet PHY base driver support, including PHY ID and base config init function. Signed-off-by: Minda Chen --- drivers/net/phy/motorcomm.c | 49 ++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/motorcomm.c b/drivers/net/phy/motorcomm.c index 3977ec5e45f7..b634a0526adc 100644 --- a/drivers/net/phy/motorcomm.c +++ b/drivers/net/phy/motorcomm.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Motorcomm 8511/8521/8531/8531S/8821 PHY driver. + * Motorcomm 8511/8521/8522/8531/8531S/8821 PHY driver. * * Author: Peter Geis * Author: Frank @@ -14,6 +14,7 @@ #define PHY_ID_YT8511 0x0000010a #define PHY_ID_YT8521 0x0000011a +#define PHY_ID_YT8522 0x4f51e928 #define PHY_ID_YT8531 0x4f51e91b #define PHY_ID_YT8531S 0x4f51e91a #define PHY_ID_YT8821 0x4f51ea19 @@ -227,6 +228,13 @@ #define YT8521_LED_100_ON_EN BIT(5) #define YT8521_LED_10_ON_EN BIT(4) +#define YT8522_EXTREG_SLEEP_CONTROL 0x2027 +#define YT8522_EN_SLEEP_SW 15 + +#define YT8522_EXTENDED_COMBO_CTRL 0x4000 +#define YT8522_RXDV_SEL BIT(4) +#define YT8522_RMII_EN BIT(1) + #define YTPHY_MISC_CONFIG_REG 0xA006 #define YTPHY_MCR_FIBER_SPEED_MASK BIT(0) #define YTPHY_MCR_FIBER_1000BX (0x1 << 0) @@ -1842,6 +1850,36 @@ static int yt8531_config_init(struct phy_device *phydev) return 0; } +static int yt8522_config_init(struct phy_device *phydev) +{ + struct device_node *node = phydev->mdio.dev.of_node; + int ret, val; + + val = ytphy_read_ext_with_lock(phydev, YT8522_EXTENDED_COMBO_CTRL); + if (val < 0) + return val; + + if (val & YT8522_RMII_EN) { + val |= YT8522_RXDV_SEL; + ret = ytphy_write_ext_with_lock(phydev, + YT8522_EXTENDED_COMBO_CTRL, + val); + if (ret < 0) + return ret; + } + + if (of_property_read_bool(node, "motorcomm,auto-sleep-disabled")) { + /* disable auto sleep */ + ret = ytphy_modify_ext_with_lock(phydev, + YT8522_EXTREG_SLEEP_CONTROL, + YT8522_EN_SLEEP_SW, 0); + if (ret < 0) + return ret; + } + + return 0; +} + /** * yt8531_link_change_notify() - Adjust the tx clock direction according to * the current speed and dts config. @@ -3051,6 +3089,14 @@ static struct phy_driver motorcomm_phy_drvs[] = { .led_hw_control_set = yt8521_led_hw_control_set, .led_hw_control_get = yt8521_led_hw_control_get, }, + { + PHY_ID_MATCH_EXACT(PHY_ID_YT8522), + .name = "YT8522 100 Megabit Ethernet", + .config_aneg = genphy_config_aneg, + .config_init = yt8522_config_init, + .suspend = genphy_suspend, + .resume = genphy_resume, + }, { PHY_ID_MATCH_EXACT(PHY_ID_YT8531), .name = "YT8531 Gigabit Ethernet", @@ -3111,6 +3157,7 @@ MODULE_LICENSE("GPL"); static const struct mdio_device_id __maybe_unused motorcomm_tbl[] = { { PHY_ID_MATCH_EXACT(PHY_ID_YT8511) }, { PHY_ID_MATCH_EXACT(PHY_ID_YT8521) }, + { PHY_ID_MATCH_EXACT(PHY_ID_YT8522) }, { PHY_ID_MATCH_EXACT(PHY_ID_YT8531) }, { PHY_ID_MATCH_EXACT(PHY_ID_YT8531S) }, { PHY_ID_MATCH_EXACT(PHY_ID_YT8821) }, -- 2.17.1