aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDien Pham <dien.pham.ry@renesas.com>2019-02-11 10:09:41 +0700
committerDien Pham <dien.pham.ry@renesas.com>2019-02-15 11:14:49 +0700
commit0c91cbef047c56167d60f6638053ed298813483f (patch)
treeb9a2956134cfab3bbb4703d4b0e20cb8d179c5b7
parentfb507831587bba2069a1e764c701b7640c1b8a82 (diff)
downloadrenesas-bsp-0c91cbef047c56167d60f6638053ed298813483f.tar.gz
soc: renesas: r8a7796-sysc: Nullify A2VC0 on M3 Ver.3.0
1/ As update of hardware specification, A2VC0 power domain is not supported on M3 Ver.3.0. This patch updates for this purpose. 2/ For clean source code, we adjust the implementation for applying SYSCEXTMASK for only M3 Ver.3.0. It still keeps purpose of patch (ee953e6 soc: renesas: rcar-sysc: Add SYSCEXTMASK info for r8a7796) In addition, copyright is updated. Signed-off-by: Dien Pham <dien.pham.ry@renesas.com> Signed-off-by: Nam Dang <nam.dang.uw@rvc.renesas.com>
-rw-r--r--drivers/soc/renesas/r8a7796-sysc.c14
1 files changed, 10 insertions, 4 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;
}