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

Michael Walle michael at walle.cc
Tue Nov 24 04:08:22 EST 2020


Am 2020-11-24 10:02, schrieb Y.b. Lu:
> Hi Michael,
> 
>> -----Original Message-----
>> From: Michael Walle <michael at walle.cc>
>> Sent: Tuesday, November 24, 2020 4:55 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 09:47, schrieb Y.b. Lu:
>> > 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%7CTWFpbGZsb3d8eyJWIjoi
>> M
>> >>
>> 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.
>> 
>> How could this be not board specific if there are at least three
>> different use cases the board can choose from - and needs three
>> different configurations:
>> 
>> (1) eMMC at /dev/mmcblk0, SD card at /dev/mmcblk1
>> (2) SD card at /dev/mmcblk0, eMMC at /dev/mmcblk1
>> (3) no eMMC at all, SD card at /dev/mmcblk0
> 
> Not matter it's SD card or eMMC card, if it's on esdhc0, use 
> /dev/mmcblk0.
> Not matter it's SD card or eMMC card, if it's on esdhc1, use 
> /dev/mmcblk1.
> It's not related to board and card type, it's only related to esdhc
> interface in use.

And what interace is used is board specific, isn't it?

>> your include only support (1). If a board needs (2) or (3) it has to
>> override the configuration in the _common_ include.
>> 
>> >> 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.
>> 
>> Still, why would this be enforced in the common include? What is the
>> advnatage here? I only see disadvantages.

You didn't answer this unfortunately.

-michael



More information about the linux-arm-kernel mailing list