diff options
author | Yu Chien Peter Lin <peterlin@andestech.com> | 2022-10-14 03:32:51 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2022-10-23 08:05:00 +0300 |
commit | c8683c57f62c00e84ea66a5354a29ffcfec2a9eb (patch) | |
tree | 8de6afb8568b472de0af5073161a75faff63b329 /platform | |
parent | ce7c490719ed4e268979c8b6b54a5252396fbb3b (diff) | |
download | opensbi-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.c | 13 |
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, |