]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
riscv: dts: sophgo: Add xtheadvector to the sg2042 devicetree
authorHan Gao <rabenda.cn@gmail.com>
Sat, 5 Jul 2025 07:00:12 +0000 (15:00 +0800)
committerInochi Amaoto <inochiama@gmail.com>
Wed, 23 Jul 2025 01:55:15 +0000 (09:55 +0800)
The sg2042 SoCs support xtheadvector [1] so it can be included in the
devicetree. Also include vlenb for the cpu. And set vlenb=16 [2].

This can be tested by passing the "mitigations=off" kernel parameter.

Link: https://lore.kernel.org/linux-riscv/20241113-xtheadvector-v11-4-236c22791ef9@rivosinc.com/
Link: https://lore.kernel.org/linux-riscv/aCO44SAoS2kIP61r@ghost/
Signed-off-by: Han Gao <rabenda.cn@gmail.com>
Reviewed-by: Inochi Amaoto <inochiama@gmail.com>
Reviewed-by: Nutty Liu <liujingqi@lanxincomputing.com>
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
Link: https://lore.kernel.org/r/915bef0530dee6c8bc0ae473837a4bd6786fa4fb.1751698574.git.rabenda.cn@gmail.com
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Chen Wang <wangchen20@iscas.ac.cn>
arch/riscv/boot/dts/sophgo/sg2042-cpus.dtsi

index b136b6c4128c054df63d780e2c05445655a6aaeb..dcc984965b6b871821fe24c8124e90ec7361df7c 100644 (file)
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <0>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <1>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <2>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <3>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <4>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <5>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <6>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <7>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <8>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <9>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <10>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <11>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <12>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <13>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <14>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <15>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <16>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <17>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <18>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <19>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <20>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <21>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <22>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <23>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <24>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <25>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <26>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <27>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <28>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <29>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <30>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <31>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <32>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <33>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <34>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <35>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <36>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <37>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <38>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <39>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <40>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <41>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <42>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <43>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <44>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <45>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <46>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <47>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <48>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <49>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <50>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <51>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <52>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <53>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <54>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <55>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <56>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <57>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <58>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <59>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <60>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <61>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <62>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "zicntr", "zicsr", "zifencei",
-                                              "zihpm";
+                                              "zihpm", "xtheadvector";
+                       thead,vlenb = <16>;
                        reg = <63>;
                        i-cache-block-size = <64>;
                        i-cache-size = <65536>;