RE: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card controllers use fixed indices
From: "Y.b. Lu" <yangbo.lu@nxp.com>
Date: 2020-11-20 02:04:08
Also in:
linux-devicetree, linux-mmc, lkml
Hi Vladimir, I have already upstreamed a patch for all affected layerscape boards. https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git/commit/?h=imx/dt64&id=342ab37ecaf8c1b10dd3ca9a1271db29a6af0705 Please check whether it works for you. Thanks. Best regards, Yangbo Lu
quoted hunk ↗ jump to hunk
-----Original Message----- From: Vladimir Oltean <vladimir.oltean@nxp.com> Sent: Thursday, November 19, 2020 11:50 PM To: Shawn Guo <shawnguo@kernel.org>; Leo Li <redacted>; Rob Herring [off-list ref]; linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org Cc: Adrian Hunter <adrian.hunter@intel.com>; Ulf Hansson [off-list ref]; linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org; Ashish Kumar [off-list ref]; Y.b. Lu [off-list ref]; Michael Walle [off-list ref] Subject: [PATCH] arm64: dts: ls1028a: make the eMMC and SD card controllers use fixed indices As the boot order in the kernel continues to change, sometimes it may happen that the eSDHC controller mmc@2150000 (the one for eMMC) gets probed before the one at mmc@2140000 (for external SD cards). The effect is that the eMMC controller gets the /dev/mmcblk0 name, and the SD card gets /dev/mmcblk1. Since the introduction of this SoC, that has never happened in practice, even though it was never guaranteed in theory. Setting "root=/dev/mmcblk0p2" in /proc/cmdline has always caused the kernel to use the second partition from the SD card as the rootfs. Preserve that old behavior by adding some aliases which create naming consistency: - the SD card controller uses /dev/mmcblk0 - the eMMC controller uses /dev/mmcblk1 The aliases are parsed by mmc_alloc_host() in drivers/mmc/core/host.c. Cc: Ashish Kumar <redacted> Cc: Yangbo Lu <yangbo.lu@nxp.com> Cc: Michael Walle <redacted> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> --- arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts | 2 ++ arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts | 2 ++ arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts | 2 ++ 3 files changed, 6 insertions(+)diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dtsb/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts index 8161dd237971..7d292999f8da 100644--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts@@ -23,6 +23,8 @@ aliases { serial2 = &lpuart1; spi0 = &fspi; spi1 = &dspi2; + mmc0 = &esdhc; + mmc1 = &esdhc1; }; buttons0 {diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dtsb/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts index 13cdc958ba3e..c0786b713791 100644--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts@@ -23,6 +23,8 @@ aliases { gpio2 = &gpio3; serial0 = &duart0; serial1 = &duart1; + mmc0 = &esdhc; + mmc1 = &esdhc1; }; chosen {diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dtsb/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts index 1efb61cff454..c1d1ba459307 100644--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts@@ -19,6 +19,8 @@ aliases { crypto = &crypto; serial0 = &duart0; serial1 = &duart1; + mmc0 = &esdhc; + mmc1 = &esdhc1; }; chosen { --2.25.1
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel