[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