Commit 499c8679 authored by Masahiro Yamada's avatar Masahiro Yamada

ARM: uniphier: display revision of Micro Support Card 3.6.x kindly

The revision of the original support card (rev 3.5, rev 3.6) fits in
the 8 bit width revision register.  When it was extended in a weird
way, it was versioned in the format of "3.6.x" (where it should have
been "3.7", of course).  What is worse, only the sub-level version
"6.x" was recorded in the 8 bit width register, completely ignoring
the compatibility of the revision register format.

This patch saves madly-versioned support cards by assuming the major
version "3" when the MSB 4 bit of the register is read as "6".  With
this, the support card revision that were displayed as "6.10" is now
corrected to "3.6.10".
Signed-off-by: 's avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 928f3248
/*
* Copyright (C) 2012-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
* Copyright (C) 2012-2015 Panasonic Corporation
* Copyright (C) 2015-2016 Socionext Inc.
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
......@@ -38,7 +40,12 @@ static int support_card_show_revision(void)
u32 revision;
revision = readl(MICRO_SUPPORT_CARD_REVISION);
printf("(CPLD version %d.%d)\n", revision >> 4, revision & 0xf);
revision &= 0xff;
/* revision 3.6.x card changed the revision format */
printf("(CPLD version %s%d.%d)\n", revision >> 4 == 6 ? "3." : "",
revision >> 4, revision & 0xf);
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment