summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Binacchi <dario.binacchi@amarulasolutions.com>2022-01-31 08:50:05 +0100
committerAndrejs Cainikovs <andrejs.cainikovs@toradex.com>2022-05-10 13:52:00 +0200
commit714e9fa88354fba4001cf099a48f909128df259d (patch)
treece427485a9a68160e9bf568f75fd1cbbfe1d3eac
parent8a365642835e7926eccf44c90461685d6662cccd (diff)
imx: mx6ull: fix REFTOP_VBGADJ setting
[ Upstream commit c1af358cf51a85ed8c47fc576d3cae34196ec47f ] The previous code wrote the contents of the fuse as is in the REFTOP_VBGADJ[2:0], but this was wrong if you consider the contents of the table in the code comment. This table is also different from the table in the commit description. But then, which of the two is correct? If it is assumed that an unprogrammed fuse has a value of 0 then for backward compatibility of the code REFTOP_VBGADJ[2:0] must be set to 6 (b'110). Therefore, the table in the code comment can be considered correct as well as this patch. Fixes: 97c16dc8bf098 ("imx: mx6ull: update the REFTOP_VBGADJ setting") Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
-rw-r--r--arch/arm/mach-imx/mx6/soc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
index 19ca382649..17e9431420 100644
--- a/arch/arm/mach-imx/mx6/soc.c
+++ b/arch/arm/mach-imx/mx6/soc.c
@@ -361,11 +361,13 @@ static void init_bandgap(void)
* 111 - set REFTOP_VBGADJ[2:0] to 3b'111,
*/
if (is_mx6ull()) {
+ static const u32 map[] = {6, 1, 2, 3, 4, 5, 0, 7};
+
val = readl(&fuse->mem0);
val >>= OCOTP_MEM0_REFTOP_TRIM_SHIFT;
val &= 0x7;
- writel(val << BM_ANADIG_ANA_MISC0_REFTOP_VBGADJ_SHIFT,
+ writel(map[val] << BM_ANADIG_ANA_MISC0_REFTOP_VBGADJ_SHIFT,
&anatop->ana_misc0_set);
}
}