Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Renesas R-Car M3-N System Controller
0004  * Copyright (C) 2018 Jacopo Mondi <jacopo+renesas@jmondi.org>
0005  *
0006  * Based on Renesas R-Car M3-W System Controller
0007  * Copyright (C) 2016 Glider bvba
0008  */
0009 
0010 #include <linux/bits.h>
0011 #include <linux/kernel.h>
0012 
0013 #include <dt-bindings/power/r8a77965-sysc.h>
0014 
0015 #include "rcar-sysc.h"
0016 
0017 static const struct rcar_sysc_area r8a77965_areas[] __initconst = {
0018     { "always-on",      0, 0, R8A77965_PD_ALWAYS_ON, -1, PD_ALWAYS_ON },
0019     { "ca57-scu",   0x1c0, 0, R8A77965_PD_CA57_SCU, R8A77965_PD_ALWAYS_ON,
0020       PD_SCU },
0021     { "ca57-cpu0",   0x80, 0, R8A77965_PD_CA57_CPU0, R8A77965_PD_CA57_SCU,
0022       PD_CPU_NOCR },
0023     { "ca57-cpu1",   0x80, 1, R8A77965_PD_CA57_CPU1, R8A77965_PD_CA57_SCU,
0024       PD_CPU_NOCR },
0025     { "cr7",    0x240, 0, R8A77965_PD_CR7,  R8A77965_PD_ALWAYS_ON },
0026     { "a3vc",   0x380, 0, R8A77965_PD_A3VC, R8A77965_PD_ALWAYS_ON },
0027     { "a3vp",   0x340, 0, R8A77965_PD_A3VP, R8A77965_PD_ALWAYS_ON },
0028     { "a2vc1",  0x3c0, 1, R8A77965_PD_A2VC1,    R8A77965_PD_A3VC },
0029     { "3dg-a",  0x100, 0, R8A77965_PD_3DG_A,    R8A77965_PD_ALWAYS_ON },
0030     { "3dg-b",  0x100, 1, R8A77965_PD_3DG_B,    R8A77965_PD_3DG_A },
0031 };
0032 
0033 const struct rcar_sysc_info r8a77965_sysc_info __initconst = {
0034     .areas = r8a77965_areas,
0035     .num_areas = ARRAY_SIZE(r8a77965_areas),
0036     .extmask_offs = 0x2f8,
0037     .extmask_val = BIT(0),
0038 };