From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick Wildt Date: Sat, 7 Dec 2019 16:29:19 +0100 Subject: [U-Boot] imx8m: fix rom version check to unbreak some B0 chips In-Reply-To: <20191119084206.GA17502@nox.fritz.box> References: <20191119084206.GA17502@nox.fritz.box> Message-ID: <20191207152919.GA54977@nox.fritz.box> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > > 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