176 lines
6.9 KiB
C
176 lines
6.9 KiB
C
|
/***************************************************************************
|
||
|
*
|
||
|
* Copyright 2015-2019 BES.
|
||
|
* All rights reserved. All unpublished rights reserved.
|
||
|
*
|
||
|
* No part of this work may be used or reproduced in any form or by any
|
||
|
* means, or stored in a database or retrieval system, without prior written
|
||
|
* permission of BES.
|
||
|
*
|
||
|
* Use of this work is governed by a license granted by BES.
|
||
|
* This work contains confidential and proprietary information of
|
||
|
* BES. which is protected by copyright, trade secret,
|
||
|
* trademark and other intellectual property rights.
|
||
|
*
|
||
|
****************************************************************************/
|
||
|
#ifndef __PLAT_ADDR_MAP_BEST2300P_H__
|
||
|
#define __PLAT_ADDR_MAP_BEST2300P_H__
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#define ROM_BASE 0x00000000
|
||
|
|
||
|
#ifndef ROM_SIZE
|
||
|
#define ROM_SIZE 0x0000C000
|
||
|
#endif
|
||
|
|
||
|
#define RAMRET_BASE 0x200D8000
|
||
|
#define RAMXRET_BASE 0x002D8000
|
||
|
|
||
|
#ifndef RAMRET_SIZE
|
||
|
#define RAMRET_SIZE 0x00020000
|
||
|
#endif
|
||
|
|
||
|
#define RAM0_BASE 0x20000000
|
||
|
#define RAMX0_BASE 0x00200000
|
||
|
#define RAM1_BASE 0x20020000
|
||
|
#define RAMX1_BASE 0x00220000
|
||
|
#define RAM2_BASE 0x20040000
|
||
|
#define RAMX2_BASE 0x00240000
|
||
|
#define RAM3_BASE 0x20060000
|
||
|
#define RAMX3_BASE 0x00260000
|
||
|
#define RAM4_BASE 0x20080000
|
||
|
#define RAMX4_BASE 0x00280000
|
||
|
#define RAM5_BASE 0x200A0000
|
||
|
#define RAMX5_BASE 0x002A0000
|
||
|
#define RAM6_BASE 0x200C0000
|
||
|
#define RAMX6_BASE 0x002C0000
|
||
|
#define RAM_BASE RAM0_BASE
|
||
|
#define RAMX_BASE RAMX0_BASE
|
||
|
|
||
|
#ifdef CHIP_HAS_CP
|
||
|
#define RAMCP_TOP (RAMRET_BASE + RAMRET_SIZE - 0x20)
|
||
|
|
||
|
#ifndef RAMCP_SIZE
|
||
|
#define RAMCP_SIZE (RAMRET_SIZE - 0x20)
|
||
|
#endif
|
||
|
#define RAMCP_BASE (RAMCP_TOP - RAMCP_SIZE)
|
||
|
|
||
|
#ifndef RAMCPX_SIZE
|
||
|
#define RAMCPX_SIZE (RAMXRET_BASE - RAMX6_BASE)
|
||
|
#endif
|
||
|
#ifndef RAMCPX_BASE
|
||
|
#define RAMCPX_BASE (RAM_TO_RAMX(RAMCP_BASE) - RAMCPX_SIZE)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifndef RAM_SIZE
|
||
|
#ifdef CHIP_HAS_CP
|
||
|
#define RAM_SIZE (RAMCPX_BASE - RAMX_BASE) // 0X000C0000
|
||
|
#else
|
||
|
#ifdef LARGE_RAM
|
||
|
#define RAM_SIZE (RAMRET_BASE + RAMRET_SIZE - RAM_BASE) // 0x000F8000
|
||
|
#else
|
||
|
#define RAM_SIZE (RAMRET_BASE - RAM_BASE) // 0x000D8000
|
||
|
#endif
|
||
|
#endif /* !CHIP_HAS_CP */
|
||
|
#endif /* !RAM_SIZE */
|
||
|
|
||
|
#if defined(ROM_BUILD) && defined(CORE_SLEEP_POWER_DOWN)
|
||
|
#undef RAM_BASE
|
||
|
#undef RAMX_BASE
|
||
|
#undef RAM_SIZE
|
||
|
#define RAM_BASE RAMRET_BASE
|
||
|
#define RAMX_BASE RAMXRET_BASE
|
||
|
#define RAM_SIZE RAMRET_SIZE
|
||
|
#endif
|
||
|
|
||
|
#define FLASH_BASE 0x3C000000
|
||
|
#define FLASH_NC_BASE 0x38000000
|
||
|
#define FLASHX_BASE 0x0C000000
|
||
|
#define FLASHX_NC_BASE 0x08000000
|
||
|
|
||
|
#define ICACHE_CTRL_BASE 0x07FFE000
|
||
|
#define ICACHECP_CTRL_BASE 0x07FFA000
|
||
|
/* No data cache */
|
||
|
|
||
|
#define CMU_BASE 0x40000000
|
||
|
#define MCU_WDT_BASE 0x40001000
|
||
|
#define MCU_TIMER0_BASE 0x40002000
|
||
|
#define MCU_TIMER1_BASE 0x40003000
|
||
|
#define MCU_TIMER2_BASE 0x40004000
|
||
|
#define I2C0_BASE 0x40005000
|
||
|
#define I2C1_BASE 0x40006000
|
||
|
#define SPI_BASE 0x40007000
|
||
|
#define SPILCD_BASE 0x40008000
|
||
|
#define ISPI_BASE 0x40009000
|
||
|
#define SPIPHY_BASE 0x4000A000
|
||
|
#define UART0_BASE 0x4000B000
|
||
|
#define UART1_BASE 0x4000C000
|
||
|
#define UART2_BASE 0x4000D000
|
||
|
#define BTPCM_BASE 0x4000E000
|
||
|
#define I2S0_BASE 0x4000F000
|
||
|
#define SPDIF0_BASE 0x40010000
|
||
|
#define I2S1_BASE 0x40011000
|
||
|
#define SEC_ENG_BASE 0x40020000
|
||
|
|
||
|
#define AON_CMU_BASE 0x40080000
|
||
|
#define AON_GPIO_BASE 0x40081000
|
||
|
#define AON_WDT_BASE 0x40082000
|
||
|
#define AON_PWM_BASE 0x40083000
|
||
|
#define AON_TIMER_BASE 0x40084000
|
||
|
#define AON_PSC_BASE 0x40085000
|
||
|
#define AON_IOMUX_BASE 0x40086000
|
||
|
|
||
|
#define SDMMC_BASE 0x40110000
|
||
|
#define AUDMA_BASE 0x40120000
|
||
|
#define GPDMA_BASE 0x40130000
|
||
|
#define FLASH_CTRL_BASE 0x40140000
|
||
|
#define BTDUMP_BASE 0x40150000
|
||
|
#define I2C_SLAVE_BASE 0x40160000
|
||
|
#define SENSOR_ENG_BASE 0x40170000
|
||
|
#define USB_BASE 0x40180000
|
||
|
#define SEDMA_BASE 0x401D0000
|
||
|
|
||
|
#define CODEC_BASE 0x40300000
|
||
|
|
||
|
#define BT_SUBSYS_BASE 0xA0000000
|
||
|
#define BT_RAM_BASE 0xC0000000
|
||
|
#define BT_RAM_SIZE 0x00008000
|
||
|
#define BT_EXCH_MEM_BASE 0xD0210000
|
||
|
#define BT_EXCH_MEM_SIZE 0x00008000
|
||
|
#define BT_UART_BASE 0xD0300000
|
||
|
#define BT_CMU_BASE 0xD0330000
|
||
|
|
||
|
#define IOMUX_BASE AON_IOMUX_BASE
|
||
|
#define GPIO_BASE AON_GPIO_BASE
|
||
|
#define PWM_BASE AON_PWM_BASE
|
||
|
#ifdef CORE_SLEEP_POWER_DOWN
|
||
|
#define TIMER0_BASE AON_TIMER_BASE
|
||
|
#else
|
||
|
#define TIMER0_BASE MCU_TIMER0_BASE
|
||
|
#endif
|
||
|
#define TIMER1_BASE MCU_TIMER1_BASE
|
||
|
#define WDT_BASE AON_WDT_BASE
|
||
|
|
||
|
/* For linker scripts */
|
||
|
|
||
|
#define VECTOR_SECTION_SIZE 320
|
||
|
#define REBOOT_PARAM_SECTION_SIZE 64
|
||
|
#define ROM_BUILD_INFO_SECTION_SIZE 40
|
||
|
#define ROM_EXPORT_FN_SECTION_SIZE 128
|
||
|
#define BT_INTESYS_MEM_OFFSET 0x00000000
|
||
|
|
||
|
/* For boot struct version */
|
||
|
#ifndef SECURE_BOOT_VER
|
||
|
#define SECURE_BOOT_VER 2
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|