[U-Boot] imx8m: fix rom version check to unbreak some B0 chips

Patrick Wildt patrick at blueri.se
Sat Dec 7 16:29:19 CET 2019


Ping?

On Tue, Nov 19, 2019 at 09:42:06AM +0100, Patrick Wildt wrote:
> Recently the version check was improved to be able to determine that
> we're running on SoC revision 2.1.  A check for B0 was tightened so
> that it now must equal 0x20 instead of being bigger than 0x20.  On
> some B0 chips the value returned is 0x1020 instead of 0x20.  This
> means even though it's B0, the check will fail and code relying on
> the correct chip revision will make wrong decisions.  There is no
> documentation of those bits, but it seems that NXP always uses a
> byte to encode the revision.  Thus remove the upper bits to fix the
> regression.
> 
> Signed-off-by: Patrick Wildt <patrick at blueri.se>
> 
> diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
> index 9a203e4736..4d42368057 100644
> --- a/arch/arm/mach-imx/imx8m/soc.c
> +++ b/arch/arm/mach-imx/imx8m/soc.c
> @@ -216,6 +216,7 @@ u32 get_cpu_rev(void)
>  					readl((void __iomem *)ROM_VERSION_A0);
>  				if (rom_version != CHIP_REV_1_0) {
>  					rom_version = readl((void __iomem *)ROM_VERSION_B0);
> +					rom_version &= 0xff;
>  					if (rom_version == CHIP_REV_2_0)
>  						reg = CHIP_REV_2_0;
>  				}
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot


More information about the U-Boot mailing list