diff options
author | Dien Pham <dien.pham.ry@renesas.com> | 2019-02-11 10:09:41 +0700 |
---|---|---|
committer | Dien Pham <dien.pham.ry@renesas.com> | 2019-02-15 11:14:49 +0700 |
commit | 0c91cbef047c56167d60f6638053ed298813483f (patch) | |
tree | b9a2956134cfab3bbb4703d4b0e20cb8d179c5b7 | |
parent | fb507831587bba2069a1e764c701b7640c1b8a82 (diff) | |
download | renesas-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.c | 14 |
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; } |