108b167e9SHaojian Zhuang /* 208b167e9SHaojian Zhuang * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 308b167e9SHaojian Zhuang * 408b167e9SHaojian Zhuang * SPDX-License-Identifier: BSD-3-Clause 508b167e9SHaojian Zhuang */ 608b167e9SHaojian Zhuang 7*c3cf06f1SAntonio Nino Diaz #ifndef HI6220_REGS_ACPU_H 8*c3cf06f1SAntonio Nino Diaz #define HI6220_REGS_ACPU_H 908b167e9SHaojian Zhuang 1008b167e9SHaojian Zhuang #define ACPU_CTRL_BASE 0xF6504000 1108b167e9SHaojian Zhuang 1208b167e9SHaojian Zhuang #define ACPU_SC_CPU_CTRL (ACPU_CTRL_BASE + 0x000) 1308b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT (ACPU_CTRL_BASE + 0x008) 1408b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFIL2 (1 << 0) 1508b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFIL2_SHIFT (0) 1608b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI0 (1 << 1) 1708b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI0_SHIFT (1) 1808b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI1 (1 << 2) 1908b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI1_SHIFT (2) 2008b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI2 (1 << 3) 2108b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI2_SHIFT (3) 2208b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI3 (1 << 4) 2308b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_SC_STANDBYWFI3_SHIFT (4) 2408b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_A53_1_STANDBYWFIL2 (1 << 8) 2508b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_A53_1_STANDBYWFIL2_SHIFT (8) 2608b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_A53_1_STANDBYWFI (1 << 9) 2708b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_A53_1_STANDBYWFI_SHIFT (9) 2808b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_L2FLSHUDONE0 (1 << 16) 2908b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_L2FLSHUDONE0_SHIFT (16) 3008b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_L2FLSHUDONE1 (1 << 17) 3108b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_L2FLSHUDONE1_SHIFT (17) 3208b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CCI400_ACTIVE (1 << 18) 3308b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CCI400_ACTIVE_SHIFT (18) 3408b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CLK_DIV_STATUS_VD (1 << 20) 3508b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CLK_DIV_STATUS_VD_SHIFT (20) 3608b167e9SHaojian Zhuang 3708b167e9SHaojian Zhuang #define ACPU_SC_CLKEN (ACPU_CTRL_BASE + 0x00c) 3808b167e9SHaojian Zhuang #define HPM_L2_1_CLKEN (1 << 9) 3908b167e9SHaojian Zhuang #define G_CPU_1_CLKEN (1 << 8) 4008b167e9SHaojian Zhuang #define HPM_L2_CLKEN (1 << 1) 4108b167e9SHaojian Zhuang #define G_CPU_CLKEN (1 << 0) 4208b167e9SHaojian Zhuang 4308b167e9SHaojian Zhuang #define ACPU_SC_CLKDIS (ACPU_CTRL_BASE + 0x010) 4408b167e9SHaojian Zhuang #define ACPU_SC_CLK_STAT (ACPU_CTRL_BASE + 0x014) 4508b167e9SHaojian Zhuang #define ACPU_SC_RSTEN (ACPU_CTRL_BASE + 0x018) 4608b167e9SHaojian Zhuang #define SRST_PRESET1_RSTEN (1 << 11) 4708b167e9SHaojian Zhuang #define SRST_PRESET0_RSTEN (1 << 10) 4808b167e9SHaojian Zhuang #define SRST_CLUSTER1_RSTEN (1 << 9) 4908b167e9SHaojian Zhuang #define SRST_CLUSTER0_RSTEN (1 << 8) 5008b167e9SHaojian Zhuang #define SRST_L2_HPM_1_RSTEN (1 << 5) 5108b167e9SHaojian Zhuang #define SRST_AARM_L2_1_RSTEN (1 << 4) 5208b167e9SHaojian Zhuang #define SRST_L2_HPM_0_RSTEN (1 << 3) 5308b167e9SHaojian Zhuang #define SRST_AARM_L2_0_RSTEN (1 << 1) 5408b167e9SHaojian Zhuang #define SRST_CLUSTER1 (SRST_PRESET1_RSTEN | \ 5508b167e9SHaojian Zhuang SRST_CLUSTER1_RSTEN | \ 5608b167e9SHaojian Zhuang SRST_L2_HPM_1_RSTEN | \ 5708b167e9SHaojian Zhuang SRST_AARM_L2_1_RSTEN) 5808b167e9SHaojian Zhuang #define SRST_CLUSTER0 (SRST_PRESET0_RSTEN | \ 5908b167e9SHaojian Zhuang SRST_CLUSTER0_RSTEN | \ 6008b167e9SHaojian Zhuang SRST_L2_HPM_0_RSTEN | \ 6108b167e9SHaojian Zhuang SRST_AARM_L2_0_RSTEN) 6208b167e9SHaojian Zhuang 6308b167e9SHaojian Zhuang #define ACPU_SC_RSTDIS (ACPU_CTRL_BASE + 0x01c) 6408b167e9SHaojian Zhuang #define ACPU_SC_RST_STAT (ACPU_CTRL_BASE + 0x020) 6508b167e9SHaojian Zhuang #define ACPU_SC_PDBGUP_MBIST (ACPU_CTRL_BASE + 0x02c) 6608b167e9SHaojian Zhuang #define PDBGUP_CLUSTER1_SHIFT 8 6708b167e9SHaojian Zhuang 6808b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL (ACPU_CTRL_BASE + 0x054) 6908b167e9SHaojian Zhuang #define ACPU_SC_VD_MASK_PATTERN_CTRL (ACPU_CTRL_BASE + 0x058) 7008b167e9SHaojian Zhuang #define ACPU_SC_VD_MASK_PATTERN_VAL (0xCCB << 12) 7108b167e9SHaojian Zhuang #define ACPU_SC_VD_MASK_PATTERN_MASK ((0x1 << 13) - 1) 7208b167e9SHaojian Zhuang 7308b167e9SHaojian Zhuang #define ACPU_SC_VD_DLY_FIXED_CTRL (ACPU_CTRL_BASE + 0x05c) 7408b167e9SHaojian Zhuang #define ACPU_SC_VD_DLY_TABLE0_CTRL (ACPU_CTRL_BASE + 0x060) 7508b167e9SHaojian Zhuang #define ACPU_SC_VD_DLY_TABLE1_CTRL (ACPU_CTRL_BASE + 0x064) 7608b167e9SHaojian Zhuang #define ACPU_SC_VD_DLY_TABLE2_CTRL (ACPU_CTRL_BASE + 0x068) 7708b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL (ACPU_CTRL_BASE + 0x06c) 7808b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_MTCMOS_EN (ACPU_CTRL_BASE + 0x088) 7908b167e9SHaojian Zhuang #define PW_MTCMOS_EN_A53_1_EN (1 << 1) 8008b167e9SHaojian Zhuang #define PW_MTCMOS_EN_A53_0_EN (1 << 0) 8108b167e9SHaojian Zhuang 8208b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_MTCMOS_STA (ACPU_CTRL_BASE + 0x090) 8308b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_ISO_EN (ACPU_CTRL_BASE + 0x098) 8408b167e9SHaojian Zhuang #define PW_ISO_A53_1_EN (1 << 1) 8508b167e9SHaojian Zhuang #define PW_ISO_A53_0_EN (1 << 0) 8608b167e9SHaojian Zhuang 8708b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_ISO_DIS (ACPU_CTRL_BASE + 0x09c) 8808b167e9SHaojian Zhuang #define ACPU_SC_A53_CLUSTER_ISO_STA (ACPU_CTRL_BASE + 0x0a0) 8908b167e9SHaojian Zhuang #define ACPU_SC_A53_1_MTCMOS_TIMER (ACPU_CTRL_BASE + 0x0b4) 9008b167e9SHaojian Zhuang #define ACPU_SC_A53_0_MTCMOS_TIMER (ACPU_CTRL_BASE + 0x0bc) 9108b167e9SHaojian Zhuang #define ACPU_SC_A53_x_MTCMOS_TIMER(x) ((x) ? ACPU_SC_A53_1_MTCMOS_TIMER : ACPU_SC_A53_0_MTCMOS_TIMER) 9208b167e9SHaojian Zhuang 9308b167e9SHaojian Zhuang #define ACPU_SC_SNOOP_PWD (ACPU_CTRL_BASE + 0xe4) 9408b167e9SHaojian Zhuang #define PD_DETECT_START1 (1 << 16) 9508b167e9SHaojian Zhuang #define PD_DETECT_START0 (1 << 0) 9608b167e9SHaojian Zhuang 9708b167e9SHaojian Zhuang #define ACPU_SC_CPU0_CTRL (ACPU_CTRL_BASE + 0x100) 9808b167e9SHaojian Zhuang #define CPU_CTRL_AARCH64_MODE (1 << 7) 9908b167e9SHaojian Zhuang 10008b167e9SHaojian Zhuang #define ACPU_SC_CPU0_STAT (ACPU_CTRL_BASE + 0x104) 10108b167e9SHaojian Zhuang #define ACPU_SC_CPU0_CLKEN (ACPU_CTRL_BASE + 0x108) 10208b167e9SHaojian Zhuang #define CPU_CLKEN_HPM (1 << 1) 10308b167e9SHaojian Zhuang 10408b167e9SHaojian Zhuang #define ACPU_SC_CPU0_CLK_STAT (ACPU_CTRL_BASE + 0x110) 10508b167e9SHaojian Zhuang 10608b167e9SHaojian Zhuang #define ACPU_SC_CPU0_RSTEN (ACPU_CTRL_BASE + 0x114) 10708b167e9SHaojian Zhuang #define ACPU_SC_CPU0_RSTDIS (ACPU_CTRL_BASE + 0x118) 10808b167e9SHaojian Zhuang #define ACPU_SC_CPU0_MTCMOS_EN (ACPU_CTRL_BASE + 0x120) 10908b167e9SHaojian Zhuang #define CPU_MTCMOS_PW (1 << 0) 11008b167e9SHaojian Zhuang 11108b167e9SHaojian Zhuang #define ACPU_SC_CPU0_PW_ISOEN (ACPU_CTRL_BASE + 0x130) 11208b167e9SHaojian Zhuang #define CPU_PW_ISO (1 << 0) 11308b167e9SHaojian Zhuang 11408b167e9SHaojian Zhuang #define ACPU_SC_CPU0_PW_ISODIS (ACPU_CTRL_BASE + 0x134) 11508b167e9SHaojian Zhuang #define ACPU_SC_CPU0_PW_ISO_STAT (ACPU_CTRL_BASE + 0x138) 11608b167e9SHaojian Zhuang #define ACPU_SC_CPU0_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x154) 11708b167e9SHaojian Zhuang #define CPU_MTCMOS_TIMER_STA (1 << 0) 11808b167e9SHaojian Zhuang 11908b167e9SHaojian Zhuang #define ACPU_SC_CPU0_RVBARADDR (ACPU_CTRL_BASE + 0x158) 12008b167e9SHaojian Zhuang #define ACPU_SC_CPU1_CTRL (ACPU_CTRL_BASE + 0x200) 12108b167e9SHaojian Zhuang #define ACPU_SC_CPU1_STAT (ACPU_CTRL_BASE + 0x204) 12208b167e9SHaojian Zhuang #define ACPU_SC_CPU1_CLKEN (ACPU_CTRL_BASE + 0x208) 12308b167e9SHaojian Zhuang #define ACPU_SC_CPU1_CLK_STAT (ACPU_CTRL_BASE + 0x210) 12408b167e9SHaojian Zhuang #define ACPU_SC_CPU1_RSTEN (ACPU_CTRL_BASE + 0x214) 12508b167e9SHaojian Zhuang #define ACPU_SC_CPU1_RSTDIS (ACPU_CTRL_BASE + 0x218) 12608b167e9SHaojian Zhuang #define ACPU_SC_CPU1_MTCMOS_EN (ACPU_CTRL_BASE + 0x220) 12708b167e9SHaojian Zhuang #define ACPU_SC_CPU1_PW_ISODIS (ACPU_CTRL_BASE + 0x234) 12808b167e9SHaojian Zhuang #define ACPU_SC_CPU1_PW_ISO_STAT (ACPU_CTRL_BASE + 0x238) 12908b167e9SHaojian Zhuang #define ACPU_SC_CPU1_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x254) 13008b167e9SHaojian Zhuang #define ACPU_SC_CPU1_RVBARADDR (ACPU_CTRL_BASE + 0x258) 13108b167e9SHaojian Zhuang #define ACPU_SC_CPU2_CTRL (ACPU_CTRL_BASE + 0x300) 13208b167e9SHaojian Zhuang #define ACPU_SC_CPU2_STAT (ACPU_CTRL_BASE + 0x304) 13308b167e9SHaojian Zhuang #define ACPU_SC_CPU2_CLKEN (ACPU_CTRL_BASE + 0x308) 13408b167e9SHaojian Zhuang #define ACPU_SC_CPU2_CLK_STAT (ACPU_CTRL_BASE + 0x310) 13508b167e9SHaojian Zhuang #define ACPU_SC_CPU2_RSTEN (ACPU_CTRL_BASE + 0x314) 13608b167e9SHaojian Zhuang #define ACPU_SC_CPU2_RSTDIS (ACPU_CTRL_BASE + 0x318) 13708b167e9SHaojian Zhuang #define ACPU_SC_CPU2_MTCMOS_EN (ACPU_CTRL_BASE + 0x320) 13808b167e9SHaojian Zhuang #define ACPU_SC_CPU2_PW_ISODIS (ACPU_CTRL_BASE + 0x334) 13908b167e9SHaojian Zhuang #define ACPU_SC_CPU2_PW_ISO_STAT (ACPU_CTRL_BASE + 0x338) 14008b167e9SHaojian Zhuang #define ACPU_SC_CPU2_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x354) 14108b167e9SHaojian Zhuang #define ACPU_SC_CPU2_RVBARADDR (ACPU_CTRL_BASE + 0x358) 14208b167e9SHaojian Zhuang #define ACPU_SC_CPU3_CTRL (ACPU_CTRL_BASE + 0x400) 14308b167e9SHaojian Zhuang #define ACPU_SC_CPU3_STAT (ACPU_CTRL_BASE + 0x404) 14408b167e9SHaojian Zhuang #define ACPU_SC_CPU3_CLKEN (ACPU_CTRL_BASE + 0x408) 14508b167e9SHaojian Zhuang #define ACPU_SC_CPU3_CLK_STAT (ACPU_CTRL_BASE + 0x410) 14608b167e9SHaojian Zhuang #define ACPU_SC_CPU3_RSTEN (ACPU_CTRL_BASE + 0x414) 14708b167e9SHaojian Zhuang #define ACPU_SC_CPU3_RSTDIS (ACPU_CTRL_BASE + 0x418) 14808b167e9SHaojian Zhuang #define ACPU_SC_CPU3_MTCMOS_EN (ACPU_CTRL_BASE + 0x420) 14908b167e9SHaojian Zhuang #define ACPU_SC_CPU3_PW_ISODIS (ACPU_CTRL_BASE + 0x434) 15008b167e9SHaojian Zhuang #define ACPU_SC_CPU3_PW_ISO_STAT (ACPU_CTRL_BASE + 0x438) 15108b167e9SHaojian Zhuang #define ACPU_SC_CPU3_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x454) 15208b167e9SHaojian Zhuang #define ACPU_SC_CPU3_RVBARADDR (ACPU_CTRL_BASE + 0x458) 15308b167e9SHaojian Zhuang #define ACPU_SC_CPU4_CTRL (ACPU_CTRL_BASE + 0x500) 15408b167e9SHaojian Zhuang #define ACPU_SC_CPU4_STAT (ACPU_CTRL_BASE + 0x504) 15508b167e9SHaojian Zhuang #define ACPU_SC_CPU4_CLKEN (ACPU_CTRL_BASE + 0x508) 15608b167e9SHaojian Zhuang #define ACPU_SC_CPU4_CLK_STAT (ACPU_CTRL_BASE + 0x510) 15708b167e9SHaojian Zhuang #define ACPU_SC_CPU4_RSTEN (ACPU_CTRL_BASE + 0x514) 15808b167e9SHaojian Zhuang #define ACPU_SC_CPU4_RSTDIS (ACPU_CTRL_BASE + 0x518) 15908b167e9SHaojian Zhuang #define ACPU_SC_CPU4_MTCMOS_EN (ACPU_CTRL_BASE + 0x520) 16008b167e9SHaojian Zhuang #define ACPU_SC_CPU4_PW_ISODIS (ACPU_CTRL_BASE + 0x534) 16108b167e9SHaojian Zhuang #define ACPU_SC_CPU4_PW_ISO_STAT (ACPU_CTRL_BASE + 0x538) 16208b167e9SHaojian Zhuang #define ACPU_SC_CPU4_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x554) 16308b167e9SHaojian Zhuang #define ACPU_SC_CPU4_RVBARADDR (ACPU_CTRL_BASE + 0x558) 16408b167e9SHaojian Zhuang #define ACPU_SC_CPU5_CTRL (ACPU_CTRL_BASE + 0x600) 16508b167e9SHaojian Zhuang #define ACPU_SC_CPU5_STAT (ACPU_CTRL_BASE + 0x604) 16608b167e9SHaojian Zhuang #define ACPU_SC_CPU5_CLKEN (ACPU_CTRL_BASE + 0x608) 16708b167e9SHaojian Zhuang #define ACPU_SC_CPU5_CLK_STAT (ACPU_CTRL_BASE + 0x610) 16808b167e9SHaojian Zhuang #define ACPU_SC_CPU5_RSTEN (ACPU_CTRL_BASE + 0x614) 16908b167e9SHaojian Zhuang #define ACPU_SC_CPU5_RSTDIS (ACPU_CTRL_BASE + 0x618) 17008b167e9SHaojian Zhuang #define ACPU_SC_CPU5_MTCMOS_EN (ACPU_CTRL_BASE + 0x620) 17108b167e9SHaojian Zhuang #define ACPU_SC_CPU5_PW_ISODIS (ACPU_CTRL_BASE + 0x634) 17208b167e9SHaojian Zhuang #define ACPU_SC_CPU5_PW_ISO_STAT (ACPU_CTRL_BASE + 0x638) 17308b167e9SHaojian Zhuang #define ACPU_SC_CPU5_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x654) 17408b167e9SHaojian Zhuang #define ACPU_SC_CPU5_RVBARADDR (ACPU_CTRL_BASE + 0x658) 17508b167e9SHaojian Zhuang #define ACPU_SC_CPU6_CTRL (ACPU_CTRL_BASE + 0x700) 17608b167e9SHaojian Zhuang #define ACPU_SC_CPU6_STAT (ACPU_CTRL_BASE + 0x704) 17708b167e9SHaojian Zhuang #define ACPU_SC_CPU6_CLKEN (ACPU_CTRL_BASE + 0x708) 17808b167e9SHaojian Zhuang #define ACPU_SC_CPU6_CLK_STAT (ACPU_CTRL_BASE + 0x710) 17908b167e9SHaojian Zhuang #define ACPU_SC_CPU6_RSTEN (ACPU_CTRL_BASE + 0x714) 18008b167e9SHaojian Zhuang #define ACPU_SC_CPU6_RSTDIS (ACPU_CTRL_BASE + 0x718) 18108b167e9SHaojian Zhuang #define ACPU_SC_CPU6_MTCMOS_EN (ACPU_CTRL_BASE + 0x720) 18208b167e9SHaojian Zhuang #define ACPU_SC_CPU6_PW_ISODIS (ACPU_CTRL_BASE + 0x734) 18308b167e9SHaojian Zhuang #define ACPU_SC_CPU6_PW_ISO_STAT (ACPU_CTRL_BASE + 0x738) 18408b167e9SHaojian Zhuang #define ACPU_SC_CPU6_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x754) 18508b167e9SHaojian Zhuang #define ACPU_SC_CPU6_RVBARADDR (ACPU_CTRL_BASE + 0x758) 18608b167e9SHaojian Zhuang #define ACPU_SC_CPU7_CTRL (ACPU_CTRL_BASE + 0x800) 18708b167e9SHaojian Zhuang #define ACPU_SC_CPU7_STAT (ACPU_CTRL_BASE + 0x804) 18808b167e9SHaojian Zhuang #define ACPU_SC_CPU7_CLKEN (ACPU_CTRL_BASE + 0x808) 18908b167e9SHaojian Zhuang #define ACPU_SC_CPU7_CLK_STAT (ACPU_CTRL_BASE + 0x810) 19008b167e9SHaojian Zhuang #define ACPU_SC_CPU7_RSTEN (ACPU_CTRL_BASE + 0x814) 19108b167e9SHaojian Zhuang #define ACPU_SC_CPU7_RSTDIS (ACPU_CTRL_BASE + 0x818) 19208b167e9SHaojian Zhuang #define ACPU_SC_CPU7_MTCMOS_EN (ACPU_CTRL_BASE + 0x820) 19308b167e9SHaojian Zhuang #define ACPU_SC_CPU7_PW_ISODIS (ACPU_CTRL_BASE + 0x834) 19408b167e9SHaojian Zhuang #define ACPU_SC_CPU7_PW_ISO_STAT (ACPU_CTRL_BASE + 0x838) 19508b167e9SHaojian Zhuang #define ACPU_SC_CPU7_MTCMOS_TIMER_STAT (ACPU_CTRL_BASE + 0x854) 19608b167e9SHaojian Zhuang #define ACPU_SC_CPU7_RVBARADDR (ACPU_CTRL_BASE + 0x858) 19708b167e9SHaojian Zhuang #define ACPU_SC_CPUx_CTRL(x) ((x < 8) ? (ACPU_SC_CPU0_CTRL + 0x100 * x) : ACPU_SC_CPU0_CTRL) 19808b167e9SHaojian Zhuang #define ACPU_SC_CPUx_STAT(x) ((x < 8) ? (ACPU_SC_CPU0_STAT + 0x100 * x) : ACPU_SC_CPU0_STAT) 19908b167e9SHaojian Zhuang #define ACPU_SC_CPUx_CLKEN(x) ((x < 8) ? (ACPU_SC_CPU0_CLKEN + 0x100 * x) : ACPU_SC_CPU0_CLKEN) 20008b167e9SHaojian Zhuang #define ACPU_SC_CPUx_CLK_STAT(x) ((x < 8) ? (ACPU_SC_CPU0_CLK_STAT + 0x100 * x) : ACPU_SC_CPU0_CLK_STAT) 20108b167e9SHaojian Zhuang #define ACPU_SC_CPUx_RSTEN(x) ((x < 8) ? (ACPU_SC_CPU0_RSTEN + 0x100 * x) : ACPU_SC_CPU0_RSTEN) 20208b167e9SHaojian Zhuang #define ACPU_SC_CPUx_RSTDIS(x) ((x < 8) ? (ACPU_SC_CPU0_RSTDIS + 0x100 * x) : ACPU_SC_CPU0_RSTDIS) 20308b167e9SHaojian Zhuang #define ACPU_SC_CPUx_MTCMOS_EN(x) ((x < 8) ? (ACPU_SC_CPU0_MTCMOS_EN + 0x100 * x) : ACPU_SC_CPU0_MTCMOS_EN) 20408b167e9SHaojian Zhuang #define ACPU_SC_CPUx_PW_ISODIS(x) ((x < 8) ? (ACPU_SC_CPU0_PW_ISODIS + 0x100 * x) : ACPU_SC_CPU0_PW_ISODIS) 20508b167e9SHaojian 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) 20608b167e9SHaojian 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) 20708b167e9SHaojian Zhuang #define ACPU_SC_CPUx_RVBARADDR(x) ((x < 8) ? (ACPU_SC_CPU0_RVBARADDR + 0x100 * x) : ACPU_SC_CPU0_RVBARADDR) 20808b167e9SHaojian Zhuang 20908b167e9SHaojian Zhuang #define ACPU_SC_CPU_STAT_CLKDIV_VD_MASK (3 << 20) 21008b167e9SHaojian Zhuang 21108b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_EN_DIF (1 << 0) 21208b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_EN_DIF_SHIFT (0) 21308b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE (1 << 1) 21408b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_SHIFT (1) 21508b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF (1 << 7) 21608b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF_SHIFT (7) 21708b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CALIBRATE_EN_INI (1 << 8) 21808b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CALIBRATE_EN_INI_SHIFT (8) 21908b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CLK_DIS_CNT_CLR (1 << 9) 22008b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CLK_DIS_CNT_CLR_SHIFT (9) 22108b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN (1 << 10) 22208b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN_SHIFT (10) 22308b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_EN_INT (1 << 11) 22408b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_TUNE_EN_INT_SHIFT (11) 22508b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE0 (1 << 12) 22608b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE0_MASK (0xf << 12) 22708b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE0_SHIFT (12) 22808b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE1 (1 << 16) 22908b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE1_MASK (0xf << 16) 23008b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE1_SHIFT (16) 23108b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE2 (1 << 20) 23208b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE2_MASK (0xf << 20) 23308b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE2_SHIFT (20) 23408b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE3 (1 << 24) 23508b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE3_MASK (0xf << 24) 23608b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_SHIFT_TABLE3_SHIFT (24) 23708b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_FORCE_CLK_EN (1 << 28) 23808b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_FORCE_CLK_EN_SHIFT (28) 23908b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_DIV_EN_DIF (1 << 29) 24008b167e9SHaojian Zhuang #define ACPU_SC_VD_CTRL_DIV_EN_DIF_SHIFT (29) 24108b167e9SHaojian Zhuang 24208b167e9SHaojian Zhuang #define ACPU_SC_VD_SHIFT_TABLE_TUNE_VAL \ 24308b167e9SHaojian Zhuang ((0x1 << ACPU_SC_VD_CTRL_SHIFT_TABLE0_SHIFT) | \ 24408b167e9SHaojian Zhuang (0x3 << ACPU_SC_VD_CTRL_SHIFT_TABLE1_SHIFT) | \ 24508b167e9SHaojian Zhuang (0x5 << ACPU_SC_VD_CTRL_SHIFT_TABLE2_SHIFT) | \ 24608b167e9SHaojian Zhuang (0x6 << ACPU_SC_VD_CTRL_SHIFT_TABLE3_SHIFT) | \ 24708b167e9SHaojian Zhuang (0x7 << ACPU_SC_VD_CTRL_TUNE_SHIFT)) 24808b167e9SHaojian Zhuang 24908b167e9SHaojian Zhuang #define ACPU_SC_VD_SHIFT_TABLE_TUNE_MASK \ 25008b167e9SHaojian Zhuang ((0xF << ACPU_SC_VD_CTRL_SHIFT_TABLE0_SHIFT) | \ 25108b167e9SHaojian Zhuang (0xF << ACPU_SC_VD_CTRL_SHIFT_TABLE1_SHIFT) | \ 25208b167e9SHaojian Zhuang (0xF << ACPU_SC_VD_CTRL_SHIFT_TABLE2_SHIFT) | \ 25308b167e9SHaojian Zhuang (0xF << ACPU_SC_VD_CTRL_SHIFT_TABLE3_SHIFT) | \ 25408b167e9SHaojian Zhuang (0x3F << ACPU_SC_VD_CTRL_TUNE_SHIFT)) 25508b167e9SHaojian Zhuang 25608b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_OSC_DIV (1 << 0) 25708b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_OSC_DIV_SHIFT (0) 25808b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_OSC_DIV_MASK (0x000000FF) 25908b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_DLY_EXP (1 << 8) 26008b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_DLY_EXP_SHIFT (8) 26108b167e9SHaojian Zhuang #define ACPU_SC_VD_HPM_CTRL_DLY_EXP_MASK (0x001FFF00) 26208b167e9SHaojian Zhuang 26308b167e9SHaojian Zhuang #define HPM_OSC_DIV_VAL \ 26408b167e9SHaojian Zhuang (0x56 << ACPU_SC_VD_HPM_CTRL_OSC_DIV_SHIFT) 26508b167e9SHaojian Zhuang #define HPM_OSC_DIV_MASK \ 26608b167e9SHaojian Zhuang (ACPU_SC_VD_HPM_CTRL_OSC_DIV_MASK) 26708b167e9SHaojian Zhuang 26808b167e9SHaojian Zhuang #define HPM_DLY_EXP_VAL \ 26908b167e9SHaojian Zhuang (0xC7A << ACPU_SC_VD_HPM_CTRL_DLY_EXP_SHIFT) 27008b167e9SHaojian Zhuang #define HPM_DLY_EXP_MASK \ 27108b167e9SHaojian Zhuang (ACPU_SC_VD_HPM_CTRL_DLY_EXP_MASK) 27208b167e9SHaojian Zhuang 27308b167e9SHaojian Zhuang #define ACPU_SC_VD_EN_ASIC_VAL \ 27408b167e9SHaojian Zhuang ((0x0 << ACPU_SC_VD_CTRL_FORCE_CLK_EN_SHIFT) | \ 27508b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN_SHIFT) | \ 27608b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CALIBRATE_EN_INI_SHIFT) | \ 27708b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF_SHIFT) | \ 27808b167e9SHaojian Zhuang (0X0 << ACPU_SC_VD_CTRL_DIV_EN_DIF_SHIFT) | \ 27908b167e9SHaojian Zhuang (0X0 << ACPU_SC_VD_CTRL_TUNE_EN_INT_SHIFT) | \ 28008b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_TUNE_EN_DIF_SHIFT)) 28108b167e9SHaojian Zhuang 28208b167e9SHaojian Zhuang #define ACPU_SC_VD_EN_SFT_VAL \ 28308b167e9SHaojian Zhuang ((0x0 << ACPU_SC_VD_CTRL_FORCE_CLK_EN_SHIFT) | \ 28408b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN_SHIFT) | \ 28508b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CALIBRATE_EN_INI_SHIFT) | \ 28608b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF_SHIFT) | \ 28708b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_DIV_EN_DIF_SHIFT) | \ 28808b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_TUNE_EN_INT_SHIFT) | \ 28908b167e9SHaojian Zhuang (0x0 << ACPU_SC_VD_CTRL_TUNE_EN_DIF_SHIFT)) 29008b167e9SHaojian Zhuang 29108b167e9SHaojian Zhuang #define ACPU_SC_VD_EN_MASK \ 29208b167e9SHaojian Zhuang ((0x1 << ACPU_SC_VD_CTRL_FORCE_CLK_EN_SHIFT) | \ 29308b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_CLK_DIS_CNT_EN_SHIFT) | \ 29408b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_CALIBRATE_EN_INI_SHIFT) | \ 29508b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_CALIBRATE_EN_DIF_SHIFT) | \ 29608b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_DIV_EN_DIF_SHIFT) | \ 29708b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_TUNE_EN_INT_SHIFT) | \ 29808b167e9SHaojian Zhuang (0x1 << ACPU_SC_VD_CTRL_TUNE_EN_DIF_SHIFT)) 29908b167e9SHaojian Zhuang 300*c3cf06f1SAntonio Nino Diaz #endif /* HI6220_REGS_ACPU_H */ 301