summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-omap/am33xx_generic.c31
1 files changed, 11 insertions, 20 deletions
diff --git a/arch/arm/mach-omap/am33xx_generic.c b/arch/arm/mach-omap/am33xx_generic.c
index 3690ce1438..251c8d4876 100644
--- a/arch/arm/mach-omap/am33xx_generic.c
+++ b/arch/arm/mach-omap/am33xx_generic.c
@@ -43,30 +43,21 @@ void __noreturn reset_cpu(unsigned long addr)
* The significance of the CPU revision depends upon the cpu type.
* Latest known revision is considered default.
*
+ * This function is called before barebox_arm_entry(), so avoid switch
+ * statements.
+ *
* @return silicon version
*/
u32 am33xx_get_cpu_rev(void)
{
- u32 version, retval;
-
- version = (readl(AM33XX_IDCODE_REG) >> 28) & 0xF;
-
- switch (version) {
- case 0:
- retval = AM335X_ES1_0;
- break;
- case 1:
- retval = AM335X_ES2_0;
- break;
- case 2:
- /*
- * Fall through the default case.
- */
- default:
- retval = AM335X_ES2_1;
- }
-
- return retval;
+ u32 version = (readl(AM33XX_IDCODE_REG) >> 28) & 0xF;
+
+ if (version == 0)
+ return AM335X_ES1_0;
+ else if (version == 1)
+ return AM335X_ES2_0;
+ else
+ return AM335X_ES2_1;
}
/**