lkml.org 
[lkml]   [2020]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card controllers use fixed indices
Date
Hi Michael,

> -----Original Message-----
> From: Michael Walle <michael@walle.cc>
> Sent: Tuesday, November 24, 2020 5:08 PM
> To: Y.b. Lu <yangbo.lu@nxp.com>
> Cc: Vladimir Oltean <vladimir.oltean@nxp.com>; Shawn Guo
> <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob Herring
> <robh+dt@kernel.org>; linux-arm-kernel@lists.infradead.org;
> devicetree@vger.kernel.org; Adrian Hunter <adrian.hunter@intel.com>; Ulf
> Hansson <ulf.hansson@linaro.org>; linux-mmc@vger.kernel.org;
> linux-kernel@vger.kernel.org; Ashish Kumar <ashish.kumar@nxp.com>
> Subject: Re: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card
> controllers use fixed indices
>
> Am 2020-11-24 10:02, schrieb Y.b. Lu:
> > Hi Michael,
> >
> >> -----Original Message-----
> >> From: Michael Walle <michael@walle.cc>
> >> Sent: Tuesday, November 24, 2020 4:55 PM
> >> To: Y.b. Lu <yangbo.lu@nxp.com>
> >> Cc: Vladimir Oltean <vladimir.oltean@nxp.com>; Shawn Guo
> >> <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob Herring
> >> <robh+dt@kernel.org>; linux-arm-kernel@lists.infradead.org;
> >> devicetree@vger.kernel.org; Adrian Hunter <adrian.hunter@intel.com>;
> >> Ulf
> >> Hansson <ulf.hansson@linaro.org>; linux-mmc@vger.kernel.org;
> >> linux-kernel@vger.kernel.org; Ashish Kumar <ashish.kumar@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@walle.cc>
> >> >> Sent: Tuesday, November 24, 2020 4:03 PM
> >> >> To: Y.b. Lu <yangbo.lu@nxp.com>
> >> >> Cc: Vladimir Oltean <vladimir.oltean@nxp.com>; Shawn Guo
> >> >> <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob Herring
> >> >> <robh+dt@kernel.org>; linux-arm-kernel@lists.infradead.org;
> >> >> devicetree@vger.kernel.org; Adrian Hunter <adrian.hunter@intel.com>;
> >> >> Ulf
> >> >> Hansson <ulf.hansson@linaro.org>; linux-mmc@vger.kernel.org;
> >> >> linux-kernel@vger.kernel.org; Ashish Kumar <ashish.kumar@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@nxp.com>
> >> >> >> Sent: Friday, November 20, 2020 5:30 PM
> >> >> >> To: Y.b. Lu <yangbo.lu@nxp.com>
> >> >> >> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li
> <leoyang.li@nxp.com>;
> >> Rob
> >> >> >> Herring <robh+dt@kernel.org>; linux-arm-kernel@lists.infradead.org;
> >> >> >> devicetree@vger.kernel.org; Adrian Hunter
> <adrian.hunter@intel.com>;
> >> >> >> Ulf
> >> >> >> Hansson <ulf.hansson@linaro.org>; linux-mmc@vger.kernel.org;
> >> >> >> linux-kernel@vger.kernel.org; Ashish Kumar
> <ashish.kumar@nxp.com>;
> >> >> >> Michael Walle <michael@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&amp;data=04%7C01%7Cyangbo.lu%40nxp.com%7C498622ade
> >> >>
> >>
> e704fc0042008d8904f6184%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0
> >> >> %7C0%7C637418017917635725%7CUnknown%7CTWFpbGZsb3d8eyJW
> Ijoi
> >> M
> >> >>
> >>
> C4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000
> >> >>
> >>
> &amp;sdata=OciS3q%2BmP%2Bz4x1ewPHDigmUkgIZmBgUlRRTm4yaxB7s%3D
> >> >> &amp;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?

Again, for all boards, use /dev/mmcblk0 for card on esdhc0 interface, and /dev/mmcblk1 for card on esdhc1 interface.
That's not board specific.


>
> >> 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.

As I explained,
"Again, for all boards, use /dev/mmcblk0 for card on esdhc0 interface, and /dev/mmcblk1 for card on esdhc1 interface.
That's not board specific."

Without such definition, the index is random for each booting.
Thanks.

>
> -michael

\
 
 \ /
  Last update: 2020-11-24 10:25    [W:0.093 / U:0.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site