RE: [PATCH 21/22] arm64: dts: imx8qxp: Remove i.MX7 compatible from USDHC

Bough Chen
2020-08-24T10:31:43Z

> -----Original Message-----
> From: Dong Aisheng [mailto:dongas86@gmail.com]
> Sent: 2020年8月24日 17:45
> To: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Aisheng Dong <aisheng.dong@nxp.com>; devicetree@vger.kernel.org;
> linux-serial@vger.kernel.org; Anson Huang <anson.huang@nxp.com>;
> linux-gpio@vger.kernel.org; Fabio Estevam <festevam@gmail.com>; Linus
> Walleij <linus.walleij@linaro.org>; linux-pm@vger.kernel.org;
> linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org;
> linux-pwm@vger.kernel.org; Bartosz Golaszewski
> <bgolaszewski@baylibre.com>; Rob Herring <robh+dt@kernel.org>;
> linux-mtd@lists.infradead.org; dl-linux-imx <linux-imx@nxp.com>; Pengutronix
> Kernel Team <kernel@pengutronix.de>; Thierry Reding
> <thierry.reding@gmail.com>; Shawn Guo <shawnguo@kernel.org>; Sascha
> Hauer <s.hauer@pengutronix.de>; linux-arm-kernel@lists.infradead.org;
> linux-watchdog@vger.kernel.org; Bough Chen <haibo.chen@nxp.com>
> Subject: Re: [PATCH 21/22] arm64: dts: imx8qxp: Remove i.MX7 compatible
> from USDHC
>
> On Mon, Aug 24, 2020 at 5:15 PM Krzysztof Kozlowski <krzk@kernel.org>
> wrote:
> >
> > On Mon, Aug 24, 2020 at 09:00:19AM +0000, Aisheng Dong wrote:
> > > > From: Krzysztof Kozlowski <krzk@kernel.org>
> > > > Sent: Monday, August 24, 2020 12:16 AM
> > > >
> > > > The USDHC on i.MX 8QXP has its own compatible described in
> > > > bindings and used in the driver (with its own quirks). Remove
> > > > additional fsl,imx7d-usdhc compatible to fix dtbs_check warnings like:
> > > >
> > > > arch/arm64/boot/dts/freescale/imx8qxp-ai_ml.dt.yaml:
> mmc@5b010000:
> > > > compatible: ['fsl,imx8qxp-usdhc', 'fsl,imx7d-usdhc'] is too long
> > > > From schema:
> > > > /ocumentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
> > > >
> > > > arch/arm64/boot/dts/freescale/imx8qxp-ai_ml.dt.yaml:
> mmc@5b010000:
> > > > compatible: Additional items are not allowed
> > > > ('fsl,imx7d-usdhc' was
> > > > unexpected)
> > > >
> > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> > >
> > > For Patch 19-22, I think we should fix dt binding doc.
> >
> > Are you sure that these USDHC controllers are compatible with i.MX 7D?
> > Could they really run with fsl,imx7d-usdhc compatible?
>
> AFAIK uSDHC on QXP is derived from the former platforms with adding a few
> more new features. e.g. HS400ES/CMDQ.
> Let me loop in uSDHC driver owner Haibo Chen to double confirm.

Yes, usdhc of imx8qxp can work by using the compatible "fsl, imx7d-usdhc", but will not support HS400ES/Command Queue any more. Also imx8qxp support Auto CMD23, but imx7d not.
And imx8qxp need to re-config the clock rate after system PM, imx7d do not need to do this.

>
> Regards
> Aisheng
>
> > The implementation (Linux kernel driver) is different, I guess on
> > purpose...
> >
> > Best regards,
> > Krzysztof
> >
> > >
> > > Regards
> > > Aisheng
> > >
> > > > ---
> > > > arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 6 +++---
> > > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/arch/arm64/boot/dts/freescale/imx8qxp.dtsi
> > > > b/arch/arm64/boot/dts/freescale/imx8qxp.dtsi
> > > > index 61bccb69f09e..26c4fcdfe290 100644
> > > > --- a/arch/arm64/boot/dts/freescale/imx8qxp.dtsi
> > > > +++ b/arch/arm64/boot/dts/freescale/imx8qxp.dtsi
> > > > @@ -362,7 +362,7 @@
> > > > };
> > > >
> > > > usdhc1: mmc@5b010000 {
> > > > - compatible = "fsl,imx8qxp-usdhc",
> "fsl,imx7d-usdhc";
> > > > + compatible = "fsl,imx8qxp-usdhc";
> > > > interrupts = <GIC_SPI 232
> IRQ_TYPE_LEVEL_HIGH>;
> > > > reg = <0x5b010000 0x10000>;
> > > > clocks = <&conn_lpcg
> > > > IMX_CONN_LPCG_SDHC0_IPG_CLK>, @@
> > > > -374,7 +374,7 @@
> > > > };
> > > >
> > > > usdhc2: mmc@5b020000 {
> > > > - compatible = "fsl,imx8qxp-usdhc",
> "fsl,imx7d-usdhc";
> > > > + compatible = "fsl,imx8qxp-usdhc";
> > > > interrupts = <GIC_SPI 233
> IRQ_TYPE_LEVEL_HIGH>;
> > > > reg = <0x5b020000 0x10000>;
> > > > clocks = <&conn_lpcg
> > > > IMX_CONN_LPCG_SDHC1_IPG_CLK>, @@
> > > > -388,7 +388,7 @@
> > > > };
> > > >
> > > > usdhc3: mmc@5b030000 {
> > > > - compatible = "fsl,imx8qxp-usdhc",
> "fsl,imx7d-usdhc";
> > > > + compatible = "fsl,imx8qxp-usdhc";
> > > > interrupts = <GIC_SPI 234
> IRQ_TYPE_LEVEL_HIGH>;
> > > > reg = <0x5b030000 0x10000>;
> > > > clocks = <&conn_lpcg
> > > > IMX_CONN_LPCG_SDHC2_IPG_CLK>,
> > > > --
> > > > 2.17.1
> > >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists
> > .infradead.org%2Fmailman%2Flistinfo%2Flinux-arm-kernel&amp;data=02%7
> C0
> >
> 1%7Chaibo.chen%40nxp.com%7C25d35969a5904d2cd49e08d848148b49%7C6
> 86ea1d3
> >
> bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637338600398740888&amp;sdata
> =OVryLd
> > 4q7LvEoSl6dqQhbR4VWgi6TqBYE%2BS9bI1M6ZY%3D&amp;reserved=0