[PATCH 1/3] dt-bindings: mmc: imx-esdhc: Change imx8mn and imx8mp compatible fallback

Bough Chen haibo.chen at nxp.com
Wed Mar 23 19:54:20 PDT 2022


> -----Original Message-----
> From: Adam Ford [mailto:aford173 at gmail.com]
> Sent: 2022年3月24日 1:23
> To: Krzysztof Kozlowski <krzk at kernel.org>
> Cc: arm-soc <linux-arm-kernel at lists.infradead.org>; Adam Ford-BE
> <aford at beaconembedded.com>; Ulf Hansson <ulf.hansson at linaro.org>; Rob
> Herring <robh+dt at kernel.org>; Krzysztof Kozlowski <krzk+dt at kernel.org>;
> Shawn Guo <shawnguo at kernel.org>; Sascha Hauer
> <s.hauer at pengutronix.de>; Pengutronix Kernel Team
> <kernel at pengutronix.de>; Fabio Estevam <festevam at gmail.com>;
> dl-linux-imx <linux-imx at nxp.com>; linux-mmc <linux-mmc at vger.kernel.org>;
> devicetree <devicetree at vger.kernel.org>; Linux Kernel Mailing List
> <linux-kernel at vger.kernel.org>
> Subject: Re: [PATCH 1/3] dt-bindings: mmc: imx-esdhc: Change imx8mn and
> imx8mp compatible fallback
> 
> On Wed, Mar 23, 2022 at 9:11 AM Krzysztof Kozlowski <krzk at kernel.org>
> wrote:
> >
> > On 23/03/2022 15:00, Adam Ford wrote:
> > > On Wed, Mar 23, 2022 at 8:56 AM Krzysztof Kozlowski <krzk at kernel.org>
> wrote:
> > >>
> > >> On 23/03/2022 14:40, Adam Ford wrote:
> > >>> The SDHC controller in the imx8mn and imx8mp have the same
> > >>> controller as the imx8mm which is slightly different than that of the
> imx7d.
> > >>> Using the fallback of the imx8mm enables the controllers to
> > >>> support HS400-ES which is not available on the imx7d.
> > >>>
> > >>> Signed-off-by: Adam Ford <aford173 at gmail.com>
> > >>>
> > >>> diff --git
> > >>> a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
> > >>> b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
> > >>> index 7dbbcae9485c..d6ea73d76bdd 100644
> > >>> --- a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
> > >>> +++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
> > >>> @@ -39,14 +39,14 @@ properties:
> > >>>        - items:
> > >>>            - enum:
> > >>>                - fsl,imx8mm-usdhc
> > >>
> > >> Your change looks reasonable, but why imx8mm is compatible with imx7d?
> > >
> > > I saw that, and I wasn't sure the best way to go about  fixing it.
> > > If I move the 8mm out of the imx7d category, do I need to add it to
> > > the enum list associated with the imx8mm, or can I just delete it
> > > from the enum leaving the const for imx8mm good enough?
> > >
> >
> > The DTS is using:
> >   compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"
> > which looks incorrect, based on what you wrote in commit description.
> > Since fsl,imx8mm-usdhc has its own compatibility-group and defines the
> > properties for entire family (imx8mm + imx8mn + imx8mp), then I would
> > assume that either fsl,imx8mm-usdhc is not be compatible with imx7d or
> > everything is compatible with imx7d. IOW, DTS and bindings should be
> > changed to one of following:
> > 1. Everything compatible with imx7d:
> >   compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
> >   compatible = "fsl,imx8mq-usdhc", "fsl,imx8mm-usdhc",
> > "fsl,imx7d-usdhc";
> >
> > 2. A new group:
> >   compatible = "fsl,imx8mm-usdhc";
> >   compatible = "fsl,imx8mq-usdhc", "fsl,imx8mm-usdhc";
> >
> > Which one, I am not sure. My commit 80fd350b95 organized it in (1)
> > approach, because also that time there was no new group for 8mm (added
> > in commit 431fae8). I assume NXP engineer knows better, so the better
> > solution would be (2). In such case, imx8mm has to be moved to the
> > first enum and all DTS have to be adjusted.
> 
> I pulled NXP's downtream kernel based on 5.15.y, and grepped the code for
> imx8mm-usdhc.  It looks like the imx8mm, imx8mn, imx8mp, and imx8ulp use
> the imx8mm compatible flag.
> The imx8mq uses the older imx7d.  I'll do a second revision later today or
> tomorrow.  Looking inside the driver, it appears there are some other quirks
> that different between the imx7d and imx8mm beyond just support for
> HS400-ES, so I think your option 2 is appropriate.
> Hopefully someone from NXP can comment.
> 

I think better to change like this, and dts need change accordingly.

  compatible:
    oneOf:
      - enum:
          - fsl,imx25-esdhc
          - fsl,imx35-esdhc
          - fsl,imx51-esdhc
          - fsl,imx53-esdhc
          - fsl,imx6q-usdhc
          - fsl,imx6sl-usdhc
          - fsl,imx6sll-usdhc
          - fsl,imx6sx-usdhc
          - fsl,imx6ull-usdhc
          - fsl,imx7d-usdhc
          - fsl,imx7ulp-usdhc
          - fsl,imxrt1050-usdhc
          - fsl,imx8mm-usdhc
          - fsl,imx8qxp-usdhc
          - nxp,s32g2-usdhc
      - items:
          - enum:
              - fsl,imx8mq-usdhc
          - const: fsl,imx7d-usdhc
      - items:
          - enum:
              - fsl,imx93-usdhc
              - fsl,imx8ulp-usdhc
              - fsl,imx8mn-usdhc
              - fsl,imx8mp-usdhc
          - const: fsl,imx8mm-usdhc
      - items:
          - enum:
              - fsl,imx8qm-usdhc
          - const: fsl,imx8qxp-usdhc


Best Regards
Haibo Chen

> adam
> >
> >
> > Best regards,
> > Krzysztof
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 9551 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20220324/6e930b3c/attachment.p7s>


More information about the linux-arm-kernel mailing list