summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorYu Chien Peter Lin <peterlin@andestech.com>2022-10-14 03:32:51 +0300
committerAnup Patel <anup@brainfault.org>2022-10-23 08:05:00 +0300
commitc8683c57f62c00e84ea66a5354a29ffcfec2a9eb (patch)
tree8de6afb8568b472de0af5073161a75faff63b329 /platform
parentce7c490719ed4e268979c8b6b54a5252396fbb3b (diff)
downloadopensbi-c8683c57f62c00e84ea66a5354a29ffcfec2a9eb.tar.xz
platform: andes/ae350: Add AE350 domain support
Add domains_init platform hook for Andes AE350, users can add domain description in device tree and select FDT domain support in Kconfig to achieve system-level partitioning. Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com> Reviewed-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/andes/ae350/platform.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/platform/andes/ae350/platform.c b/platform/andes/ae350/platform.c
index 30e4606..d36d11e 100644
--- a/platform/andes/ae350/platform.c
+++ b/platform/andes/ae350/platform.c
@@ -19,13 +19,14 @@
#include <sbi/sbi_platform.h>
#include <sbi/sbi_string.h>
#include <sbi/sbi_trap.h>
-#include <sbi_utils/fdt/fdt_helper.h>
+#include <sbi_utils/fdt/fdt_domain.h>
#include <sbi_utils/fdt/fdt_fixup.h>
+#include <sbi_utils/fdt/fdt_helper.h>
+#include <sbi_utils/ipi/fdt_ipi.h>
#include <sbi_utils/irqchip/fdt_irqchip.h>
#include <sbi_utils/reset/fdt_reset.h>
#include <sbi_utils/serial/fdt_serial.h>
#include <sbi_utils/timer/fdt_timer.h>
-#include <sbi_utils/ipi/fdt_ipi.h>
#include "platform.h"
#include "cache.h"
@@ -84,6 +85,7 @@ static int ae350_final_init(bool cold_boot)
fdt = fdt_get_address();
fdt_fixups(fdt);
+ fdt_domain_fixup(fdt);
return 0;
}
@@ -132,10 +134,17 @@ static int ae350_vendor_ext_provider(long extid, long funcid,
return ret;
}
+static int ae350_domains_init(void)
+{
+ return fdt_domains_populate(fdt_get_address());
+}
+
/* Platform descriptor. */
const struct sbi_platform_operations platform_ops = {
.final_init = ae350_final_init,
+ .domains_init = ae350_domains_init,
+
.console_init = fdt_serial_init,
.irqchip_init = fdt_irqchip_init,