LoongArch: dts: Add new supported device nodes to Loongson-2K2000
authorBinbin Zhou <zhoubinbin@loongson.cn>
Tue, 14 May 2024 04:24:24 +0000 (12:24 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Tue, 14 May 2024 04:24:24 +0000 (12:24 +0800)
By now, more Loongson-2K2000 related drivers are supported, such as
clock controller and thermal controller. So we add these device nodes
to the Loongson-2K2000 dts file.

Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/boot/dts/loongson-2k2000.dtsi

index 9eab2d02cbe8bff12a26ce11dd7ac1543b7c1f82..0953c57078256d67992b3e2c75efd6cf2536d8ad 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/clock/loongson,ls2k-clk.h>
 
 / {
        #address-cells = <2>;
                        compatible = "loongson,la364";
                        device_type = "cpu";
                        reg = <0x0>;
-                       clocks = <&cpu_clk>;
+                       clocks = <&clk LOONGSON2_NODE_CLK>;
                };
 
                cpu1: cpu@2 {
                        compatible = "loongson,la364";
                        device_type = "cpu";
                        reg = <0x1>;
-                       clocks = <&cpu_clk>;
+                       clocks = <&clk LOONGSON2_NODE_CLK>;
                };
        };
 
-       cpu_clk: cpu-clk {
+       ref_100m: clock-ref-100m {
                compatible = "fixed-clock";
                #clock-cells = <0>;
-               clock-frequency = <1400000000>;
+               clock-frequency = <100000000>;
+               clock-output-names = "ref_100m";
        };
 
        cpuintc: interrupt-controller {
                interrupt-controller;
        };
 
+       thermal-zones {
+               cpu-thermal {
+                       polling-delay-passive = <1000>;
+                       polling-delay = <5000>;
+                       thermal-sensors = <&tsensor 0>;
+
+                       trips {
+                               cpu-alert {
+                                       temperature = <40000>;
+                                       hysteresis = <2000>;
+                                       type = "active";
+                               };
+
+                               cpu-crit {
+                                       temperature = <85000>;
+                                       hysteresis = <5000>;
+                                       type = "critical";
+                               };
+                       };
+               };
+       };
+
        bus@10000000 {
                compatible = "simple-bus";
                ranges = <0x0 0x10000000 0x0 0x10000000 0x0 0x10000000>,
                        ranges = <1 0x0 0x0 0x18400000 0x4000>;
                };
 
+               clk: clock-controller@10010480 {
+                       compatible = "loongson,ls2k2000-clk";
+                       reg = <0x0 0x10010480 0x0 0x100>;
+                       #clock-cells = <1>;
+                       clocks = <&ref_100m>;
+                       clock-names = "ref_100m";
+               };
+
                pmc: power-management@100d0000 {
                        compatible = "loongson,ls2k2000-pmc", "loongson,ls2k0500-pmc", "syscon";
                        reg = <0x0 0x100d0000 0x0 0x58>;
                        };
                };
 
+               tsensor: thermal-sensor@1fe01460 {
+                       compatible = "loongson,ls2k2000-thermal";
+                       reg = <0x0 0x1fe01460 0x0 0x30>,
+                             <0x0 0x1fe0019c 0x0 0x4>;
+                       interrupt-parent = <&liointc>;
+                       interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
+                       #thermal-sensor-cells = <1>;
+               };
+
                liointc: interrupt-controller@1fe01400 {
                        compatible = "loongson,liointc-1.0";
                        reg = <0x0 0x1fe01400 0x0 0x64>;