1*08b167e9SHaojian Zhuang /* 2*08b167e9SHaojian Zhuang * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 3*08b167e9SHaojian Zhuang * 4*08b167e9SHaojian Zhuang * SPDX-License-Identifier: BSD-3-Clause 5*08b167e9SHaojian Zhuang */ 6*08b167e9SHaojian Zhuang 7*08b167e9SHaojian Zhuang #ifndef __HI6220_REGS_ACPU_H__ 8*08b167e9SHaojian Zhuang #define __HI6220_REGS_ACPU_H__ 9*08b167e9SHaojian Zhuang 10*08b167e9SHaojian Zhuang #define ACPU_CTRL_BASE 0xF6504000 11*08b167e9SHaojian Zhuang 12*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_CTRL (ACPU_CTRL_BASE + 0x000) 13*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT (ACPU_CTRL_BASE + 0x008) 14*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFIL2 (1 << 0) 15*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFIL2_SHIFT (0) 16*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI0 (1 << 1) 17*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI0_SHIFT (1) 18*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI1 (1 << 2) 19*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI1_SHIFT (2) 20*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI2 (1 << 3) 21*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI2_SHIFT (3) 22*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI3 (1 << 4) 23*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI3_SHIFT (4) 24*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_A53_1_STANDBYWFIL2 (1 << 8) 25*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_A53_1_STANDBYWFIL2_SHIFT (8) 26*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_A53_1_STANDBYWFI (1 << 9) 27*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_A53_1_STANDBYWFI_SHIFT (9) 28*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_L2FLSHUDONE0 (1 << 16) 29*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_L2FLSHUDONE0_SHIFT (16) 30*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_L2FLSHUDONE1 (1 << 17) 31*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_L2FLSHUDONE1_SHIFT (17) 32*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CCI400_ACTIVE (1 << 18) 33*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CCI400_ACTIVE_SHIFT (18) 34*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CLK_DIV_STATUS_VD (1 << 20) 35*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CLK_DIV_STATUS_VD_SHIFT (20) 36*08b167e9SHaojian Zhuang 37*08b167e9SHaojian Zhuang #define ACPU_SC_CLKEN (ACPU_CTRL_BASE + 0x00c) 38*08b167e9SHaojian Zhuang #define HPM_L2_1_CLKEN (1 << 9) 39*08b167e9SHaojian Zhuang #define G_CPU_1_CLKEN (1 << 8) 40*08b167e9SHaojian Zhuang #define HPM_L2_CLKEN (1 << 1) 41*08b167e9SHaojian Zhuang #define G_CPU_CLKEN (1 << 0) 42*08b167e9SHaojian Zhuang 43*08b167e9SHaojian Zhuang #define ACPU_SC_CLKDIS (ACPU_CTRL_BASE + 0x010) 44*08b167e9SHaojian Zhuang #define ACPU_SC_CLK_STAT (ACPU_CTRL_BASE + 0x014) 45*08b167e9SHaojian Zhuang #define ACPU_SC_RSTEN (ACPU_CTRL_BASE + 0x018) 46*08b167e9SHaojian Zhuang #define SRST_PRESET1_RSTEN (1 << 11) 47*08b167e9SHaojian Zhuang #define SRST_PRESET0_RSTEN (1 << 10) 48*08b167e9SHaojian Zhuang #define SRST_CLUSTER1_RSTEN (1 << 9) 49*08b167e9SHaojian Zhuang #define SRST_CLUSTER0_RSTEN (1 << 8) 50*08b167e9SHaojian Zhuang #define SRST_L2_HPM_1_RSTEN (1 << 5) 51*08b167e9SHaojian Zhuang #define SRST_AARM_L2_1_RSTEN (1 << 4) 52*08b167e9SHaojian Zhuang #define SRST_L2_HPM_0_RSTEN (1 << 3) 53*08b167e9SHaojian Zhuang #define SRST_AARM_L2_0_RSTEN (1 << 1) 54*08b167e9SHaojian Zhuang #define SRST_CLUSTER1 (SRST_PRESET1_RSTEN | \ 55*08b167e9SHaojian Zhuang SRST_CLUSTER1_RSTEN | \ 56*08b167e9SHaojian Zhuang SRST_L2_HPM_1_RSTEN | \ 57*08b167e9SHaojian Zhuang SRST_AARM_L2_1_RSTEN) 58*08b167e9SHaojian Zhuang #define SRST_CLUSTER0 (SRST_PRESET0_RSTEN | \ 59*08b167e9SHaojian Zhuang SRST_CLUSTER0_RSTEN | \ 60*08b167e9SHaojian Zhuang SRST_L2_HPM_0_RSTEN | \ 61*08b167e9SHaojian Zhuang SRST_AARM_L2_0_RSTEN) 62*08b167e9SHaojian Zhuang 63*08b167e9SHaojian Zhuang #define ACPU_SC_RSTDIS (ACPU_CTRL_BASE + 0x01c) 64*08b167e9SHaojian Zhuang #define ACPU_SC_RST_STAT (ACPU_CTRL_BASE + 0x020) 65*08b167e9SHaojian Zhuang #define ACPU_SC_PDBGUP_MBIST (ACPU_CTRL_BASE + 0x02c) 66*08b167e9SHaojian Zhuang #define PDBGUP_CLUSTER1_SHIFT 8 67*08b167e9SHaojian Zhuang 68*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL (ACPU_CTRL_BASE + 0x054) 69*08b167e9SHaojian Zhuang #define ACPU_SC_VD_MASK_PATTERN_CTRL (ACPU_CTRL_BASE + 0x058) 70*08b167e9SHaojian Zhuang #define ACPU_SC_VD_MASK_PATTERN_VAL (0xCCB << 12) 71*08b167e9SHaojian Zhuang #define ACPU_SC_VD_MASK_PATTERN_MASK ((0x1 << 13) - 1) 72*08b167e9SHaojian Zhuang 73*08b167e9SHaojian Zhuang #define ACPU_SC_VD_DLY_FIXED_CTRL (ACPU_CTRL_BASE + 0x05c) 74*08b167e9SHaojian Zhuang #define ACPU_SC_VD_DLY_TABLE0_CTRL (ACPU_CTRL_BASE + 0x060) 75*08b167e9SHaojian Zhuang #define ACPU_SC_VD_DLY_TABLE1_CTRL (ACPU_CTRL_BASE + 0x064) 76*08b167e9SHaojian Zhuang #define ACPU_SC_VD_DLY_TABLE2_CTRL (ACPU_CTRL_BASE + 0x068) 77*08b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL (ACPU_CTRL_BASE + 0x06c) 78*08b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_MTCMOS_EN (ACPU_CTRL_BASE + 0x088) 79*08b167e9SHaojian Zhuang #define PW_MTCMOS_EN_A53_1_EN (1 << 1) 80*08b167e9SHaojian Zhuang #define PW_MTCMOS_EN_A53_0_EN (1 << 0) 81*08b167e9SHaojian Zhuang 82*08b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_MTCMOS_STA (ACPU_CTRL_BASE + 0x090) 83*08b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_ISO_EN (ACPU_CTRL_BASE + 0x098) 84*08b167e9SHaojian Zhuang #define PW_ISO_A53_1_EN (1 << 1) 85*08b167e9SHaojian Zhuang #define PW_ISO_A53_0_EN (1 << 0) 86*08b167e9SHaojian Zhuang 87*08b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_ISO_DIS (ACPU_CTRL_BASE + 0x09c) 88*08b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_ISO_STA (ACPU_CTRL_BASE + 0x0a0) 89*08b167e9SHaojian Zhuang #define ACPU_SC_A53_1_MTCMOS_TIMER (ACPU_CTRL_BASE + 0x0b4) 90*08b167e9SHaojian Zhuang #define ACPU_SC_A53_0_MTCMOS_TIMER (ACPU_CTRL_BASE + 0x0bc) 91*08b167e9SHaojian Zhuang #define ACPU_SC_A53_x_MTCMOS_TIMER(x) ((x) ? ACPU_SC_A53_1_MTCMOS_TIMER : ACPU_SC_A53_0_MTCMOS_TIMER) 92*08b167e9SHaojian Zhuang 93*08b167e9SHaojian Zhuang #define ACPU_SC_SNOOP_PWD (ACPU_CTRL_BASE + 0xe4) 94*08b167e9SHaojian Zhuang #define PD_DETECT_START1 (1 << 16) 95*08b167e9SHaojian Zhuang #define PD_DETECT_START0 (1 << 0) 96*08b167e9SHaojian Zhuang 97*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_CTRL (ACPU_CTRL_BASE + 0x100) 98*08b167e9SHaojian Zhuang #define CPU_CTRL_AARCH64_MODE (1 << 7) 99*08b167e9SHaojian Zhuang 100*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_STAT (ACPU_CTRL_BASE + 0x104) 101*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_CLKEN (ACPU_CTRL_BASE + 0x108) 102*08b167e9SHaojian Zhuang #define CPU_CLKEN_HPM (1 << 1) 103*08b167e9SHaojian Zhuang 104*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_CLK_STAT (ACPU_CTRL_BASE + 0x110) 105*08b167e9SHaojian Zhuang 106*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_RSTEN (ACPU_CTRL_BASE + 0x114) 107*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_RSTDIS (ACPU_CTRL_BASE + 0x118) 108*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_MTCMOS_EN (ACPU_CTRL_BASE + 0x120) 109*08b167e9SHaojian Zhuang #define CPU_MTCMOS_PW (1 << 0) 110*08b167e9SHaojian Zhuang 111*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_PW_ISOEN (ACPU_CTRL_BASE + 0x130) 112*08b167e9SHaojian Zhuang #define CPU_PW_ISO (1 << 0) 113*08b167e9SHaojian Zhuang 114*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_PW_ISODIS (ACPU_CTRL_BASE + 0x134) 115*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_PW_ISO_STAT (ACPU_CTRL_BASE + 0x138) 116*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x154) 117*08b167e9SHaojian Zhuang #define CPU_MTCMOS_TIMER_STA (1 << 0) 118*08b167e9SHaojian Zhuang 119*08b167e9SHaojian Zhuang #define ACPU_SC_CPU0_RVBARADDR (ACPU_CTRL_BASE + 0x158) 120*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_CTRL (ACPU_CTRL_BASE + 0x200) 121*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_STAT (ACPU_CTRL_BASE + 0x204) 122*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_CLKEN (ACPU_CTRL_BASE + 0x208) 123*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_CLK_STAT (ACPU_CTRL_BASE + 0x210) 124*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_RSTEN (ACPU_CTRL_BASE + 0x214) 125*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_RSTDIS (ACPU_CTRL_BASE + 0x218) 126*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_MTCMOS_EN (ACPU_CTRL_BASE + 0x220) 127*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_PW_ISODIS (ACPU_CTRL_BASE + 0x234) 128*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_PW_ISO_STAT (ACPU_CTRL_BASE + 0x238) 129*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x254) 130*08b167e9SHaojian Zhuang #define ACPU_SC_CPU1_RVBARADDR (ACPU_CTRL_BASE + 0x258) 131*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_CTRL (ACPU_CTRL_BASE + 0x300) 132*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_STAT (ACPU_CTRL_BASE + 0x304) 133*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_CLKEN (ACPU_CTRL_BASE + 0x308) 134*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_CLK_STAT (ACPU_CTRL_BASE + 0x310) 135*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_RSTEN (ACPU_CTRL_BASE + 0x314) 136*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_RSTDIS (ACPU_CTRL_BASE + 0x318) 137*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_MTCMOS_EN (ACPU_CTRL_BASE + 0x320) 138*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_PW_ISODIS (ACPU_CTRL_BASE + 0x334) 139*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_PW_ISO_STAT (ACPU_CTRL_BASE + 0x338) 140*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x354) 141*08b167e9SHaojian Zhuang #define ACPU_SC_CPU2_RVBARADDR (ACPU_CTRL_BASE + 0x358) 142*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_CTRL (ACPU_CTRL_BASE + 0x400) 143*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_STAT (ACPU_CTRL_BASE + 0x404) 144*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_CLKEN (ACPU_CTRL_BASE + 0x408) 145*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_CLK_STAT (ACPU_CTRL_BASE + 0x410) 146*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_RSTEN (ACPU_CTRL_BASE + 0x414) 147*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_RSTDIS (ACPU_CTRL_BASE + 0x418) 148*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_MTCMOS_EN (ACPU_CTRL_BASE + 0x420) 149*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_PW_ISODIS (ACPU_CTRL_BASE + 0x434) 150*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_PW_ISO_STAT (ACPU_CTRL_BASE + 0x438) 151*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x454) 152*08b167e9SHaojian Zhuang #define ACPU_SC_CPU3_RVBARADDR (ACPU_CTRL_BASE + 0x458) 153*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_CTRL (ACPU_CTRL_BASE + 0x500) 154*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_STAT (ACPU_CTRL_BASE + 0x504) 155*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_CLKEN (ACPU_CTRL_BASE + 0x508) 156*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_CLK_STAT (ACPU_CTRL_BASE + 0x510) 157*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_RSTEN (ACPU_CTRL_BASE + 0x514) 158*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_RSTDIS (ACPU_CTRL_BASE + 0x518) 159*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_MTCMOS_EN (ACPU_CTRL_BASE + 0x520) 160*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_PW_ISODIS (ACPU_CTRL_BASE + 0x534) 161*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_PW_ISO_STAT (ACPU_CTRL_BASE + 0x538) 162*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x554) 163*08b167e9SHaojian Zhuang #define ACPU_SC_CPU4_RVBARADDR (ACPU_CTRL_BASE + 0x558) 164*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_CTRL (ACPU_CTRL_BASE + 0x600) 165*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_STAT (ACPU_CTRL_BASE + 0x604) 166*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_CLKEN (ACPU_CTRL_BASE + 0x608) 167*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_CLK_STAT (ACPU_CTRL_BASE + 0x610) 168*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_RSTEN (ACPU_CTRL_BASE + 0x614) 169*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_RSTDIS (ACPU_CTRL_BASE + 0x618) 170*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_MTCMOS_EN (ACPU_CTRL_BASE + 0x620) 171*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_PW_ISODIS (ACPU_CTRL_BASE + 0x634) 172*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_PW_ISO_STAT (ACPU_CTRL_BASE + 0x638) 173*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x654) 174*08b167e9SHaojian Zhuang #define ACPU_SC_CPU5_RVBARADDR (ACPU_CTRL_BASE + 0x658) 175*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_CTRL (ACPU_CTRL_BASE + 0x700) 176*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_STAT (ACPU_CTRL_BASE + 0x704) 177*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_CLKEN (ACPU_CTRL_BASE + 0x708) 178*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_CLK_STAT (ACPU_CTRL_BASE + 0x710) 179*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_RSTEN (ACPU_CTRL_BASE + 0x714) 180*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_RSTDIS (ACPU_CTRL_BASE + 0x718) 181*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_MTCMOS_EN (ACPU_CTRL_BASE + 0x720) 182*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_PW_ISODIS (ACPU_CTRL_BASE + 0x734) 183*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_PW_ISO_STAT (ACPU_CTRL_BASE + 0x738) 184*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x754) 185*08b167e9SHaojian Zhuang #define ACPU_SC_CPU6_RVBARADDR (ACPU_CTRL_BASE + 0x758) 186*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_CTRL (ACPU_CTRL_BASE + 0x800) 187*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_STAT (ACPU_CTRL_BASE + 0x804) 188*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_CLKEN (ACPU_CTRL_BASE + 0x808) 189*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_CLK_STAT (ACPU_CTRL_BASE + 0x810) 190*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_RSTEN (ACPU_CTRL_BASE + 0x814) 191*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_RSTDIS (ACPU_CTRL_BASE + 0x818) 192*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_MTCMOS_EN (ACPU_CTRL_BASE + 0x820) 193*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_PW_ISODIS (ACPU_CTRL_BASE + 0x834) 194*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_PW_ISO_STAT (ACPU_CTRL_BASE + 0x838) 195*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x854) 196*08b167e9SHaojian Zhuang #define ACPU_SC_CPU7_RVBARADDR (ACPU_CTRL_BASE + 0x858) 197*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_CTRL(x) ((x < 8) ? (ACPU_SC_CPU0_CTRL + 0x100 * x) : ACPU_SC_CPU0_CTRL) 198*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_STAT(x) ((x < 8) ? (ACPU_SC_CPU0_STAT + 0x100 * x) : ACPU_SC_CPU0_STAT) 199*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_CLKEN(x) ((x < 8) ? (ACPU_SC_CPU0_CLKEN + 0x100 * x) : ACPU_SC_CPU0_CLKEN) 200*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_CLK_STAT(x) ((x < 8) ? (ACPU_SC_CPU0_CLK_STAT + 0x100 * x) : ACPU_SC_CPU0_CLK_STAT) 201*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_RSTEN(x) ((x < 8) ? (ACPU_SC_CPU0_RSTEN + 0x100 * x) : ACPU_SC_CPU0_RSTEN) 202*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_RSTDIS(x) ((x < 8) ? (ACPU_SC_CPU0_RSTDIS + 0x100 * x) : ACPU_SC_CPU0_RSTDIS) 203*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_MTCMOS_EN(x) ((x < 8) ? (ACPU_SC_CPU0_MTCMOS_EN + 0x100 * x) : ACPU_SC_CPU0_MTCMOS_EN) 204*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_PW_ISODIS(x) ((x < 8) ? (ACPU_SC_CPU0_PW_ISODIS + 0x100 * x) : ACPU_SC_CPU0_PW_ISODIS) 205*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_PW_ISO_STAT(x) ((x < 8) ? (ACPU_SC_CPU0_PW_ISO_STAT + 0x100 * x) : ACPU_SC_CPU0_PW_ISO_STAT) 206*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_MTCMOS_TIMER_STAT(x) ((x < 8) ? (ACPU_SC_CPU0_MTCMOS_TIMER_STAT + 0x100 * x) : ACPU_SC_CPU0_MTCMOS_TIMER_STAT) 207*08b167e9SHaojian Zhuang #define ACPU_SC_CPUx_RVBARADDR(x) ((x < 8) ? (ACPU_SC_CPU0_RVBARADDR + 0x100 * x) : ACPU_SC_CPU0_RVBARADDR) 208*08b167e9SHaojian Zhuang 209*08b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CLKDIV_VD_MASK (3 << 20) 210*08b167e9SHaojian Zhuang 211*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_EN_DIF (1 << 0) 212*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_EN_DIF_SHIFT (0) 213*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE (1 << 1) 214*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_SHIFT (1) 215*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF (1 << 7) 216*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF_SHIFT (7) 217*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CALIBRATE_EN_INI (1 << 8) 218*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CALIBRATE_EN_INI_SHIFT (8) 219*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CLK_DIS_CNT_CLR (1 << 9) 220*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CLK_DIS_CNT_CLR_SHIFT (9) 221*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN (1 << 10) 222*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN_SHIFT (10) 223*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_EN_INT (1 << 11) 224*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_EN_INT_SHIFT (11) 225*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE0 (1 << 12) 226*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE0_MASK (0xf << 12) 227*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE0_SHIFT (12) 228*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE1 (1 << 16) 229*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE1_MASK (0xf << 16) 230*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE1_SHIFT (16) 231*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE2 (1 << 20) 232*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE2_MASK (0xf << 20) 233*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE2_SHIFT (20) 234*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE3 (1 << 24) 235*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE3_MASK (0xf << 24) 236*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE3_SHIFT (24) 237*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_FORCE_CLK_EN (1 << 28) 238*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_FORCE_CLK_EN_SHIFT (28) 239*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_DIV_EN_DIF (1 << 29) 240*08b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_DIV_EN_DIF_SHIFT (29) 241*08b167e9SHaojian Zhuang 242*08b167e9SHaojian Zhuang #define ACPU_SC_VD_SHIFT_TABLE_TUNE_VAL \ 243*08b167e9SHaojian Zhuang ((0x1 << ACPU_SC_VD_CTRL_SHIFT_TABLE0_SHIFT) | \ 244*08b167e9SHaojian Zhuang (0x3 << ACPU_SC_VD_CTRL_SHIFT_TABLE1_SHIFT) | \ 245*08b167e9SHaojian Zhuang (0x5 << ACPU_SC_VD_CTRL_SHIFT_TABLE2_SHIFT) | \ 246*08b167e9SHaojian Zhuang (0x6 << ACPU_SC_VD_CTRL_SHIFT_TABLE3_SHIFT) | \ 247*08b167e9SHaojian Zhuang (0x7 << ACPU_SC_VD_CTRL_TUNE_SHIFT)) 248*08b167e9SHaojian Zhuang 249*08b167e9SHaojian Zhuang #define ACPU_SC_VD_SHIFT_TABLE_TUNE_MASK \ 250*08b167e9SHaojian Zhuang ((0xF << ACPU_SC_VD_CTRL_SHIFT_TABLE0_SHIFT) | \ 251*08b167e9SHaojian Zhuang (0xF << ACPU_SC_VD_CTRL_SHIFT_TABLE1_SHIFT) | \ 252*08b167e9SHaojian Zhuang (0xF << ACPU_SC_VD_CTRL_SHIFT_TABLE2_SHIFT) | \ 253*08b167e9SHaojian Zhuang (0xF << ACPU_SC_VD_CTRL_SHIFT_TABLE3_SHIFT) | \ 254*08b167e9SHaojian Zhuang (0x3F << ACPU_SC_VD_CTRL_TUNE_SHIFT)) 255*08b167e9SHaojian Zhuang 256*08b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_OSC_DIV (1 << 0) 257*08b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_OSC_DIV_SHIFT (0) 258*08b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_OSC_DIV_MASK (0x000000FF) 259*08b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_DLY_EXP (1 << 8) 260*08b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_DLY_EXP_SHIFT (8) 261*08b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_DLY_EXP_MASK (0x001FFF00) 262*08b167e9SHaojian Zhuang 263*08b167e9SHaojian Zhuang #define HPM_OSC_DIV_VAL \ 264*08b167e9SHaojian Zhuang (0x56 << ACPU_SC_VD_HPM_CTRL_OSC_DIV_SHIFT) 265*08b167e9SHaojian Zhuang #define HPM_OSC_DIV_MASK \ 266*08b167e9SHaojian Zhuang (ACPU_SC_VD_HPM_CTRL_OSC_DIV_MASK) 267*08b167e9SHaojian Zhuang 268*08b167e9SHaojian Zhuang #define HPM_DLY_EXP_VAL \ 269*08b167e9SHaojian Zhuang (0xC7A << ACPU_SC_VD_HPM_CTRL_DLY_EXP_SHIFT) 270*08b167e9SHaojian Zhuang #define HPM_DLY_EXP_MASK \ 271*08b167e9SHaojian Zhuang (ACPU_SC_VD_HPM_CTRL_DLY_EXP_MASK) 272*08b167e9SHaojian Zhuang 273*08b167e9SHaojian Zhuang #define ACPU_SC_VD_EN_ASIC_VAL \ 274*08b167e9SHaojian Zhuang ((0x0 << ACPU_SC_VD_CTRL_FORCE_CLK_EN_SHIFT) | \ 275*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN_SHIFT) | \ 276*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CALIBRATE_EN_INI_SHIFT) | \ 277*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF_SHIFT) | \ 278*08b167e9SHaojian Zhuang (0X0 << ACPU_SC_VD_CTRL_DIV_EN_DIF_SHIFT) | \ 279*08b167e9SHaojian Zhuang (0X0 << ACPU_SC_VD_CTRL_TUNE_EN_INT_SHIFT) | \ 280*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_TUNE_EN_DIF_SHIFT)) 281*08b167e9SHaojian Zhuang 282*08b167e9SHaojian Zhuang #define ACPU_SC_VD_EN_SFT_VAL \ 283*08b167e9SHaojian Zhuang ((0x0 << ACPU_SC_VD_CTRL_FORCE_CLK_EN_SHIFT) | \ 284*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN_SHIFT) | \ 285*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CALIBRATE_EN_INI_SHIFT) | \ 286*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF_SHIFT) | \ 287*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_DIV_EN_DIF_SHIFT) | \ 288*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_TUNE_EN_INT_SHIFT) | \ 289*08b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_TUNE_EN_DIF_SHIFT)) 290*08b167e9SHaojian Zhuang 291*08b167e9SHaojian Zhuang #define ACPU_SC_VD_EN_MASK \ 292*08b167e9SHaojian Zhuang ((0x1 << ACPU_SC_VD_CTRL_FORCE_CLK_EN_SHIFT) | \ 293*08b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN_SHIFT) | \ 294*08b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_CALIBRATE_EN_INI_SHIFT) | \ 295*08b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF_SHIFT) | \ 296*08b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_DIV_EN_DIF_SHIFT) | \ 297*08b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_TUNE_EN_INT_SHIFT) | \ 298*08b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_TUNE_EN_DIF_SHIFT)) 299*08b167e9SHaojian Zhuang 300*08b167e9SHaojian Zhuang #endif /* __HI6220_REGS_ACPU_H__ */ 301