aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyo Kataoka <ryo.kataoka.wt@renesas.com>2019-03-22 20:50:06 +0900
committerRyo Kataoka <ryo.kataoka.wt@renesas.com>2019-03-22 20:50:06 +0900
commit8ea22fe489c45756480b24339d11940a16ca95e6 (patch)
treeb9a2956134cfab3bbb4703d4b0e20cb8d179c5b7
parenta5266d298124874c2c06b8b13d073f6ecc2ee355 (diff)
parent0c91cbef047c56167d60f6638053ed298813483f (diff)
downloadrenesas-bsp-8ea22fe489c45756480b24339d11940a16ca95e6.tar.gz
Merge branch 'rcar-3.9.2/RuntimePM.rc1' into v4.14.75-ltsi/rcar-3.9.3
* rcar-3.9.2/RuntimePM.rc1: soc: renesas: r8a7796-sysc: Nullify A2VC0 on M3 Ver.3.0 soc: renesas: r8a77965-sysc: Remove non-existent A3IR power domain soc: renesas: rcar-sysc: Remove power domains always on for M3N v1.0
-rw-r--r--drivers/soc/renesas/r8a7796-sysc.c14
-rw-r--r--drivers/soc/renesas/r8a77965-sysc.c1
-rw-r--r--drivers/soc/renesas/rcar-sysc.c6
3 files changed, 10 insertions, 11 deletions
diff --git a/drivers/soc/renesas/r8a7796-sysc.c b/drivers/soc/renesas/r8a7796-sysc.c
index afab100287e8cb..110790152d89a2 100644
--- a/drivers/soc/renesas/r8a7796-sysc.c
+++ b/drivers/soc/renesas/r8a7796-sysc.c
@@ -2,6 +2,7 @@
* Renesas R-Car M3-W System Controller
*
* Copyright (C) 2016 Glider bvba
+ * Copyright (C) 2018-2019 Renesas Electronics Corporation.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,7 +18,7 @@
#include "rcar-sysc.h"
-static const struct rcar_sysc_area r8a7796_areas[] __initconst = {
+static struct rcar_sysc_area r8a7796_areas[] __initdata = {
{ "always-on", 0, 0, R8A7796_PD_ALWAYS_ON, -1, PD_ALWAYS_ON },
{ "ca57-scu", 0x1c0, 0, R8A7796_PD_CA57_SCU, R8A7796_PD_ALWAYS_ON,
PD_SCU },
@@ -44,15 +45,20 @@ static const struct rcar_sysc_area r8a7796_areas[] __initconst = {
{ "a3ir", 0x180, 0, R8A7796_PD_A3IR, R8A7796_PD_ALWAYS_ON },
};
-static const struct soc_device_attribute r8a7796es1[] __initconst = {
- { .soc_id = "r8a7796", .revision = "ES1.*" },
+static const struct soc_device_attribute r8a7796es3[] __initconst = {
+ { .soc_id = "r8a7796", .revision = "ES3.0" },
{ /* sentinel */ }
};
static int __init r8a7796_sysc_init(void)
{
- if (soc_device_match(r8a7796es1))
+ if (soc_device_match(r8a7796es3)) {
+ rcar_sysc_nullify(r8a7796_areas, ARRAY_SIZE(r8a7796_areas),
+ R8A7796_PD_A2VC0);
+ } else {
+ /* Do not apply SYSCEXTMASK for ES1.* */
r8a7796_sysc_info.extra_regs->sysc_extmask_msks = 0;
+ }
return 0;
}
diff --git a/drivers/soc/renesas/r8a77965-sysc.c b/drivers/soc/renesas/r8a77965-sysc.c
index ac2c021f30288e..035f1acc450091 100644
--- a/drivers/soc/renesas/r8a77965-sysc.c
+++ b/drivers/soc/renesas/r8a77965-sysc.c
@@ -29,7 +29,6 @@ static const struct rcar_sysc_area r8a77965_areas[] __initconst = {
{ "a2vc1", 0x3c0, 1, R8A77965_PD_A2VC1, R8A77965_PD_A3VC },
{ "3dg-a", 0x100, 0, R8A77965_PD_3DG_A, R8A77965_PD_ALWAYS_ON },
{ "3dg-b", 0x100, 1, R8A77965_PD_3DG_B, R8A77965_PD_3DG_A },
- { "a3ir", 0x180, 0, R8A77965_PD_A3IR, R8A77965_PD_ALWAYS_ON },
};
static struct rcar_sysc_extra_regs r8a77965_extra_regs = {
diff --git a/drivers/soc/renesas/rcar-sysc.c b/drivers/soc/renesas/rcar-sysc.c
index 64c11374e5217e..7fabcfe0a66674 100644
--- a/drivers/soc/renesas/rcar-sysc.c
+++ b/drivers/soc/renesas/rcar-sysc.c
@@ -91,12 +91,6 @@ const struct soc_device_attribute rcar_sysc_quirks_match[] __initconst = {
| BIT(R8A7796_PD_A3IR) | BIT(R8A7796_PD_3DG_A)
| BIT(R8A7796_PD_3DG_B)),
},
- {
- .soc_id = "r8a77965", .revision = "ES1.0",
- .data = (void *)(BIT(R8A77965_PD_A3VP) | BIT(R8A77965_PD_CR7)
- | BIT(R8A77965_PD_A3VC) | BIT(R8A77965_PD_A2VC1)
- | BIT(R8A77965_PD_A3IR)),
- },
{ /* sentinel */ }
};