[PATCH v3 1/2] dt-binding: pci-imx6: Add external reference clock mode support

Hongxing Zhu hongxing.zhu at nxp.com
Sun Jun 22 18:57:51 PDT 2025


> -----Original Message-----
> From: Frank Li <frank.li at nxp.com>
> Sent: 2025年6月20日 22:41
> To: Krzysztof Kozlowski <krzk at kernel.org>
> Cc: Hongxing Zhu <hongxing.zhu at nxp.com>; l.stach at pengutronix.de;
> lpieralisi at kernel.org; kwilczynski at kernel.org; mani at kernel.org;
> robh at kernel.org; krzk+dt at kernel.org; conor+dt at kernel.org;
> bhelgaas at google.com; shawnguo at kernel.org; s.hauer at pengutronix.de;
> kernel at pengutronix.de; festevam at gmail.com; linux-pci at vger.kernel.org;
> linux-arm-kernel at lists.infradead.org; devicetree at vger.kernel.org;
> imx at lists.linux.dev; linux-kernel at vger.kernel.org
> Subject: Re: [PATCH v3 1/2] dt-binding: pci-imx6: Add external reference clock
> mode support
> 
> On Fri, Jun 20, 2025 at 03:08:16PM +0200, Krzysztof Kozlowski wrote:
> > On 20/06/2025 10:26, Hongxing Zhu wrote:
> > >> -----Original Message-----
> > >> From: Krzysztof Kozlowski <krzk at kernel.org>
> > >> Sent: 2025年6月20日 15:53
> > >> To: Hongxing Zhu <hongxing.zhu at nxp.com>
> > >> Cc: Frank Li <frank.li at nxp.com>; l.stach at pengutronix.de;
> > >> lpieralisi at kernel.org; kwilczynski at kernel.org; mani at kernel.org;
> > >> robh at kernel.org; krzk+dt at kernel.org; conor+dt at kernel.org;
> > >> bhelgaas at google.com; shawnguo at kernel.org; s.hauer at pengutronix.de;
> > >> kernel at pengutronix.de; festevam at gmail.com;
> > >> linux-pci at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> > >> devicetree at vger.kernel.org; imx at lists.linux.dev;
> > >> linux-kernel at vger.kernel.org
> > >> Subject: Re: [PATCH v3 1/2] dt-binding: pci-imx6: Add external
> > >> reference clock mode support
> > >>
> > >> On Fri, Jun 20, 2025 at 11:13:49AM GMT, Richard Zhu wrote:
> > >>> On i.MX, the PCIe reference clock might come from either internal
> > >>> system PLL or external clock source.
> > >>> Add the external reference clock source for reference clock.
> > >>>
> > >>> Signed-off-by: Richard Zhu <hongxing.zhu at nxp.com>
> > >>> Reviewed-by: Frank Li <Frank.Li at nxp.com>
> > >>> ---
> > >>>  Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 7
> > >>> ++++++-
> > >>>  1 file changed, 6 insertions(+), 1 deletion(-)
> > >>>
> > >>> diff --git
> > >>> a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > >>> b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > >>> index ca5f2970f217..c472a5daae6e 100644
> > >>> --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > >>> +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > >>> @@ -219,7 +219,12 @@ allOf:
> > >>>              - const: pcie_bus
> > >>>              - const: pcie_phy
> > >>>              - const: pcie_aux
> > >>> -            - const: ref
> > >>> +            - description: PCIe reference clock.
> > >>> +              oneOf:
> > >>> +                - description: The controller might be configured
> > >> clocking
> > >>> +                    coming in from either an internal system PLL
> > >>> + or
> > >> an
> > >>> +                    external clock source.
> > >>> +                  enum: [ref, gio]
> > >>
> > >> Internal like within PCIe or coming from other SoC block? What does "gio"
> > >> mean?
> > > Internal means that the PCIe reference clock is coming from other
> > > internal SoC block, such as system PLL. "gio" is on behalf that the
> > > reference clock comes form external crystal oscillator.
> >
> > Then what does "ref" mean, if gio is the clock supplied externally?
> 
> In snps,dw-pcie-common.yaml
> 
> 	- description:
>             Generic reference clock. In case if there are several
>             interfaces fed up with a common clock source it's advisable to
>             define it with this name (for instance pipe, core and aux can
>             be connected to a single source of the periodic signal).
>           const: ref
> 
>         - description: See native 'ref' clock for details.
>           enum: [ gio ]
> > We
> > talk here about signals coming to this chip, regardless how they are
> > generated.
> 
> PCIe controller takes one of two reference clocks, internal PLL (controlled by
> clock provider) and extern crystal (controller by a GPIO).
> 
> There are clk_in and clk_out at SOC. External crystal output connect into clk_in.
> 
> clk_out come from internal pll.
> 
> The boards design choose one method (internal pll or use external crystal)
That's right. Thanks.

Best Regards
Richard Zhu
> 
> Frank
> 
> >
> >
> > Best regards,
> > Krzysztof


More information about the linux-arm-kernel mailing list