[PATCH] arm64: dts: ls1028a: make the eMMC and SD card controllers use fixed indices

Y.b. Lu yangbo.lu at nxp.com
Tue Nov 24 03:47:42 EST 2020


Hi Michael,

> -----Original Message-----
> From: Michael Walle <michael at walle.cc>
> Sent: Tuesday, November 24, 2020 4:03 PM
> To: Y.b. Lu <yangbo.lu at nxp.com>
> Cc: Vladimir Oltean <vladimir.oltean at nxp.com>; Shawn Guo
> <shawnguo at kernel.org>; Leo Li <leoyang.li at nxp.com>; Rob Herring
> <robh+dt at kernel.org>; linux-arm-kernel at lists.infradead.org;
> devicetree at vger.kernel.org; Adrian Hunter <adrian.hunter at intel.com>; Ulf
> Hansson <ulf.hansson at linaro.org>; linux-mmc at vger.kernel.org;
> linux-kernel at vger.kernel.org; Ashish Kumar <ashish.kumar at nxp.com>
> Subject: Re: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card
> controllers use fixed indices
> 
> Am 2020-11-24 08:41, schrieb Y.b. Lu:
> > Hi Vladimir,
> >
> >> -----Original Message-----
> >> From: Vladimir Oltean <vladimir.oltean at nxp.com>
> >> Sent: Friday, November 20, 2020 5:30 PM
> >> To: Y.b. Lu <yangbo.lu at nxp.com>
> >> Cc: Shawn Guo <shawnguo at kernel.org>; Leo Li <leoyang.li at nxp.com>; Rob
> >> Herring <robh+dt at kernel.org>; linux-arm-kernel at lists.infradead.org;
> >> devicetree at vger.kernel.org; Adrian Hunter <adrian.hunter at intel.com>;
> >> Ulf
> >> Hansson <ulf.hansson at linaro.org>; linux-mmc at vger.kernel.org;
> >> linux-kernel at vger.kernel.org; Ashish Kumar <ashish.kumar at nxp.com>;
> >> Michael Walle <michael at walle.cc>
> >> Subject: Re: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card
> >> controllers use fixed indices
> >>
> >> On Fri, Nov 20, 2020 at 02:04:02AM +0000, Y.b. Lu wrote:
> >> > Hi Vladimir,
> >> >
> >> > I have already upstreamed a patch for all affected layerscape boards.
> >> >
> >>
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kern
> el.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fshawnguo%2Flinux.git%2
> Fcommit%2F&data=04%7C01%7Cyangbo.lu%40nxp.com%7C498622ade
> e704fc0042008d8904f6184%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0
> %7C0%7C637418017917635725%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM
> C4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000
> &sdata=OciS3q%2BmP%2Bz4x1ewPHDigmUkgIZmBgUlRRTm4yaxB7s%3D
> &reserved=0?
> >> h=imx/dt64&id=342ab37ecaf8c1b10dd3ca9a1271db29a6af0705
> >> >
> >> > Please check whether it works for you.
> >>
> >> Thanks, one can tell that I haven't done my due diligence of checking
> >> Shawn's tree first. I'll cherry-pick that patch and carry on with my
> >> work.
> >>
> >> However, the fact still remains that Michael has expressed his opinion
> >> regarding mmcblk0 vs mmcblk1. Do you think that we could make the
> >> aliases a per-board option instead of per-SoC? Consider that there
> >> might
> >> even be boards that only use SD card. It would be strange for the
> >> block
> >> device in that case to be called /dev/mmcblk1.
> >
> > I don't think it's a problem in board dts to define board specific
> > thing, like re-defining alias, and disabling any IP it not using.
> 
> First, why would you put it in the architecture include anyway? That
> is really board-specific. That is like you would say, we enable all
> devices and a board could potentially disable it. TBH it seems that
> this will fit your reference boards and you don't care about the
> other ones which uses that include.

In soc dtsi, this is giving default alias for two esdhc controllers. This is not board specific.
That's natural esdhc0 is mmc0 and esdhc1 is mmc1.

> 
> And as Vladimir pointed out, what do you do if you just have the eMMC
> on the LS1028A. It will be mmcblk1 unless you do something like the
> following in the board dts:
> 
> mmc0 = &esdhc;
> /delete-property/ mmc1;
> 
> That is really cumbersome, isnt it?

The soc dtsi gives default alias to make esdhc0 as mmc0, and esdhc1 as mmc1, the use case just needs to consider which esdhc controller is used. That's fixed index for it.
No matter how the board is designed, there are two esdhc controllers in soc. It's probed as mmc0 and mmc1.
It's use case that should choose the right mmc device. It is not the dts that should be changed to suit use case.
If the board owner insists to change alias to make esdhc1 as mmc0, I think no problem. Just do it in board dts to override the default one.
Thanks.

> 
> -michael



More information about the linux-arm-kernel mailing list