platform: generic: thead: initialize PMU by default in thead generic platform

Since all the SoC with thead c9xx cores need this initialization at now,
initialize the c9xx pmu in the thead generic platform by default.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Inochi Amaoto 2023-10-07 11:06:31 +08:00 committed by Anup Patel
parent 492d9b153d
commit 3e21b96003
2 changed files with 12 additions and 2 deletions

View file

@ -56,6 +56,7 @@ config PLATFORM_STARFIVE_JH7110
config PLATFORM_THEAD
bool "THEAD C9xx support"
select THEAD_C9XX_ERRATA
select THEAD_C9XX_PMU
default n
source "$(OPENSBI_SRC_DIR)/platform/generic/andes/Kconfig"

View file

@ -8,6 +8,7 @@
#include <platform_override.h>
#include <thead/c9xx_errata.h>
#include <thead/c9xx_pmu.h>
#include <sbi/sbi_const.h>
#include <sbi/sbi_platform.h>
#include <sbi/sbi_scratch.h>
@ -29,6 +30,13 @@ static int thead_generic_early_init(bool cold_boot,
return 0;
}
static int thead_generic_extensions_init(const struct fdt_match *match,
struct sbi_hart_features *hfeatures)
{
thead_c9xx_register_pmu_device();
return 0;
}
static struct thead_generic_quirks thead_th1520_quirks = {
.errata = THEAD_QUIRK_ERRATA_TLB_FLUSH,
};
@ -39,6 +47,7 @@ static const struct fdt_match thead_generic_match[] = {
};
const struct platform_override thead_generic = {
.match_table = thead_generic_match,
.early_init = thead_generic_early_init,
.match_table = thead_generic_match,
.early_init = thead_generic_early_init,
.extensions_init = thead_generic_extensions_init,
};