[PATCH 2/2] platform: generic: thead: add Canaan Kendryte K230

Yangyu Chen cyy at cyyself.name
Sun Apr 21 08:52:09 PDT 2024


Canaan Kendryte K230 SoC has T-Head C908 cores inside. The dt-binding has
been merged into the linux kernel [1]. However, it has early version of
C908 core which does not have Sscofpmf and need to use T-Head PMU
extension. Thus, we add a K230 compatible string to thead_generic_match
and set quirk for T-Head PMU.

[1] https://lore.kernel.org/linux-riscv/tencent_4D85743622F39109466913393EE2F6C5980A@qq.com/

Signed-off-by: Yangyu Chen <cyy at cyyself.name>
---
 platform/generic/thead/thead-generic.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/platform/generic/thead/thead-generic.c b/platform/generic/thead/thead-generic.c
index da55e05..3b59a0d 100644
--- a/platform/generic/thead/thead-generic.c
+++ b/platform/generic/thead/thead-generic.c
@@ -45,8 +45,13 @@ static struct thead_generic_quirks thead_th1520_quirks = {
 	.errata = THEAD_QUIRK_ERRATA_TLB_FLUSH | THEAD_QUIRK_ERRATA_THEAD_PMU,
 };
 
+static struct thead_generic_quirks canaan_k230_quirks = {
+	.errata = THEAD_QUIRK_ERRATA_THEAD_PMU,
+};
+
 static const struct fdt_match thead_generic_match[] = {
 	{ .compatible = "thead,th1520", .data = &thead_th1520_quirks },
+	{ .compatible = "canaan,kendryte-k230", .data = &canaan_k230_quirks },
 	{ },
 };
 
-- 
2.43.0




More information about the opensbi mailing list