[PATCH v4 4/5] dt-bindings: thermal: loongson,ls2k-thermal: Add compatible for Loongson-2K0300
Binbin Zhou <[email protected]> Tue, 4 Aug 2026 20:43:57 +0800
| Newsgroups | dev.linux.lists.mfd,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-pm |
|---|---|
| Message-ID | <93d79c192b18e1e7387fd8997f168fdc6daf9232.1785829933.git.zhoubinbin@loongson.cn> |
Add a new compatible string `loongson,ls2k0300-thermal` for the thermal sensor found on the Loongson-2K0300 SoC. The hardware differs from existing SoCs in that it requires a phandle to a syscon node that provides the CHIP ID register, used as a compensation source in the temperature calculation. Update the binding to make `loongson,chipid` required for this new compatible, and clarify the register region requirements for each variant. Acked-by: Conor Dooley <[email protected]> Signed-off-by: Binbin Zhou <[email protected]> --- .../thermal/loongson,ls2k-thermal.yaml | 73 ++++++++++++++----- 1 file changed, 55 insertions(+), 18 deletions(-) diff --git a/Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml index 79e691b08341..d312e27737a2 100644 --- a/Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml +++ b/Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml @@ -10,13 +10,11 @@ maintainers: - zhanghongchen <[email protected]> - Yinbo Zhu <[email protected]> -allOf: - - $ref: /schemas/thermal/thermal-sensor.yaml# - properties: compatible: oneOf: - enum: + - loongson,ls2k0300-thermal - loongson,ls2k1000-thermal - loongson,ls2k2000-thermal - items: @@ -34,28 +32,56 @@ properties: '#thermal-sensor-cells': const: 1 + loongson,chipid: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to the syscon with the Loongson-2K0300 CHIP ID. + required: - compatible - reg - interrupts -if: - properties: - compatible: - contains: - enum: - - loongson,ls2k2000-thermal +allOf: + - $ref: /schemas/thermal/thermal-sensor.yaml# + + - if: + properties: + compatible: + contains: + const: loongson,ls2k0300-thermal + then: + properties: + reg: + items: + - description: Thermal base register region + required: + - loongson,chipid -then: - properties: - reg: - minItems: 2 - maxItems: 2 + - if: + properties: + compatible: + contains: + const: loongson,ls2k1000-thermal + then: + properties: + loongson,chipid: false + reg: + items: + - description: Thermal base register region -else: - properties: - reg: - maxItems: 1 + - if: + properties: + compatible: + contains: + const: loongson,ls2k2000-thermal + then: + properties: + loongson,chipid: false + reg: + items: + - description: Thermal base register region + - description: Thermal data output register region unevaluatedProperties: false @@ -69,3 +95,14 @@ examples: interrupts = <7 IRQ_TYPE_LEVEL_LOW>; #thermal-sensor-cells = <1>; }; + + - | + #include <dt-bindings/interrupt-controller/irq.h> + thermal-sensor@16001500 { + compatible = "loongson,ls2k0300-thermal"; + reg = <0x16001500 0x30>; + interrupt-parent = <&liointc1>; + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; + loongson,chipid = <&chipid>; + #thermal-sensor-cells = <1>; + }; -- 2.52.0