summaryrefslogtreecommitdiffstats
path: root/drivers/soc/renesas/renesas-soc.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2017-10-30 18:29:58 +0100
committerSimon Horman <horms+renesas@verge.net.au>2017-11-27 11:40:57 +0100
commit90f0d2b344313a8a4c366ef60d0df33008d2be84 (patch)
tree4aa40e76ebb43e467feb4c25c2aa5f39bd88d279 /drivers/soc/renesas/renesas-soc.c
parent4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323 (diff)
downloadlinux-90f0d2b344313a8a4c366ef60d0df33008d2be84.tar.bz2
soc: renesas: Identify R-Car M3-W ES1.1
The Product Register of R-Car M3-W ES1.1 incorrectly identifies the SoC revision as ES2.0. Add a workaround to fix this. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'drivers/soc/renesas/renesas-soc.c')
-rw-r--r--drivers/soc/renesas/renesas-soc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c
index 9f4ee2567c72..926b7fd6db2d 100644
--- a/drivers/soc/renesas/renesas-soc.c
+++ b/drivers/soc/renesas/renesas-soc.c
@@ -250,6 +250,9 @@ static int __init renesas_soc_init(void)
if (chipid) {
product = readl(chipid);
iounmap(chipid);
+ /* R-Car M3-W ES1.1 incorrectly identifies as ES2.0 */
+ if ((product & 0x7fff) == 0x5210)
+ product ^= 0x11;
if (soc->id && ((product >> 8) & 0xff) != soc->id) {
pr_warn("SoC mismatch (product = 0x%x)\n", product);
return -ENODEV;