diff options
author | Tekkaman Ninja <tekkamanninja@163.com> | 2021-01-24 17:46:44 +0300 |
---|---|---|
committer | Tekkaman Ninja <tekkamanninja@163.com> | 2021-04-28 16:59:10 +0300 |
commit | fb50238d6e8665fdd637a95d95ed6f26fdc6e671 (patch) | |
tree | 9bf5dd3e8296939437f38243346ae8cd6ab2fddd | |
parent | 56850b495bc1818d4a02312f27613411ab67c69b (diff) | |
download | opensbi-fb50238d6e8665fdd637a95d95ed6f26fdc6e671.tar.xz |
add starfive_vic7100 support in generic
-rw-r--r-- | platform/generic/objects.mk | 1 | ||||
-rw-r--r-- | platform/generic/platform.c | 2 | ||||
-rw-r--r-- | platform/generic/starfive_vic7100.c | 38 |
3 files changed, 41 insertions, 0 deletions
diff --git a/platform/generic/objects.mk b/platform/generic/objects.mk index d6c8a42..81f2333 100644 --- a/platform/generic/objects.mk +++ b/platform/generic/objects.mk @@ -8,4 +8,5 @@ # platform-objs-y += platform.o +platform-objs-y += starfive_vic7100.o platform-objs-y += sifive_fu540.o diff --git a/platform/generic/platform.c b/platform/generic/platform.c index 8c1e06f..62c4a8e 100644 --- a/platform/generic/platform.c +++ b/platform/generic/platform.c @@ -23,9 +23,11 @@ #include <sbi_utils/reset/fdt_reset.h> extern const struct platform_override sifive_fu540; +extern const struct platform_override starfive_vic7100; static const struct platform_override *special_platforms[] = { &sifive_fu540, + &starfive_vic7100, }; static const struct platform_override *generic_plat = NULL; diff --git a/platform/generic/starfive_vic7100.c b/platform/generic/starfive_vic7100.c new file mode 100644 index 0000000..812f221 --- /dev/null +++ b/platform/generic/starfive_vic7100.c @@ -0,0 +1,38 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2020 Western Digital Corporation or its affiliates. + * + * Authors: + * Anup Patel <anup.patel@wdc.com> + */ + +#include <sbi/sbi_domain.h> +#include <sbi/sbi_math.h> +#include <platform_override.h> +#include <sbi_utils/fdt/fdt_helper.h> +#include <sbi_utils/fdt/fdt_fixup.h> + +static u64 starfive_vic7100_tlbr_flush_limit(const struct fdt_match *match) +{ + return 0; +} + +static int starfive_vic7100_fdt_fixup(void *fdt, const struct fdt_match *match) +{ + fdt_reserved_memory_nomap_fixup(fdt); + + return 0; +} + +static const struct fdt_match starfive_vic7100_match[] = { + { .compatible = "starfive,fu74-g000" }, + { .compatible = "sifive,freedom-u74-arty" }, + { }, +}; + +const struct platform_override starfive_vic7100 = { + .match_table = starfive_vic7100_match, + .tlbr_flush_limit = starfive_vic7100_tlbr_flush_limit, + .fdt_fixup = starfive_vic7100_fdt_fixup, +}; |