1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 #ifndef __PLAT_ADDR_MAP_H__
5 #define __PLAT_ADDR_MAP_H__
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #define CHIP_ID_LITERAL                         haas1000
12 
13 #define _TO_STRING_A(s)                         # s
14 #define _TO_STRING(s)                           _TO_STRING_A(s)
15 
16 #define CONCAT_NAME_A(a, b)                     a ## b
17 #define CONCAT_NAME(a, b)                       CONCAT_NAME_A(a, b)
18 #define CONCAT_SUFFIX(a, b)                     a.b
19 
20 #define CONSTRUCT_HDR_NAME_A(d, n)              d/n ## _ ## d
21 #define CONSTRUCT_HDR_NAME(d, n)                CONSTRUCT_HDR_NAME_A(d, n)
22 #define CHIP_SPECIFIC_HDR(n)                    _TO_STRING(CONSTRUCT_HDR_NAME(CHIP_ID_LITERAL, n).h)
23 
24 #include CHIP_SPECIFIC_HDR(plat_addr_map)
25 
26 #define RAM_TO_RAMX(d)                          ((d) - RAM_BASE + RAMX_BASE)
27 #define RAMX_TO_RAM(d)                          ((d) - RAMX_BASE + RAM_BASE)
28 
29 #define FLASH_TO_FLASHX(d)                      ((d) - FLASH_BASE + FLASHX_BASE)
30 #define FLASHX_TO_FLASH(d)                      ((d) - FLASHX_BASE + FLASH_BASE)
31 
32 #define FLASH_C_TO_NC(d)                        ((d) - FLASH_BASE + FLASH_NC_BASE)
33 #define FLASH_NC_TO_C(d)                        ((d) - FLASH_NC_BASE + FLASH_BASE)
34 
35 #define PSRAM_TO_PSRAMX(d)                      ((d) - PSRAM_BASE + PSRAMX_BASE)
36 #define PSRAMX_TO_PSRAM(d)                      ((d) - PSRAMX_BASE + PSRAM_BASE)
37 
38 #define PSRAM_C_TO_NC(d)                        ((d) - PSRAM_BASE + PSRAM_NC_BASE)
39 #define PSRAM_NC_TO_C(d)                        ((d) - PSRAM_NC_BASE + PSRAM_BASE)
40 
41 #define BUILD_INFO_MAGIC                        0xBE57341D
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 
47 #endif
48