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 -- Marek Szyprowski, PhD Samsung R&D Institute Poland
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). How to deal then with sdhci_0 (from exynos4.dtsi) vc. mshc_0 (from exynos4412.dts)? > >> + }; >> + >> chosen { >> stdout-path = &serial_1; >> }; > > Best regards > Gruß, -- Markus Reichl
Hi Markus, 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. Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland
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 -- Marek Szyprowski, PhD Samsung R&D Institute Poland
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ß, -- Markus Reichl
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(+)