1*32e9fc1aSHaojian Zhuang /* 2*32e9fc1aSHaojian Zhuang * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 3*32e9fc1aSHaojian Zhuang * 4*32e9fc1aSHaojian Zhuang * SPDX-License-Identifier: BSD-3-Clause 5*32e9fc1aSHaojian Zhuang */ 6*32e9fc1aSHaojian Zhuang 7*32e9fc1aSHaojian Zhuang #ifndef __HISI_SRAM_MAP_H__ 8*32e9fc1aSHaojian Zhuang #define __HISI_SRAM_MAP_H__ 9*32e9fc1aSHaojian Zhuang 10*32e9fc1aSHaojian Zhuang /* 11*32e9fc1aSHaojian Zhuang * SRAM Memory Region Layout 12*32e9fc1aSHaojian Zhuang * 13*32e9fc1aSHaojian Zhuang * +-----------------------+ 14*32e9fc1aSHaojian Zhuang * | Low Power Mode | 7KB 15*32e9fc1aSHaojian Zhuang * +-----------------------+ 16*32e9fc1aSHaojian Zhuang * | Secure OS | 64KB 17*32e9fc1aSHaojian Zhuang * +-----------------------+ 18*32e9fc1aSHaojian Zhuang * | Software Flag | 1KB 19*32e9fc1aSHaojian Zhuang * +-----------------------+ 20*32e9fc1aSHaojian Zhuang * 21*32e9fc1aSHaojian Zhuang */ 22*32e9fc1aSHaojian Zhuang 23*32e9fc1aSHaojian Zhuang #define SOC_SRAM_OFF_BASE_ADDR (0xFFF80000) 24*32e9fc1aSHaojian Zhuang 25*32e9fc1aSHaojian Zhuang /* PM Section: 7KB */ 26*32e9fc1aSHaojian Zhuang #define SRAM_PM_ADDR (SOC_SRAM_OFF_BASE_ADDR) 27*32e9fc1aSHaojian Zhuang #define SRAM_PM_SIZE (0x00001C00) 28*32e9fc1aSHaojian Zhuang 29*32e9fc1aSHaojian Zhuang /* TEE OS Section: 64KB */ 30*32e9fc1aSHaojian Zhuang #define SRAM_TEEOS_ADDR (SRAM_PM_ADDR + SRAM_PM_SIZE) 31*32e9fc1aSHaojian Zhuang #define SRAM_TEEOS_SIZE (0x00010000) 32*32e9fc1aSHaojian Zhuang 33*32e9fc1aSHaojian Zhuang /* General Use Section: 1KB */ 34*32e9fc1aSHaojian Zhuang #define SRAM_GENERAL_ADDR (SRAM_TEEOS_ADDR + SRAM_TEEOS_SIZE) 35*32e9fc1aSHaojian Zhuang #define SRAM_GENERAL_SIZE (0x00000400) 36*32e9fc1aSHaojian Zhuang 37*32e9fc1aSHaojian Zhuang /* 38*32e9fc1aSHaojian Zhuang * General Usage Section Layout: 39*32e9fc1aSHaojian Zhuang * 40*32e9fc1aSHaojian Zhuang * +-----------------------+ 41*32e9fc1aSHaojian Zhuang * | AP boot flag | 64B 42*32e9fc1aSHaojian Zhuang * +-----------------------+ 43*32e9fc1aSHaojian Zhuang * | DICC flag | 32B 44*32e9fc1aSHaojian Zhuang * +-----------------------+ 45*32e9fc1aSHaojian Zhuang * | Soft flag | 256B 46*32e9fc1aSHaojian Zhuang * +-----------------------+ 47*32e9fc1aSHaojian Zhuang * | Thermal flag | 128B 48*32e9fc1aSHaojian Zhuang * +-----------------------+ 49*32e9fc1aSHaojian Zhuang * | CSHELL | 4B 50*32e9fc1aSHaojian Zhuang * +-----------------------+ 51*32e9fc1aSHaojian Zhuang * | Uart Switching | 4B 52*32e9fc1aSHaojian Zhuang * +-----------------------+ 53*32e9fc1aSHaojian Zhuang * | ICC | 1024B 54*32e9fc1aSHaojian Zhuang * +-----------------------+ 55*32e9fc1aSHaojian Zhuang * | Memory Management | 1024B 56*32e9fc1aSHaojian Zhuang * +-----------------------+ 57*32e9fc1aSHaojian Zhuang * | IFC | 32B 58*32e9fc1aSHaojian Zhuang * +-----------------------+ 59*32e9fc1aSHaojian Zhuang * | HIFI | 32B 60*32e9fc1aSHaojian Zhuang * +-----------------------+ 61*32e9fc1aSHaojian Zhuang * | DDR capacity | 4B 62*32e9fc1aSHaojian Zhuang * +-----------------------+ 63*32e9fc1aSHaojian Zhuang * | Reserved | 64*32e9fc1aSHaojian Zhuang * +-----------------------+ 65*32e9fc1aSHaojian Zhuang * 66*32e9fc1aSHaojian Zhuang */ 67*32e9fc1aSHaojian Zhuang 68*32e9fc1aSHaojian Zhuang /* App Core Boot Flags */ 69*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_START_ADDR (SRAM_GENERAL_ADDR) 70*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_START_SIZE (64) 71*32e9fc1aSHaojian Zhuang 72*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_SRESET_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0000) 73*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_SECOND_CPU_BOOT_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0004) 74*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_READY_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0008) 75*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_FASTBOOT_ENTRY_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x000C) 76*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_PD_CHARGE_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0010) 77*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DBG_ALARM_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0014) 78*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CHIP_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0018) 79*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_BOARD_TYPE_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x001C) 80*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_BOARD_ID_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0020) 81*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CHARGETYPE_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0024) 82*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_COLD_START_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0028) 83*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ANDROID_REBOOT_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x002C) 84*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_WDTRST_REBOOT_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0030) 85*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ABNRST_BITMAP_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0034) 86*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_32K_CLK_TYPE_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0038) 87*32e9fc1aSHaojian Zhuang #define AXI_MODEM_PANIC_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x003C) 88*32e9fc1aSHaojian Zhuang #define AXI_MODEM_PANIC_FLAG (0x68697369) 89*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_END_ADDR (AXI_MODEM_PANIC_FLAG_ADDR + 4) 90*32e9fc1aSHaojian Zhuang 91*32e9fc1aSHaojian Zhuang /* DICC Flags */ 92*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DICC_ADDR (MEMORY_AXI_ACPU_START_ADDR + MEMORY_AXI_ACPU_START_SIZE) 93*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DICC_SIZE (32) 94*32e9fc1aSHaojian Zhuang 95*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_SOFT_FLAG_ADDR (MEMORY_AXI_DICC_ADDR + MEMORY_AXI_DICC_SIZE) 96*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_SOFT_FLAG_SIZE (256) 97*32e9fc1aSHaojian Zhuang 98*32e9fc1aSHaojian Zhuang /* Thermal Flags */ 99*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_TEMP_PROTECT_ADDR (MEMORY_AXI_SOFT_FLAG_ADDR + MEMORY_AXI_SOFT_FLAG_SIZE) 100*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_TEMP_PROTECT_SIZE (128) 101*32e9fc1aSHaojian Zhuang 102*32e9fc1aSHaojian Zhuang /* CSHELL */ 103*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_USB_CSHELL_ADDR (MEMORY_AXI_TEMP_PROTECT_ADDR + MEMORY_AXI_TEMP_PROTECT_SIZE) 104*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_USB_CSHELL_SIZE (4) 105*32e9fc1aSHaojian Zhuang 106*32e9fc1aSHaojian Zhuang /* Uart and A/C Shell Switch Flags */ 107*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_UART_INOUT_ADDR (MEMORY_AXI_USB_CSHELL_ADDR + MEMORY_AXI_USB_CSHELL_SIZE) 108*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_UART_INOUT_SIZE (4) 109*32e9fc1aSHaojian Zhuang 110*32e9fc1aSHaojian Zhuang /* IFC Flags */ 111*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_IFC_ADDR (MEMORY_AXI_UART_INOUT_ADDR + MEMORY_AXI_UART_INOUT_SIZE) 112*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_IFC_SIZE (32) 113*32e9fc1aSHaojian Zhuang 114*32e9fc1aSHaojian Zhuang /* HIFI Data */ 115*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_HIFI_ADDR (MEMORY_AXI_IFC_ADDR + MEMORY_AXI_IFC_SIZE) 116*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_HIFI_SIZE (32) 117*32e9fc1aSHaojian Zhuang 118*32e9fc1aSHaojian Zhuang /* CONFIG Flags */ 119*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CONFIG_ADDR (MEMORY_AXI_HIFI_ADDR + MEMORY_AXI_HIFI_SIZE) 120*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CONFIG_SIZE (32) 121*32e9fc1aSHaojian Zhuang 122*32e9fc1aSHaojian Zhuang /* DDR Capacity Flags */ 123*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_CAPACITY_ADDR (MEMORY_AXI_CONFIG_ADDR + MEMORY_AXI_CONFIG_SIZE) 124*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_CAPACITY_SIZE (4) 125*32e9fc1aSHaojian Zhuang 126*32e9fc1aSHaojian Zhuang /* USB Shell Flags */ 127*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_USB_SHELL_FLAG_ADDR (MEMORY_AXI_DDR_CAPACITY_ADDR + MEMORY_AXI_DDR_CAPACITY_SIZE) 128*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_USB_SHELL_FLAG_SIZE (4) 129*32e9fc1aSHaojian Zhuang 130*32e9fc1aSHaojian Zhuang /* MCU WDT Switch Flag */ 131*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_MCU_WDT_FLAG_ADDR (MEMORY_AXI_USB_SHELL_FLAG_ADDR + MEMORY_AXI_USB_SHELL_FLAG_SIZE) 132*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_MCU_WDT_FLAG_SIZE (4) 133*32e9fc1aSHaojian Zhuang 134*32e9fc1aSHaojian Zhuang /* TLDSP Mailbox MNTN */ 135*32e9fc1aSHaojian Zhuang #define SRAM_DSP_MNTN_INFO_ADDR (MEMORY_AXI_MCU_WDT_FLAG_ADDR + MEMORY_AXI_MCU_WDT_FLAG_SIZE) 136*32e9fc1aSHaojian Zhuang #define SRAM_DSP_MNTN_SIZE (32) 137*32e9fc1aSHaojian Zhuang 138*32e9fc1aSHaojian Zhuang /* TLDSP ARM Mailbox Protect Flag */ 139*32e9fc1aSHaojian Zhuang #define SRAM_DSP_ARM_MAILBOX_PROTECT_FLAG_ADDR (SRAM_DSP_MNTN_INFO_ADDR + SRAM_DSP_MNTN_SIZE) 140*32e9fc1aSHaojian Zhuang #define SRAM_DSP_ARM_MAILBOX_PROTECT_FLAG_SIZE (4) 141*32e9fc1aSHaojian Zhuang 142*32e9fc1aSHaojian Zhuang /* RTT Sleep Flag */ 143*32e9fc1aSHaojian Zhuang #define SRAM_RTT_SLEEP_FLAG_ADDR (SRAM_DSP_ARM_MAILBOX_PROTECT_FLAG_ADDR + SRAM_DSP_ARM_MAILBOX_PROTECT_FLAG_SIZE) 144*32e9fc1aSHaojian Zhuang #define SRAM_RTT_SLEEP_FLAG_SIZE (32) 145*32e9fc1aSHaojian Zhuang 146*32e9fc1aSHaojian Zhuang /* LDSP Awake Flag */ 147*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_LDSP_AWAKE_ADDR (SRAM_RTT_SLEEP_FLAG_ADDR + SRAM_RTT_SLEEP_FLAG_SIZE) 148*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_LDSP_AWAKE_SIZE (4) 149*32e9fc1aSHaojian Zhuang 150*32e9fc1aSHaojian Zhuang #define NVUPDATE_SUCCESS 0x5555AAAA 151*32e9fc1aSHaojian Zhuang #define NVUPDATE_FAILURE 0xAAAA5555 152*32e9fc1aSHaojian Zhuang 153*32e9fc1aSHaojian Zhuang /* 154*32e9fc1aSHaojian Zhuang * Low Power Mode Region 155*32e9fc1aSHaojian Zhuang */ 156*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_SPACE_ADDR (SRAM_PM_ADDR) 157*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_SPACE_SIZE (SRAM_PM_SIZE) 158*32e9fc1aSHaojian Zhuang 159*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_MEM_BASE (PWRCTRL_ACPU_ASM_SPACE_ADDR) 160*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_MEM_SIZE (PWRCTRL_ACPU_ASM_SPACE_SIZE) 161*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_CODE_BASE (PWRCTRL_ACPU_ASM_MEM_BASE + 0x200) 162*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_DATA_BASE (PWRCTRL_ACPU_ASM_MEM_BASE + 0xE00) 163*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_DATA_SIZE (0xE00) 164*32e9fc1aSHaojian Zhuang 165*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_D_C0_ADDR (PWRCTRL_ACPU_ASM_DATA_BASE) 166*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_D_C0_MMU_PARA_AD (PWRCTRL_ACPU_ASM_DATA_BASE + 0) 167*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_D_ARM_PARA_AD (PWRCTRL_ACPU_ASM_DATA_BASE + 0x20) 168*32e9fc1aSHaojian Zhuang 169*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_D_COMM_ADDR (PWRCTRL_ACPU_ASM_DATA_BASE + 0x700) 170*32e9fc1aSHaojian Zhuang 171*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_REBOOT (PWRCTRL_ACPU_ASM_D_COMM_ADDR) 172*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_REBOOT_SIZE (0x200) 173*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_SLICE_BAK_ADDR (PWRCTRL_ACPU_REBOOT + PWRCTRL_ACPU_REBOOT_SIZE) 174*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_SLICE_BAK_SIZE (4) 175*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_DEBUG_FLAG_ADDR (PWRCTRL_ACPU_ASM_SLICE_BAK_ADDR + PWRCTRL_ACPU_ASM_SLICE_BAK_SIZE) 176*32e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_DEBUG_FLAG_SIZE (4) 177*32e9fc1aSHaojian Zhuang #define EXCH_A_CORE_POWRCTRL_CONV_ADDR (PWRCTRL_ACPU_ASM_DEBUG_FLAG_ADDR + PWRCTRL_ACPU_ASM_DEBUG_FLAG_SIZE) 178*32e9fc1aSHaojian Zhuang #define EXCH_A_CORE_POWRCTRL_CONV_SIZE (4) 179*32e9fc1aSHaojian Zhuang 180*32e9fc1aSHaojian Zhuang /* 181*32e9fc1aSHaojian Zhuang * Below region memory mapping is: 182*32e9fc1aSHaojian Zhuang * 4 + 12 + 16 + 28 + 28 + 16 + 28 + 12 + 24 + 20 + 64 + 183*32e9fc1aSHaojian Zhuang * 4 + 4 + 4 + 4 + 12 + 4 + 4 + 4 + 4 + 16 + 4 + 0x2BC + 184*32e9fc1aSHaojian Zhuang * 24 + 20 + 12 + 16 185*32e9fc1aSHaojian Zhuang */ 186*32e9fc1aSHaojian Zhuang 187*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CPU_IDLE_ADDR (EXCH_A_CORE_POWRCTRL_CONV_ADDR + EXCH_A_CORE_POWRCTRL_CONV_SIZE) 188*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CPU_IDLE_SIZE (4) 189*32e9fc1aSHaojian Zhuang 190*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CUR_FREQ_ADDR (MEMORY_AXI_CPU_IDLE_ADDR + MEMORY_AXI_CPU_IDLE_SIZE) 191*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CUR_FREQ_SIZE (12) 192*32e9fc1aSHaojian Zhuang 193*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FREQ_VOL_ADDR (MEMORY_AXI_CUR_FREQ_ADDR + MEMORY_AXI_CUR_FREQ_SIZE) 194*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FREQ_VOL_SIZE (16 + 28 + 28) 195*32e9fc1aSHaojian Zhuang 196*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_FREQ_VOL_ADDR (MEMORY_AXI_ACPU_FREQ_VOL_ADDR + MEMORY_AXI_ACPU_FREQ_VOL_SIZE) 197*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_FREQ_VOL_SIZE (16 + 28) 198*32e9fc1aSHaojian Zhuang 199*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_TEST_ADDR (MEMORY_AXI_DDR_FREQ_VOL_ADDR + MEMORY_AXI_DDR_FREQ_VOL_SIZE) 200*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_TEST_SIZE (12) 201*32e9fc1aSHaojian Zhuang 202*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_CPU_INFO_ADDR (MEMORY_AXI_ACPU_FIQ_TEST_ADDR + MEMORY_AXI_ACPU_FIQ_TEST_SIZE) 203*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_CPU_INFO_SIZE (24) 204*32e9fc1aSHaojian Zhuang 205*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_DEBUG_INFO_ADDR (MEMORY_AXI_ACPU_FIQ_CPU_INFO_ADDR + MEMORY_AXI_ACPU_FIQ_CPU_INFO_SIZE) 206*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_DEBUG_INFO_SIZE (20) 207*32e9fc1aSHaojian Zhuang 208*32e9fc1aSHaojian Zhuang #define MEMORY_FREQDUMP_ADDR (MEMORY_AXI_ACPU_FIQ_DEBUG_INFO_ADDR + MEMORY_AXI_ACPU_FIQ_DEBUG_INFO_SIZE) 209*32e9fc1aSHaojian Zhuang #define MEMORY_FREQDUMP_SIZE (64) 210*32e9fc1aSHaojian Zhuang 211*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CCPU_LOG_ADDR (MEMORY_FREQDUMP_ADDR + MEMORY_FREQDUMP_SIZE) 212*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_CCPU_LOG_SIZE (4) 213*32e9fc1aSHaojian Zhuang 214*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_MCU_LOG_ADDR (MEMORY_AXI_CCPU_LOG_ADDR + MEMORY_AXI_CCPU_LOG_SIZE) 215*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_MCU_LOG_SIZE (4) 216*32e9fc1aSHaojian Zhuang 217*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_SEC_CORE_BOOT_ADDR (MEMORY_AXI_MCU_LOG_ADDR + MEMORY_AXI_MCU_LOG_SIZE) 218*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_SEC_CORE_BOOT_SIZE (4) 219*32e9fc1aSHaojian Zhuang 220*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_BBP_PS_VOTE_FLAG_ADDR (MEMORY_AXI_SEC_CORE_BOOT_ADDR + MEMORY_AXI_SEC_CORE_BOOT_SIZE) 221*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_BBP_PS_VOTE_FLAG_SIZE (0x4) 222*32e9fc1aSHaojian Zhuang 223*32e9fc1aSHaojian Zhuang #define POLICY_AREA_RESERVED (MEMORY_AXI_BBP_PS_VOTE_FLAG_ADDR + MEMORY_AXI_BBP_PS_VOTE_FLAG_SIZE) 224*32e9fc1aSHaojian Zhuang #define POLICY_AREA_RESERVED_SIZE (12) 225*32e9fc1aSHaojian Zhuang 226*32e9fc1aSHaojian Zhuang #define DDR_POLICY_VALID_MAGIC (POLICY_AREA_RESERVED + POLICY_AREA_RESERVED_SIZE) 227*32e9fc1aSHaojian Zhuang #define DDR_POLICY_VALID_MAGIC_SIZE (4) 228*32e9fc1aSHaojian Zhuang 229*32e9fc1aSHaojian Zhuang #define DDR_POLICY_MAX_NUM (DDR_POLICY_VALID_MAGIC + DDR_POLICY_VALID_MAGIC_SIZE) 230*32e9fc1aSHaojian Zhuang #define DDR_POLICY_MAX_NUM_SIZE (4) 231*32e9fc1aSHaojian Zhuang 232*32e9fc1aSHaojian Zhuang #define DDR_POLICY_SUPPORT_NUM (DDR_POLICY_MAX_NUM + DDR_POLICY_MAX_NUM_SIZE) 233*32e9fc1aSHaojian Zhuang #define DDR_POLICY_SUPPORT_NUM_SIZE (4) 234*32e9fc1aSHaojian Zhuang 235*32e9fc1aSHaojian Zhuang #define DDR_POLICY_CUR_POLICY (DDR_POLICY_SUPPORT_NUM + DDR_POLICY_SUPPORT_NUM_SIZE) 236*32e9fc1aSHaojian Zhuang #define DDR_POLICY_CUR_POLICY_SIZE (4) 237*32e9fc1aSHaojian Zhuang 238*32e9fc1aSHaojian Zhuang #define ACPU_POLICY_VALID_MAGIC (DDR_POLICY_CUR_POLICY + DDR_POLICY_CUR_POLICY_SIZE) 239*32e9fc1aSHaojian Zhuang #define ACPU_POLICY_VALID_MAGIC_SIZE (4) 240*32e9fc1aSHaojian Zhuang 241*32e9fc1aSHaojian Zhuang #define ACPU_POLICY_MAX_NUM (ACPU_POLICY_VALID_MAGIC + ACPU_POLICY_VALID_MAGIC_SIZE) 242*32e9fc1aSHaojian Zhuang #define ACPU_POLICY_MAX_NUM_SIZE (4) 243*32e9fc1aSHaojian Zhuang 244*32e9fc1aSHaojian Zhuang #define ACPU_POLICY_SUPPORT_NUM (ACPU_POLICY_MAX_NUM + ACPU_POLICY_MAX_NUM_SIZE) 245*32e9fc1aSHaojian Zhuang #define ACPU_POLICY_SUPPORT_NUM_SIZE (4) 246*32e9fc1aSHaojian Zhuang 247*32e9fc1aSHaojian Zhuang #define ACPU_POLICY_CUR_POLICY (ACPU_POLICY_SUPPORT_NUM + ACPU_POLICY_SUPPORT_NUM_SIZE) 248*32e9fc1aSHaojian Zhuang #define ACPU_POLICY_CUR_POLICY_SIZE (4) 249*32e9fc1aSHaojian Zhuang 250*32e9fc1aSHaojian Zhuang #define LPDDR_OPTION_ADDR (ACPU_POLICY_CUR_POLICY + ACPU_POLICY_CUR_POLICY_SIZE) 251*32e9fc1aSHaojian Zhuang #define LPDDR_OPTION_SIZE (4) 252*32e9fc1aSHaojian Zhuang 253*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_DDL_ADDR (LPDDR_OPTION_ADDR + LPDDR_OPTION_SIZE) 254*32e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_DDL_SIZE (0x2BC) 255*32e9fc1aSHaojian Zhuang 256*32e9fc1aSHaojian Zhuang #define DDR_TEST_DFS_ADDR (MEMORY_AXI_DDR_DDL_ADDR + MEMORY_AXI_DDR_DDL_SIZE) 257*32e9fc1aSHaojian Zhuang #define DDR_TEST_DFS_ADDR_SIZE (4) 258*32e9fc1aSHaojian Zhuang 259*32e9fc1aSHaojian Zhuang #define DDR_TEST_DFS_TIMES_ADDR (DDR_TEST_DFS_ADDR + DDR_TEST_DFS_ADDR_SIZE) 260*32e9fc1aSHaojian Zhuang #define DDR_TEST_DFS_TIMES_ADDR_SIZE (4) 261*32e9fc1aSHaojian Zhuang 262*32e9fc1aSHaojian Zhuang #define DDR_TEST_QOS_ADDR (DDR_TEST_DFS_TIMES_ADDR + DDR_TEST_DFS_TIMES_ADDR_SIZE) 263*32e9fc1aSHaojian Zhuang #define DDR_TEST_QOS_ADDR_SIZE (4) 264*32e9fc1aSHaojian Zhuang 265*32e9fc1aSHaojian Zhuang #define DDR_TEST_FUN_ADDR (DDR_TEST_QOS_ADDR + DDR_TEST_QOS_ADDR_SIZE) 266*32e9fc1aSHaojian Zhuang #define DDR_TEST_FUN_ADDR_SIZE (4) 267*32e9fc1aSHaojian Zhuang 268*32e9fc1aSHaojian Zhuang #define BOARD_TYPE_ADDR (DDR_TEST_FUN_ADDR + DDR_TEST_FUN_ADDR_SIZE) 269*32e9fc1aSHaojian Zhuang #define BOARD_ADDR_SIZE (4) 270*32e9fc1aSHaojian Zhuang #define DDR_DFS_FREQ_ADDR (BOARD_TYPE_ADDR + BOARD_ADDR_SIZE) 271*32e9fc1aSHaojian Zhuang #define DDR_DFS_FREQ_SIZE (4) 272*32e9fc1aSHaojian Zhuang 273*32e9fc1aSHaojian Zhuang #define DDR_PASR_ADDR (DDR_DFS_FREQ_ADDR + DDR_DFS_FREQ_SIZE) 274*32e9fc1aSHaojian Zhuang #define DDR_PASR_SIZE (20) 275*32e9fc1aSHaojian Zhuang 276*32e9fc1aSHaojian Zhuang #define ACPU_DFS_FREQ_ADDR (DDR_PASR_ADDR + DDR_PASR_SIZE) 277*32e9fc1aSHaojian Zhuang #define ACPU_DFS_FREQ_ADDR_SIZE (12) 278*32e9fc1aSHaojian Zhuang 279*32e9fc1aSHaojian Zhuang #define ACPU_CHIP_MAX_FREQ (ACPU_DFS_FREQ_ADDR + ACPU_DFS_FREQ_ADDR_SIZE) 280*32e9fc1aSHaojian Zhuang #define ACPU_CHIP_MAX_FREQ_SIZE (4) 281*32e9fc1aSHaojian Zhuang 282*32e9fc1aSHaojian Zhuang #define MEMORY_MEDPLL_STATE_ADDR (ACPU_CHIP_MAX_FREQ + ACPU_CHIP_MAX_FREQ_SIZE) 283*32e9fc1aSHaojian Zhuang #define MEMORY_MEDPLL_STATE_SIZE (8) 284*32e9fc1aSHaojian Zhuang 285*32e9fc1aSHaojian Zhuang #define MEMORY_CCPU_LOAD_FLAG_ADDR (MEMORY_MEDPLL_STATE_ADDR + MEMORY_MEDPLL_STATE_SIZE) 286*32e9fc1aSHaojian Zhuang #define MEMORY_CCPU_LOAD_FLAG_SIZE (4) 287*32e9fc1aSHaojian Zhuang 288*32e9fc1aSHaojian Zhuang 289*32e9fc1aSHaojian Zhuang #define ACPU_CORE_BITS_ADDR (MEMORY_CCPU_LOAD_FLAG_ADDR + MEMORY_CCPU_LOAD_FLAG_SIZE) 290*32e9fc1aSHaojian Zhuang #define ACPU_CORE_BITS_SIZE (4) 291*32e9fc1aSHaojian Zhuang 292*32e9fc1aSHaojian Zhuang #define ACPU_CLUSTER_IDLE_ADDR (ACPU_CORE_BITS_ADDR + ACPU_CORE_BITS_SIZE) 293*32e9fc1aSHaojian Zhuang #define ACPU_CLUSTER_IDLE_SIZE (4) 294*32e9fc1aSHaojian Zhuang 295*32e9fc1aSHaojian Zhuang #define ACPU_A53_FLAGS_ADDR (ACPU_CLUSTER_IDLE_ADDR + ACPU_CLUSTER_IDLE_SIZE) 296*32e9fc1aSHaojian Zhuang #define ACPU_A53_FLAGS_SIZE (4) 297*32e9fc1aSHaojian Zhuang 298*32e9fc1aSHaojian Zhuang #define ACPU_POWER_STATE_QOS_ADDR (ACPU_A53_FLAGS_ADDR+ACPU_A53_FLAGS_SIZE) 299*32e9fc1aSHaojian Zhuang #define ACPU_POWER_STATE_QOS_SIZE (4) 300*32e9fc1aSHaojian Zhuang 301*32e9fc1aSHaojian Zhuang #define ACPU_UNLOCK_CORE_FLAGS_ADDR (ACPU_POWER_STATE_QOS_ADDR+ACPU_POWER_STATE_QOS_SIZE) 302*32e9fc1aSHaojian Zhuang #define ACPU_UNLOCK_CORE_FLAGS_SIZE (8) 303*32e9fc1aSHaojian Zhuang 304*32e9fc1aSHaojian Zhuang #define ACPU_SUBSYS_POWERDOWN_FLAGS_ADDR (ACPU_UNLOCK_CORE_FLAGS_ADDR + ACPU_UNLOCK_CORE_FLAGS_SIZE) 305*32e9fc1aSHaojian Zhuang #define ACPU_SUBSYS_POWERDOWN_FLAGS_SIZE (4) 306*32e9fc1aSHaojian Zhuang 307*32e9fc1aSHaojian Zhuang #define ACPU_CORE_POWERDOWN_FLAGS_ADDR (ACPU_SUBSYS_POWERDOWN_FLAGS_ADDR + ACPU_SUBSYS_POWERDOWN_FLAGS_SIZE) 308*32e9fc1aSHaojian Zhuang #define ACPU_CORE_POWERDOWN_FLAGS_SIZE (4) 309*32e9fc1aSHaojian Zhuang 310*32e9fc1aSHaojian Zhuang #define ACPU_CLUSTER_POWERDOWN_FLAGS_ADDR (ACPU_CORE_POWERDOWN_FLAGS_ADDR + ACPU_CORE_POWERDOWN_FLAGS_SIZE) 311*32e9fc1aSHaojian Zhuang #define ACPU_CLUSTER_POWERDOWN_FLAGS_SIZE (4) 312*32e9fc1aSHaojian Zhuang 313*32e9fc1aSHaojian Zhuang #define ACPU_ARM64_FLAGA (ACPU_CLUSTER_POWERDOWN_FLAGS_ADDR + ACPU_CLUSTER_POWERDOWN_FLAGS_SIZE) 314*32e9fc1aSHaojian Zhuang #define ACPU_ARM64_FLAGA_SIZE (4) 315*32e9fc1aSHaojian Zhuang 316*32e9fc1aSHaojian Zhuang #define ACPU_ARM64_FLAGB (ACPU_ARM64_FLAGA + ACPU_ARM64_FLAGA_SIZE) 317*32e9fc1aSHaojian Zhuang #define ACPU_ARM64_FLAGB_SIZE (4) 318*32e9fc1aSHaojian Zhuang 319*32e9fc1aSHaojian Zhuang #define MCU_EXCEPTION_FLAGS_ADDR (ACPU_ARM64_FLAGB + ACPU_ARM64_FLAGB_SIZE) 320*32e9fc1aSHaojian Zhuang #define MCU_EXCEPTION_FLAGS_SIZE (4) 321*32e9fc1aSHaojian Zhuang 322*32e9fc1aSHaojian Zhuang #define ACPU_MASTER_CORE_STATE_ADDR (MCU_EXCEPTION_FLAGS_ADDR + MCU_EXCEPTION_FLAGS_SIZE) 323*32e9fc1aSHaojian Zhuang #define ACPU_MASTER_CORE_STATE_SIZE (4) 324*32e9fc1aSHaojian Zhuang 325*32e9fc1aSHaojian Zhuang #define PWRCTRL_AXI_RESERVED_ADDR (ACPU_MASTER_CORE_STATE_ADDR + ACPU_MASTER_CORE_STATE_SIZE) 326*32e9fc1aSHaojian Zhuang 327*32e9fc1aSHaojian Zhuang #endif /* __HISI_SRAM_MAP_H__ */ 328