Message ID | 20201104102558.11070-1-m.reichl@fivetechno.de |
---|---|
State | New |
Headers | show |
Series | ARM: dts: exynos: Assign a fixed index to mmc devices on exynos4412 based ODROID boards | expand |
Hi Markus, On 04.11.2020 11:25, Markus Reichl wrote: > Recently introduced async probe on mmc devices can shuffle block IDs. > Pin them to fixed values to ease booting in evironments where UUIDs ar not practical. > Use newly introduced aliases for mmcblk devices from [1]. > > [1] > https://patchwork.kernel.org/patch/11747669/ > > Signed-off-by: Markus Reichl <m.reichl@fivetechno.de> > --- > arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > index a5c1ce1e396c..aa10d5bc7e1c 100644 > --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > @@ -13,6 +13,11 @@ > #include "exynos-mfc-reserved-memory.dtsi" > > / { > + aliases { > + mmc0 = &sdhci_2; > + mmc1 = &mshc_0; Like in the OdroidXU3-family patch, I would use 0 for the eMMC (mshc_0) and 2 for the SD-card (sdhci_2). > + }; > + > chosen { > stdout-path = &serial_1; > }; Best regards
Hi Marek, Am 04.11.20 um 13:25 schrieb Marek Szyprowski: > Hi Markus, > > On 04.11.2020 11:25, Markus Reichl wrote: >> Recently introduced async probe on mmc devices can shuffle block IDs. >> Pin them to fixed values to ease booting in evironments where UUIDs ar not practical. >> Use newly introduced aliases for mmcblk devices from [1]. >> >> [1] >> https://patchwork.kernel.org/patch/11747669/ >> >> Signed-off-by: Markus Reichl <m.reichl@fivetechno.de> >> --- >> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >> index a5c1ce1e396c..aa10d5bc7e1c 100644 >> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >> @@ -13,6 +13,11 @@ >> #include "exynos-mfc-reserved-memory.dtsi" >> >> / { >> + aliases { >> + mmc0 = &sdhci_2; >> + mmc1 = &mshc_0; > > Like in the OdroidXU3-family patch, I would use 0 for the eMMC (mshc_0) > and 2 for the SD-card (sdhci_2). This would break present and long standing boot ordering in mainline, which is mmcblk0 = SD-card and mmcblk1 = eMMC Still desired? > >> + }; >> + >> chosen { >> stdout-path = &serial_1; >> }; > > Best regards > Gruß, -- Markus Reichl
On 04.11.2020 14:13, Marek Szyprowski wrote: > On 04.11.2020 14:06, Markus Reichl wrote: >> Am 04.11.20 um 13:25 schrieb Marek Szyprowski: >>> On 04.11.2020 11:25, Markus Reichl wrote: >>>> Recently introduced async probe on mmc devices can shuffle block IDs. >>>> Pin them to fixed values to ease booting in evironments where UUIDs >>>> ar not practical. >>>> Use newly introduced aliases for mmcblk devices from [1]. >>>> >>>> [1] >>>> https://patchwork.kernel.org/patch/11747669/ >>>> >>>> Signed-off-by: Markus Reichl <m.reichl@fivetechno.de> >>>> --- >>>> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 5 +++++ >>>> 1 file changed, 5 insertions(+) >>>> >>>> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>> b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>> index a5c1ce1e396c..aa10d5bc7e1c 100644 >>>> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>> @@ -13,6 +13,11 @@ >>>> #include "exynos-mfc-reserved-memory.dtsi" >>>> / { >>>> + aliases { >>>> + mmc0 = &sdhci_2; >>>> + mmc1 = &mshc_0; >>> Like in the OdroidXU3-family patch, I would use 0 for the eMMC (mshc_0) >>> and 2 for the SD-card (sdhci_2). >> How to deal then with sdhci_0 (from exynos4.dtsi) vc. mshc_0 (from >> exynos4412.dts)? > sdhci_0 and mshc_0 both operate on the same physical MMC0 bus, so this > is not an issue. They cannot be used simultaneously. The latter is just > faster, the first one has been left there mainly for the software > compatibility. I've thought a bit more on this and I would simply prefer to add generic MMC aliases to the top-level Exynos dtsi files (3250, 4210, 4412, 5250, 5410, 5420) to keep Linux logical MMC bus numbers in sync with the HW bus numbers on all boards. Best regards
Hi Marek, Am 04.11.20 um 14:44 schrieb Marek Szyprowski: > On 04.11.2020 14:13, Marek Szyprowski wrote: >> On 04.11.2020 14:06, Markus Reichl wrote: >>> Am 04.11.20 um 13:25 schrieb Marek Szyprowski: >>>> On 04.11.2020 11:25, Markus Reichl wrote: >>>>> Recently introduced async probe on mmc devices can shuffle block IDs. >>>>> Pin them to fixed values to ease booting in evironments where UUIDs >>>>> ar not practical. >>>>> Use newly introduced aliases for mmcblk devices from [1]. >>>>> >>>>> [1] >>>>> https://patchwork.kernel.org/patch/11747669/ >>>>> >>>>> Signed-off-by: Markus Reichl <m.reichl@fivetechno.de> >>>>> --- >>>>> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 5 +++++ >>>>> 1 file changed, 5 insertions(+) >>>>> >>>>> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>> b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>> index a5c1ce1e396c..aa10d5bc7e1c 100644 >>>>> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>> @@ -13,6 +13,11 @@ >>>>> #include "exynos-mfc-reserved-memory.dtsi" >>>>> / { >>>>> + aliases { >>>>> + mmc0 = &sdhci_2; >>>>> + mmc1 = &mshc_0; >>>> Like in the OdroidXU3-family patch, I would use 0 for the eMMC (mshc_0) >>>> and 2 for the SD-card (sdhci_2). >>> How to deal then with sdhci_0 (from exynos4.dtsi) vc. mshc_0 (from >>> exynos4412.dts)? >> sdhci_0 and mshc_0 both operate on the same physical MMC0 bus, so this >> is not an issue. They cannot be used simultaneously. The latter is just >> faster, the first one has been left there mainly for the software >> compatibility. > > I've thought a bit more on this and I would simply prefer to add generic > MMC aliases to the top-level Exynos dtsi files (3250, 4210, 4412, 5250, > 5410, 5420) to keep Linux logical MMC bus numbers in sync with the HW > bus numbers on all boards. Ok, fine with me. As this is beyond my knowledge I would like leave this task with you. > > Best regards > Gruß, -- Markus Reichl
On Wed, Nov 04, 2020 at 02:44:10PM +0100, Marek Szyprowski wrote: > On 04.11.2020 14:13, Marek Szyprowski wrote: > > On 04.11.2020 14:06, Markus Reichl wrote: > >> Am 04.11.20 um 13:25 schrieb Marek Szyprowski: > >>> On 04.11.2020 11:25, Markus Reichl wrote: > >>>> Recently introduced async probe on mmc devices can shuffle block IDs. > >>>> Pin them to fixed values to ease booting in evironments where UUIDs > >>>> ar not practical. > >>>> Use newly introduced aliases for mmcblk devices from [1]. > >>>> > >>>> [1] > >>>> https://patchwork.kernel.org/patch/11747669/ > >>>> > >>>> Signed-off-by: Markus Reichl <m.reichl@fivetechno.de> > >>>> --- > >>>> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 5 +++++ > >>>> 1 file changed, 5 insertions(+) > >>>> > >>>> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > >>>> b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > >>>> index a5c1ce1e396c..aa10d5bc7e1c 100644 > >>>> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > >>>> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > >>>> @@ -13,6 +13,11 @@ > >>>> #include "exynos-mfc-reserved-memory.dtsi" > >>>> / { > >>>> + aliases { > >>>> + mmc0 = &sdhci_2; > >>>> + mmc1 = &mshc_0; > >>> Like in the OdroidXU3-family patch, I would use 0 for the eMMC (mshc_0) > >>> and 2 for the SD-card (sdhci_2). > >> How to deal then with sdhci_0 (from exynos4.dtsi) vc. mshc_0 (from > >> exynos4412.dts)? > > sdhci_0 and mshc_0 both operate on the same physical MMC0 bus, so this > > is not an issue. They cannot be used simultaneously. The latter is just > > faster, the first one has been left there mainly for the software > > compatibility. > > I've thought a bit more on this and I would simply prefer to add generic > MMC aliases to the top-level Exynos dtsi files (3250, 4210, 4412, 5250, > 5410, 5420) to keep Linux logical MMC bus numbers in sync with the HW > bus numbers on all boards. I like this approach - I don't see much benefit of having different numbering between boards of the same SoC. Let's match old U-Boot behavior (I assume that people switch to PARTUUID around the v4.0 mixup, so they should not be affected). Best regards, Krzysztof
Hi Marek, on rk3399 the proposed ordering [1] is according to base address in DT. [1] https://patchwork.kernel.org/patch/11881427 Am 04.11.20 um 14:44 schrieb Marek Szyprowski: > On 04.11.2020 14:13, Marek Szyprowski wrote: >> On 04.11.2020 14:06, Markus Reichl wrote: >>> Am 04.11.20 um 13:25 schrieb Marek Szyprowski: >>>> On 04.11.2020 11:25, Markus Reichl wrote: >>>>> Recently introduced async probe on mmc devices can shuffle block IDs. >>>>> Pin them to fixed values to ease booting in evironments where UUIDs >>>>> ar not practical. >>>>> Use newly introduced aliases for mmcblk devices from [1]. >>>>> >>>>> [1] >>>>> https://patchwork.kernel.org/patch/11747669/ >>>>> >>>>> Signed-off-by: Markus Reichl <m.reichl@fivetechno.de> >>>>> --- >>>>> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 5 +++++ >>>>> 1 file changed, 5 insertions(+) >>>>> >>>>> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>> b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>> index a5c1ce1e396c..aa10d5bc7e1c 100644 >>>>> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>> @@ -13,6 +13,11 @@ >>>>> #include "exynos-mfc-reserved-memory.dtsi" >>>>> / { >>>>> + aliases { >>>>> + mmc0 = &sdhci_2; >>>>> + mmc1 = &mshc_0; >>>> Like in the OdroidXU3-family patch, I would use 0 for the eMMC (mshc_0) >>>> and 2 for the SD-card (sdhci_2). >>> How to deal then with sdhci_0 (from exynos4.dtsi) vc. mshc_0 (from >>> exynos4412.dts)? >> sdhci_0 and mshc_0 both operate on the same physical MMC0 bus, so this >> is not an issue. They cannot be used simultaneously. The latter is just >> faster, the first one has been left there mainly for the software >> compatibility. > > I've thought a bit more on this and I would simply prefer to add generic > MMC aliases to the top-level Exynos dtsi files (3250, 4210, 4412, 5250, > 5410, 5420) to keep Linux logical MMC bus numbers in sync with the HW > bus numbers on all boards. > > Best regards > Gruß,
On 2020-11-05 08:31, Markus Reichl wrote: > Hi Marek, > > on rk3399 the proposed ordering [1] is according to base address in DT. FWIW, note that in RK3399's case the SoC itself provides no logical numbering to follow - the pin groups are named "EMMC", "SDIO0" and "SDMMC0" in the datasheet, while the TRM uses "emmc", "sdio" and "sdmmc" in signal and register names. If the SoC *does* have an inherent notion of numbered interfaces, I would agree that following that numbering is the most logical thing to do. Robin. > > [1] > https://patchwork.kernel.org/patch/11881427 > > Am 04.11.20 um 14:44 schrieb Marek Szyprowski: >> On 04.11.2020 14:13, Marek Szyprowski wrote: >>> On 04.11.2020 14:06, Markus Reichl wrote: >>>> Am 04.11.20 um 13:25 schrieb Marek Szyprowski: >>>>> On 04.11.2020 11:25, Markus Reichl wrote: >>>>>> Recently introduced async probe on mmc devices can shuffle block IDs. >>>>>> Pin them to fixed values to ease booting in evironments where UUIDs >>>>>> ar not practical. >>>>>> Use newly introduced aliases for mmcblk devices from [1]. >>>>>> >>>>>> [1] >>>>>> https://patchwork.kernel.org/patch/11747669/ >>>>>> >>>>>> Signed-off-by: Markus Reichl <m.reichl@fivetechno.de> >>>>>> --- >>>>>> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 5 +++++ >>>>>> 1 file changed, 5 insertions(+) >>>>>> >>>>>> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>>> b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>>> index a5c1ce1e396c..aa10d5bc7e1c 100644 >>>>>> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>>> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi >>>>>> @@ -13,6 +13,11 @@ >>>>>> #include "exynos-mfc-reserved-memory.dtsi" >>>>>> / { >>>>>> + aliases { >>>>>> + mmc0 = &sdhci_2; >>>>>> + mmc1 = &mshc_0; >>>>> Like in the OdroidXU3-family patch, I would use 0 for the eMMC >>>>> (mshc_0) >>>>> and 2 for the SD-card (sdhci_2). >>>> How to deal then with sdhci_0 (from exynos4.dtsi) vc. mshc_0 (from >>>> exynos4412.dts)? >>> sdhci_0 and mshc_0 both operate on the same physical MMC0 bus, so this >>> is not an issue. They cannot be used simultaneously. The latter is just >>> faster, the first one has been left there mainly for the software >>> compatibility. >> >> I've thought a bit more on this and I would simply prefer to add generic >> MMC aliases to the top-level Exynos dtsi files (3250, 4210, 4412, 5250, >> 5410, 5420) to keep Linux logical MMC bus numbers in sync with the HW >> bus numbers on all boards. >> >> Best regards >> > > Gruß, > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi index a5c1ce1e396c..aa10d5bc7e1c 100644 --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi @@ -13,6 +13,11 @@ #include "exynos-mfc-reserved-memory.dtsi" / { + aliases { + mmc0 = &sdhci_2; + mmc1 = &mshc_0; + }; + chosen { stdout-path = &serial_1; };
Recently introduced async probe on mmc devices can shuffle block IDs. Pin them to fixed values to ease booting in evironments where UUIDs ar not practical. Use newly introduced aliases for mmcblk devices from [1]. [1] https://patchwork.kernel.org/patch/11747669/ Signed-off-by: Markus Reichl <m.reichl@fivetechno.de> --- arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 5 +++++ 1 file changed, 5 insertions(+)