[ Upstream commitc8c4353685
] The temperature output register of the Loongson-2K2000 is defined in the chip configuration domain, which is different from the Loongson-2K1000, so it can't be fallbacked. We need to use two groups of registers to describe it: the first group is the high and low temperature threshold setting register; the second group is the temperature output register. It is true that this fix will cause ABI corruption, but it is necessary otherwise the Loongson-2K2000 temperature sensor will not work properly. Fixes:72684d99a8
("thermal: dt-bindings: add loongson-2 thermal") Cc: Yinbo Zhu <zhuyinbo@loongson.cn> Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Huacai Chen <chenhuacai@loongson.cn> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/5198999d679f1a1c3457385acb9fadfc85da1f1e.1713837379.git.zhoubinbin@loongson.cn Signed-off-by: Sasha Levin <sashal@kernel.org>
73 lines
1.4 KiB
YAML
73 lines
1.4 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/thermal/loongson,ls2k-thermal.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Thermal sensors on Loongson-2 SoCs
|
|
|
|
maintainers:
|
|
- zhanghongchen <zhanghongchen@loongson.cn>
|
|
- Yinbo Zhu <zhuyinbo@loongson.cn>
|
|
|
|
allOf:
|
|
- $ref: /schemas/thermal/thermal-sensor.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- loongson,ls2k1000-thermal
|
|
- loongson,ls2k2000-thermal
|
|
- items:
|
|
- enum:
|
|
- loongson,ls2k0500-thermal
|
|
- const: loongson,ls2k1000-thermal
|
|
|
|
reg:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
'#thermal-sensor-cells':
|
|
const: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- '#thermal-sensor-cells'
|
|
|
|
if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- loongson,ls2k2000-thermal
|
|
|
|
then:
|
|
properties:
|
|
reg:
|
|
minItems: 2
|
|
maxItems: 2
|
|
|
|
else:
|
|
properties:
|
|
reg:
|
|
maxItems: 1
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
thermal: thermal-sensor@1fe01500 {
|
|
compatible = "loongson,ls2k1000-thermal";
|
|
reg = <0x1fe01500 0x30>;
|
|
interrupt-parent = <&liointc0>;
|
|
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|