2019-03-14 10:23:56 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#include <common.h>
|
|
|
|
|
#include <memblk.h>
|
|
|
|
|
|
|
|
|
|
const static struct memblk_attr plat_mem_attr[MEMBLK_ID_MAX] = {
|
|
|
|
|
[MEMBLK_ID_ATF] = {
|
|
|
|
|
.name = "ATF",
|
|
|
|
|
.flags = M_ATTR_NONE,
|
|
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_OPTEE] = {
|
|
|
|
|
.name = "OP-TEE",
|
|
|
|
|
.flags = M_ATTR_NONE,
|
|
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_SHM] = {
|
|
|
|
|
.name = "SHM",
|
|
|
|
|
.flags = M_ATTR_NONE,
|
2019-07-15 06:20:40 +00:00
|
|
|
.alias[0] = "ramoops",
|
2019-03-14 10:23:56 +00:00
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_UBOOT] = {
|
|
|
|
|
.name = "U-Boot",
|
2019-07-15 06:20:40 +00:00
|
|
|
.flags = M_ATTR_KMEM_CAN_OVERLAP,
|
2019-03-14 10:23:56 +00:00
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_FASTBOOT] = {
|
|
|
|
|
.name = "FASTBOOT",
|
2019-07-15 06:20:40 +00:00
|
|
|
.flags = M_ATTR_KMEM_CAN_OVERLAP,
|
2019-03-14 10:23:56 +00:00
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_STACK] = {
|
|
|
|
|
.name = "STACK",
|
2019-07-15 06:20:40 +00:00
|
|
|
.flags = M_ATTR_HOFC | M_ATTR_KMEM_CAN_OVERLAP,
|
2019-03-14 10:23:56 +00:00
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_FDT] = {
|
|
|
|
|
.name = "FDT",
|
|
|
|
|
.flags = M_ATTR_OFC,
|
|
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_FDT_DTBO] = {
|
|
|
|
|
.name = "FDT_DTBO",
|
|
|
|
|
.flags = M_ATTR_OFC,
|
|
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_FDT_AOSP] = {
|
|
|
|
|
.name = "FDT_AOSP",
|
|
|
|
|
.flags = M_ATTR_OFC,
|
|
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_RAMDISK] = {
|
|
|
|
|
.name = "RAMDISK",
|
|
|
|
|
.alias[0] = "BOOT",
|
|
|
|
|
.alias[1] = "RECOVERY",
|
|
|
|
|
.flags = M_ATTR_OFC,
|
|
|
|
|
},
|
|
|
|
|
[MEMBLK_ID_KERNEL] = {
|
|
|
|
|
.name = "KERNEL",
|
2019-07-15 06:20:40 +00:00
|
|
|
/*
|
|
|
|
|
* Here is a workarund:
|
|
|
|
|
* ATF reserves 0~1MB when kernel is aarch32 mode(follow the ATF for
|
|
|
|
|
* aarch64 kernel, but it actually occupies 0~192KB, so we allow kernel
|
|
|
|
|
* to alloc the region within 0~1MB address.
|
|
|
|
|
*/
|
|
|
|
|
#if defined(CONFIG_ROCKCHIP_RK3308) && defined(CONFIG_ARM64_BOOT_AARCH32)
|
|
|
|
|
.flags = M_ATTR_OFC | M_ATTR_IGNORE_INVISIBLE,
|
|
|
|
|
#else
|
2019-03-14 10:23:56 +00:00
|
|
|
.flags = M_ATTR_OFC,
|
2019-07-15 06:20:40 +00:00
|
|
|
#endif
|
2019-03-14 10:23:56 +00:00
|
|
|
},
|
2019-04-30 01:24:28 +00:00
|
|
|
[MEMBLK_ID_UNCOMP_KERNEL] = {
|
|
|
|
|
.name = "UNCOMPRESS-KERNEL",
|
2019-07-15 06:20:40 +00:00
|
|
|
.flags = M_ATTR_IGNORE_INVISIBLE,
|
2019-04-30 01:24:28 +00:00
|
|
|
},
|
2019-03-14 10:23:56 +00:00
|
|
|
[MEMBLK_ID_ANDROID] = {
|
|
|
|
|
.name = "ANDROID",
|
2019-07-15 06:20:40 +00:00
|
|
|
.flags = M_ATTR_OFC | M_ATTR_KMEM_CAN_OVERLAP,
|
2019-03-14 10:23:56 +00:00
|
|
|
},
|
2019-05-07 09:34:27 +00:00
|
|
|
[MEMBLK_ID_AVB_ANDROID] = {
|
|
|
|
|
.name = "AVB_ANDROID",
|
2019-07-15 06:20:40 +00:00
|
|
|
.flags = M_ATTR_OFC | M_ATTR_CACHELINE_ALIGN |
|
|
|
|
|
M_ATTR_KMEM_CAN_OVERLAP,
|
2019-05-07 09:34:27 +00:00
|
|
|
},
|
2019-03-14 10:23:56 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const struct memblk_attr *mem_attr = plat_mem_attr;
|