platform: generic: thead: add Canaan Kendryte K230
authorYangyu Chen <cyy@cyyself.name>
Sun, 21 Apr 2024 15:52:09 +0000 (23:52 +0800)
committerAnup Patel <anup@brainfault.org>
Thu, 9 May 2024 12:40:25 +0000 (18:10 +0530)
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@cyyself.name>
Reviewed-by: Inochi Amaoto <inochiama@outlook.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
platform/generic/thead/thead-generic.c

index da55e054c57ecf1dd987606af009334de745840f..3b59a0d21c0b599ba9fcca09873abacf3781f129 100644 (file)
@@ -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 },
        { },
 };