After the commit 7320915c8861 ("mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14"), the order of /dev/mmcblkN was not fixed in some SoCs which have multiple sdhi controllers. So, we were hard to use an sdhi device as rootfs by using the kernel parameter like "root=/dev/mmcblkNpM". According to the discussion on a mainling list [1], we can add mmc aliases to fix the issue. So, add such aliases into R-Car Gen3 and RZ/G2 dtsi files. Note that, if an SoC like r8a77980 has one sdhi controller only, the alias is not defined. [1] https://lore.kernel.org/linux-arm-kernel/CAPDyKFptyEQNJu8cqzMt2WRFZcwEdjDiytMBp96nkoZyprTgmA@xxxxxxxxxxxxxx/ Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> --- Changes from v1: - Revise the commit description. - Remove some alias which SoC has one sdhi controller only. https://patchwork.kernel.org/project/linux-renesas-soc/patch/1604654877-30010-1-git-send-email-yoshihiro.shimoda.uh@xxxxxxxxxxx/ arch/arm64/boot/dts/renesas/r8a774a1.dtsi | 4 ++++ arch/arm64/boot/dts/renesas/r8a774b1.dtsi | 7 +++++++ arch/arm64/boot/dts/renesas/r8a774c0.dtsi | 6 ++++++ arch/arm64/boot/dts/renesas/r8a774e1.dtsi | 7 +++++++ arch/arm64/boot/dts/renesas/r8a77951.dtsi | 4 ++++ arch/arm64/boot/dts/renesas/r8a77960.dtsi | 4 ++++ arch/arm64/boot/dts/renesas/r8a77961.dtsi | 7 +++++++ arch/arm64/boot/dts/renesas/r8a77965.dtsi | 4 ++++ arch/arm64/boot/dts/renesas/r8a77990.dtsi | 3 +++ 9 files changed, 46 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a774a1.dtsi b/arch/arm64/boot/dts/renesas/r8a774a1.dtsi index d64fb8b..4f7b917 100644 --- a/arch/arm64/boot/dts/renesas/r8a774a1.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a774a1.dtsi @@ -26,6 +26,10 @@ i2c5 = &i2c5; i2c6 = &i2c6; i2c7 = &i2c_dvfs; + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; + mmc3 = &sdhi3; }; /* diff --git a/arch/arm64/boot/dts/renesas/r8a774b1.dtsi b/arch/arm64/boot/dts/renesas/r8a774b1.dtsi index 5b05474..a828bca 100644 --- a/arch/arm64/boot/dts/renesas/r8a774b1.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a774b1.dtsi @@ -17,6 +17,13 @@ #address-cells = <2>; #size-cells = <2>; + aliases { + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; + mmc3 = &sdhi3; + }; + /* * The external audio clocks are configured as 0 Hz fixed frequency * clocks by default. diff --git a/arch/arm64/boot/dts/renesas/r8a774c0.dtsi b/arch/arm64/boot/dts/renesas/r8a774c0.dtsi index 20fa3ca..f37ed49 100644 --- a/arch/arm64/boot/dts/renesas/r8a774c0.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a774c0.dtsi @@ -14,6 +14,12 @@ #address-cells = <2>; #size-cells = <2>; + aliases { + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc3 = &sdhi3; + }; + /* * The external audio clocks are configured as 0 Hz fixed frequency * clocks by default. diff --git a/arch/arm64/boot/dts/renesas/r8a774e1.dtsi b/arch/arm64/boot/dts/renesas/r8a774e1.dtsi index 8eb006c..2c4b65c 100644 --- a/arch/arm64/boot/dts/renesas/r8a774e1.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a774e1.dtsi @@ -17,6 +17,13 @@ #address-cells = <2>; #size-cells = <2>; + aliases { + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; + mmc3 = &sdhi3; + }; + /* * The external audio clocks are configured as 0 Hz fixed frequency * clocks by default. diff --git a/arch/arm64/boot/dts/renesas/r8a77951.dtsi b/arch/arm64/boot/dts/renesas/r8a77951.dtsi index 5c39152..654f048 100644 --- a/arch/arm64/boot/dts/renesas/r8a77951.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77951.dtsi @@ -25,6 +25,10 @@ i2c5 = &i2c5; i2c6 = &i2c6; i2c7 = &i2c_dvfs; + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; + mmc3 = &sdhi3; }; /* diff --git a/arch/arm64/boot/dts/renesas/r8a77960.dtsi b/arch/arm64/boot/dts/renesas/r8a77960.dtsi index 25d947a..d0b7236 100644 --- a/arch/arm64/boot/dts/renesas/r8a77960.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77960.dtsi @@ -25,6 +25,10 @@ i2c5 = &i2c5; i2c6 = &i2c6; i2c7 = &i2c_dvfs; + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; + mmc3 = &sdhi3; }; /* diff --git a/arch/arm64/boot/dts/renesas/r8a77961.dtsi b/arch/arm64/boot/dts/renesas/r8a77961.dtsi index e8c31eb..57a3d6c 100644 --- a/arch/arm64/boot/dts/renesas/r8a77961.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77961.dtsi @@ -16,6 +16,13 @@ #address-cells = <2>; #size-cells = <2>; + aliases { + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; + mmc3 = &sdhi3; + }; + /* * The external audio clocks are configured as 0 Hz fixed frequency * clocks by default. diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi index 657b20d..d111ef7 100644 --- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi @@ -28,6 +28,10 @@ i2c5 = &i2c5; i2c6 = &i2c6; i2c7 = &i2c_dvfs; + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; + mmc3 = &sdhi3; }; /* diff --git a/arch/arm64/boot/dts/renesas/r8a77990.dtsi b/arch/arm64/boot/dts/renesas/r8a77990.dtsi index 5010f23..f0e2d67 100644 --- a/arch/arm64/boot/dts/renesas/r8a77990.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a77990.dtsi @@ -23,6 +23,9 @@ i2c5 = &i2c5; i2c6 = &i2c6; i2c7 = &i2c7; + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc3 = &sdhi3; }; /* -- 2.7.4