From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 18DD9C7115A for ; Thu, 19 Jun 2025 17:03:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To: Content-Type:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=eJj/Rce4Fw8we64+DXLYr7eJug6akF/DBAlPLdpeVDA=; b=GqVx7wKfkeA/gRjiAhzJUbh4K6 go0z0Bm9RJR1mdFIDsT2OSKUNqTvYlZ0cE6GNokQSSXFPK4DuyDNDuQCmHWfvZR11IBs1ywS23f+v HQLfFrDexaByS0M4n9NV2bjhX+WOj24Gilz83fhJ8U2oQFwKAeHNyScy5aBVSpclm54O5/yAwit2Z IqFRN4KuZIKF2FCDfN/c+3ru1noGf5vDwuk2DzXeZTeQ6zltkQfZRWTH8deqru7RuKds2K4rui5OK Cx1Cr7sx4YntQwAw8B1ZssD2ZTzQAvDS3nTyUBbdpr7CM4sMInqSzOJuMfF0ickJ3K8CBMGKLAyHX B816PMPA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uSIff-0000000DgTP-32TX; Thu, 19 Jun 2025 17:03:27 +0000 Received: from mail-francecentralazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c20a::7] helo=PA4PR04CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uSGf6-0000000DKVC-2f9p for linux-arm-kernel@lists.infradead.org; Thu, 19 Jun 2025 14:54:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AlXNWu+UOGjOCAFZOpgBBALlTXc0/4+F8DR+U9qWIUDXGlTH3boWUx1F9t2rngh4ZCmxbxolTLsmrUkQwDg+0TLZiX6DZ6jKaGx8qIDctLIbOU9uQ4fEG5wokT4Rl80X1JQmd+kdTvsnkbsplCcBfeHS0kN6Ge6Li0LxCr/3nMd3HXmU4GPgqewDHNeg1XV4XF0X/9pKQI4XtsI2D6/l4DaW3pIteHL16IvQs5coJZUvM5k6k9PR7YVpjRuJzkcZ98fMr6rUGFrlYpkB8WMS3j7gkGSRMfkqDU/Sr0OCFdau5uIryjVyqT0zT9dwvedvvgWLQXybgaycxCbZZi+uEw== 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=eJj/Rce4Fw8we64+DXLYr7eJug6akF/DBAlPLdpeVDA=; b=Oe8BoDv/xueBA2rmbwMC0UIFVjHoVrslHzn4mfxCCw3RKT/JUeIvVjeg1gyOzw2bDNYz7usAjQR3IvPta5SHXvbkD1DnzK6S7eEdOEo5rxjGNDoLwSVAw2sLC3xk9k4xnIyODcFvoxMpottw2VsOOkcDO55Ro/kVqT8xSqjfHDtXQ4afDYk1vXpoCubQoWDbojbUD/y9Rd2KMa2f02hWYHaVZBgS3e1k1lQxcPgeTT+lcSSEaAM//EY/Coi1RujTknML9vIekAIAwUsKsRBfRkm/I2yN7rgJc9xfmMiU1hz2CESlxCHp9zhJCToY0ZCaiTQ2n9c1q5kJ3a4dUcy6+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eJj/Rce4Fw8we64+DXLYr7eJug6akF/DBAlPLdpeVDA=; b=cHavFHxBGfJnTHoKqrcpkgESznKAO8E51PHBheQwo5bs2V1n0bJWe6PwTIjEZsHUeCeB4THfMyRJV11GYWyP0lvp7o/3gjXFDhuA2SthAPBdTDGwKo4A5kH1Z7r70O5KvTCIhHxzNweAy95NCD0gfBLLYooJXw9N7groJ6HdqpTbh/hrzcRTCkm5Sy6ZQlEAHV4/mVlj8IbpqHHChGeAibVlPLPBdiddNysqzmoJXZxYD3PjB67ulItytXV/GvAUV1JKtlSertMHZ+/4u8LNTEBbx+z1wgmHroTgBi3ebiHoXRYTYH+lzgjUKi4Ai3l22qttPQiVX+mksBzq/Er2RA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by GVXPR04MB9735.eurprd04.prod.outlook.com (2603:10a6:150:118::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.19; Thu, 19 Jun 2025 14:54:39 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%7]) with mapi id 15.20.8835.027; Thu, 19 Jun 2025 14:54:38 +0000 Date: Thu, 19 Jun 2025 10:54:33 -0400 From: Frank Li To: Richard Zhu Cc: l.stach@pengutronix.de, lpieralisi@kernel.org, kwilczynski@kernel.org, mani@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, bhelgaas@google.com, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/2] PCI: imx6: Add external reference clock mode support Message-ID: References: <20250619091004.338419-1-hongxing.zhu@nxp.com> <20250619091004.338419-3-hongxing.zhu@nxp.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250619091004.338419-3-hongxing.zhu@nxp.com> X-ClientProxiedBy: AM8P189CA0010.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:218::15) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|GVXPR04MB9735:EE_ X-MS-Office365-Filtering-Correlation-Id: 9efe819a-2b2c-4fb5-e559-08ddaf4136e0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?DaIKzWBiHVjPeR4ReH/w3lGp4R/X3P87+3o0HbZ0N53xh/dpLXXfskrYJeXa?= =?us-ascii?Q?xwZC6Q9D3hJKglrk+l4EouAVi1G2Q6kLoCnaxJeBcbyYvwrI7VQxWSjYAsc/?= =?us-ascii?Q?4IisWo5v4lF2BTouoERhLOIzbApLA5O49ymZKbGCSAIKJUqKwwLgo3plKBVF?= =?us-ascii?Q?v0Eu7TNdBDvITpnVZIm/lzzbY5t2uyoYlPkUs9mqxqJOVllB4owLBxEi/uQD?= =?us-ascii?Q?92ZtC+0oCLVXZ0WkuYizNNZkdN/d8Pmjlgesk+b1KCxYpdl34DUlhTq+/vRL?= =?us-ascii?Q?TdzKOykMUO7fmR2Mq1F9MGJhWW96mFUyVOo1x8HHcUBaxdQsObAcX1s12Qwb?= =?us-ascii?Q?DrzhD/ByK8sLhTg2SiNsojiiFnBGX/sC4HirnAQwGOYU6LFovBgmJJ0p00TA?= =?us-ascii?Q?NrS1x4Au/ah8BVcNEEVrBqMVR/5MJ5/3N40FDyrojZXLHKu6Qzxk6vgW9AoS?= =?us-ascii?Q?NkYfjSvPr48N5RIlFZxoont3m8i5Msot8zgNTlt0CVT/RTSebjhUmLVXi2Xd?= =?us-ascii?Q?TNB40PNcL/he8ZDIAsxccaTNtXe9Tig6+EuLpz89No2HRaI3zeM5lLvIS4jH?= =?us-ascii?Q?G1TPsPRpBmwZ+QZ4dtXT6/9/aH/5+B/F9+C8U+C96Ax5cFQsgf2RHEA8kXtE?= =?us-ascii?Q?DQfCH9zWo75sL86KLZR61GM0AmKM8kWrPWKUv7YdM9ULJDL5bcV7OUsRSDcK?= =?us-ascii?Q?feobHbCC0GTNyY2fnoDsHE9VNsCLI98v+xKYO5ccwaP1OQAkKJTFjBCxvh5H?= =?us-ascii?Q?W08O1M45SmaUt7HYeTSe1+lsD/vzQrYbN5Zzm0ktjAbxVwjjt6kFhDabAyjT?= =?us-ascii?Q?6h885wunqqPhqPHZAemDAziYqO2n04CGLITwMcmK6Ikyc1+uLMZkjbaznFkc?= =?us-ascii?Q?+cdyrey6FZSbapMtFV78NjWkzuIr/pKhKGDY3F5PAbijMdib7F80HGf1dJzn?= =?us-ascii?Q?zCGUKSClFL34482aRBSVhATDiicJHKtNmy4ftYx0yLeT7v7URrEgOUk5972x?= =?us-ascii?Q?b+U8bHOMEEpulV1HLZQqx82dCWFjkx3st31ksuuP+WOFiUjMpgQpgHwUezWV?= =?us-ascii?Q?ekjRLSPSvZcNRbvYgviFIQLgOjlcEfhxIL8NzEKbWNuIyOkOFvouC1OvcXIE?= =?us-ascii?Q?og+SAY1qkv3YN9DYxt9xu8V6HTU8G/H8Y+NIQYqYUW8F/ftvW+gc3DJNBbit?= =?us-ascii?Q?icNrwldVXhMT1S2Mm/oa7RneEAAjHd3kHVVw8qc+hBL8GuFDmuvhR8lSm5P+?= =?us-ascii?Q?k5q7cC97LD5bsOGWZ+ECZg7yxZv3Ohk3z+kl+3bkpVFPI3lduMIylQu3llqW?= =?us-ascii?Q?CiWxOoXMZdPQcX6RbOJBX55Y8E8jVRVOfQFs5UIAP3NWYSx2KW3hmR5jW8YR?= =?us-ascii?Q?GaIeyTmW1t/SKZ0UDVUliIV7SYLBPcU4w1HHFqWVDuNg6XdM6W4v56jf+eRn?= =?us-ascii?Q?cJZu+WUPjdxH0FyAiKtTMqn+z9eeQlgcno7h+52T1ddz67SGbm24DXzIUSOB?= =?us-ascii?Q?8vgGUw9f+HtJNTg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?omvuYjMx6URbE4u3SMhGcYcEIstVEP4GZrNme+xfBfVLYp5t4mJXXW8JcSna?= =?us-ascii?Q?roq17BUx0XQ3/wW3XHKqOoM7/XLCjVkTbtcNEVwfVJb130Yn8dGkVNwRQTXd?= =?us-ascii?Q?sTaZAB76IN8UO8UKtmZwWn24puOH7FB2RbMRWyNXA9cnEKXAHdKn3dMdKwtH?= =?us-ascii?Q?ZHzVzGUUiRqd0AVD7axkMxo4/nV1VLeM9TRh39kKxjFtwkWg3MRQKdDsYxdo?= =?us-ascii?Q?FuFE+Y8oDAy3oZHRywzUEgubBsa864EjLTeiAYLNYTWjufKKBY4i8vSPTKU2?= =?us-ascii?Q?Nzco7goEdunvhT8Fxf2JK2vY8tzVW3c2laeTJu5+aZWX3xDBCbJGbYz4J3+W?= =?us-ascii?Q?HZsVs1eue02ayd0WQQntZa7YeAG/Q+r5lehzOx6FSVscEWtML2hz0VAjWjqZ?= =?us-ascii?Q?on/v+foSSebHFuRBzGMuPeE0VLwUZP1k3ebXSCbB9DVO4r3Rz+415NARrrqT?= =?us-ascii?Q?fMxyCHj/DaY1lijV0LKotL9CEgEZlxyBCSGR8Bpe9g3chtp9motTsnG0yMuG?= =?us-ascii?Q?JZhN4lCMW+1G6Ej2j0LKEW13Fne7Tp6p/UD1ZKC7rvzR6uPOHW7C62GNPzfU?= =?us-ascii?Q?u7DvbQeVQ1U9PmVY7sD9FVeHWsW/Z2foRKxA6x4SdNGXBo5Vnht5r9DRGt5c?= =?us-ascii?Q?Y0iq8mNxqDuXc6Do6UrFO44+MdrnssRtvtqOLz5yiWgdxbBHzPoZohbvK3FM?= =?us-ascii?Q?epkivcJFBFYiwncsvU/+A9wj8jbf0PFsGLHBatTlcJ7RCoSpWiO5owDd2+ki?= =?us-ascii?Q?wxnUvg8m13Y3QwQ0bDLpP5JBwnMvkvnZsdTamJYu/vB9zYP9XhGLuoKZbQJA?= =?us-ascii?Q?PwOIZ7PDXzh5ekcbOIjp4VmfbvysJ7TjQ6zFKj4yRPknusUopduJHqWkLy3M?= =?us-ascii?Q?WbfHVO9+5ZlSEjOy90tzISlLAIddRKG9ps9uTMMLJPnKSHgsRfAj7YxHV0CH?= =?us-ascii?Q?K5f2OomKI2zgqXfGYm6RpH62J0uWo4DAwx3oKWl+v+rr6jx8IDuBKz2ytHnl?= =?us-ascii?Q?udJbnwIqOOCwYcy0dCi4clRvjI1byvUcFGH0wZ1Vtr2PutkZSshJyk7juqkT?= =?us-ascii?Q?++fQ7TloT+9nzOly4DymSes+PZEZHLQMeZRMcETm4YGllhDA81udLwYktbHk?= =?us-ascii?Q?BSRFExGIO/a18ygvc7jux+JdRwSPOu7OuY5FYzSzPgoAJ+tSsYB0R5eszT56?= =?us-ascii?Q?WLhhN592K9tm8/Lb4uEx53tmEIS1dIE47yjpd2O9yfNpVBws7J6hDZsN51d+?= =?us-ascii?Q?opvCB7jW+pMsolGYCchNhP9JbqUPFY6U310dkm1o/UvyKnRspwJw83wMXiy/?= =?us-ascii?Q?/oEMt8g8OshooT+vUGlkwgcIb0prgr+NsCLIWKC2U4stilcCkapyiAdv/3a8?= =?us-ascii?Q?2lg7KdeljBvYnw9PeBOlyGcfv62rMJIEEiSMYKrPzLMxRi1mPnHT7Om/YreP?= =?us-ascii?Q?IY7v6Ul8eohfSy2kkR+NWz0+ReghwpEByVvUKjeKb9wsVlcGWCM6btF4HXzS?= =?us-ascii?Q?WZfgcCCv2ZW+B51Cjr5eFkw5H3rZnTuF8yyBOrmhnzUD7LhlJbmByIOkGw1G?= =?us-ascii?Q?o1301XscCf8uaiQ7juRNAUgxWZBNcgPKoLXC1iti?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9efe819a-2b2c-4fb5-e559-08ddaf4136e0 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2025 14:54:38.6485 (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: IC6bYRWN0mFeos8p00MIYp2mrH6emP68/BnbXRfSdolfqfiMsOAIbJE5kNhhV/hWqKtdvs0xe2OeNe93xZT03A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9735 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250619_075444_675371_3139C420 X-CRM114-Status: GOOD ( 21.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, Jun 19, 2025 at 05:10:04PM +0800, Richard Zhu wrote: > The PCI Express reference clock of i.MX9 PCIes might come from external > clock source. Add the external reference clock mode support. > > Signed-off-by: Richard Zhu > --- > drivers/pci/controller/dwc/pci-imx6.c | 22 +++++++++++++++------- > 1 file changed, 15 insertions(+), 7 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c > index 5a38cfaf989b..71f318bbc254 100644 > --- a/drivers/pci/controller/dwc/pci-imx6.c > +++ b/drivers/pci/controller/dwc/pci-imx6.c > @@ -149,6 +149,7 @@ struct imx_pcie { > struct gpio_desc *reset_gpiod; > struct clk_bulk_data *clks; > int num_clks; > + bool enable_ext_refclk; > struct regmap *iomuxc_gpr; > u16 msi_ctrl; > u32 controller_id; > @@ -241,6 +242,8 @@ static unsigned int imx_pcie_grp_offset(const struct imx_pcie *imx_pcie) > > static int imx95_pcie_init_phy(struct imx_pcie *imx_pcie) > { > + bool ext = imx_pcie->enable_ext_refclk; > + > /* > * ERR051624: The Controller Without Vaux Cannot Exit L23 Ready > * Through Beacon or PERST# De-assertion > @@ -259,13 +262,12 @@ static int imx95_pcie_init_phy(struct imx_pcie *imx_pcie) > IMX95_PCIE_PHY_CR_PARA_SEL, > IMX95_PCIE_PHY_CR_PARA_SEL); > > - regmap_update_bits(imx_pcie->iomuxc_gpr, > - IMX95_PCIE_PHY_GEN_CTRL, > - IMX95_PCIE_REF_USE_PAD, 0); > - regmap_update_bits(imx_pcie->iomuxc_gpr, > - IMX95_PCIE_SS_RW_REG_0, > + regmap_update_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_PHY_GEN_CTRL, > + ext ? IMX95_PCIE_REF_USE_PAD : 0, > + IMX95_PCIE_REF_USE_PAD); > + regmap_update_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_SS_RW_REG_0, > IMX95_PCIE_REF_CLKEN, > - IMX95_PCIE_REF_CLKEN); > + ext ? 0 : IMX95_PCIE_REF_CLKEN); > > return 0; > } > @@ -1600,7 +1602,7 @@ static int imx_pcie_probe(struct platform_device *pdev) > struct imx_pcie *imx_pcie; > struct device_node *np; > struct device_node *node = dev->of_node; > - int ret, domain; > + int i, ret, domain; > u16 val; > > imx_pcie = devm_kzalloc(dev, sizeof(*imx_pcie), GFP_KERNEL); > @@ -1651,6 +1653,12 @@ static int imx_pcie_probe(struct platform_device *pdev) > if (imx_pcie->num_clks < 0) > return dev_err_probe(dev, imx_pcie->num_clks, > "failed to get clocks\n"); > + for (i = 0; i < imx_pcie->num_clks; i++) { > + if (strncmp(imx_pcie->clks[i].id, "ref", 3) == 0) > + imx_pcie->enable_ext_refclk = false; need break here, incase ref is not last one. Or: imx_pcie->enable_ext_refclk = true for (...) if (...) imx_pcie->enable_ext_refclk = false; Frank > + else > + imx_pcie->enable_ext_refclk = true; > + } > > if (imx_check_flag(imx_pcie, IMX_PCIE_FLAG_HAS_PHYDRV)) { > imx_pcie->phy = devm_phy_get(dev, "pcie-phy"); > -- > 2.37.1 >