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

Michael Walle michael at walle.cc
Wed Nov 25 03:25:23 EST 2020


Hi Yangbo, Hi Shawn,

Am 2020-11-25 03:59, schrieb Y.b. Lu:
>> -----Original Message-----
>> From: Vladimir Oltean <vladimir.oltean at nxp.com>
>> Sent: Tuesday, November 24, 2020 7:28 PM
>> To: Y.b. Lu <yangbo.lu at nxp.com>
>> Cc: Michael Walle <michael at walle.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>
>> Subject: Re: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card
>> controllers use fixed indices
>> 
>> On Tue, Nov 24, 2020 at 11:15:19AM +0000, Y.b. Lu wrote:
>> > > > 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.
>> 
>> Let's keep that discussion separate. While in theory you might be 
>> right,
>> I think the real-life complications associated with connecting an eMMC
>> to eSDHC0 and an SD card to eSDHC1 will make everyone avoid that. So 
>> in
>> practice they are still single-purpose.
> 
> You may refer to Layerscape QDS boards. 5 types SDHC adapters with
> PCIe connecter supporting SD or eMMC could be used on each esdhc
> interface.

Just for completeness, on the LS1028A there is definetly one for eMMC
and one for SD card. One supports voltage switching and one has a 8bit
data bus. But as Vladimir already said, this doesn't matter for this
discussion.

> Another reason using default mmc0 for esdhc0 and mmc1 for esdhc1, is
> because that's also the order before esdhc driver introducing
> asynchronous probe.

No if there was
   &esdhc { status = "disabled" };
this would change the block device from /dev/mmcblk0 to /dev/mmcblk1
for the remaining &esdhc1.

We are going cirlces here. I guess Shawn (as the soc maintainer) has to
step in and decide if a common soc include should contain aliases for
nodes which are disabled. That is what it boils down to.

All other arguments against having aliases in the common include can be
found in this thread.

> Distros, bootloaders, and users' cases using fixed index before could
> avoid issues, and been used as they were.

Nobody argue against having these alias. We are arguing against having
them in the common soc include.

-michael



More information about the linux-arm-kernel mailing list