[PATCH] arm: mvebu: Espressobin: Fix checks against machine compatible strings

Pali Rohár pali at kernel.org
Thu Oct 1 12:48:14 CEST 2020


On Thursday 01 October 2020 12:42:21 Heinrich Schuchardt wrote:
> On 01.10.20 10:23, Pali Rohár wrote:
> > On Tuesday 29 September 2020 14:43:25 Andre Heider wrote:
> >> On 29/09/2020 14:38, Pali Rohár wrote:
> >>> On Tuesday 29 September 2020 14:34:26 Andre Heider wrote:
> >>>> The patches changing the compatible strings to the ones used by Linux have
> >>>> not been merged yet, so fix the checks to use the current in-tree ones.
> >>>>
> >>>> Reported-by: Pali Rohár <pali at kernel.org>
> >>>> Signed-off-by: Andre Heider <a.heider at gmail.com>
> >>>> ---
> >>>>   board/Marvell/mvebu_armada-37xx/board.c | 4 ++--
> >>>>   1 file changed, 2 insertions(+), 2 deletions(-)
> >>>>
> >>>> diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c
> >>>> index eacee15cb3..2bfc7171c4 100644
> >>>> --- a/board/Marvell/mvebu_armada-37xx/board.c
> >>>> +++ b/board/Marvell/mvebu_armada-37xx/board.c
> >>>> @@ -88,14 +88,14 @@ int board_late_init(void)
> >>>>   	if (env_get("fdtfile"))
> >>>>   		return 0;
> >>>> -	if (!of_machine_is_compatible("globalscale,espressobin"))
> >>>> +	if (!of_machine_is_compatible("marvell,armada-3720-espressobin"))
> 
> Linux v5.9-rc6
> arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts:19:
> compatible = "globalscale,espressobin", "marvell,armada3720",
> "marvell,armada3710";
> 
> This value has been in Linux since 2016.
> 
> We should be able to boot with the U-Boot internal device tree into Linux.

Hello Heinrich!

This is not possible yet as Linux kernel uses different comphy driver as
U-Boot and device tree structure for these drivers are different.

So you cannot use U-Boot internal device tree file for booting Linux
kernel.

> So fix the device tree in U-Boot and not the C code, please.

Yes, this is ongoing work, Marek is working on replacing U-Boot comphy
driver one from Linux kernel and Andre is working on synchronizing DTS
files from Linux kernel to U-Boot. But these works are not complete yet
and we need non-broken U-Boot 2020.10 release.

> Best regards
> 
> Heinrich
> 
> >>>>   		return 0;
> >>>>   	/* If the memory controller has been configured for DDR4, we're running on v7 */
> >>>>   	ddr4 = ((readl(A3700_CH0_MC_CTRL2_REG) >> A3700_MC_CTRL2_SDRAM_TYPE_OFFS)
> >>>>   		& A3700_MC_CTRL2_SDRAM_TYPE_MASK) == A3700_MC_CTRL2_SDRAM_TYPE_DDR4;
> >>>> -	emmc = of_machine_is_compatible("globalscale,espressobin-emmc");
> >>>> +	emmc = of_machine_is_compatible("marvell,armada-3720-espressobin-emmc");
> >>>
> >>> I run 'git grep marvell,armada-3720-espressobin-emmc origin/master' just
> >>> for verification... but it returned me empty result.
> >>>
> >>> So marvell,armada-3720-espressobin-emmc is not correct too and therefore
> >>> this patch does not still fix this problem.
> >>
> >> Right, without my set there is no support for the eMMC board in u-boot at
> >> all. We could remove the code, but I figured that'll be just unnecessary
> >> churn. The check evaluates correctly to non-emmc, so it works for the
> >> in-tree board just fine. This is the smaller fixup for the release.
> >
> > Ok, Lets include it!
> >
> > Reviewed-by: Pali Rohár <pali at kernel.org>
> >
> > Stefan, can you send this patch for U-Boot 2020.10 release?
> >
> > Maybe following patch for documentation (doc/README.marvell) may be useful to:
> > https://patchwork.ozlabs.org/project/uboot/patch/20200925075416.16124-1-pali@kernel.org/
> >
> >>>
> >>>>   	if (ddr4 && emmc)
> >>>>   		env_set("fdtfile", "marvell/armada-3720-espressobin-v7-emmc.dtb");
> >>>> --
> >>>> 2.28.0
> >>>>
> >>
> 


More information about the U-Boot mailing list