[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM7PR04MB688567CA698191E2DB73DEF5F8FB0@AM7PR04MB6885.eurprd04.prod.outlook.com>
Date: Tue, 24 Nov 2020 11:15:19 +0000
From: "Y.b. Lu" <yangbo.lu@....com>
To: Vladimir Oltean <vladimir.oltean@....com>
CC: Michael Walle <michael@...le.cc>, Shawn Guo <shawnguo@...nel.org>,
Leo Li <leoyang.li@....com>, Rob Herring <robh+dt@...nel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Ulf Hansson <ulf.hansson@...aro.org>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Ashish Kumar <ashish.kumar@....com>
Subject: RE: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card
controllers use fixed indices
Hi Vladimir,
> -----Original Message-----
> From: Vladimir Oltean <vladimir.oltean@....com>
> Sent: Tuesday, November 24, 2020 6:31 PM
> To: Y.b. Lu <yangbo.lu@....com>
> Cc: Michael Walle <michael@...le.cc>; Shawn Guo <shawnguo@...nel.org>;
> Leo Li <leoyang.li@....com>; Rob Herring <robh+dt@...nel.org>;
> linux-arm-kernel@...ts.infradead.org; devicetree@...r.kernel.org; Adrian
> Hunter <adrian.hunter@...el.com>; Ulf Hansson <ulf.hansson@...aro.org>;
> linux-mmc@...r.kernel.org; linux-kernel@...r.kernel.org; Ashish Kumar
> <ashish.kumar@....com>
> Subject: Re: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card
> controllers use fixed indices
>
> Hi Yangbo,
>
> On Tue, Nov 24, 2020 at 09:02:57AM +0000, Y.b. Lu wrote:
> > > Am 2020-11-24 09:47, schrieb Y.b. Lu:
> > > > Hi Michael,
> > > >> > 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.
>
> With the note here that you can't actually connect an SD card to eSDHC1,
> due to the lack of pins for CD/WP.
CD/WP is not essential to support SD card. Both SD/eMMC are supported on both eSDHC controllers.
>
> > It's not related to board and card type, it's only related to esdhc interface in
> use.
>
> I understand the hardware-centric view that you are coming from. It may
> be natural for you that eSDHC0 is for the SD card and eSDHC1 is for eMMC,
> because these are the designations in the SoC.
Right, from hardware-centric view, it's natural esdhc0 interface is mmc0, and esdhc1 is mmc1.
That's what I explained for why I added the alias in common soc dtsi.
>
> But it is also natural for a customer to define the indices according to
> their schematics and what they use. If, say, there is a board that only
> uses eMMC, I would expect that for the lay person, no one would even bat
> an eye if that was called /dev/mmcblk0. Whereas, if it was called
> /dev/mmcblk1 (and there was no /dev/mmcblk0 in the system), maybe you'd
> have to come up with some explanations which could be avoided.
To make a product friendly to users, it makes sense to define different alias for controller in board dts.
But it's not the reason to remove the default/natural alias in soc dtsi for two controllers.
What needs to be done after removing them? Add the same to all other board files?
This is just my opinion. I don't decide on this:)
>
> I am only a passerby when it comes to the MMC subsystem. But in
> networking/DSA, it is frequent that the board designer comes up with
> their own numbering scheme, which has nothing to do with the numbering
> of the chip. Consider this extreme case from
> arch/arm/boot/dts/ls1021a-tsn.dts:
>
> sja1105: ethernet-switch@1 {
> ports {
> port@0 {
> /* ETH5 written on chassis */
> label = "swp5";
> };
>
> port@1 {
> /* ETH2 written on chassis */
> label = "swp2";
> };
>
> port@2 {
> /* ETH3 written on chassis */
> label = "swp3";
> };
>
> port@3 {
> /* ETH4 written on chassis */
> label = "swp4";
> };
> };
> };
>
> You just have to go along with how the hardware is being used in the
> product. I could have insisted that hardware switch port 0 is named as
> swp0, but that would have not helped anybody.
Powered by blists - more mailing lists