[PATCH v3 2/6] dt-binding: phy: Add iMX8MP PCIe PHY binding

Hongxing Zhu hongxing.zhu at nxp.com
Wed Aug 24 02:15:13 PDT 2022


> -----Original Message-----
> From: Hongxing Zhu
> Sent: 2022年8月23日 10:12
> To: Rob Herring <robh at kernel.org>
> Cc: p.zabel at pengutronix.de; l.stach at pengutronix.de; bhelgaas at google.com;
> lorenzo.pieralisi at arm.com; shawnguo at kernel.org; vkoul at kernel.org;
> alexander.stein at ew.tq-group.com; marex at denx.de;
> linux-phy at lists.infradead.org; devicetree at vger.kernel.org;
> linux-pci at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> linux-kernel at vger.kernel.org; kernel at pengutronix.de; dl-linux-imx
> <linux-imx at nxp.com>
> Subject: RE: [PATCH v3 2/6] dt-binding: phy: Add iMX8MP PCIe PHY binding
> 
> > -----Original Message-----
> > From: Rob Herring <robh at kernel.org>
> > Sent: 2022年8月23日 2:07
> > To: Hongxing Zhu <hongxing.zhu at nxp.com>
> > Cc: p.zabel at pengutronix.de; l.stach at pengutronix.de;
> > bhelgaas at google.com; lorenzo.pieralisi at arm.com; shawnguo at kernel.org;
> > vkoul at kernel.org; alexander.stein at ew.tq-group.com; marex at denx.de;
> > linux-phy at lists.infradead.org; devicetree at vger.kernel.org;
> > linux-pci at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> > linux-kernel at vger.kernel.org; kernel at pengutronix.de; dl-linux-imx
> > <linux-imx at nxp.com>
> > Subject: Re: [PATCH v3 2/6] dt-binding: phy: Add iMX8MP PCIe PHY
> > binding
> >
> > On Thu, Aug 18, 2022 at 03:02:29PM +0800, Richard Zhu wrote:
> > > Add i.MX8MP PCIe PHY binding.
> >
> > Explain the differences in h/w. The phy is connected to PERST#?
> >
> Hi Rob:
> Thanks for your review comments.
> Yes, it is. PERST# impacts PCIe PHY too.
> The default value of this bit is 1b'1 on i.MX8MQ/i.MX8MM platforms.
> But i.MX8MP has one inversed default value 1b'0 of PERST bit.
> The PERST bit should be kept 1b'1 after power and clocks are stable.
> So add the PHY PERST explicitly for i.MX8MP PCIe PHY.
> 
> > >
> > > Signed-off-by: Richard Zhu <hongxing.zhu at nxp.com>
> > > ---
> > >  .../bindings/phy/fsl,imx8-pcie-phy.yaml          | 16
> +++++++++++++---
> > >  1 file changed, 13 insertions(+), 3 deletions(-)
> > >
> > > diff --git
> > > a/Documentation/devicetree/bindings/phy/fsl,imx8-pcie-phy.yaml
> > b/Documentation/devicetree/bindings/phy/fsl,imx8-pcie-phy.yaml
> > > index b6421eedece3..692783c7fd69 100644
> > > --- a/Documentation/devicetree/bindings/phy/fsl,imx8-pcie-phy.yaml
> > > +++ b/Documentation/devicetree/bindings/phy/fsl,imx8-pcie-phy.yaml
> > > @@ -16,6 +16,7 @@ properties:
> > >    compatible:
> > >      enum:
> > >        - fsl,imx8mm-pcie-phy
> > > +      - fsl,imx8mp-pcie-phy
> > >
> > >    reg:
> > >      maxItems: 1
> > > @@ -28,11 +29,16 @@ properties:
> > >        - const: ref
> > >
> > >    resets:
> > > -    maxItems: 1
> > > +    minItems: 1
> > > +    maxItems: 2
> > >
> > >    reset-names:
> > > -    items:
> > > -      - const: pciephy
> > > +    oneOf:
> > > +      - items:          # for iMX8MM
> > > +          - const: pciephy
> > > +      - items:          # for IMX8MP
> > > +          - const: pciephy
> > > +          - const: perst
> >
> > This does the same thing:
> >
> > minItems: 1
> > items:
> >   - const: pciephy
> >   - const: perst
> >
> Okay, thanks.
> 
Hi Rob:
Do you mean the following definition of reset?
...
  resets:
    minItems: 1

  reset-names:
    minItems: 1
      - const: pciephy
      - const: perst
...
When do the dtbs_check later, it complains like below.
"
CHECK   arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dtb
  DTC     arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dtb
  CHECK   arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dtb
/home/richard/work/linux-imx/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dtb: pcie-phy at 32f00000: resets: [[83, 24], [83, 25]] is too long
	From schema: /home/richard/work/linux-imx/Documentation/devicetree/bindings/phy/fsl,imx8-pcie-phy.yaml
  DTC     arch/arm64/boot/dts/freescale/imx8mp-evk.dtb
  CHECK   arch/arm64/boot/dts/freescale/imx8mp-evk.dtb
/home/richard/work/linux-imx/arch/arm64/boot/dts/freescale/imx8mp-evk.dtb: pcie-phy at 32f00000: resets: [[61, 24], [61, 25]] is too long
	From schema: /home/richard/work/linux-imx/Documentation/devicetree/bindings/phy/fsl,imx8-pcie-phy.yaml
"

Best Regards
Richard Zhu

> Best Regards
> Richard Zhu
> >
> > >
> > >    fsl,refclk-pad-mode:
> > >      description: |
> > > @@ -60,6 +66,10 @@ properties:
> > >      description: A boolean property indicating the CLKREQ# signal is
> > >        not supported in the board design (optional)
> > >
> > > +  power-domains:
> > > +    description: PCIe PHY  power domain (optional).
> > > +    maxItems: 1
> > > +
> > >  required:
> > >    - "#phy-cells"
> > >    - compatible
> > > --
> > > 2.25.1
> > >
> > >


More information about the linux-arm-kernel mailing list