> -----Original Message----- > From: Adam Ford [mailto:aford173@xxxxxxxxx] > Sent: 2022年3月24日 1:23 > To: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > Cc: arm-soc <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>; Adam Ford-BE > <aford@xxxxxxxxxxxxxxxxxx>; Ulf Hansson <ulf.hansson@xxxxxxxxxx>; Rob > Herring <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>; > Shawn Guo <shawnguo@xxxxxxxxxx>; Sascha Hauer > <s.hauer@xxxxxxxxxxxxxx>; Pengutronix Kernel Team > <kernel@xxxxxxxxxxxxxx>; Fabio Estevam <festevam@xxxxxxxxx>; > dl-linux-imx <linux-imx@xxxxxxx>; linux-mmc <linux-mmc@xxxxxxxxxxxxxxx>; > devicetree <devicetree@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List > <linux-kernel@xxxxxxxxxxxxxxx> > 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@xxxxxxxxxx> > wrote: > > > > On 23/03/2022 15:00, Adam Ford wrote: > > > On Wed, Mar 23, 2022 at 8:56 AM Krzysztof Kozlowski <krzk@xxxxxxxxxx> > 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@xxxxxxxxx> > > >>> > > >>> 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
Attachment:
smime.p7s
Description: S/MIME cryptographic signature