132e9fc1aSHaojian Zhuang /* 232e9fc1aSHaojian Zhuang * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 332e9fc1aSHaojian Zhuang * 432e9fc1aSHaojian Zhuang * SPDX-License-Identifier: BSD-3-Clause 532e9fc1aSHaojian Zhuang */ 632e9fc1aSHaojian Zhuang 7*c3cf06f1SAntonio Nino Diaz #ifndef HISI_SRAM_MAP_H 8*c3cf06f1SAntonio Nino Diaz #define HISI_SRAM_MAP_H 932e9fc1aSHaojian Zhuang 1032e9fc1aSHaojian Zhuang /* 1132e9fc1aSHaojian Zhuang * SRAM Memory Region Layout 1232e9fc1aSHaojian Zhuang * 1332e9fc1aSHaojian Zhuang * +-----------------------+ 1432e9fc1aSHaojian Zhuang * | Low Power Mode | 7KB 1532e9fc1aSHaojian Zhuang * +-----------------------+ 1632e9fc1aSHaojian Zhuang * | Secure OS | 64KB 1732e9fc1aSHaojian Zhuang * +-----------------------+ 1832e9fc1aSHaojian Zhuang * | Software Flag | 1KB 1932e9fc1aSHaojian Zhuang * +-----------------------+ 2032e9fc1aSHaojian Zhuang * 2132e9fc1aSHaojian Zhuang */ 2232e9fc1aSHaojian Zhuang 2332e9fc1aSHaojian Zhuang #define SOC_SRAM_OFF_BASE_ADDR (0xFFF80000) 2432e9fc1aSHaojian Zhuang 2532e9fc1aSHaojian Zhuang /* PM Section: 7KB */ 2632e9fc1aSHaojian Zhuang #define SRAM_PM_ADDR (SOC_SRAM_OFF_BASE_ADDR) 2732e9fc1aSHaojian Zhuang #define SRAM_PM_SIZE (0x00001C00) 2832e9fc1aSHaojian Zhuang 2932e9fc1aSHaojian Zhuang /* TEE OS Section: 64KB */ 3032e9fc1aSHaojian Zhuang #define SRAM_TEEOS_ADDR (SRAM_PM_ADDR + SRAM_PM_SIZE) 3132e9fc1aSHaojian Zhuang #define SRAM_TEEOS_SIZE (0x00010000) 3232e9fc1aSHaojian Zhuang 3332e9fc1aSHaojian Zhuang /* General Use Section: 1KB */ 3432e9fc1aSHaojian Zhuang #define SRAM_GENERAL_ADDR (SRAM_TEEOS_ADDR + SRAM_TEEOS_SIZE) 3532e9fc1aSHaojian Zhuang #define SRAM_GENERAL_SIZE (0x00000400) 3632e9fc1aSHaojian Zhuang 3732e9fc1aSHaojian Zhuang /* 3832e9fc1aSHaojian Zhuang * General Usage Section Layout: 3932e9fc1aSHaojian Zhuang * 4032e9fc1aSHaojian Zhuang * +-----------------------+ 4132e9fc1aSHaojian Zhuang * | AP boot flag | 64B 4232e9fc1aSHaojian Zhuang * +-----------------------+ 4332e9fc1aSHaojian Zhuang * | DICC flag | 32B 4432e9fc1aSHaojian Zhuang * +-----------------------+ 4532e9fc1aSHaojian Zhuang * | Soft flag | 256B 4632e9fc1aSHaojian Zhuang * +-----------------------+ 4732e9fc1aSHaojian Zhuang * | Thermal flag | 128B 4832e9fc1aSHaojian Zhuang * +-----------------------+ 4932e9fc1aSHaojian Zhuang * | CSHELL | 4B 5032e9fc1aSHaojian Zhuang * +-----------------------+ 5132e9fc1aSHaojian Zhuang * | Uart Switching | 4B 5232e9fc1aSHaojian Zhuang * +-----------------------+ 5332e9fc1aSHaojian Zhuang * | ICC | 1024B 5432e9fc1aSHaojian Zhuang * +-----------------------+ 5532e9fc1aSHaojian Zhuang * | Memory Management | 1024B 5632e9fc1aSHaojian Zhuang * +-----------------------+ 5732e9fc1aSHaojian Zhuang * | IFC | 32B 5832e9fc1aSHaojian Zhuang * +-----------------------+ 5932e9fc1aSHaojian Zhuang * | HIFI | 32B 6032e9fc1aSHaojian Zhuang * +-----------------------+ 6132e9fc1aSHaojian Zhuang * | DDR capacity | 4B 6232e9fc1aSHaojian Zhuang * +-----------------------+ 6332e9fc1aSHaojian Zhuang * | Reserved | 6432e9fc1aSHaojian Zhuang * +-----------------------+ 6532e9fc1aSHaojian Zhuang * 6632e9fc1aSHaojian Zhuang */ 6732e9fc1aSHaojian Zhuang 6832e9fc1aSHaojian Zhuang /* App Core Boot Flags */ 6932e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_START_ADDR (SRAM_GENERAL_ADDR) 7032e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_START_SIZE (64) 7132e9fc1aSHaojian Zhuang 7232e9fc1aSHaojian Zhuang #define MEMORY_AXI_SRESET_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0000) 7332e9fc1aSHaojian Zhuang #define MEMORY_AXI_SECOND_CPU_BOOT_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0004) 7432e9fc1aSHaojian Zhuang #define MEMORY_AXI_READY_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0008) 7532e9fc1aSHaojian Zhuang #define MEMORY_AXI_FASTBOOT_ENTRY_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x000C) 7632e9fc1aSHaojian Zhuang #define MEMORY_AXI_PD_CHARGE_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0010) 7732e9fc1aSHaojian Zhuang #define MEMORY_AXI_DBG_ALARM_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0014) 7832e9fc1aSHaojian Zhuang #define MEMORY_AXI_CHIP_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0018) 7932e9fc1aSHaojian Zhuang #define MEMORY_AXI_BOARD_TYPE_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x001C) 8032e9fc1aSHaojian Zhuang #define MEMORY_AXI_BOARD_ID_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0020) 8132e9fc1aSHaojian Zhuang #define MEMORY_AXI_CHARGETYPE_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0024) 8232e9fc1aSHaojian Zhuang #define MEMORY_AXI_COLD_START_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0028) 8332e9fc1aSHaojian Zhuang #define MEMORY_AXI_ANDROID_REBOOT_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x002C) 8432e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_WDTRST_REBOOT_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0030) 8532e9fc1aSHaojian Zhuang #define MEMORY_AXI_ABNRST_BITMAP_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0034) 8632e9fc1aSHaojian Zhuang #define MEMORY_AXI_32K_CLK_TYPE_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x0038) 8732e9fc1aSHaojian Zhuang #define AXI_MODEM_PANIC_FLAG_ADDR (MEMORY_AXI_ACPU_START_ADDR + 0x003C) 8832e9fc1aSHaojian Zhuang #define AXI_MODEM_PANIC_FLAG (0x68697369) 8932e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_END_ADDR (AXI_MODEM_PANIC_FLAG_ADDR + 4) 9032e9fc1aSHaojian Zhuang 9132e9fc1aSHaojian Zhuang /* DICC Flags */ 9232e9fc1aSHaojian Zhuang #define MEMORY_AXI_DICC_ADDR (MEMORY_AXI_ACPU_START_ADDR + MEMORY_AXI_ACPU_START_SIZE) 9332e9fc1aSHaojian Zhuang #define MEMORY_AXI_DICC_SIZE (32) 9432e9fc1aSHaojian Zhuang 9532e9fc1aSHaojian Zhuang #define MEMORY_AXI_SOFT_FLAG_ADDR (MEMORY_AXI_DICC_ADDR + MEMORY_AXI_DICC_SIZE) 9632e9fc1aSHaojian Zhuang #define MEMORY_AXI_SOFT_FLAG_SIZE (256) 9732e9fc1aSHaojian Zhuang 9832e9fc1aSHaojian Zhuang /* Thermal Flags */ 9932e9fc1aSHaojian Zhuang #define MEMORY_AXI_TEMP_PROTECT_ADDR (MEMORY_AXI_SOFT_FLAG_ADDR + MEMORY_AXI_SOFT_FLAG_SIZE) 10032e9fc1aSHaojian Zhuang #define MEMORY_AXI_TEMP_PROTECT_SIZE (128) 10132e9fc1aSHaojian Zhuang 10232e9fc1aSHaojian Zhuang /* CSHELL */ 10332e9fc1aSHaojian Zhuang #define MEMORY_AXI_USB_CSHELL_ADDR (MEMORY_AXI_TEMP_PROTECT_ADDR + MEMORY_AXI_TEMP_PROTECT_SIZE) 10432e9fc1aSHaojian Zhuang #define MEMORY_AXI_USB_CSHELL_SIZE (4) 10532e9fc1aSHaojian Zhuang 10632e9fc1aSHaojian Zhuang /* Uart and A/C Shell Switch Flags */ 10732e9fc1aSHaojian Zhuang #define MEMORY_AXI_UART_INOUT_ADDR (MEMORY_AXI_USB_CSHELL_ADDR + MEMORY_AXI_USB_CSHELL_SIZE) 10832e9fc1aSHaojian Zhuang #define MEMORY_AXI_UART_INOUT_SIZE (4) 10932e9fc1aSHaojian Zhuang 11032e9fc1aSHaojian Zhuang /* IFC Flags */ 11132e9fc1aSHaojian Zhuang #define MEMORY_AXI_IFC_ADDR (MEMORY_AXI_UART_INOUT_ADDR + MEMORY_AXI_UART_INOUT_SIZE) 11232e9fc1aSHaojian Zhuang #define MEMORY_AXI_IFC_SIZE (32) 11332e9fc1aSHaojian Zhuang 11432e9fc1aSHaojian Zhuang /* HIFI Data */ 11532e9fc1aSHaojian Zhuang #define MEMORY_AXI_HIFI_ADDR (MEMORY_AXI_IFC_ADDR + MEMORY_AXI_IFC_SIZE) 11632e9fc1aSHaojian Zhuang #define MEMORY_AXI_HIFI_SIZE (32) 11732e9fc1aSHaojian Zhuang 11832e9fc1aSHaojian Zhuang /* CONFIG Flags */ 11932e9fc1aSHaojian Zhuang #define MEMORY_AXI_CONFIG_ADDR (MEMORY_AXI_HIFI_ADDR + MEMORY_AXI_HIFI_SIZE) 12032e9fc1aSHaojian Zhuang #define MEMORY_AXI_CONFIG_SIZE (32) 12132e9fc1aSHaojian Zhuang 12232e9fc1aSHaojian Zhuang /* DDR Capacity Flags */ 12332e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_CAPACITY_ADDR (MEMORY_AXI_CONFIG_ADDR + MEMORY_AXI_CONFIG_SIZE) 12432e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_CAPACITY_SIZE (4) 12532e9fc1aSHaojian Zhuang 12632e9fc1aSHaojian Zhuang /* USB Shell Flags */ 12732e9fc1aSHaojian Zhuang #define MEMORY_AXI_USB_SHELL_FLAG_ADDR (MEMORY_AXI_DDR_CAPACITY_ADDR + MEMORY_AXI_DDR_CAPACITY_SIZE) 12832e9fc1aSHaojian Zhuang #define MEMORY_AXI_USB_SHELL_FLAG_SIZE (4) 12932e9fc1aSHaojian Zhuang 13032e9fc1aSHaojian Zhuang /* MCU WDT Switch Flag */ 13132e9fc1aSHaojian Zhuang #define MEMORY_AXI_MCU_WDT_FLAG_ADDR (MEMORY_AXI_USB_SHELL_FLAG_ADDR + MEMORY_AXI_USB_SHELL_FLAG_SIZE) 13232e9fc1aSHaojian Zhuang #define MEMORY_AXI_MCU_WDT_FLAG_SIZE (4) 13332e9fc1aSHaojian Zhuang 13432e9fc1aSHaojian Zhuang /* TLDSP Mailbox MNTN */ 13532e9fc1aSHaojian Zhuang #define SRAM_DSP_MNTN_INFO_ADDR (MEMORY_AXI_MCU_WDT_FLAG_ADDR + MEMORY_AXI_MCU_WDT_FLAG_SIZE) 13632e9fc1aSHaojian Zhuang #define SRAM_DSP_MNTN_SIZE (32) 13732e9fc1aSHaojian Zhuang 13832e9fc1aSHaojian Zhuang /* TLDSP ARM Mailbox Protect Flag */ 13932e9fc1aSHaojian Zhuang #define SRAM_DSP_ARM_MAILBOX_PROTECT_FLAG_ADDR (SRAM_DSP_MNTN_INFO_ADDR + SRAM_DSP_MNTN_SIZE) 14032e9fc1aSHaojian Zhuang #define SRAM_DSP_ARM_MAILBOX_PROTECT_FLAG_SIZE (4) 14132e9fc1aSHaojian Zhuang 14232e9fc1aSHaojian Zhuang /* RTT Sleep Flag */ 14332e9fc1aSHaojian Zhuang #define SRAM_RTT_SLEEP_FLAG_ADDR (SRAM_DSP_ARM_MAILBOX_PROTECT_FLAG_ADDR + SRAM_DSP_ARM_MAILBOX_PROTECT_FLAG_SIZE) 14432e9fc1aSHaojian Zhuang #define SRAM_RTT_SLEEP_FLAG_SIZE (32) 14532e9fc1aSHaojian Zhuang 14632e9fc1aSHaojian Zhuang /* LDSP Awake Flag */ 14732e9fc1aSHaojian Zhuang #define MEMORY_AXI_LDSP_AWAKE_ADDR (SRAM_RTT_SLEEP_FLAG_ADDR + SRAM_RTT_SLEEP_FLAG_SIZE) 14832e9fc1aSHaojian Zhuang #define MEMORY_AXI_LDSP_AWAKE_SIZE (4) 14932e9fc1aSHaojian Zhuang 15032e9fc1aSHaojian Zhuang #define NVUPDATE_SUCCESS 0x5555AAAA 15132e9fc1aSHaojian Zhuang #define NVUPDATE_FAILURE 0xAAAA5555 15232e9fc1aSHaojian Zhuang 15332e9fc1aSHaojian Zhuang /* 15432e9fc1aSHaojian Zhuang * Low Power Mode Region 15532e9fc1aSHaojian Zhuang */ 15632e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_SPACE_ADDR (SRAM_PM_ADDR) 15732e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_SPACE_SIZE (SRAM_PM_SIZE) 15832e9fc1aSHaojian Zhuang 15932e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_MEM_BASE (PWRCTRL_ACPU_ASM_SPACE_ADDR) 16032e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_MEM_SIZE (PWRCTRL_ACPU_ASM_SPACE_SIZE) 16132e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_CODE_BASE (PWRCTRL_ACPU_ASM_MEM_BASE + 0x200) 16232e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_DATA_BASE (PWRCTRL_ACPU_ASM_MEM_BASE + 0xE00) 16332e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_DATA_SIZE (0xE00) 16432e9fc1aSHaojian Zhuang 16532e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_D_C0_ADDR (PWRCTRL_ACPU_ASM_DATA_BASE) 16632e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_D_C0_MMU_PARA_AD (PWRCTRL_ACPU_ASM_DATA_BASE + 0) 16732e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_D_ARM_PARA_AD (PWRCTRL_ACPU_ASM_DATA_BASE + 0x20) 16832e9fc1aSHaojian Zhuang 16932e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_D_COMM_ADDR (PWRCTRL_ACPU_ASM_DATA_BASE + 0x700) 17032e9fc1aSHaojian Zhuang 17132e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_REBOOT (PWRCTRL_ACPU_ASM_D_COMM_ADDR) 17232e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_REBOOT_SIZE (0x200) 17332e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_SLICE_BAK_ADDR (PWRCTRL_ACPU_REBOOT + PWRCTRL_ACPU_REBOOT_SIZE) 17432e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_SLICE_BAK_SIZE (4) 17532e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_DEBUG_FLAG_ADDR (PWRCTRL_ACPU_ASM_SLICE_BAK_ADDR + PWRCTRL_ACPU_ASM_SLICE_BAK_SIZE) 17632e9fc1aSHaojian Zhuang #define PWRCTRL_ACPU_ASM_DEBUG_FLAG_SIZE (4) 17732e9fc1aSHaojian Zhuang #define EXCH_A_CORE_POWRCTRL_CONV_ADDR (PWRCTRL_ACPU_ASM_DEBUG_FLAG_ADDR + PWRCTRL_ACPU_ASM_DEBUG_FLAG_SIZE) 17832e9fc1aSHaojian Zhuang #define EXCH_A_CORE_POWRCTRL_CONV_SIZE (4) 17932e9fc1aSHaojian Zhuang 18032e9fc1aSHaojian Zhuang /* 18132e9fc1aSHaojian Zhuang * Below region memory mapping is: 18232e9fc1aSHaojian Zhuang * 4 + 12 + 16 + 28 + 28 + 16 + 28 + 12 + 24 + 20 + 64 + 18332e9fc1aSHaojian Zhuang * 4 + 4 + 4 + 4 + 12 + 4 + 4 + 4 + 4 + 16 + 4 + 0x2BC + 18432e9fc1aSHaojian Zhuang * 24 + 20 + 12 + 16 18532e9fc1aSHaojian Zhuang */ 18632e9fc1aSHaojian Zhuang 18732e9fc1aSHaojian Zhuang #define MEMORY_AXI_CPU_IDLE_ADDR (EXCH_A_CORE_POWRCTRL_CONV_ADDR + EXCH_A_CORE_POWRCTRL_CONV_SIZE) 18832e9fc1aSHaojian Zhuang #define MEMORY_AXI_CPU_IDLE_SIZE (4) 18932e9fc1aSHaojian Zhuang 19032e9fc1aSHaojian Zhuang #define MEMORY_AXI_CUR_FREQ_ADDR (MEMORY_AXI_CPU_IDLE_ADDR + MEMORY_AXI_CPU_IDLE_SIZE) 19132e9fc1aSHaojian Zhuang #define MEMORY_AXI_CUR_FREQ_SIZE (12) 19232e9fc1aSHaojian Zhuang 19332e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FREQ_VOL_ADDR (MEMORY_AXI_CUR_FREQ_ADDR + MEMORY_AXI_CUR_FREQ_SIZE) 19432e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FREQ_VOL_SIZE (16 + 28 + 28) 19532e9fc1aSHaojian Zhuang 19632e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_FREQ_VOL_ADDR (MEMORY_AXI_ACPU_FREQ_VOL_ADDR + MEMORY_AXI_ACPU_FREQ_VOL_SIZE) 19732e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_FREQ_VOL_SIZE (16 + 28) 19832e9fc1aSHaojian Zhuang 19932e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_TEST_ADDR (MEMORY_AXI_DDR_FREQ_VOL_ADDR + MEMORY_AXI_DDR_FREQ_VOL_SIZE) 20032e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_TEST_SIZE (12) 20132e9fc1aSHaojian Zhuang 20232e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_CPU_INFO_ADDR (MEMORY_AXI_ACPU_FIQ_TEST_ADDR + MEMORY_AXI_ACPU_FIQ_TEST_SIZE) 20332e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_CPU_INFO_SIZE (24) 20432e9fc1aSHaojian Zhuang 20532e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_DEBUG_INFO_ADDR (MEMORY_AXI_ACPU_FIQ_CPU_INFO_ADDR + MEMORY_AXI_ACPU_FIQ_CPU_INFO_SIZE) 20632e9fc1aSHaojian Zhuang #define MEMORY_AXI_ACPU_FIQ_DEBUG_INFO_SIZE (20) 20732e9fc1aSHaojian Zhuang 20832e9fc1aSHaojian Zhuang #define MEMORY_FREQDUMP_ADDR (MEMORY_AXI_ACPU_FIQ_DEBUG_INFO_ADDR + MEMORY_AXI_ACPU_FIQ_DEBUG_INFO_SIZE) 20932e9fc1aSHaojian Zhuang #define MEMORY_FREQDUMP_SIZE (64) 21032e9fc1aSHaojian Zhuang 21132e9fc1aSHaojian Zhuang #define MEMORY_AXI_CCPU_LOG_ADDR (MEMORY_FREQDUMP_ADDR + MEMORY_FREQDUMP_SIZE) 21232e9fc1aSHaojian Zhuang #define MEMORY_AXI_CCPU_LOG_SIZE (4) 21332e9fc1aSHaojian Zhuang 21432e9fc1aSHaojian Zhuang #define MEMORY_AXI_MCU_LOG_ADDR (MEMORY_AXI_CCPU_LOG_ADDR + MEMORY_AXI_CCPU_LOG_SIZE) 21532e9fc1aSHaojian Zhuang #define MEMORY_AXI_MCU_LOG_SIZE (4) 21632e9fc1aSHaojian Zhuang 21732e9fc1aSHaojian Zhuang #define MEMORY_AXI_SEC_CORE_BOOT_ADDR (MEMORY_AXI_MCU_LOG_ADDR + MEMORY_AXI_MCU_LOG_SIZE) 21832e9fc1aSHaojian Zhuang #define MEMORY_AXI_SEC_CORE_BOOT_SIZE (4) 21932e9fc1aSHaojian Zhuang 22032e9fc1aSHaojian Zhuang #define MEMORY_AXI_BBP_PS_VOTE_FLAG_ADDR (MEMORY_AXI_SEC_CORE_BOOT_ADDR + MEMORY_AXI_SEC_CORE_BOOT_SIZE) 22132e9fc1aSHaojian Zhuang #define MEMORY_AXI_BBP_PS_VOTE_FLAG_SIZE (0x4) 22232e9fc1aSHaojian Zhuang 22332e9fc1aSHaojian Zhuang #define POLICY_AREA_RESERVED (MEMORY_AXI_BBP_PS_VOTE_FLAG_ADDR + MEMORY_AXI_BBP_PS_VOTE_FLAG_SIZE) 22432e9fc1aSHaojian Zhuang #define POLICY_AREA_RESERVED_SIZE (12) 22532e9fc1aSHaojian Zhuang 22632e9fc1aSHaojian Zhuang #define DDR_POLICY_VALID_MAGIC (POLICY_AREA_RESERVED + POLICY_AREA_RESERVED_SIZE) 22732e9fc1aSHaojian Zhuang #define DDR_POLICY_VALID_MAGIC_SIZE (4) 22832e9fc1aSHaojian Zhuang 22932e9fc1aSHaojian Zhuang #define DDR_POLICY_MAX_NUM (DDR_POLICY_VALID_MAGIC + DDR_POLICY_VALID_MAGIC_SIZE) 23032e9fc1aSHaojian Zhuang #define DDR_POLICY_MAX_NUM_SIZE (4) 23132e9fc1aSHaojian Zhuang 23232e9fc1aSHaojian Zhuang #define DDR_POLICY_SUPPORT_NUM (DDR_POLICY_MAX_NUM + DDR_POLICY_MAX_NUM_SIZE) 23332e9fc1aSHaojian Zhuang #define DDR_POLICY_SUPPORT_NUM_SIZE (4) 23432e9fc1aSHaojian Zhuang 23532e9fc1aSHaojian Zhuang #define DDR_POLICY_CUR_POLICY (DDR_POLICY_SUPPORT_NUM + DDR_POLICY_SUPPORT_NUM_SIZE) 23632e9fc1aSHaojian Zhuang #define DDR_POLICY_CUR_POLICY_SIZE (4) 23732e9fc1aSHaojian Zhuang 23832e9fc1aSHaojian Zhuang #define ACPU_POLICY_VALID_MAGIC (DDR_POLICY_CUR_POLICY + DDR_POLICY_CUR_POLICY_SIZE) 23932e9fc1aSHaojian Zhuang #define ACPU_POLICY_VALID_MAGIC_SIZE (4) 24032e9fc1aSHaojian Zhuang 24132e9fc1aSHaojian Zhuang #define ACPU_POLICY_MAX_NUM (ACPU_POLICY_VALID_MAGIC + ACPU_POLICY_VALID_MAGIC_SIZE) 24232e9fc1aSHaojian Zhuang #define ACPU_POLICY_MAX_NUM_SIZE (4) 24332e9fc1aSHaojian Zhuang 24432e9fc1aSHaojian Zhuang #define ACPU_POLICY_SUPPORT_NUM (ACPU_POLICY_MAX_NUM + ACPU_POLICY_MAX_NUM_SIZE) 24532e9fc1aSHaojian Zhuang #define ACPU_POLICY_SUPPORT_NUM_SIZE (4) 24632e9fc1aSHaojian Zhuang 24732e9fc1aSHaojian Zhuang #define ACPU_POLICY_CUR_POLICY (ACPU_POLICY_SUPPORT_NUM + ACPU_POLICY_SUPPORT_NUM_SIZE) 24832e9fc1aSHaojian Zhuang #define ACPU_POLICY_CUR_POLICY_SIZE (4) 24932e9fc1aSHaojian Zhuang 25032e9fc1aSHaojian Zhuang #define LPDDR_OPTION_ADDR (ACPU_POLICY_CUR_POLICY + ACPU_POLICY_CUR_POLICY_SIZE) 25132e9fc1aSHaojian Zhuang #define LPDDR_OPTION_SIZE (4) 25232e9fc1aSHaojian Zhuang 25332e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_DDL_ADDR (LPDDR_OPTION_ADDR + LPDDR_OPTION_SIZE) 25432e9fc1aSHaojian Zhuang #define MEMORY_AXI_DDR_DDL_SIZE (0x2BC) 25532e9fc1aSHaojian Zhuang 25632e9fc1aSHaojian Zhuang #define DDR_TEST_DFS_ADDR (MEMORY_AXI_DDR_DDL_ADDR + MEMORY_AXI_DDR_DDL_SIZE) 25732e9fc1aSHaojian Zhuang #define DDR_TEST_DFS_ADDR_SIZE (4) 25832e9fc1aSHaojian Zhuang 25932e9fc1aSHaojian Zhuang #define DDR_TEST_DFS_TIMES_ADDR (DDR_TEST_DFS_ADDR + DDR_TEST_DFS_ADDR_SIZE) 26032e9fc1aSHaojian Zhuang #define DDR_TEST_DFS_TIMES_ADDR_SIZE (4) 26132e9fc1aSHaojian Zhuang 26232e9fc1aSHaojian Zhuang #define DDR_TEST_QOS_ADDR (DDR_TEST_DFS_TIMES_ADDR + DDR_TEST_DFS_TIMES_ADDR_SIZE) 26332e9fc1aSHaojian Zhuang #define DDR_TEST_QOS_ADDR_SIZE (4) 26432e9fc1aSHaojian Zhuang 26532e9fc1aSHaojian Zhuang #define DDR_TEST_FUN_ADDR (DDR_TEST_QOS_ADDR + DDR_TEST_QOS_ADDR_SIZE) 26632e9fc1aSHaojian Zhuang #define DDR_TEST_FUN_ADDR_SIZE (4) 26732e9fc1aSHaojian Zhuang 26832e9fc1aSHaojian Zhuang #define BOARD_TYPE_ADDR (DDR_TEST_FUN_ADDR + DDR_TEST_FUN_ADDR_SIZE) 26932e9fc1aSHaojian Zhuang #define BOARD_ADDR_SIZE (4) 27032e9fc1aSHaojian Zhuang #define DDR_DFS_FREQ_ADDR (BOARD_TYPE_ADDR + BOARD_ADDR_SIZE) 27132e9fc1aSHaojian Zhuang #define DDR_DFS_FREQ_SIZE (4) 27232e9fc1aSHaojian Zhuang 27332e9fc1aSHaojian Zhuang #define DDR_PASR_ADDR (DDR_DFS_FREQ_ADDR + DDR_DFS_FREQ_SIZE) 27432e9fc1aSHaojian Zhuang #define DDR_PASR_SIZE (20) 27532e9fc1aSHaojian Zhuang 27632e9fc1aSHaojian Zhuang #define ACPU_DFS_FREQ_ADDR (DDR_PASR_ADDR + DDR_PASR_SIZE) 27732e9fc1aSHaojian Zhuang #define ACPU_DFS_FREQ_ADDR_SIZE (12) 27832e9fc1aSHaojian Zhuang 27932e9fc1aSHaojian Zhuang #define ACPU_CHIP_MAX_FREQ (ACPU_DFS_FREQ_ADDR + ACPU_DFS_FREQ_ADDR_SIZE) 28032e9fc1aSHaojian Zhuang #define ACPU_CHIP_MAX_FREQ_SIZE (4) 28132e9fc1aSHaojian Zhuang 28232e9fc1aSHaojian Zhuang #define MEMORY_MEDPLL_STATE_ADDR (ACPU_CHIP_MAX_FREQ + ACPU_CHIP_MAX_FREQ_SIZE) 28332e9fc1aSHaojian Zhuang #define MEMORY_MEDPLL_STATE_SIZE (8) 28432e9fc1aSHaojian Zhuang 28532e9fc1aSHaojian Zhuang #define MEMORY_CCPU_LOAD_FLAG_ADDR (MEMORY_MEDPLL_STATE_ADDR + MEMORY_MEDPLL_STATE_SIZE) 28632e9fc1aSHaojian Zhuang #define MEMORY_CCPU_LOAD_FLAG_SIZE (4) 28732e9fc1aSHaojian Zhuang 28832e9fc1aSHaojian Zhuang 28932e9fc1aSHaojian Zhuang #define ACPU_CORE_BITS_ADDR (MEMORY_CCPU_LOAD_FLAG_ADDR + MEMORY_CCPU_LOAD_FLAG_SIZE) 29032e9fc1aSHaojian Zhuang #define ACPU_CORE_BITS_SIZE (4) 29132e9fc1aSHaojian Zhuang 29232e9fc1aSHaojian Zhuang #define ACPU_CLUSTER_IDLE_ADDR (ACPU_CORE_BITS_ADDR + ACPU_CORE_BITS_SIZE) 29332e9fc1aSHaojian Zhuang #define ACPU_CLUSTER_IDLE_SIZE (4) 29432e9fc1aSHaojian Zhuang 29532e9fc1aSHaojian Zhuang #define ACPU_A53_FLAGS_ADDR (ACPU_CLUSTER_IDLE_ADDR + ACPU_CLUSTER_IDLE_SIZE) 29632e9fc1aSHaojian Zhuang #define ACPU_A53_FLAGS_SIZE (4) 29732e9fc1aSHaojian Zhuang 29832e9fc1aSHaojian Zhuang #define ACPU_POWER_STATE_QOS_ADDR (ACPU_A53_FLAGS_ADDR+ACPU_A53_FLAGS_SIZE) 29932e9fc1aSHaojian Zhuang #define ACPU_POWER_STATE_QOS_SIZE (4) 30032e9fc1aSHaojian Zhuang 30132e9fc1aSHaojian Zhuang #define ACPU_UNLOCK_CORE_FLAGS_ADDR (ACPU_POWER_STATE_QOS_ADDR+ACPU_POWER_STATE_QOS_SIZE) 30232e9fc1aSHaojian Zhuang #define ACPU_UNLOCK_CORE_FLAGS_SIZE (8) 30332e9fc1aSHaojian Zhuang 30432e9fc1aSHaojian Zhuang #define ACPU_SUBSYS_POWERDOWN_FLAGS_ADDR (ACPU_UNLOCK_CORE_FLAGS_ADDR + ACPU_UNLOCK_CORE_FLAGS_SIZE) 30532e9fc1aSHaojian Zhuang #define ACPU_SUBSYS_POWERDOWN_FLAGS_SIZE (4) 30632e9fc1aSHaojian Zhuang 30732e9fc1aSHaojian Zhuang #define ACPU_CORE_POWERDOWN_FLAGS_ADDR (ACPU_SUBSYS_POWERDOWN_FLAGS_ADDR + ACPU_SUBSYS_POWERDOWN_FLAGS_SIZE) 30832e9fc1aSHaojian Zhuang #define ACPU_CORE_POWERDOWN_FLAGS_SIZE (4) 30932e9fc1aSHaojian Zhuang 31032e9fc1aSHaojian Zhuang #define ACPU_CLUSTER_POWERDOWN_FLAGS_ADDR (ACPU_CORE_POWERDOWN_FLAGS_ADDR + ACPU_CORE_POWERDOWN_FLAGS_SIZE) 31132e9fc1aSHaojian Zhuang #define ACPU_CLUSTER_POWERDOWN_FLAGS_SIZE (4) 31232e9fc1aSHaojian Zhuang 31332e9fc1aSHaojian Zhuang #define ACPU_ARM64_FLAGA (ACPU_CLUSTER_POWERDOWN_FLAGS_ADDR + ACPU_CLUSTER_POWERDOWN_FLAGS_SIZE) 31432e9fc1aSHaojian Zhuang #define ACPU_ARM64_FLAGA_SIZE (4) 31532e9fc1aSHaojian Zhuang 31632e9fc1aSHaojian Zhuang #define ACPU_ARM64_FLAGB (ACPU_ARM64_FLAGA + ACPU_ARM64_FLAGA_SIZE) 31732e9fc1aSHaojian Zhuang #define ACPU_ARM64_FLAGB_SIZE (4) 31832e9fc1aSHaojian Zhuang 31932e9fc1aSHaojian Zhuang #define MCU_EXCEPTION_FLAGS_ADDR (ACPU_ARM64_FLAGB + ACPU_ARM64_FLAGB_SIZE) 32032e9fc1aSHaojian Zhuang #define MCU_EXCEPTION_FLAGS_SIZE (4) 32132e9fc1aSHaojian Zhuang 32232e9fc1aSHaojian Zhuang #define ACPU_MASTER_CORE_STATE_ADDR (MCU_EXCEPTION_FLAGS_ADDR + MCU_EXCEPTION_FLAGS_SIZE) 32332e9fc1aSHaojian Zhuang #define ACPU_MASTER_CORE_STATE_SIZE (4) 32432e9fc1aSHaojian Zhuang 32532e9fc1aSHaojian Zhuang #define PWRCTRL_AXI_RESERVED_ADDR (ACPU_MASTER_CORE_STATE_ADDR + ACPU_MASTER_CORE_STATE_SIZE) 32632e9fc1aSHaojian Zhuang 327*c3cf06f1SAntonio Nino Diaz #endif /* HISI_SRAM_MAP_H */ 328