LoongArch: dts: Add more support device ndoes to Loongson-2K
Subsystems (2)
v2 cover LoongArch: dts: Add more support device ndoes to Loongson-2K
Hi all:
Now, more Loongson-2K related deviers are supported, this patchset add these device nodes to dts files.
Additionally, we remove the "disable" state of the ls2k1000 clk node as it was unnecessary.
Thanks.
-------
V2:
patch(1/3):
- New patch. Follow Conor's comment, remove the "disable" state of the ls2k1000 clk node as it was unnecessary.
patch(2/3)(3/3):
- Remove the "disable" state of the clk node as it was unnecessary;
- Add cpu-alert trips.
Link to V1:
https://lore.kernel.org/all/[email protected]/
Binbin Zhou (3):
LoongArch: dts: Remove "disabled" state of clock controller node
LoongArch: dts: Add new supported device nodes to Loongson-2K0500
LoongArch: dts: Add new supported device nodes to Loongson-2K2000
arch/loongarch/boot/dts/loongson-2k0500.dtsi | 85 ++++++++++++++++++- .../boot/dts/loongson-2k1000-ref.dts | 4 - arch/loongarch/boot/dts/loongson-2k1000.dtsi | 1 - arch/loongarch/boot/dts/loongson-2k2000.dtsi | 48 ++++++++++- 4 files changed, 126 insertions(+), 12 deletions(-)
Signature · 1 line
2.43.0
PATCH v2 1/3 LoongArch: dts: Remove "disabled" state of clock controller node
Things like clock controllers or architectural interrupt controllers, no one would disable them because otherwise they would have no usable system.
So we just "enabled" them by default.
--- arch/loongarch/boot/dts/loongson-2k1000-ref.dts | 4 ---- arch/loongarch/boot/dts/loongson-2k1000.dtsi | 1 - 2 files changed, 5 deletions(-)
arch/loongarch/boot/dts/loongson-2k1000-ref.dts +0 -4
@@ -137,10 +137,6 @@ &uart0 { status = "okay"; }; -&clk { - status = "okay"; -}; - &rtc0 { status = "okay"; };
arch/loongarch/boot/dts/loongson-2k1000.dtsi +0 -1
@@ -159,7 +159,6 @@ clk: clock-controller@1fe00480 { #clock-cells = <1>; clocks = <&ref_100m>; clock-names = "ref_100m"; - status = "disabled"; }; gpio0: gpio@1fe00500 {
Signature · 1 line
2.43.0
PATCH v2 2/3 LoongArch: dts: Add new supported device nodes to Loongson-2K0500
In reply to Binbin ZhouBy now, more Loongson-2K0500 related drivers are supported, such as clock controller, thermal controller, and dma controller. Now we add these device nodes to the Loongson-2K0500 dts file.
--- arch/loongarch/boot/dts/loongson-2k0500.dtsi | 85 +++++++++++++++++++- 1 file changed, 82 insertions(+), 3 deletions(-)
arch/loongarch/boot/dts/loongson-2k0500.dtsi +83 -3
@@ -6,6 +6,7 @@ /dts-v1/; #include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/clock/loongson,ls2k-clk.h> / { #address-cells = <2>;
@@ -19,14 +20,15 @@ cpu0: cpu@0 { compatible = "loongson,la264"; device_type = "cpu"; reg = <0x0>; - 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 = <500000000>; + clock-frequency = <100000000>; + clock-output-names = "ref_100m"; }; cpuintc: interrupt-controller {
@@ -35,6 +37,28 @@ cpuintc: interrupt-controller { interrupt-controller; }; + thermal-zones { + cpu-thermal { + polling-delay-passive = <1000>; + polling-delay = <5000>; + thermal-sensors = <&tsensor 0>; + + trips { + cpu-alert { + temperature = <33000>; + hysteresis = <2000>; + type = "active"; + }; + + cpu-crit { + temperature = <85000>; + hysteresis = <5000>; + type = "critical"; + }; + }; + }; + }; + bus@10000000 { compatible = "simple-bus"; ranges = <0x0 0x10000000 0x0 0x10000000 0x0 0x10000000>,
@@ -52,6 +75,54 @@ isa@16400000 { ranges = <1 0x0 0x0 0x16400000 0x4000>; }; + clk: clock-controller@1fe10400 { + compatible = "loongson,ls2k0500-clk"; + reg = <0x0 0x1fe10400 0x0 0x2c>; + #clock-cells = <1>; + clocks = <&ref_100m>; + clock-names = "ref_100m"; + }; + + dma-controller@1fe10c00 { + compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma"; + reg = <0 0x1fe10c00 0 0x8>; + interrupt-parent = <&eiointc>; + interrupts = <67>; + clocks = <&clk LOONGSON2_APB_CLK>; + #dma-cells = <1>; + status = "disabled"; + }; + + dma-controller@1fe10c10 { + compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma"; + reg = <0 0x1fe10c10 0 0x8>; + interrupt-parent = <&eiointc>; + interrupts = <68>; + clocks = <&clk LOONGSON2_APB_CLK>; + #dma-cells = <1>; + status = "disabled"; + }; + + dma-controller@1fe10c20 { + compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma"; + reg = <0 0x1fe10c20 0 0x8>; + interrupt-parent = <&eiointc>; + interrupts = <69>; + clocks = <&clk LOONGSON2_APB_CLK>; + #dma-cells = <1>; + status = "disabled"; + }; + + dma-controller@1fe10c30 { + compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma"; + reg = <0 0x1fe10c30 0 0x8>; + interrupt-parent = <&eiointc>; + interrupts = <70>; + clocks = <&clk LOONGSON2_APB_CLK>; + #dma-cells = <1>; + status = "disabled"; + }; + liointc0: interrupt-controller@1fe11400 { compatible = "loongson,liointc-2.0"; reg = <0x0 0x1fe11400 0x0 0x40>,
@@ -299,6 +370,14 @@ ohci0: usb@1f058000 { status = "disabled"; }; + tsensor: thermal-sensor@1fe11500 { + compatible = "loongson,ls2k0500-thermal", "loongson,ls2k1000-thermal"; + reg = <0x0 0x1fe11500 0x0 0x30>; + interrupt-parent = <&liointc0>; + interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; + #thermal-sensor-cells = <1>; + }; + uart0: serial@1ff40800 { compatible = "ns16550a"; reg = <0x0 0x1ff40800 0x0 0x10>;
Signature · 1 line
2.43.0
PATCH v2 3/3 LoongArch: dts: Add new supported device nodes to Loongson-2K2000
In reply to Binbin ZhouBy now, more Loongson-2K2000 related drivers are supported, such as clock controller and thermal controller.
Now we add these device nodes to the Loongson-2K2000 dts file.
--- arch/loongarch/boot/dts/loongson-2k2000.dtsi | 48 ++++++++++++++++++-- 1 file changed, 44 insertions(+), 4 deletions(-)
arch/loongarch/boot/dts/loongson-2k2000.dtsi +45 -4
@@ -6,6 +6,7 @@ /dts-v1/; #include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/clock/loongson,ls2k-clk.h> / { #address-cells = <2>;
@@ -19,21 +20,22 @@ cpu0: cpu@1 { 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 {
@@ -42,6 +44,28 @@ 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>,
@@ -58,6 +81,14 @@ isa@18400000 { 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>;
@@ -80,6 +111,15 @@ syscon-poweroff { }; }; + 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>;
Signature · 1 line
2.43.0
Queued, thanks.
Huacai
Quoted 37 lines · Binbin Zhou
Hi all:
Now, more Loongson-2K related deviers are supported, this patchset add these device nodes to dts files.
Additionally, we remove the "disable" state of the ls2k1000 clk node as it was unnecessary.
Thanks.
-------
V2:
patch(1/3):
- New patch. Follow Conor's comment, remove the "disable" state of the ls2k1000 clk node as it was unnecessary.
patch(2/3)(3/3):
- Remove the "disable" state of the clk node as it was unnecessary;
- Add cpu-alert trips.Link to V1:
https://lore.kernel.org/all/[email protected]/Binbin Zhou (3):
LoongArch: dts: Remove "disabled" state of clock controller node
LoongArch: dts: Add new supported device nodes to Loongson-2K0500
LoongArch: dts: Add new supported device nodes to Loongson-2K2000arch/loongarch/boot/dts/loongson-2k0500.dtsi | 85 ++++++++++++++++++- .../boot/dts/loongson-2k1000-ref.dts | 4 - arch/loongarch/boot/dts/loongson-2k1000.dtsi | 1 - arch/loongarch/boot/dts/loongson-2k2000.dtsi | 48 ++++++++++- 4 files changed, 126 insertions(+), 12 deletions(-)--
2.43.0