From nobody Mon Jun 8 06:38:20 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011016.outbound.protection.outlook.com [40.107.130.16]) (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 2A1733F9F22; Fri, 5 Jun 2026 11:10:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.16 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657810; cv=fail; b=W5IHeNnLjbR5jX2/YCSx2f4hYNCwL/nkvPpEO9/zxmNtHtChH3zafW8FQQx9v7RBpu2D5KaJb3gW0GdkLEigekHg4gnjMobmrr1JiDXiI4AZdgObkgwbCMA65DRdmMm0GOTh+L8AVMss9Yy1hrGd4IY44PRp4rB+7oIYEO2NAJU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657810; c=relaxed/simple; bh=2ZKIwuazRGW6fe946+oE4oPI14Ov9VJ2ILWsmPPE34I=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=FCzrfRHm0/upWxvXT0MarFhjs74F62RZqveJy4W/BcPdtI2hhB5kahlPhN/iAeokeIDIrYgPtwrNbTU5Ax2bU68sKOddHa//InkIxs2JU4avq2r7UICFTwNr5m5HeXPxzjEyNcZWZCePVPEFaUs2THdxzM1LtXNw0C2wDXjO9so= 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=JQ5uI+yG; arc=fail smtp.client-ip=40.107.130.16 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="JQ5uI+yG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=M/czWndQdZNflkuRwD/TZnDyjtzMhmRquWllzkVJDyo3hBhq/3wAD9l4fT3MCjYwOL6iNzFHTB1Gev9Fr+1fLDptqkI3EmIgM8E1FrkgvzczRAuLmIVgnI1Wkf7VZoxWij8CNp01UBj30j0K+fS1bjotL2A3ts/lGDKlElfF7/SrdfeaRAtdYH0I3VK7yAUNSM2NUEF2EkxW0yoKadLXGceKOWgGdS5+OeSXKaxwiPNmhmMh26ZDLzrgawx5PIqcqJJR/9/5ZTfKf69fprzeM3Cd8Dg3nUjyYrr0NGXCN6cYWSj977V8/WRChpWU0Rh5qcQFvU2zVJYGB4oQ4uTXEQ== 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=k5b6BLz0p6WpWd8+HpT3JO5IaT5Daq3wrXq4NxEWqlk=; b=ptmEB8BByTSXItMokM43E+L9fWkFXUFICE2KJVir+9i7nnG2FWFR/mkbexwUZ6xZ1QYZUxswp472bw94qhr4x95JZgLkFHtBJVZY45ReBKPI0jbVZtIdQAdz0iqCn2MbvCyZBx4MmoyUkRtOntLZLheiCvh+EFvWIQuwvmVtDXQWv+E9lDt6bD7XTc8Jh/Ez/lU26X/igRgofk3T84IoIwIP1LiCNeyvNCRNccLFCuwHwl92zEcHUF1ZE8MYsmjcuDXoTtqAohbIVfYDw0DD3oTpS+PHMsDjLBcFAQYXYQ2UCWDr1z2jrf2u2ngUmswalbl8NShKnqwCCHMYmS0lpg== 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=k5b6BLz0p6WpWd8+HpT3JO5IaT5Daq3wrXq4NxEWqlk=; b=JQ5uI+yGHhnwjEZSCalUJKAKWjbxSw6FUCQTSLVMa65v/mpeO0fC16DtRV9eTtMQjUPbr+D/aHGWevcdLU9h/PQtcj40d3DBiR5flseZf0PUdyujko58gH+bVHEr9keLexAUM6z5jyD3q2zMpniafbzjMsxVJigA2wdvNT/NaQIJKSdutOde5HB/DivsJJPPiyGD4UUgS7CL9x5cl2IgC8K/6HYoEDI+X0W3ZlAiH6QC7Xz+UVjoBxGoM9PUFjGrV8Pv2ADuSKLzzeDStjqkdDnfud0M/xATJ5CNCVc9GaepFf6oPWzJfMqXjxkzA5BpeX8HDTMoOtLo+vpHROBVXQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) by DUYPR04MB12689.eurprd04.prod.outlook.com (2603:10a6:10:661::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026 11:10:07 +0000 Received: from PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d]) by PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026 11:10:07 +0000 From: Xu Yang Date: Fri, 05 Jun 2026 19:13:02 +0800 Subject: [PATCH v4 1/5] phy: fsl-imx8mq-usb: fix typec switch leak on probe error path Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260605-imx8mp-usb-phy-improvement-v4-1-b2ddf2f3862c@nxp.com> References: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> In-Reply-To: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> To: Vinod Koul , Neil Armstrong , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jun Li Cc: linux-phy@lists.infradead.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Felix Gu , stable@vger.kernel.org, Xu Yang X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780657990; l=2922; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=qOA3gj0TWYdDeGXgFIXNdtsZjA5h2wt3bcYdtlRjhFM=; b=szdXS4V2ttYIWGq+1ZRG7Ytt7knMlZHhGwrrerE2w0YiWcymqSwKEOyt624ZWwngZ9k0YV5W7 lnZwUF3AvT4DNwkkY5HU66l+xELUKnSJs5dkCfyPz7UyWLf2+N83VZn X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SI2PR02CA0026.apcprd02.prod.outlook.com (2603:1096:4:195::19) To PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9422:EE_|DUYPR04MB12689:EE_ X-MS-Office365-Filtering-Correlation-Id: dd852fa5-b650-4937-98c3-08dec2f30069 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016|19092799006|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: gGkyVK0QTgrBCGEk/oX7Y+3K+drc9z2ywnV2JoILG6mHV1PAp7cKzHiDOVW23+DKLf3PCgo64h4gURFnODlrrFDP+/OJgPhUlDV4gvbUFSIh5BRK0K7mfQSJWjt51VAyBBjlxbMv/OE1vcQ0+h+k4HLgcF6HJDrcSgOBRcl8W0gFY87CtnZE1iD2EwWtv++cGAGbP/DwPc0VSrCiC71FE2k54BHt5181BX+thsuN4TQIImEcY8y9NhgEstXbDtYw/90oiuPmpxRUx/qDmLKUb41CFipvDxtKCO54Qzq6LhAiWtC41ZAj3KP4+00xlIcUl2RiT9eRqgDDp91qFoKPK2HOYTQe0RZ4xbEcSs+LGM+dFy3/2TMU3qoiXv+/YrhiKmOaZncbNoCUNEYAwj8eydUJ3J4bw9Ie2kvWKBQcyG6lZRlA9kbsMmjDflUAwmkQRAh7RM29tJnL/HoHpogds08F0xy6QM1n/8fjuXDQb3AysKQcCBWwV/x2l8srvqVViXpidHqmsEKRlk4tyoLKxrBdW6J+QVnr6FPpgEvKGpF86KaPwnaw7654n/UNcJNi2wGt9n1zDTyXzQgTcJpILs5hAJ+5RVju2JEH/frvQf8uaSC4a6JTaq0PS5vYOa+4EQR38wlPwktyhN9jR6ZF4KhRGDdH4qBBsdjuG4LsMvd9I24D8xf31Tegmiy7+sbI X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9422.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(19092799006)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U2ZHd09XcGc1ZERhb3RTdENyY2pWWGtDQnl2N0txY0lkWVFzRS9KZGhjNTZq?= =?utf-8?B?RiswMyt0TFJoQm80OXFOdU9jajBDQ2tWRW1SbGphaXZUdDR2KzBCVVhZM0Yz?= =?utf-8?B?REwvVXhkNW1DdXNWZ3VQZ0FIbHQ5aExHMmNsRW1iZW5wdXJqTEJSNDcvOFpB?= =?utf-8?B?eVY0Y3AreTFnRTFlVDBkS0xsZDArNktUSmVITyt6WGF2ckVxb0loWmU2VlJL?= =?utf-8?B?cnJKYTI4dDdySk44Ti9aRUJSdTQrS1hjYlpRdm50OHlSRGc1dEJUZWpLMERp?= =?utf-8?B?VFJFN2p6RjUwS3EyTUxUeXlKKzBTMUNUZWFYNFlrZDhoV1VNZmhEbi8vaTho?= =?utf-8?B?T1U3RjNFb2QrajlUMVFzT3JzZy96N1VOUEdrNVdta0RhdUVSTTAwUjd1YUV1?= =?utf-8?B?WE81dGQzWERQcE12dTdwQit0eTFnRlE3VTFkdTlvNXY0MjZTQ2ROeW41NVRJ?= =?utf-8?B?ZHYrckJIbHZ0Yk9IRk0vdHhvN3BFQXR5QzlrOWxkNzNHYjg0ZkY0eUpVc3lU?= =?utf-8?B?dXF2NVE3K0U0NVdyZTZlSFd1akZXTkNKVVlyY1c0N2NRb2tvcFFFVHpXMHpu?= =?utf-8?B?ZXVuaTZGSUo1QU5OVlc1OTlLaFU4T2FHWWxOaHFkbytVckUrRDBmSVc0RXdE?= =?utf-8?B?cTRid2pmS0VPakpUTWpuT1FMaHdvMEt5Sld0dlg4eVZrWTczMWFsUVJGYUNT?= =?utf-8?B?Ykp1YUYvLzFFbVZXREdTeWNFWmNBZENoSlBRbGJuZW5FWlhSa3kwZ3hNS0Qw?= =?utf-8?B?QlIxWG9RcGplV09DblZlMkVZRDZGZnY1cmtvc1BpeHkrQ3QzalpqZXo5WXpR?= =?utf-8?B?YTc0bTQzYUxsYzZZMUJ0UzRXQW50R2cyWkI0WVBHcTNld0VZcWY4d1F6eUp5?= =?utf-8?B?UnRYOHVZaWhnb01XbjFVQS91QWRZYm9sd29UT0lhZ2ErcGw0dEkyY1JUaDk5?= =?utf-8?B?cnlZYjJkaEI3VkxLZ3NmaHR3TmZuWSticDgweHZzdUFVOEdpSDZyWkJrUWlI?= =?utf-8?B?T1VyRExoSkV4RUZlTWtVM0dmaTJkNjFuK2dnYUxPMEhqR1NsZ3lGT2dXUm41?= =?utf-8?B?ak1aNCtHcFZFWEtiUzV6d3Rzait5dUtGZVlOYlBwMUl3Q24wZlFsWW8zcTF4?= =?utf-8?B?NXhsVjVJU3BPYVFjakhhRVBHakJHRXBNdzR0K1g0WGtjSThZUFh1Y0Q3YXA1?= =?utf-8?B?TjFlN25GWFF4M1F1MzJ3ckFpMGNwODYzSHRiTUl3Q1BycVZzd2kzOWdoUTRD?= =?utf-8?B?bXpIODVUL3FPeXl4MzdmNmFybHB2VGtFOFBjbksrTkFNU2FRV2l3QytWSFNB?= =?utf-8?B?OVRiM3RqcEZwZmFOZGpaaWxNS3F1QlVkendkWjZOUmlURzRlTy9JcGtaYWZB?= =?utf-8?B?YTdlUk94OHFpYjhmMzJEL2drQlJsUVdqdFBMQlhVZ3NtNXdicEs4RDVOVXhk?= =?utf-8?B?NGJJUElYR0VZaVNsLzdOZExidXI0cTkyOFdFc25kVi9MYWU3eitlaHYwa1ZZ?= =?utf-8?B?VGdDL2VIbmF2OG5ZU1IydDdQU1RSRkhMdzRUN2t6QjdRaVF2bEU4ejg1Y21s?= =?utf-8?B?SmlDdEliVGdmb0NxazFxTnJGcUI4dThDSG5qTnFzcy91aHJaWVZrODhralE5?= =?utf-8?B?Y3pmSVRDRTZoVTB5VDZNM2Y0Skk5UzNtdjJLUkFadWRUNWJVZkRQUno0dXVi?= =?utf-8?B?bG4zVDUxWFFTL1pLRHpMWXE3NDFvQisvYkM1RGlScEJXSWJkazZ4NDVkbnA3?= =?utf-8?B?MXBUME40bitGL0dBaytOTS8veWVLWTlCbFdmQ09FMnpESlBFQ3ZCSnEwaVVR?= =?utf-8?B?QTR0OHJjT2RVTjM2TTBCeG5JUnp4K0RWUEJKWWoxcHhFV1Z2UlhOQ1pjSGJN?= =?utf-8?B?MCt5ODQ4K3BDRDJBZGF5TVpPcVl5T3pkMFF5am03b1VHQlR3K29UZ1pneitZ?= =?utf-8?B?b0dvM001RGdXNDdoeUxwcEpQK3p6TnpCUm01NktncFNVL3lpdWdhRWwzNHNr?= =?utf-8?B?Rm9YQ1lpbzhNRDEzNmZ6RDJEbjBnRHBvVUF0a2JObGUwYlMvSnVON1F4WjRP?= =?utf-8?B?NW5sZXFwWDlaOXlkblFERDhTQk9kT2pPYlFLeVNFQU83YWZBTXAxd3lGQmhh?= =?utf-8?B?STR6Sk9vM2x6U2x0UHZIWnZzRFN1VEVTMTI5L2tpcEdxMTRzOUJXdHJlTHQ4?= =?utf-8?B?b0xtMnI2M1JwK3lVSzZNZzgxRzJYSGY1Mk8yL0NNNkY4TjZOVkhsWmY3dERL?= =?utf-8?B?NXdDRE9ZVEFnaWVKOE9VSHQ3dkNlQnJTemhtQm90V05pN1JEdnl4cmMya0wr?= =?utf-8?B?c3dkRWQvaXlDZzJJVlZDSlllYy9ORVVMT0tVQUNmbThNc04xUVZyclFQa3FD?= =?utf-8?Q?8cJhQDel9t/rCv2c1+sXtKooIZ8xtgWGzZTJS?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd852fa5-b650-4937-98c3-08dec2f30069 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9422.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 11:10:07.5624 (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: i1+GcszuKJ5+uiqAWXQUTwqFf11cDDEDjDlXuP5VzE+ncWHvlsXXfw6jkfyLA8cCILBqkrqdZj1Kr8eLFruAWw5xxp4n7UCnLCxjjcT0zNqkbygt74tHHbROjoBwtB54 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUYPR04MB12689 From: Felix Gu If probe fails after imx95_usb_phy_get_tca() succeeds, the typec switch leaks because the only cleanup path was in .remove, which never runs on probe failure. Use devm_add_action_or_reset() so the switch is cleaned up on both probe failure and driver removal. The .remove callback and imx95_usb_phy_put_tca() are no longer needed. Fixes: b58f0f86fd61 ("phy: fsl-imx8mq-usb: add tca function driver for imx9= 5") Cc: stable@vger.kernel.org Reviewed-by: Frank Li Reviewed-by: Xu Yang Signed-off-by: Felix Gu Signed-off-by: Xu Yang --- Changes in v4: - add my signed-off tag Changes in v3: - add R-b tag - cc statble - drop "sw =3D data" conversion --- drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/frees= cale/phy-fsl-imx8mq-usb.c index b05d80e849a1..88b804b2c982 100644 --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c @@ -173,9 +173,9 @@ static struct typec_switch_dev *tca_blk_get_typec_switc= h(struct platform_device return sw; } =20 -static void tca_blk_put_typec_switch(struct typec_switch_dev *sw) +static void tca_blk_put_typec_switch(void *data) { - typec_switch_unregister(sw); + typec_switch_unregister(data); } =20 static void tca_blk_orientation_set(struct tca_blk *tca, @@ -248,6 +248,7 @@ static struct tca_blk *imx95_usb_phy_get_tca(struct pla= tform_device *pdev, struct device *dev =3D &pdev->dev; struct resource *res; struct tca_blk *tca; + int ret; =20 res =3D platform_get_resource(pdev, IORESOURCE_MEM, 1); if (!res) @@ -266,17 +267,11 @@ static struct tca_blk *imx95_usb_phy_get_tca(struct p= latform_device *pdev, tca->orientation =3D TYPEC_ORIENTATION_NORMAL; tca->sw =3D tca_blk_get_typec_switch(pdev, imx_phy); =20 - return tca; -} - -static void imx95_usb_phy_put_tca(struct imx8mq_usb_phy *imx_phy) -{ - struct tca_blk *tca =3D imx_phy->tca; - - if (!tca) - return; + ret =3D devm_add_action_or_reset(&pdev->dev, tca_blk_put_typec_switch, tc= a->sw); + if (ret) + return ERR_PTR(ret); =20 - tca_blk_put_typec_switch(tca->sw); + return tca; } =20 static u32 phy_tx_vref_tune_from_property(u32 percent) @@ -739,16 +734,8 @@ static int imx8mq_usb_phy_probe(struct platform_device= *pdev) return PTR_ERR_OR_ZERO(phy_provider); } =20 -static void imx8mq_usb_phy_remove(struct platform_device *pdev) -{ - struct imx8mq_usb_phy *imx_phy =3D platform_get_drvdata(pdev); - - imx95_usb_phy_put_tca(imx_phy); -} - static struct platform_driver imx8mq_usb_phy_driver =3D { .probe =3D imx8mq_usb_phy_probe, - .remove =3D imx8mq_usb_phy_remove, .driver =3D { .name =3D "imx8mq-usb-phy", .of_match_table =3D imx8mq_usb_phy_of_match, --=20 2.34.1 From nobody Mon Jun 8 06:38:20 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012032.outbound.protection.outlook.com [52.101.66.32]) (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 B6A724D2ED3 for ; Fri, 5 Jun 2026 11:10:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657816; cv=fail; b=XZHDq4vNSip1KLJiAJCHw5+CdX/cO2d+My9vcg5FTe9hcJIPPDVZmJibbajJ/A0Z22b8829YN9nJ2ORc+loVkGJChJXquBVc0rpUnp0aG3moqzyVPPGSjv8v4QmyU7usci5fRWz9nC0RSpE5coTwapwJHYOKl4lEYCewIVVAW74= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657816; c=relaxed/simple; bh=jaYPlUetXr9MGDdfm5HTcPKcSA5NSkkkPaJjDYsmIDs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=USmaFQMO2wX4R1ddOgGji5gO0pjf1oCbtSKQxOYjx5iDCgsTpSi8KgQY801JCXT4oTkxAzq8esMUVlArQGYOPehBHQMUEl/z6QiyQCkZEgVMbkQeGOekVdI+8NXur+XEuaJBkG03rYFTvrO2n9LJ54BGx0kx5KKDn7TSxeeafQE= 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=EognzHGz; arc=fail smtp.client-ip=52.101.66.32 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="EognzHGz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SSbFNkT3NJFM1hRAYbWbJGAwFUhow+ZoixQ8c/EisVFzoSwNotQbw0tnPICrQddYXhtllcJqKWadsPiYFlxn1kupaRKLrwB+TyzZsJerCU/gCTJYdcy4yxGiPcHLwOtA3vZKVke2MIz9cr52tOYtPrCCHa1lAUhUwpr7s9/Sbu67dreIk0BgoEAjkPSpYef8EBDvL4V10pNfDqnV2ULRV4gbglSaBmobfCIF6ae99cnKZjGja5OIuT9hWAua24KlVT5vF4wEDPCpUpktD6HKG1ckoNCTZyCn6062QxM54B3W4thrbLOvnHGCCFJQg4tQnaouaJli/nJOotzcLhWWpg== 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=hwH3IB7duqWha0ZHAz45XAghAbbid/Lap9k7Y0BynMQ=; b=oVSZK1Phw9MwxfkLFy6/Hvs6GAFoQ++OUz54vBDl7zs9ova5noIT0/Pp1oX+nwMrdvAzO3iUQZnMb0nqzqKW+jPQ/Ik+R3fIT2eQBkdMWlDWAtzL4xWKRuOVaV8eaBirXuMLx5XTQXxmt5+HMyETvgB/ASzFrO5qV+5i8CmNRShigkkSSVAfAOPUkzJrub/iTYopt5ZIJQLa2NvVEHU2VyxAp90k4Nt9Ymu0RjoQMMMeMOhdouE26NDbQ+k2u4yFia8YeyPFzyTO2/F6ff5uaZ3w2zDDWliJc8Yf42OVmOumoLiIkXj96lELquo9b/7MD1ogkNzCDhoFZqodingo3w== 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=hwH3IB7duqWha0ZHAz45XAghAbbid/Lap9k7Y0BynMQ=; b=EognzHGzh8xVNQfUBmvSair7cOo4vU3kM1gCVbiB5GKH334upMbqZj1L+tm7QuyfGxuCmsMzloGnLD/+xw+v9eIv4EczAGV5OwkWjV6hVNEVj63Ba8RuZe1YATC1oO/MDu8k2FRqoKcV/6WYX9MLnaYP5sm7VdkpRVdzXlPrzdhX0ez8QaU/KbFL0T8b+BcdgHMxyaC1HtKI6mITrR7Vcs7lMiwkw3DkaiAEg37nnNG/EkROpYSFVAI5NF8aQSteX+khfMWGE/MUghXyAD5KKzSas+QIZKkOAGFywojQ4+C1cTb82ERxTsVApTpbWDFUfRyRQGNSDZ2UjKkps/Ok7Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) by DUYPR04MB12689.eurprd04.prod.outlook.com (2603:10a6:10:661::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026 11:10:12 +0000 Received: from PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d]) by PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026 11:10:12 +0000 From: Xu Yang Date: Fri, 05 Jun 2026 19:13:03 +0800 Subject: [PATCH v4 2/5] phy: fsl-imx8mq-usb: set usb phy to be wakeup capable Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260605-imx8mp-usb-phy-improvement-v4-2-b2ddf2f3862c@nxp.com> References: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> In-Reply-To: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> To: Vinod Koul , Neil Armstrong , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jun Li Cc: linux-phy@lists.infradead.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Xu Yang X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780657990; l=889; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=K6X20bNJ75LcOCXXDZSg0UVODfyR6sfdY4u0DxkGrXo=; b=j2SQgcjIu3ACsCHc4XdMmQM/zoMnn1Fua8EhJq9D3bMAYwXMVHFi5W/YgT5Goj6W2HZALHi07 5VMwvlbGoVEAf7+BdLXYSFyghG154qVpw4pvBTZxcKxhNXwcR6cnjY5 X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SI2P153CA0012.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::15) To PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9422:EE_|DUYPR04MB12689:EE_ X-MS-Office365-Filtering-Correlation-Id: 2151d66d-912f-486a-e741-08dec2f3034e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|19092799006|56012099006|5023799004|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: NRjR0Ok5baWN+K24kQWqQLTchMA5tCQQVo8DR5T7McXObr4zMXvJwKEkGbNVJhLSBg61LNwE/gDweT3/F9IpzE8KgJTJL3Ub1ZeK7YgzP09+2esRlMTBIgDCv+q905rPQ4lxVXHcaiAgzOPPDPvdT5J1FvN3QiTfW80UHA44qMELN6HDTpeEa469S2J5e24MsrDWXyhjsExPz9h3da3yxuw3ghF0j2U5eQvfox5nRLz+f0QikUvA1XJdaJtAOQtF6fXBK3HLK/9w9hFEW2IHLEiFW4S4zQznwEkQ0PAUu0DtyaD3j4rA+KcKV/3Fp2BY7ma8P8xutn1mULEMK/yE1DbsANOmlm/vVshUjh5wzqoYpNOk8JVg5z4kpd2Z5IviMeSW0Oor9Z5qnEiwepGckQPKzCeeucAffMueRa4liBa0486n3g04NW9i44KPpgezqpR+Hk5zgg81t7LPp+RYG7Lwd4drX+tJ5N6EYpV24ZqmznEAcgLP6m/c7edPKMw+z1Ns6BWNX+kF5CY3KU2lC6e/wwjjYAaI5+qrNgmnYHbvQjQsg4uvRWm5bA03jcnfANUimLcuB10Yc8pm25sVZfN6C1LwWV4aY/pCFDZyJHrBg4NQRzOaJH+FcJoxUtaoP6Ickrxbz5/F9paNf2qgLtBATHZvdx4Gr98sawBVU2Xuae0LG5VlCvydR0kviBN8 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9422.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(19092799006)(56012099006)(5023799004)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NDZIMW9yNzVxWDB5WFNVZnRoWjVOQ2VkcGFZRkJ2UjZGMjZHZEJRaFlWTlZx?= =?utf-8?B?NDZiSmN5ZjBYVlp3VjFNcVVIZnN4Vi9VZCtISExRb0NvNWE0a3paRVhXcmxK?= =?utf-8?B?QXY0WGx4Y2ZvaDg2OWdVdmdxUUxFa09MR2NXaG1QaWhDNzB0emZCbTRaV0I3?= =?utf-8?B?aS91ZnhERDVhd0xlYldiZUd0d0xrTlJQRDhtcGJ2SjdsR3hzWmozc2VaQzc1?= =?utf-8?B?dnd1MFpUaUZ3akJOVjl5NnlrQ29VZ0tZMERheU5EWStKRWFGeGpGd09IdzVN?= =?utf-8?B?N2JHczNyd1BwbmRMdUFqa2JDZHo4Z1kxZGtRTWdTV2dUMVZWU2w0NnIrREJL?= =?utf-8?B?NGladThqZ3E4Qzk3VWcvd3J4eFcwT2VzNGNCZ3l2eUVxOUdsS1BXS0FEK05W?= =?utf-8?B?SlJsOEYvUjcraTFXVFVBQldmY09YVjMyUmY0ek9rVm96dEgvV01FWHoyUlZP?= =?utf-8?B?dzFjOXpvTG4xakNCdGpMTGYrQjJlcGFxRFovTksxOXZkR1F3eEpwaE1XYVhM?= =?utf-8?B?aGxNV0hxRVJhN05mR3pPVHkvdHVaa0NMQ1pvRVFBaG1kdEJRZGR3L2pGNUJv?= =?utf-8?B?R1I5VnZIdHFjN2QzMkUzWGM4aDZRTGhEd3ZFaHozZDZDdTZOYmZ5bUlQRVI5?= =?utf-8?B?UGNHOVpXdVBvL3BzcjNZNGFGdUphejFQRGlJMkMyV0R5M3ljZW4yNkZiZkFL?= =?utf-8?B?K3ptOUZ1bTUvdHlHMUZCNFFPbTBydEJKdXVYYjR0RFZRUlo5TEFyc3dqTmJy?= =?utf-8?B?RWQwanFxV1JmNHRVakk4V2ZMbTNTNXdwUzNMUi8wUDFkN1NWNmQvNW5KWmEr?= =?utf-8?B?cjdvaFdZejJTZFFRYk1kbUdWYXZXSVFlemF6ak5yVGpQS0VBS0RzMjQxWVpY?= =?utf-8?B?b2p2bDFONlpabXBlbkxSeXRWQ0RGOUY0QUorY2ZuUENzVjY5d0wvU1UvS21F?= =?utf-8?B?emFWb1JGbCtkT1hvYkt6MnMvSkxFQTZYNjgwZFZ6YVhZUXpJeEpqazVwcUIv?= =?utf-8?B?dHIvNEZ1UzVwaEljWWVZZEVNTkd5Qm92U084aWpYUjFVS250M0NvTkxaODZY?= =?utf-8?B?QXhuYU9TcW52R1Y4U0FZT3FMVXduMEdyNVRFRGt4NVFTTTIxWHlydnJQNUNN?= =?utf-8?B?cDFmZGdKTmxoaWVyQjNnMlk2V0M1Tm03VWtDb1VKd2xHTjl2UzEwYjBLZk4v?= =?utf-8?B?c2c1SGdRNTNqcXMra21xMzJTRTM3NUxOUGNIQTBXMkVRZXFLR1VjNmJqNnFD?= =?utf-8?B?Q2krZHZhU3JteUI1dlYybnFtQ3g0ZjA1NmFQbDBUMDFyMXkwMVU3NjRVelZz?= =?utf-8?B?czI3bkdhdXZhbWhUVHVYTkdFS0R2Qms5SVJEbEl5Z1JHV2UyQVVDQnVQQUk1?= =?utf-8?B?UUdGN0tGaExhZXVRNloyMHk4dnJLQmlCNk5TVUdvMTRnRktPZ3Eyc0JaV3hV?= =?utf-8?B?R3hOZmZRdnl0M003YVRmaGV5RlpWSlpOYk9hNVY3aEpmcE9jcm8rR05Pc08r?= =?utf-8?B?M1FGTGVPTFBXNnpYdE5zemQvL01PM1Z3T3ptdXkzRVMxN0FCQzlndm9Ud1o1?= =?utf-8?B?ZWl3ODhWSVI1Y2Y4WWdKNlU0ZS9GcTBEQlBrTGpFaFBQRkJ3amc0KytaaDli?= =?utf-8?B?SzB5RUZjKy9HNmVNL01ta3Q5bUFtdHZrbjZQOUtLWTFVL0dmcHBzUm0zcnhu?= =?utf-8?B?bHVWUUhhNGk4MHIrbzNlNzIzSEVEVm9MT2s3N0o5cnFORFZZWlBlL2U3WUZS?= =?utf-8?B?UWNCK0JVSzl3cFpTSGlHd241V05jVThGbnVIQTJwNEg2K0czcDFmYzFGMWNU?= =?utf-8?B?VmowbnUvdTE0MkxkbzdyN2JLbFlCOEVScXJUWHYyZUhLVlA0ME84UEh2RVpm?= =?utf-8?B?S1loQ3l5YzB5cmtoaUUzV0JCcVFMQndrVEI0S25hMTZTZXRRRVdTRnBPL3J4?= =?utf-8?B?aEpOR2w0WW9zMHo2OUZWbnFlWXNRT0xUeEo5M1JoQUpuRnphS2Z6R0hEWTls?= =?utf-8?B?RE1ieU5IQnRVcmRlaU8zUmJhVGNNa2VVMWtjbm9IRzF1SmdPNkZoS0lYczM0?= =?utf-8?B?eCtSS3NudkVLbXhIajY2S3dzdEVSYTVKL0cxOWZiSGFlNjBlNkVydkxzVTJW?= =?utf-8?B?T25KR0p0RWZEQVU0TXZUL1NsWHJ4WkhjR0dVL0Z6bk43ajZadlE1VmYyYnJl?= =?utf-8?B?Yys3aExMUVUyQXM1dkRIWStRQ2xveWgzQXZUTGlLaGtFeU9kbmt6YXRSc2FL?= =?utf-8?B?ZG9CNk13OEpuZWtPWkF6NUN3QThwTVVLTTF1S0xvelRPWUJwMzRlRjhLVmY2?= =?utf-8?B?UG16aFg1bjJGd3NsOEdJOHYwR1ZwNi93TkxYMlkwUk1MZk5GRXI3NGhsTUMx?= =?utf-8?Q?01dglZ3LTTwN5Ie+vrvgD4wn1h5TnS06JTA3M?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2151d66d-912f-486a-e741-08dec2f3034e X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9422.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 11:10:12.4252 (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: uJY6Z6nlOHtmobLNN8AQ59i0YN3zJwu9XN6dunMiNTBIcQVHbxHlZ9Cry7eFOl2KojAd+A+m12U3gNgYbaT9TPlEkwXUD/Dl90njqVE5wpIx6godSWEEBeoTJGHmjYwA X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUYPR04MB12689 From: Xu Yang Set PHY wakeup capable because this PHY supports remote wakeup function. Reviewed-by: Frank Li Signed-off-by: Xu Yang --- Changes in v4: - add Rb tag Changes in v3: - no changes Changes in v2: - no changes --- drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/frees= cale/phy-fsl-imx8mq-usb.c index 88b804b2c982..591ddf346061 100644 --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c @@ -728,6 +728,7 @@ static int imx8mq_usb_phy_probe(struct platform_device = *pdev) "failed to get tca\n"); =20 imx8m_get_phy_tuning_data(imx_phy); + device_set_wakeup_capable(dev, true); =20 phy_provider =3D devm_of_phy_provider_register(dev, of_phy_simple_xlate); =20 --=20 2.34.1 From nobody Mon Jun 8 06:38:20 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013020.outbound.protection.outlook.com [52.101.83.20]) (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 CE3394CA29E for ; Fri, 5 Jun 2026 11:10:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.20 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657822; cv=fail; b=TlERFDh7qm9koj3d3KoYH5mdShzEhRab0b8WWPAUFhnyj5Z2Tpvf0v3kCuQJTp0oOhT0NGjcXYwC2voaVus+qo3uibk0wuzk4qtjG2E6+cD6BhZysARR6pWQ1oXRgOkwmmyxfQupL7RhgWHgFnQi5Lu73CFabOR/15ZliCSIY6o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657822; c=relaxed/simple; bh=ZeglGB/aga9XuQSN1ydbGFOzLl7xNPl8AHexCdt33bg=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=Vicq6XlZJj3opxSOnxDYRP0bPBE+u/wfCWLHq/jsPED/oBHy7X54MI6xeJjLnEw8IzNnRYR7EdjBfcOMyuBzhTNL7rB/JyHec7zJENWG4YojXIAVF2IumY4U55ONbfSuA9dKqXMrteBXokde+HtmFeMVrRrEwfdWJtelHHwpmv8= 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=Hy6MboFX; arc=fail smtp.client-ip=52.101.83.20 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="Hy6MboFX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=umMuwJUdq6CHfWIDsd0Un8tHaY12wGvbIHO3K6e2w1T5INLoPeZsNjbZJwn0VFdnkelTO41UABrSi2XjdzwoAIpW5qgxR51udTnOVM+nOWeLqF046ydAoIvg5kmLzjowNSKRglcrdJXEQerUrE+WOX74PSPbgxS4qoH18RzNgEGOHmo1gqNMStKio6JrGp3arFi7RFn2MxIFA2UFXuFe/BC160Q+1mI4dIKNS4PebZhTj/G4KfRGwVrzcMRJ9jGBn4oUDzrfQFffYTaBOQIAAg7qK7w1A/+CweC0jmnSstLHhovvo4YuKTvl6d7vIbaEUzA/2i/eLrLPFO2E0dWITA== 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=4Sl22pSy8y68k97u+TFLyFxhwLXhyEGlfPcBVlZUyMc=; b=ULG8+FUskuihENt8yWSzGbzuKFbbGfAWhPplJLZbMgG147s2VFhl8ZSDrcAznRDzW2uK2LQiIxAMoDX5FGAQL7BtTYNOTZISVhatDHlsvKdDUmKx9nz4wq4IQihIub2EKZQ3STJ/VCJW9FjYbNy95iJGtr4QZyuTUnhbuPdUMnhd7VBn1NLffylTelafYr4l3i/P+jxRQ44uNfIMX32Jzp3MAfN4IPc7YsvhkwlpE55E6F/SuvgHEJzVk12CGZycETn4yod76WwROtgPXwcp3SSGr4PqflUSS9uVljVSQjlZgaL7ymC+kTlnyn4zo4xwDPXEqYHQM2yUh0i3KF66jQ== 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=4Sl22pSy8y68k97u+TFLyFxhwLXhyEGlfPcBVlZUyMc=; b=Hy6MboFXw/jxnlJPoo6xHiffucaN2WqEvyWqq83I0wD2L+M4SbKAdVNrGar0iDUejE9KrxTR1W5PnXmUamJ3yVGn30QwRMZBXXOrkJQ8t+0jPUZrA3eAqyV3o6DcogyUDilugBqmBqTcJ4uAgdS0/oWV+743I/rFXr4hxe3GGVMVdJpQrFfN6l4Jtw4U4ZmWMr6zub2DlYSBXLCnFazKEmhpqu/usbJeCR5+sVODvil51JRhsjV8izgABpOO+CIZAw0WHCf3iLUKM/fuDdacXsHOcgXwH2M4VJDeD504BfgQiFzAvqKj5ivLrPXNR10OReBv5m6ThUj4rhwnLRYYgg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) by DUYPR04MB12689.eurprd04.prod.outlook.com (2603:10a6:10:661::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026 11:10:18 +0000 Received: from PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d]) by PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026 11:10:17 +0000 From: Xu Yang Date: Fri, 05 Jun 2026 19:13:04 +0800 Subject: [PATCH v4 3/5] phy: fsl-imx8mq-usb: add runtime PM support Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260605-imx8mp-usb-phy-improvement-v4-3-b2ddf2f3862c@nxp.com> References: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> In-Reply-To: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> To: Vinod Koul , Neil Armstrong , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jun Li Cc: linux-phy@lists.infradead.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Xu Yang X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780657990; l=4846; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=X/0OvqsY0SjwkGpC8C5QwtrpnsKAIKG4ucTyW+G8b98=; b=Bo7j+1OyGfQtpNjErFplpUkslp1HR5roWAxs8UFEmKWVj5Qt4XYSRMCDsCjrpM/jyW8McmDRX 0iEB3xi0psABk3zQ9MlOE6IQP0AOMV1p6CEjBkALllCO8eA/kWGERRD X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SI3PR03CA0003.apcprd03.prod.outlook.com (2603:1096:4:297::13) To PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9422:EE_|DUYPR04MB12689:EE_ X-MS-Office365-Filtering-Correlation-Id: c890a3bd-77a7-42d3-0b11-08dec2f3065f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|19092799006|56012099006|11063799006|3023799007|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 3Yi/PzMvqJSW8xyVBjsFPuujlZVIndKKFtTl/Y1z2iAl4QaSMho2ElghRaP1j8bnuwcYnZQkqk1TYhta7cghsvQQFzvTs2MjPTTvKlQ1SrUIs3RB4izChAa64JHjy+pXsv2DNs4Kgy/Opl3uAQhfcLRo9H6niFqhH5OLXAKPNmPARMdvnLYLOR9C+Ja+HyBJekWz8gOT9lP1c7RM9U5FSUp6AXUhEn5x/ZwglWjw3iZDBxT0hxzUzj5I2v09XqbZglQgtgkXa99luMcDhhRPMufXgG154jqwoxvI9nYJTFOugBQGoKEJo8PEZMosKkwAIhSjnxlypU0bmYTCStRjj2gOHQ9BC+nvO3gP4kf46DzcOuONU8A6EDMekLVbVAD3KvjxXeKb6tPWKFl6h6bdgseGwAVPekXHbJ8jt/T8951792NtTZwCzPIY7GPfB+CZRJZCoD7cW+Y6jn+89NsfjYu7898dsvgJpnfMYbBpxMGbrpRl+sePJT4ZvwQGZYp2QletBZbXezCwo4LzdRtQnV3jexIUIzceGDRMNTGTikVX54jNBt1td6tlAcbTC6KzUTW9i43Z6Gd5GPQFqvlfZATvuD1RRFLxKb0BYJUR000ipZ6kCpdUmWE9r1GMosxuXYewGX3jj02nUzmMIo1EHDZBEM30aHOt4/g1LsgS4NnmfGMgA34xWYEzySA7nDZo X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9422.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(19092799006)(56012099006)(11063799006)(3023799007)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c09YV2Q3YnZNMkdjQUJyejRCQUc2S0lIK3g1Q2ZpQUtCeFNzaXlCdWk5NXEy?= =?utf-8?B?WnJwSkJxQmJ6WjIzUFdCd0R0Vms5NGwrRitCdVkzWnRydG1pYWg3UkNHNWNJ?= =?utf-8?B?TXBHT204aUw3alh0MzBiMkZjZU1sRXRKMTFZRjdhTFVMUjczZ2RpdTFTeUIr?= =?utf-8?B?MHFpeFlRc1VmV3NpdWRzZEZsY0s4V1R5bHJVcHNKaDZzVUVEYUE5Q2FYVFBw?= =?utf-8?B?Y1VVQzRtNUZoc1o1cjRyK2ZpS0Fzb2ZDczY5R0ZxVmxXSURZa3VHSHYrc2tX?= =?utf-8?B?b0dIR3JzOXlEaVlvbXBoUmthaXUydXpKYnp6TSsyTFVQZlhnVE92NUhUY2JV?= =?utf-8?B?bEswV1RFT1FXa0RzNzNCdTl4QjFMSzhuMjJRcVlETXo4V0JMQ3g0c1FDVmN3?= =?utf-8?B?SWVHS1JPSnUydEF2MmFKUXNqVnlDV0Q1UkhCWUd6NCs3OFY0bGRLZWt0YWh5?= =?utf-8?B?clY4MHUrUTl0STJaQU9YT083dVpTUDZLYUFMWnJ1L09jOEkxdWZEaGsyempU?= =?utf-8?B?a1Y2emZhV3UrN05NU1llMnU3RkdkRE82MmNkZitETG5UN3l3RWpKa1FNUHRT?= =?utf-8?B?YUs5M05oMlcydG1EZVJiM0d0b0JYZ3M3cFVMMTNKQ3pCek9vczB4RjZMdzc5?= =?utf-8?B?V2pWVlN5MFlDSEU3UWRHNGJyVG1vRTZHVXJuMnA0T3FkMk15TkdGUlBEY2VC?= =?utf-8?B?U1dXSytpSjVxcVlMWEw3Q2NidEdrTjJqUmZ4dXRjaWZ1U252QjZZTzZsOERC?= =?utf-8?B?N3Zud0lnN0FHUWpidHZmZDBhWExhS1F0ZTVJdnd5NDZxbWFYRitZSjZja0p2?= =?utf-8?B?OVBEZC9tZlJwaGRTSTdidVNiT3AwZ1VCM0lnbndjWDhYK1pBM3ZtT0J2OEZw?= =?utf-8?B?S3NjYWk3ZHhhUHBWT21iVlVXQ2tDbG1wQithSXhXUWsrRENabmw0Vk4rbFVh?= =?utf-8?B?YWFSRDE2YXNwMWorRXRVTEcvY3pXbU9NYk1CbkFwY2Z0UVVjRW9OOFpsdnZn?= =?utf-8?B?amc4b0o2dFhoNHVnRmtXdFByRGk1TXpQaDZLcnBUUzlGMTZVbVQ0RDBxMko1?= =?utf-8?B?cWNna0ppYTNUclUzQm01ckZEVFpPN2tnbzZsZmJUR3F4YXJVRW93bkxWNDFQ?= =?utf-8?B?TTFZQUJWSGhvVjBSSnYvbmwreEZ1QllaRXNmWkRZWjFYaVBvZHA4TlQ1NFNi?= =?utf-8?B?VGI2Znp6M0QvcEtFTmZzK1pyMXJVY0dtcXFwZHZQR3JNai9yRGtBNzJiWHNv?= =?utf-8?B?RHF3YVNQbUlPR2RZZEVYU0ZucnV5MEFFS3QwVXVwQmVHQXFRTDBrZC9PTWpP?= =?utf-8?B?cTZrTjdaZ2UzdmVqN2J5cUZ6ckhIODRib2ZMOWJnQm91NzNiNDNiNlU4L0V3?= =?utf-8?B?RXJIMEtKbmViTUx1SXhxNGExWC9xL2g2MWNVaC9hU0ZQWENjZm1mVlJTMXNt?= =?utf-8?B?OXZOa3pCSDVqZmMxZGxscXlrSXlrNW1xdmxoNldpSDlFNStSNTVvZ21YaG1M?= =?utf-8?B?NlNkTXdWV2VRYnkyNk93NXVDdGQvS1NHZFllNndyN3hZQ0h3OXdjUHdFWDZn?= =?utf-8?B?SlM3c2lQSWdOTlNlWlg3QW5aVHZzcU9OdjN1YWYrNjZXaWZZZlNvTE9ONjJI?= =?utf-8?B?RnJPZ1VtR2VKTDl3TFpYenptekRxRGQ3L1FZKzdDR0R3d0NxWFpzU3VwS1U3?= =?utf-8?B?L2JsMG5ITXZLSkRqK3lhTEtSOEFnbXB5MXczcVgwenZ5ZlI1ZVMzTkV1emlz?= =?utf-8?B?RE80djdnK1laQnlFSDErcVNad20vOVJaZnB4dkZmanFNNnl6WHZid3hHemkv?= =?utf-8?B?NmZxL0NocjZJWnlIWThkaENtTXZUMG5MbkhzYWdrVVg3NHkrK29WRW9XVDht?= =?utf-8?B?cmRKMnROY3FMMFpiR3lOQXVodjgvcm43c1doYVJJOW9uekxUaU1tdmxpRGE5?= =?utf-8?B?NG9qNDlVOGtkUzdycHorRjQ3ejNIdUltV0ZVMk51MEVrVGd4TGV2SmxQK1ZN?= =?utf-8?B?N01BSGpJVWNrM0RpUUVZT0dydmNlWUg5SUN6M1l1OGRJc0IzVXVNY0srZUhF?= =?utf-8?B?MVZwaGFXTWdkV0J0cVo5Tks5QURMaHpkYWhSUHpkSWZBODk4STBQQlRnS3dK?= =?utf-8?B?MHlSYXROdTYrMHMvZmZNYi9zNEQ4TmNzUTdhU0kxdzFMbmFuNGVOa3Jwa2E5?= =?utf-8?B?N2UxN0hPRDZYV2xuRmFlcnJZTTRZM2phRGJuSmpHbmZFVWtZaFZwTXFyY1B1?= =?utf-8?B?eGEraTBlRTVBK2dyamU5MnBhVGNJam5JQUpZbWxSZE5XYTVtU0huUFNyOHBx?= =?utf-8?B?NmFoUG9XMmo0aGNKaFYvRmt6VXVUWEhKZFI4aERmLy8xZElqaEN3OStSQzdr?= =?utf-8?Q?TmEIng7f3CB/grS58JEytNA6wIqoHujt1+FI6?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c890a3bd-77a7-42d3-0b11-08dec2f3065f X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9422.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 11:10:17.4051 (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: VjzRieNc46FMOpyCJRmETEwDwJJpNpujhKWyeR0DFyiB6irCAKxEeSVlpEghhMS9bF69c91Qn55jQqhqIh2g37wqNqQb8vS0431YWS+mKpNqRi5XhA6ezqvFuWFMdjiL X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUYPR04MB12689 From: Xu Yang Add runtime PM to ensure the PHY is properly powered and clocked during register access, preventing potential system hangs. It guards register access in the following scenarios: - PHY operations: init() and power_on/off() callbacks are guarded by phy core - Type-C orientation switching when PHY/Controller are suspended which needs explicitly care - Future PHY control port register regmap debugfs access Signed-off-by: Xu Yang --- Changes in v4: - replace guard() with PM_RUNTIME_ACQUIRE() Changes in v3: - new patch --- drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 62 +++++++++++++++++++++-----= ---- 1 file changed, 43 insertions(+), 19 deletions(-) diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/frees= cale/phy-fsl-imx8mq-usb.c index 591ddf346061..27aa696f5dd4 100644 --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include =20 @@ -136,17 +137,15 @@ static int tca_blk_typec_switch_set(struct typec_swit= ch_dev *sw, { struct imx8mq_usb_phy *imx_phy =3D typec_switch_get_drvdata(sw); struct tca_blk *tca =3D imx_phy->tca; - int ret; =20 if (tca->orientation =3D=3D orientation) return 0; =20 - ret =3D clk_prepare_enable(imx_phy->clk); - if (ret) - return ret; + PM_RUNTIME_ACQUIRE(&imx_phy->phy->dev, pm); + if (PM_RUNTIME_ACQUIRE_ERR(&pm)) + return -ENXIO; =20 tca_blk_orientation_set(tca, orientation); - clk_disable_unprepare(imx_phy->clk); =20 return 0; } @@ -620,16 +619,6 @@ static int imx8mq_phy_power_on(struct phy *phy) if (ret) return ret; =20 - ret =3D clk_prepare_enable(imx_phy->clk); - if (ret) - return ret; - - ret =3D clk_prepare_enable(imx_phy->alt_clk); - if (ret) { - clk_disable_unprepare(imx_phy->clk); - return ret; - } - /* Disable rx term override */ value =3D readl(imx_phy->base + PHY_CTRL6); value &=3D ~PHY_CTRL6_RXTERM_OVERRIDE_SEL; @@ -648,8 +637,6 @@ static int imx8mq_phy_power_off(struct phy *phy) value |=3D PHY_CTRL6_RXTERM_OVERRIDE_SEL; writel(value, imx_phy->base + PHY_CTRL6); =20 - clk_disable_unprepare(imx_phy->alt_clk); - clk_disable_unprepare(imx_phy->clk); regulator_disable(imx_phy->vbus); =20 return 0; @@ -686,6 +673,7 @@ static int imx8mq_usb_phy_probe(struct platform_device = *pdev) struct device *dev =3D &pdev->dev; struct imx8mq_usb_phy *imx_phy; const struct phy_ops *phy_ops; + int ret; =20 imx_phy =3D devm_kzalloc(dev, sizeof(*imx_phy), GFP_KERNEL); if (!imx_phy) @@ -693,13 +681,13 @@ static int imx8mq_usb_phy_probe(struct platform_devic= e *pdev) =20 platform_set_drvdata(pdev, imx_phy); =20 - imx_phy->clk =3D devm_clk_get(dev, "phy"); + imx_phy->clk =3D devm_clk_get_enabled(dev, "phy"); if (IS_ERR(imx_phy->clk)) { dev_err(dev, "failed to get imx8mq usb phy clock\n"); return PTR_ERR(imx_phy->clk); } =20 - imx_phy->alt_clk =3D devm_clk_get_optional(dev, "alt"); + imx_phy->alt_clk =3D devm_clk_get_optional_enabled(dev, "alt"); if (IS_ERR(imx_phy->alt_clk)) return dev_err_probe(dev, PTR_ERR(imx_phy->alt_clk), "Failed to get alt clk\n"); @@ -708,6 +696,10 @@ static int imx8mq_usb_phy_probe(struct platform_device= *pdev) if (IS_ERR(imx_phy->base)) return PTR_ERR(imx_phy->base); =20 + ret =3D devm_pm_runtime_set_active_enabled(dev); + if (ret) + return dev_err_probe(dev, ret, "Failed to enable runtime PM\n"); + phy_ops =3D of_device_get_match_data(dev); if (!phy_ops) return -EINVAL; @@ -735,11 +727,43 @@ static int imx8mq_usb_phy_probe(struct platform_devic= e *pdev) return PTR_ERR_OR_ZERO(phy_provider); } =20 +static int imx8mq_usb_phy_runtime_suspend(struct device *dev) +{ + struct imx8mq_usb_phy *imx_phy =3D dev_get_drvdata(dev); + + clk_disable_unprepare(imx_phy->alt_clk); + clk_disable_unprepare(imx_phy->clk); + + return 0; +} + +static int imx8mq_usb_phy_runtime_resume(struct device *dev) +{ + struct imx8mq_usb_phy *imx_phy =3D dev_get_drvdata(dev); + int ret; + + ret =3D clk_prepare_enable(imx_phy->clk); + if (ret) + return ret; + + ret =3D clk_prepare_enable(imx_phy->alt_clk); + if (ret) { + clk_disable_unprepare(imx_phy->clk); + return ret; + } + + return 0; +} + +static DEFINE_RUNTIME_DEV_PM_OPS(imx8mq_usb_phy_pm_ops, imx8mq_usb_phy_run= time_suspend, + imx8mq_usb_phy_runtime_resume, NULL); + static struct platform_driver imx8mq_usb_phy_driver =3D { .probe =3D imx8mq_usb_phy_probe, .driver =3D { .name =3D "imx8mq-usb-phy", .of_match_table =3D imx8mq_usb_phy_of_match, + .pm =3D pm_ptr(&imx8mq_usb_phy_pm_ops), .suppress_bind_attrs =3D true, } }; --=20 2.34.1 From nobody Mon Jun 8 06:38:20 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013054.outbound.protection.outlook.com [52.101.83.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 DB9F54C900E for ; Fri, 5 Jun 2026 11:10:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657826; cv=fail; b=ZoCQtF92CuN1CFyxArZjkhpHBGVRZ1iJP01BGM3oP8pF8pzQwsgXrxbtUHpuLPmkHKDIgKgLy85DAj2GwJMxU2mE6XSChT2tR4MMNCGExoTXc7eZzWP5n58+xEWOW1nIWxgsApMzbGBtjveeSl6jsMOEG2U0enI5Gd1fqJo3zQ0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657826; c=relaxed/simple; bh=ERH6Dqd6e5ZsmsM/86OzJvMVacJIxll67bjwzPTIEFQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=EEIQDEjOSU1ab+FpHKYoseBhpXecQV/ltGe9EwNHZLBnw83/g+Vb+ZI9TraEI6yw3vGZvAzEo/Q4xwU28F57ednfG8I1J3Tu2X97+bacUmezfvwZjU7LEkNI5GsJHggXLyrEncYCX64emt9B7orQUoiHmkbBsCR/rrj3feS9rrQ= 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=HZJ1AbFm; arc=fail smtp.client-ip=52.101.83.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="HZJ1AbFm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Job+hZ8dXRwx151SeAp8JPZCMSAot5dC9pAqVR50yC94BfqYCu5Ixb49+RAABJaCBLf9w+3WhRawlxcVlKG9WOw2+D7Lc91nFNOPJObOPtyFGUPl+VbjRa9vNqE0jviaQLAxTFFgNNB04DC1qpmo9xdZ5ttODUp2JfKoWZgs5CsTNcDye2nZkmxKoh6CW9fwWnl9rfOjaDCM60ghfvWrFEAGPSHqGZ/26wJGQ0ewgvKYmMShJSygNM2MYTykaqmc9S9ZCKIsjhM0z0AfUntGB8zDnEZIz9MYWBKIv13c7IdudlOJb5owSEL+qQVWYoGvSQdLQlS4lqWsFO84NjJcXg== 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=tQpf7iyjqt2wePQde6bl6iTckT2POFL+oaEgHD0Yov8=; b=rjdEQg3cpOzANx3ScNHKhxdrLmdpbbkaSojUZO18E78lW2D2ffwSOXootX2jBlyjcUFzuiPe7TT1hAkS4YEQOoWCk2hpZVq/O53e+D6Mga0d5ve8cFeYwt3SpcQG7Pg2otzAseRJFF/9reICFccb5hSj2kEHan2wyyzDbpoHaoe2RV2XdrBRZOdkLX0s9RRfbgshVf5SQi5+Sf0Jl7JNa86ib0rq/eu550m0g/oP905a0WLI8hg/ppPToELTIY2Xrph/z7qkr2cdFZA+WE5g2LMdfKo2nvx7DVJezth0SRAJivKN4040MY5venPGTC17knQ9uBf/LK9mcT6n+Y7HEg== 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=tQpf7iyjqt2wePQde6bl6iTckT2POFL+oaEgHD0Yov8=; b=HZJ1AbFmbkuQaiHCcWTL1/4jaf9TJKe0gXlXX+Iz0lb5r4UlKYq+/i18IFcRBxx1C4Be877lZvLVERobLUDwTzCtuAhwmV5fkzYV00ea0z7dlAdmg83Ha+vXmK+ABPcNQW8YeO+niiG1UABWAFNEGEH1Myu0wEQA4PTuPYArMR8rKPr30yvv32rPkJrZemQGsDowNgMQriK2I2sSK/hxrIJGu5HTtDpdAJYCg3vkbagzLq5ObjvPgRdqRDKAkkcmm4usX/Ay1snQjIFd4V0/jcB5RP/CcA1zumYJXdUkm7wDBYveNZRd+7CjhHozqKkcS6CjVQrdTdjxpF78EK0k0Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) by DUYPR04MB12689.eurprd04.prod.outlook.com (2603:10a6:10:661::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026 11:10:22 +0000 Received: from PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d]) by PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026 11:10:22 +0000 From: Xu Yang Date: Fri, 05 Jun 2026 19:13:05 +0800 Subject: [PATCH v4 4/5] phy: fsl-imx8mq-usb: add control register regmap Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260605-imx8mp-usb-phy-improvement-v4-4-b2ddf2f3862c@nxp.com> References: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> In-Reply-To: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> To: Vinod Koul , Neil Armstrong , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jun Li Cc: linux-phy@lists.infradead.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Xu Yang X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780657990; l=3168; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=KlXGVKyWOEMvNOggMMdl/AKEMbfiijxvjn/gd+BQ98E=; b=x6lZfi4bDAtpwMox2ulC9wbZ4726yZFAL7JpC8E2/6UsnywdhoaOUPcAGU3U4tnEle/VnhGOB ZiP71xYtNwzAYNFP1THc5Lt4t3mSOfjD5B6L4/IbdK7f/nXlHkrP3Bp X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SI2PR06CA0013.apcprd06.prod.outlook.com (2603:1096:4:186::18) To PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9422:EE_|DUYPR04MB12689:EE_ X-MS-Office365-Filtering-Correlation-Id: 797133ec-a80a-4b56-f64e-08dec2f3091d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|19092799006|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 6eA5N/9bC/J7RXXNDiWugMtL5u5PZB9JNi6TKBu4nyiZRBChje7rOduo9LisNj2+/+jySYVExVJBgx6bQjrQGpO7N/GqnjB4kSBeqbH0KnRFpzRn1LXPgu4lcXV/bl4EXMq+zWJTA9R/P834iAIhnyIN0FRujuKjiQnhhu7svMaLpIA9P+71PNv24hg/kmUdmsHCiSv/ss83cna8NEhz0HaCx9Hm2IXS8PU7JWcYTKMWSfeKDQZZI7M5TUkmhgndcXcpFgSFtvXbn78233n5PC2SNj8P0a8EDpo9mkjZ+yebzBdhoHb+LYojiKUTK9r4ZPWRA+iZm+BsNxgqduZRiCDObQ3kCYTP0QaOqTp3hPXtxR6pMsj70wOkBFwHai/v/nWQHX8bDiDIeKh9RX8kf5zO9DaRbNtyB4sq/tUmNgGHysJkHbaOyl4m7dcW37w7ftRSRLwrBj5vgIxT7rahsmku+WemRxgaqKX1pRqR9Ix0YowGhiUSg3fzia26NYxLwyjP3TFNQDMBbWsvgwABV2GXu9aSRblElMCfOgStE6/u4Oc4f3G353p7A5bNZ/XB9q3+a5erKTcleoS81MasuSt4LjAHlKMnnX1Z9HpOVlKmVUV5DK19TDeA+5jrOQazkEhSLiUrOigd+zsm0xv/hacHG2DA/WJQtq/yFx6LtwUcFnB08j8K/3t5nXK1KhAF X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9422.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(19092799006)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VUVZcTcwTzZodXZuK2Q5ckRJZmZWR0dWSGYrQU53QW5Nc1Z1RGFuVVN3ejRC?= =?utf-8?B?R3cwNEF2cjB0Zngrck82K2hFeGxtS0t3UUpxVUpwWDRVVXpuWnFCdmpYajBE?= =?utf-8?B?MnJtRnJ0MUR5V0R1SEFrZkprZnFKUGovNmtybkpvWG02NHJDVzVkS0szZTA3?= =?utf-8?B?ZmJkRFV2R3dBOTNRc2F1MW5CVVJPQlVZbkRHK1YrcnB5M3phTUZteHlQZE0w?= =?utf-8?B?Rkl4ZUUrOWQyYkFUL0lDc0dVaW1RTjN2US9Sc3BTUUJvVmJBN2JjQ3liTWNH?= =?utf-8?B?VE1JOFk0MFQ2M0VuMGRkWTNXZ0RFNm01M3pCZStFcXpPV1BYR2N6emVhOHVJ?= =?utf-8?B?MktCWjFDVFZHdkF0N0lLR20wSUp4Q3hueDB6SDRKVXBXZ2FyOHdqNFUweG5J?= =?utf-8?B?cXRTV1QxNW9BanhmY2ZibUkxTmlqUUhqL2taZ2Z4Mmw5Z3ZGOGlqZVlwZGZ1?= =?utf-8?B?KzA0WTFyclg3OVNpNXFUaVcvbmJYc1czR2lQcndCSFl2emVoajdGak5uRWcw?= =?utf-8?B?b0phM3I0c1IyRnhHM08xRHBWczAxMTVlWTdraEF2bXJLc3Qwcjg0TXFrY0xn?= =?utf-8?B?TGQ0RGhEN2lmaXNodGg0UEMrZDdNd0VXVzB3QlpCN0pzMkZ2L2trWDl5Rmo1?= =?utf-8?B?Z3RqYTJJNyt6dW9xK092K0xDRExXZ3VnQjhJczZwQ3RXeEJRS0k4REdVek9Q?= =?utf-8?B?K0c0NnpyaU1mZXJHRWQ3TnVFeWErNFBTZE13YVZBemRnOTNRcGV4MGtvVFI0?= =?utf-8?B?eFdCZnhDaEdhNHFqQkZ3Ty9iZ0tkTlprL0F2N1ZXeVh3MHdoQXgzU2FrZmh4?= =?utf-8?B?dENNQ0d0SXMxUGtRaHhKaGdXeElLb0tpb2FwN0dwaG9OR0hvNm5INFU1d1Bn?= =?utf-8?B?UVhaUDFNWlMwaTBraS8ra0FqeW51VzgzbDBLUWxpd0tBcmphcktWczJiZGIy?= =?utf-8?B?eWlPNTRXK2tZWHdzNmR4c01MajFCMzdWZXozU1g1VkxRck9kaG51QjBWaCtF?= =?utf-8?B?clV6NHd4QmtTN1BnM01ySEZmMHlZR3hLc3pzMS9sNVlmTE11ZUs0TXV1ZWpJ?= =?utf-8?B?T3NQOUFjS1l4V3dYVkJpYUhHSTNqTTk3S01iWDB2ZTRKYWF4L3pPUk1UV3Vr?= =?utf-8?B?QWlYekhwaTVtUE9hUmordlo5YURhZGYyTGpVVytVLzd0N1VTYmg2WGtRZDNI?= =?utf-8?B?MGVSUG5sdVVYK2FYMGJsMG5PRXdKRlBMZkU5a3lTVmZ4NkR1U1pOc0FtNFRQ?= =?utf-8?B?Mnk1V2FWREdPb2tkS0NoU3hocXFjRkRYcjlnbFA2L0YxbEc0ajNxeEJKL2g0?= =?utf-8?B?WmU4NGFuaVlBdkJMUndrUzZsZzlOWis4Z1pNR1lscEYyNkNYNWpjazZnVStn?= =?utf-8?B?dGYyZENoaWtScFRMRDdlZVhiTzRIM2hFd0YzSVlOaE1lbGNLeGovdjA0UFZO?= =?utf-8?B?OS9aVUpUdTJyWXlCTnFnbVJzbjQ5dE1VTm9ETnVVNTBTRm9nOVRxVHU3MmZj?= =?utf-8?B?R1RxUWliZXhucWZoazhYNnBUcVI1emtTZi91Tnp3a1hjdUdaTjFVVThGclVJ?= =?utf-8?B?YmExWm9rRnVweldyUGVVNHJQMmN5MXBGb1lTUWFJTkNZVW9lYkt4cFJuL2Ja?= =?utf-8?B?akpCOGljdXFRTDhid0Y1ckRvWmpGN3h4cHR4dEpSSXpPRUZnOVdPSXBoL1h4?= =?utf-8?B?d1J1VFRGTkF0cS94cTUrVjVBT2pxd3BaUmFpckRhU2FNTXZEVmo5c092UUh4?= =?utf-8?B?ZnNBTElrVnNUVHpCY01HY0JSajUyVWIzZVNVZG53RFJnQ2RGUG9FTnNxK3l1?= =?utf-8?B?VWJiL3M4Sk9vWldQem5CajdRdW9MQkZwUG9TWnpVZEY5QUxaYnh1VUdkWVlV?= =?utf-8?B?a3UyUCtRUjdyUFJ5WklkQ3E5c0VEVGsvRm0reWVDZHVRcTg3MTl2RnEwajhj?= =?utf-8?B?N2VqSHdjdFEyWmZQUmJjOFUzbUpZbkdqUzd4bmtxN0RmdzUydS9SOUduZ0Zs?= =?utf-8?B?SnpxdGtMKzJsVEdqV0xydG84NGx0QW11QXB2WEZxTE5ISTdHTnJsbHhENFls?= =?utf-8?B?dWYwZjFiOUIrRnlhcUdEOVZEeEdnWnJwNVhKVWVjTFNjclVpYWJhc3pkVE00?= =?utf-8?B?Q0YrSjByVVJQVHQ2U3gwKzVTTVFzWXN0My9Yb2xkVmtzNEx1K0hQWmtZN3V2?= =?utf-8?B?bkUza25SdGpUUjRrNko3R0o3UXRqV0UxM215SGRhV0pFWWk0N3ArdlE5K2Vj?= =?utf-8?B?MERQTnBHLzQwOGpzcFZPY2tpcGRuYW1UTjNuZHR2Ylp5bTVvZXAxbWl3Qmdr?= =?utf-8?B?L0hoTXE3VUV4Q1NXQUZUeWpwRXB2anpvNkdKS2RHcTF4S2R3QnZJUEw5NWRu?= =?utf-8?Q?S0gpmVpiGhV3yrjfigCzb2aE7my5la2SGIVfm?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 797133ec-a80a-4b56-f64e-08dec2f3091d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9422.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 11:10:22.1405 (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: C5lp1wyL0zaSYFguk7vc2Ag9J95nlU9Ka4TYwafakIbZCh3kkWsCk//uVa+7eSj7twSTkk9VXsgcgDqcCnVyk+GcrYjNqkE/seN/WWPkh8lhVCtnDwjGRZAUAulrdpxi X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUYPR04MB12689 From: Xu Yang The CR port is a simple 16-bit data/address parallel port that is accessed through 32-bit MMIO registers for on-chip access to the control registers inside the USB 3.0 femtoPHY. Add control register regmap and export these registers by debugfs to help PHY's diagnostic. Signed-off-by: Xu Yang Reviewed-by: Frank Li --- Changes in v4: - improve commit message as Haibo's suggestion Changes in v3: - drop Frank's tag because it includes other changes - new patch --- drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/frees= cale/phy-fsl-imx8mq-usb.c index 27aa696f5dd4..e24f46d7924b 100644 --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0+ -/* Copyright (c) 2017 NXP. */ +/* Copyright 2017-2026 NXP. */ =20 #include #include @@ -11,6 +11,7 @@ #include #include #include +#include #include =20 #define PHY_CTRL0 0x0 @@ -56,6 +57,8 @@ #define PHY_CTRL6_ALT_CLK_EN BIT(1) #define PHY_CTRL6_ALT_CLK_SEL BIT(0) =20 +#define PHY_CRCTL 0x30 + #define PHY_TUNE_DEFAULT 0xffffffff =20 #define TCA_CLK_RST 0x00 @@ -119,6 +122,7 @@ struct imx8mq_usb_phy { void __iomem *base; struct regulator *vbus; struct tca_blk *tca; + struct regmap *cr_regmap; u32 pcs_tx_swing_full; u32 pcs_tx_deemph_3p5db; u32 tx_vref_tune; @@ -667,6 +671,14 @@ static const struct of_device_id imx8mq_usb_phy_of_mat= ch[] =3D { }; MODULE_DEVICE_TABLE(of, imx8mq_usb_phy_of_match); =20 +static const struct regmap_config imx_cr_regmap_config =3D { + .name =3D "cr", + .reg_bits =3D 32, + .val_bits =3D 32, + .reg_stride =3D 4, + .max_register =3D 0x7, +}; + static int imx8mq_usb_phy_probe(struct platform_device *pdev) { struct phy_provider *phy_provider; @@ -696,6 +708,13 @@ static int imx8mq_usb_phy_probe(struct platform_device= *pdev) if (IS_ERR(imx_phy->base)) return PTR_ERR(imx_phy->base); =20 + imx_phy->cr_regmap =3D devm_regmap_init_mmio(dev, imx_phy->base + PHY_CRC= TL, + &imx_cr_regmap_config); + if (IS_ERR(imx_phy->cr_regmap)) { + dev_warn(dev, "Fail to init debug register regmap\n"); + imx_phy->cr_regmap =3D NULL; + } + ret =3D devm_pm_runtime_set_active_enabled(dev); if (ret) return dev_err_probe(dev, ret, "Failed to enable runtime PM\n"); @@ -731,6 +750,9 @@ static int imx8mq_usb_phy_runtime_suspend(struct device= *dev) { struct imx8mq_usb_phy *imx_phy =3D dev_get_drvdata(dev); =20 + if (imx_phy->cr_regmap) + regcache_cache_only(imx_phy->cr_regmap, true); + clk_disable_unprepare(imx_phy->alt_clk); clk_disable_unprepare(imx_phy->clk); =20 @@ -752,6 +774,9 @@ static int imx8mq_usb_phy_runtime_resume(struct device = *dev) return ret; } =20 + if (imx_phy->cr_regmap) + regcache_cache_only(imx_phy->cr_regmap, false); + return 0; } =20 --=20 2.34.1 From nobody Mon Jun 8 06:38:20 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011033.outbound.protection.outlook.com [40.107.130.33]) (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 3EA6E4D2EE5 for ; Fri, 5 Jun 2026 11:10:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.33 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657830; cv=fail; b=UHGhhisxlNBOCZF1bdFSGoXEeiGLkITs5kbQecJC4StReM5dswQApl9rT2VvfWhtY5sAKPHjgKU8wpS17cQx7lRnR0v5uRWazuysClVLKnQW0pkgXqysZbQAoZtkV3f4ukAeJQpsAS5khEUaCgtUHxXzcWt6l7sRBByOsqu0R34= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780657830; c=relaxed/simple; bh=1QM8vymsgCzwQ2PYZkxCfpeqXGh/nBXwmsG5Mlx8Yak=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=hhp0m+r+7XGEmwi3cit2Z6uAg/NvglYdVuNgn8LCAe3YLDHKkN4u6aCC9U0aFwfBNbpy/sXgO+vxHc6fbwOk0U/ReuzG1PfNDAAKDs0BZKKtffq+yyUOaxekZSDr166dNZI6SiQzl/DcWO1LATq52jKjkDwbbkq3a3GPeCkjANc= 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=lHb37zF9; arc=fail smtp.client-ip=40.107.130.33 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="lHb37zF9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B45MeJAksKm89o4z2ud6P9kL7CoFx4HEOD9DqXLyB5fb4mOqL4ZjPzHq4ETRbRrR+ZMEFi80j/gVT3HrCgKztBBCZpGvLge6b39vAR6yc0qaVNkFn/9dXzfchkWymfaArLfYZ7fiBoOH9vh7ydO8uFFn6KkwDOiufq2Y48JwXnQi4jgCDLtrrkF8d/vLS65Il5t4Mqk1v2GjEl2PiPydBQuUZ7sJBekwDBgsvsw5k8uUmO5nl2FrK+BgbfO5A34VHIHRB+4273sMaO81vVSd1yuB1BfsKg4cE/ptuuJVJbDqV+YAnVy+8D1jM8lDNHDkB20hdosa3TLsbhbtidYDWw== 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=f4aQ7aaGZk97oMFXaQvHNVpb9htpMHs2ibs1Ob5Bozg=; b=abJlF3nRzdr7yiFDdQFNeq/QJW1sZm2GRBgpnbbi+0U8I8GSDuAr0w/kybby4HYw6gUQI0j7np8B1SjfCKkew4fVZ74j4Y2IWtrBG2BJ+4vwc4I4DQf7RQiKjz8Hlp2VHGUl+ehD01SPpqC91W2+SqVqwEtlNiWYzfV22AUNd7bCephfvBByzf8ROB+OZZqnYnVK3kLa2N6PHYTBjt/MyIbwDa7DyI/FzakEUn48qVduKT6P9PQbt1z33+sheQ+NVspoXI9sZOPp9Uhi32uZw9xWQ60DtchD1Hvvpjf19y7E/B0OH6NU0IlynU83OW/43Azx2pyWxPClfMkEuqvz8Q== 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=f4aQ7aaGZk97oMFXaQvHNVpb9htpMHs2ibs1Ob5Bozg=; b=lHb37zF9G130BEPGJKcX+9Vu90rhnR16PDhoMBJrzQGZTpgPBIExEJyBx5/M4yOXWqzwXR05xFivnPh9uwm1Rts/3PgSvcKxmShFnXubKeFwyBeYzwsTk1WgCPF0eU/9+Lekx1Fb4ook+iWKfgZOWG9xF81cOAPWeFz8c8yKka3Xp0zY8D7b5sYH81Kbr5A50bo1oczZDP+b4lKWaBTocig28ukoiPqqha+p6O2oeO9xLRbJi2yofzVb+Ue391GFceNCumpDMxpbntUVG4vW07iI6Yj45IubU75cwUa5LX6IV3xQkys6GGPbX5E5huyr6/pgT6wrqGqybsb7PhIC4g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) by DUYPR04MB12689.eurprd04.prod.outlook.com (2603:10a6:10:661::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026 11:10:26 +0000 Received: from PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d]) by PAXPR04MB9422.eurprd04.prod.outlook.com ([fe80::54e:28bf:aa85:d25d%4]) with mapi id 15.21.0092.007; Fri, 5 Jun 2026 11:10:26 +0000 From: Xu Yang Date: Fri, 05 Jun 2026 19:13:06 +0800 Subject: [PATCH v4 5/5] phy: fsl-imx8mq-usb: keep PHY power domain runtime always-on for i.MX8MP Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260605-imx8mp-usb-phy-improvement-v4-5-b2ddf2f3862c@nxp.com> References: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> In-Reply-To: <20260605-imx8mp-usb-phy-improvement-v4-0-b2ddf2f3862c@nxp.com> To: Vinod Koul , Neil Armstrong , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jun Li Cc: linux-phy@lists.infradead.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Xu Yang X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780657990; l=2586; i=xu.yang_2@nxp.com; s=20250815; h=from:subject:message-id; bh=8H1IoID8r2wj2+THghfjzcT+x94lHJQ07AmiUhjvwSY=; b=lOaJd/JEbXgCtMvzDAe7sKMNXsssHnGX0nh3x+8tKPjzjCmCQ45EM2rA5LrVn5N2U+JjqKJvb 5ppGicMu6JvCHMB1wBEzEiFfFe96lnz/AbjH6v2hBUGTV3MFtBMWg/Q X-Developer-Key: i=xu.yang_2@nxp.com; a=ed25519; pk=5c2HwftfKxFlMJboUe40+xawMtfnp5F8iEiv5CiKS+4= X-ClientProxiedBy: SI2PR06CA0013.apcprd06.prod.outlook.com (2603:1096:4:186::18) To PAXPR04MB9422.eurprd04.prod.outlook.com (2603:10a6:102:2b4::21) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9422:EE_|DUYPR04MB12689:EE_ X-MS-Office365-Filtering-Correlation-Id: d7384562-7354-4be1-398b-08dec2f30b71 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|19092799006|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: OPuoBRXteGfkSCcjg++Kt/9q+fgt2Gv1Li0WJcNfD9ujua93Zy2UuPlPy4lvxm/CTpTOat8Pht8xgPO4w+Vtt+VF1apopPayld/PO5ZzxVoXLWl5N5lbx6Rbjr/tZSpps/Nm5evFOyAthHg7GsEWr+bZy07jxx27yRxu5AZNsJVkOwqBpKVMIuwiRJmLEexBtW1r4ihEqsvDaOXalL3wm6F1ZAWmJnezJM5VzUC4dDZXjiNf37uiV42Re98zYYyBo7y+bgT+vehmTcE4FGEP7MSKENiiammiNLP8L2MRTssQ9vQ4qrT8RXW3i2z86IO8Qih/dcvCAHVfwPzaNb4IZD8gOBHvEoeLFBFRqEotqsBpT4n3N5+Df7YNb7LtbKXFTkGc2t7NSBRDd6qrxJt0pNZDDf8i/5nSLAE8eiZvN1+Flvp2JPZKq4F101l/HMzTdwW0a4dVu8wHXdFDatdq9A2B1ug5J7uLdHZlw7TUl5PLppK7RlSGv6ktE0GmebvwtjknB4fBNNg2NI00WMxtql/Bzha47o6kZIQHXbwhXirqU5hUrY7DwVKrni5dcrwVotgrV5cQhPfrbX6Cm9oYvOX1yaOYoKjnnYcX5Tp5tNWjJfYPjAdpQQHBEGln86GETpXnXL8BmDbukcynFFe8oDCwpzqntBCpwiRWz0MiMOtO7h0KTiolOA4Q3R4TDxCl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9422.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(19092799006)(56012099006)(11063799006)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aEc3bTdGdndENjlqWktPUmVvdjZHTTN2MURza0tJcnl1MXJnQ2FwTElIVnNB?= =?utf-8?B?MjZ5U084dHJlbUp0K2tyTE51bWZxaGoxei96TGtaenl3RFo1ZDhtcUJJY0x6?= =?utf-8?B?M3V4bmR5cTBHYVVoMzV3RW0rZ3poaHEzcStZZnBQczdsSnhTN25jSHY4bW1r?= =?utf-8?B?RnB2MWtvOThUWFQ5MHdGbDh6WGUvRWMyVEFOeXJXQzRUT1MwWkJNYVdvS1Ev?= =?utf-8?B?QUVGUXJaZ0VuT01Sd2dtWjZDTURGYWJmN2E1bElMaEhIYmpIQW1tSHRXSWV4?= =?utf-8?B?WTc3d0IxcmMvbkRyYk5BVUR1MWV3cGl2d0xLWkJCZ2ZFSGtmeFQrbzIwR1Zs?= =?utf-8?B?TmdqamxxTTVpOWpkWlk1bHpQb0wwMlc1WmEwbkNmY0VUeG9aalZUMkJ5Q2xO?= =?utf-8?B?ckI3S0o5NVJwTTRPVE5tMDZSazlJenp1MXArdDRMR1hsRTBVUnNodVk2ZU45?= =?utf-8?B?R0hLZVdXTUwzVEg1ekVNeXZ2Q3k1eGNHQXFvZG5wN21tcjF0My9vaUFoUVBM?= =?utf-8?B?VCt1d0hFb1V1WjVEN09UenVPcXNzSXRUNmUwR01ualdXQzlzaGg1TkVvOFM1?= =?utf-8?B?Vlc1Y1A1b1B0RTF5ZUt1Smk3SWhIb0FjMDczcEdrY3FQWjFVZk9QWFh2ZjZa?= =?utf-8?B?YnZKajl3WWN1UGN4cTJ2TXRxbUF4c01lZ1RES2EraVE3d2xhZlJOdENwVjlv?= =?utf-8?B?VTBtT2kxVkZKT0tjbXRxd2ZFd20zbWFUVDAyMVJUTGM2azFXQWpOa2wzZERw?= =?utf-8?B?TXZEVDk0Q2xIbDFCcTMyb2NOVnlZdjgyMytuOFA3RzhKMmNkeVFyT0xYeUhE?= =?utf-8?B?OU1hN2RJMzh4eEdDR2NTQWdiVzFWZ2cwam8wUHlhb1VERWI2SklQMGpjWVZl?= =?utf-8?B?aitTZDJ6WlBGdnYxcDh5VUJOeHh2SFdDYStLVTNRc0pKaGJYazJiTFdnYjcz?= =?utf-8?B?NGJacUlUTjBnWnF2eVcxampjbC9rYUhWMjVQOVc4cEFMM0pmeUREcFJvcTBM?= =?utf-8?B?b1ZrRFJHdkdJOXRPUGhqMDh5aENGd2pPckprZlRMMmlKNzlJbzNJNDlDSUhY?= =?utf-8?B?NmpZcUQ2SStlVzZ5NEhVaEZuNEdEZ2VsUlR5OUZPYytiWkJJL2F4VDE1QTZi?= =?utf-8?B?MFZyempNQ3E5dEdOc2IrNzhkUUhZMngvd0RlSVdiTjQrWGxidVBPanNTWHBD?= =?utf-8?B?aVo4elJBSjBLM2lBMDI5elVGREt2UWs2WGdGWHl0Z1NXcFZtQlVKQ2ZHQTNX?= =?utf-8?B?T2Y5NTRBNjQzWFcvNGJXcUVEZ0daTDFBUFgzL1p3L3RxZkxtejBtRk1iTXR0?= =?utf-8?B?bHFwYTk1ZXlOdXI4dnlQN1k1b3NyKytiSnQ5eDVsTFhkU1hBeDBhMDZkSjhw?= =?utf-8?B?QUNteHhiMm1zV0pJTkJNTVR5SnVOMTFseXlPSDJPUllyME51cDBhenR1RG9t?= =?utf-8?B?djRaakhSOUVzQTAwRDl5ZHlDbjBQaFZ6NzhUODRIZmowamdXeVBqYTdHcU9j?= =?utf-8?B?M0UyVGZYTlVyZ0Z0Tnhneis4aTdvQ0xmOGlEZjdKbkZ3Y2tXSDd4OEVRK1RU?= =?utf-8?B?T2M3YkVXUFlTT0tjM3oycWJGdEpnSHRkZGRmbmx0d2FQNCs1a1N5SzNzL3pm?= =?utf-8?B?S1EwSjlDcytVd1hoaVJKMTNQSjVCQkFWUndQa2xMMUVQWDFSRkJaaXVmZ2NR?= =?utf-8?B?TTNnTWNTbFh3SldDUmJVTktYd1FSM1l0VzVxYmUzZlV0S0dqZFVRUmhwa0ND?= =?utf-8?B?ZDVHKzZqSlAzNDRIdHVxVmovd0FnTUdHSUxCSnRXNlBMd0JLRHE1RGhJWVNR?= =?utf-8?B?WTVmZjU4aUFxTnlmV2VYVE5WQmNHdUpTMkFJdUpNWmFHeGVuamNzeHBEM1Rj?= =?utf-8?B?MFBWWkd0OWhVcXMwNG8zM1B5ZFNnRjJFcjhNS3R3Q3hmaHRHaTJ5L0Q2aW8w?= =?utf-8?B?T3E1bzU5SVVTU2hJeEZLbXVvM1hnWGNGNEx6OWkwNkdxUmoyTHNnb1RiaEVz?= =?utf-8?B?VnhJZnMxbEJ2QlRlUkd1Qm5EL0huUEI5U3Jib2djSkFrTGlXKzQvL2N4dU1C?= =?utf-8?B?cktrSGdnMnByS1dCeTBuYkE4MWM5S1RwZlM0QmpOT2wxTWlvVnZzb0hiSE16?= =?utf-8?B?dlBKTWNXSkZSMzcvU1hKaGNzNkJ4aWpEeWVaU2xTTzhPQjQwemR4VzluNjVv?= =?utf-8?B?RFpBYXg4MHo1cCtVVzVxRXgyaVE2R25FTHU0NUNheW1Rb3VUVE5Xd3dFSWp0?= =?utf-8?B?aFliNEVNUTNENFg0NEVaSkFNTHNFczNJUTJWWjFwaWlXa2NIME96SWwrajNp?= =?utf-8?B?cU9WWnpoRmhzcEhBY1JwbS9qRnRHWC90VDdIYkF6M3dRRkZCRzFFbnpLU1VZ?= =?utf-8?Q?RInhFJ5YixcIWGOIt+D3AW0TjiuGy4VhhiUqF?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7384562-7354-4be1-398b-08dec2f30b71 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9422.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2026 11:10:26.0447 (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: hOTJ0I1ZWLg8VYsbULYjEDsUOxJHAmkF4TOzH6SOFjNUZ5H87LztJgEfTbOt8zjuEnh0KbhCR8gAzPlbGZ/o8pCHgRmbpYzjM6hk6r7WntNGLPi99CHdNw5EiMYCPP4k X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUYPR04MB12689 From: Xu Yang On i.MX8MP, the USB PHY has a dedicated power domain that was previously never powered off at runtime. With the introduction of runtime PM support, the power domain will be powered off if the device is runtime suspended, which breaks USB wakeup functionality. To preserve wakeup functionality, mark the PHY power domain as runtime always-on for i.MX8MP platform. To limit the behavior to i.MX8MP, add a new imx95_usb_phy_ops for i.MX95 and introduce usb_phy_is_imx8mp() helper to identify i.MX8MP PHY instance. Signed-off-by: Xu Yang --- Changes in v4: - no changes Changes in v3: - new patch --- drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/frees= cale/phy-fsl-imx8mq-usb.c index e24f46d7924b..c8b93ae2035f 100644 --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -660,13 +661,20 @@ static const struct phy_ops imx8mp_usb_phy_ops =3D { .owner =3D THIS_MODULE, }; =20 +static const struct phy_ops imx95_usb_phy_ops =3D { + .init =3D imx8mp_usb_phy_init, + .power_on =3D imx8mq_phy_power_on, + .power_off =3D imx8mq_phy_power_off, + .owner =3D THIS_MODULE, +}; + static const struct of_device_id imx8mq_usb_phy_of_match[] =3D { {.compatible =3D "fsl,imx8mq-usb-phy", .data =3D &imx8mq_usb_phy_ops,}, {.compatible =3D "fsl,imx8mp-usb-phy", .data =3D &imx8mp_usb_phy_ops,}, {.compatible =3D "fsl,imx95-usb-phy", - .data =3D &imx8mp_usb_phy_ops,}, + .data =3D &imx95_usb_phy_ops,}, { } }; MODULE_DEVICE_TABLE(of, imx8mq_usb_phy_of_match); @@ -679,6 +687,11 @@ static const struct regmap_config imx_cr_regmap_config= =3D { .max_register =3D 0x7, }; =20 +static bool usb_phy_is_imx8mp(const void *data) +{ + return data =3D=3D &imx8mp_usb_phy_ops; +} + static int imx8mq_usb_phy_probe(struct platform_device *pdev) { struct phy_provider *phy_provider; @@ -723,6 +736,9 @@ static int imx8mq_usb_phy_probe(struct platform_device = *pdev) if (!phy_ops) return -EINVAL; =20 + if (usb_phy_is_imx8mp(phy_ops)) + dev_pm_genpd_rpm_always_on(dev, true); + imx_phy->phy =3D devm_phy_create(dev, NULL, phy_ops); if (IS_ERR(imx_phy->phy)) return PTR_ERR(imx_phy->phy); --=20 2.34.1