[PATCH] improve soc revision calculation
Sascha Hauer
s.hauer at pengutronix.de
Fri Feb 9 00:29:41 PST 2018
On Tue, Feb 06, 2018 at 04:06:32PM +0100, Philipp Zabel wrote:
> i.MX6QP revision 2.1 currently are not recognized, causing
> imx_set_silicon_revision to print IMX_CHIP_REV_UNKNOWN as 15.15:
>
> detected i.MX6 Quad Plus revision 15.15
>
> To fix this, instead of extending the list with yet another variant,
> switch to the method introduced in the Linux kernel in commit
> c22dee6e3c16 ("ARM: imx: Improve the soc revision calculation flow").
>
> Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>
> ---
> arch/arm/mach-imx/include/mach/imx6.h | 24 ++++--------------------
> 1 file changed, 4 insertions(+), 20 deletions(-)
Applied, thanks
Sascha
>
> diff --git a/arch/arm/mach-imx/include/mach/imx6.h b/arch/arm/mach-imx/include/mach/imx6.h
> index 288c7539ae..6b08e6a521 100644
> --- a/arch/arm/mach-imx/include/mach/imx6.h
> +++ b/arch/arm/mach-imx/include/mach/imx6.h
> @@ -87,35 +87,19 @@ DEFINE_MX6_CPU_TYPE(mx6ull, IMX6_CPUTYPE_IMX6ULL);
>
> static inline int __imx6_cpu_revision(void)
> {
> -
> uint32_t rev;
> uint32_t si_rev_offset = IMX6_ANATOP_SI_REV;
> + u8 major_part, minor_part;
>
> if (IS_ENABLED(CONFIG_ARCH_IMX6SL) && cpu_mx6_is_mx6sl())
> si_rev_offset = IMX6SL_ANATOP_SI_REV;
>
> rev = readl(MX6_ANATOP_BASE_ADDR + si_rev_offset);
>
> - switch (rev & 0xfff) {
> - case 0x00:
> - return IMX_CHIP_REV_1_0;
> - case 0x01:
> - return IMX_CHIP_REV_1_1;
> - case 0x02:
> - return IMX_CHIP_REV_1_2;
> - case 0x03:
> - return IMX_CHIP_REV_1_3;
> - case 0x04:
> - return IMX_CHIP_REV_1_4;
> - case 0x05:
> - return IMX_CHIP_REV_1_5;
> - case 0x06:
> - return IMX_CHIP_REV_1_6;
> - case 0x100:
> - return IMX_CHIP_REV_2_0;
> - }
> + major_part = (rev >> 8) & 0xf;
> + minor_part = rev & 0xf;
>
> - return IMX_CHIP_REV_UNKNOWN;
> + return ((major_part + 1) << 4) | minor_part;
> }
>
> static inline int imx6_cpu_revision(void)
> --
> 2.15.1
>
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list