All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hongxing Zhu <hongxing.zhu@nxp.com>
To: Marek Vasut <marex@denx.de>,
	"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>
Cc: Fabio Estevam <festevam@denx.de>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	 Marcel Ziswiler <marcel.ziswiler@toradex.com>,
	dl-linux-imx <linux-imx@nxp.com>, Peng Fan <peng.fan@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>, Vinod Koul <vkoul@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: RE: [PATCH] phy: freescale: imx8m-pcie: Handle IMX8_PCIE_REFCLK_PAD_UNUSED
Date: Mon, 14 Mar 2022 01:51:08 +0000	[thread overview]
Message-ID: <AS8PR04MB86766F6033FF0FDAB1E0693B8C0F9@AS8PR04MB8676.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20220312013812.169671-1-marex@denx.de>

> -----Original Message-----
> From: Marek Vasut <marex@denx.de>
> Sent: 2022年3月12日 9:38
> To: linux-phy@lists.infradead.org
> Cc: Marek Vasut <marex@denx.de>; Fabio Estevam <festevam@denx.de>;
> Kishon Vijay Abraham I <kishon@ti.com>; Marcel Ziswiler
> <marcel.ziswiler@toradex.com>; dl-linux-imx <linux-imx@nxp.com>; Peng Fan
> <peng.fan@nxp.com>; Hongxing Zhu <hongxing.zhu@nxp.com>; Shawn Guo
> <shawnguo@kernel.org>; Vinod Koul <vkoul@kernel.org>;
> linux-arm-kernel@lists.infradead.org
> Subject: [PATCH] phy: freescale: imx8m-pcie: Handle
> IMX8_PCIE_REFCLK_PAD_UNUSED
> 
> The 'fsl,refclk-pad-mode' DT property used to select clock source for PCIe PHY
> can have either of three values, IMX8_PCIE_REFCLK_PAD_INPUT,
> IMX8_PCIE_REFCLK_PAD_OUTPUT, IMX8_PCIE_REFCLK_PAD_UNUSED. The first
> two options are handled correctly by the driver, the last one is not, this patch
> implements support for the last option.
> 
> The IMX8_PCIE_REFCLK_PAD_INPUT means PCIE_RESREF is PHY clock input,
> the IMX8_PCIE_REFCLK_PAD_OUTPUT means PHY clock are sourced from SoC
> internal PLL and output to PCIE_RESREF external IO pin. The last
> IMX8_PCIE_REFCLK_PAD_UNUSED is a combination of previous two, PHY clock
> are sourced from SoC internal PLL and not output anywhere.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
Hi Marek:
Thanks for your patch.
I assume that you had tested this IMX8_PCIE_REFCLK_PAD_UNUSED option.
The CLK_N/P pads are not connected on the tested board, right?
BTW, it's better to add the Fixes tag into the commit log.

Best Regards
Richard Zhu

> Cc: Fabio Estevam <festevam@denx.de>
> Cc: Kishon Vijay Abraham I <kishon@ti.com>
> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Vinod Koul <vkoul@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> To: linux-phy@lists.infradead.org
> ---
>  drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
> b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
> index e56954063108c..7d8e6991279f4 100644
> --- a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
> +++ b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
> @@ -156,15 +156,21 @@ static int imx8_pcie_phy_init(struct phy *phy)
>  		break;
>  	}
> 
> -	if (pad_mode == IMX8_PCIE_REFCLK_PAD_INPUT) {
> +	if (pad_mode == IMX8_PCIE_REFCLK_PAD_INPUT ||
> +	    pad_mode == IMX8_PCIE_REFCLK_PAD_UNUSED) {
>  		/* Configure the pad as input */
>  		val = readl(imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG061);
>  		writel(val & ~ANA_PLL_CLK_OUT_TO_EXT_IO_EN,
>  		       imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG061);
> -	} else if (pad_mode == IMX8_PCIE_REFCLK_PAD_OUTPUT) {
> +	} else {
>  		/* Configure the PHY to output the refclock via pad */
>  		writel(ANA_PLL_CLK_OUT_TO_EXT_IO_EN,
>  		       imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG061);
> +	}
> +
> +	if (pad_mode == IMX8_PCIE_REFCLK_PAD_OUTPUT ||
> +	    pad_mode == IMX8_PCIE_REFCLK_PAD_UNUSED) {
> +		/* Source clock from SoC internal PLL */
>  		writel(ANA_PLL_CLK_OUT_TO_EXT_IO_SEL,
>  		       imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG062);
>  		writel(AUX_PLL_REFCLK_SEL_SYS_PLL,
> --
> 2.34.1

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

WARNING: multiple messages have this Message-ID (diff)
From: Hongxing Zhu <hongxing.zhu@nxp.com>
To: Marek Vasut <marex@denx.de>,
	"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>
Cc: Fabio Estevam <festevam@denx.de>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	 Marcel Ziswiler <marcel.ziswiler@toradex.com>,
	dl-linux-imx <linux-imx@nxp.com>, Peng Fan <peng.fan@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>, Vinod Koul <vkoul@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: RE: [PATCH] phy: freescale: imx8m-pcie: Handle IMX8_PCIE_REFCLK_PAD_UNUSED
Date: Mon, 14 Mar 2022 01:51:08 +0000	[thread overview]
Message-ID: <AS8PR04MB86766F6033FF0FDAB1E0693B8C0F9@AS8PR04MB8676.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20220312013812.169671-1-marex@denx.de>

> -----Original Message-----
> From: Marek Vasut <marex@denx.de>
> Sent: 2022年3月12日 9:38
> To: linux-phy@lists.infradead.org
> Cc: Marek Vasut <marex@denx.de>; Fabio Estevam <festevam@denx.de>;
> Kishon Vijay Abraham I <kishon@ti.com>; Marcel Ziswiler
> <marcel.ziswiler@toradex.com>; dl-linux-imx <linux-imx@nxp.com>; Peng Fan
> <peng.fan@nxp.com>; Hongxing Zhu <hongxing.zhu@nxp.com>; Shawn Guo
> <shawnguo@kernel.org>; Vinod Koul <vkoul@kernel.org>;
> linux-arm-kernel@lists.infradead.org
> Subject: [PATCH] phy: freescale: imx8m-pcie: Handle
> IMX8_PCIE_REFCLK_PAD_UNUSED
> 
> The 'fsl,refclk-pad-mode' DT property used to select clock source for PCIe PHY
> can have either of three values, IMX8_PCIE_REFCLK_PAD_INPUT,
> IMX8_PCIE_REFCLK_PAD_OUTPUT, IMX8_PCIE_REFCLK_PAD_UNUSED. The first
> two options are handled correctly by the driver, the last one is not, this patch
> implements support for the last option.
> 
> The IMX8_PCIE_REFCLK_PAD_INPUT means PCIE_RESREF is PHY clock input,
> the IMX8_PCIE_REFCLK_PAD_OUTPUT means PHY clock are sourced from SoC
> internal PLL and output to PCIE_RESREF external IO pin. The last
> IMX8_PCIE_REFCLK_PAD_UNUSED is a combination of previous two, PHY clock
> are sourced from SoC internal PLL and not output anywhere.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
Hi Marek:
Thanks for your patch.
I assume that you had tested this IMX8_PCIE_REFCLK_PAD_UNUSED option.
The CLK_N/P pads are not connected on the tested board, right?
BTW, it's better to add the Fixes tag into the commit log.

Best Regards
Richard Zhu

> Cc: Fabio Estevam <festevam@denx.de>
> Cc: Kishon Vijay Abraham I <kishon@ti.com>
> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Vinod Koul <vkoul@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> To: linux-phy@lists.infradead.org
> ---
>  drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
> b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
> index e56954063108c..7d8e6991279f4 100644
> --- a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
> +++ b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
> @@ -156,15 +156,21 @@ static int imx8_pcie_phy_init(struct phy *phy)
>  		break;
>  	}
> 
> -	if (pad_mode == IMX8_PCIE_REFCLK_PAD_INPUT) {
> +	if (pad_mode == IMX8_PCIE_REFCLK_PAD_INPUT ||
> +	    pad_mode == IMX8_PCIE_REFCLK_PAD_UNUSED) {
>  		/* Configure the pad as input */
>  		val = readl(imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG061);
>  		writel(val & ~ANA_PLL_CLK_OUT_TO_EXT_IO_EN,
>  		       imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG061);
> -	} else if (pad_mode == IMX8_PCIE_REFCLK_PAD_OUTPUT) {
> +	} else {
>  		/* Configure the PHY to output the refclock via pad */
>  		writel(ANA_PLL_CLK_OUT_TO_EXT_IO_EN,
>  		       imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG061);
> +	}
> +
> +	if (pad_mode == IMX8_PCIE_REFCLK_PAD_OUTPUT ||
> +	    pad_mode == IMX8_PCIE_REFCLK_PAD_UNUSED) {
> +		/* Source clock from SoC internal PLL */
>  		writel(ANA_PLL_CLK_OUT_TO_EXT_IO_SEL,
>  		       imx8_phy->base + IMX8MM_PCIE_PHY_CMN_REG062);
>  		writel(AUX_PLL_REFCLK_SEL_SYS_PLL,
> --
> 2.34.1

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-03-14  1:51 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-12  1:38 [PATCH] phy: freescale: imx8m-pcie: Handle IMX8_PCIE_REFCLK_PAD_UNUSED Marek Vasut
2022-03-12  1:38 ` Marek Vasut
2022-03-14  1:51 ` Hongxing Zhu [this message]
2022-03-14  1:51   ` Hongxing Zhu
2022-03-14  2:51   ` Marek Vasut
2022-03-14  2:51     ` Marek Vasut
2022-03-14  3:29     ` Hongxing Zhu
2022-03-14  3:29       ` Hongxing Zhu
2022-03-14 10:52       ` Marek Vasut
2022-03-14 10:52         ` Marek Vasut
2022-03-15  0:15         ` Hongxing Zhu
2022-03-15  0:15           ` Hongxing Zhu
2022-04-13  9:36 ` Vinod Koul
2022-04-13  9:36   ` Vinod Koul
2022-04-13 14:08   ` Marek Vasut
2022-04-13 14:08     ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AS8PR04MB86766F6033FF0FDAB1E0693B8C0F9@AS8PR04MB8676.eurprd04.prod.outlook.com \
    --to=hongxing.zhu@nxp.com \
    --cc=festevam@denx.de \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-phy@lists.infradead.org \
    --cc=marcel.ziswiler@toradex.com \
    --cc=marex@denx.de \
    --cc=peng.fan@nxp.com \
    --cc=shawnguo@kernel.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.