]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
riscv: dts: sophgo: add zfh for sg2042
authorHan Gao <rabenda.cn@gmail.com>
Sat, 5 Jul 2025 07:00:14 +0000 (15:00 +0800)
committerInochi Amaoto <inochiama@gmail.com>
Wed, 23 Jul 2025 01:55:15 +0000 (09:55 +0800)
sg2042 support Zfh ISA extension [1].

Link: https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1737721869472/%E7%8E%84%E9%93%81C910%E4%B8%8EC920R1S6%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C%28xrvm%29_20250124.pdf
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/bcaf5684c614959f49a9770bf3cd41096cee5fe6.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 f483f62ab0c4b2ee5fb64e3a453db0bee5cbc87d..77ded53042728277e9084ffc80d054a975b25368 100644 (file)
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <0>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <1>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <2>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <3>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <4>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <5>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <6>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <7>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <8>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <9>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <10>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <11>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <12>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <13>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <14>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <15>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <16>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <17>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <18>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <19>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <20>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <21>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <22>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <23>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <24>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <25>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <26>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <27>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <28>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <29>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <30>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <31>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <32>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <33>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <34>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <35>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <36>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <37>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <38>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <39>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <40>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <41>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <42>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <43>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <44>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <45>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <46>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <47>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <48>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <49>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <50>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <51>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <52>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <53>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <54>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <55>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <56>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <57>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <58>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <59>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <60>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <61>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <62>;
                        riscv,isa-base = "rv64i";
                        riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
                                               "ziccrse", "zicntr", "zicsr",
-                                              "zifencei", "zihpm",
+                                              "zifencei", "zihpm", "zfh",
                                               "xtheadvector";
                        thead,vlenb = <16>;
                        reg = <63>;