@@ -16,6 +16,7 @@ description: |-
properties:
compatible:
enum:
+ - allwinner,sun8i-h3-ths
- allwinner,sun50i-h6-ths
reg:
@@ -28,13 +29,21 @@ properties:
maxItems: 1
clocks:
- maxItems: 1
+ minItems: 1
+ maxItems: 2
+ items:
+ - description: ths bus clock
+ - description: ths mod clock
clock-names:
- const: bus
+ minItems: 1
+ maxItems: 2
+ items:
+ - const: bus
+ - const: mod
"#thermal-sensor-cells":
- const: 1
+ enum: [ 0, 1 ]
nvmem-cells:
description: ths calibrate data
@@ -51,9 +60,75 @@ required:
- interrupts
- "#thermal-sensor-cells"
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: allwinner,sun50i-h6-ths
+
+ then:
+ properties:
+ clocks:
+ minItems: 1
+ maxItems: 1
+
+ clock-names:
+ minItems: 1
+ maxItems: 1
+
+ else:
+ properties:
+ clocks:
+ minItems: 2
+ maxItems: 2
+
+ clock-names:
+ minItems: 2
+ maxItems: 2
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: allwinner,sun8i-h3-ths
+
+ then:
+ properties:
+ "#thermal-sensor-cells":
+ const: 0
+
+ else:
+ properties:
+ "#thermal-sensor-cells":
+ const: 1
+
additionalProperties: false
examples:
+ - |
+ ths: ths@1c25000 {
+ compatible = "allwinner,sun8i-h3-ths";
+ reg = <0x01c25000 0x400>;
+ clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>;
+ clock-names = "bus", "mod";
+ resets = <&ccu RST_BUS_THS>;
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+ nvmem-cells = <&tsen_calib>;
+ nvmem-cell-names = "calib";
+ #thermal-sensor-cells = <0>;
+ };
+
+ sid: sid@1c14000 {
+ compatible = "allwinner,sun8i-h3-sid";
+ reg = <0x1c14000 0x400>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ tsen_calib: calib@34 {
+ reg = <0x34 2>;
+ };
+ };
+
- |
ths: ths@5070400 {
compatible = "allwinner,sun50i-h6-ths";
This patch adds binding document for allwinner h3 thermal controller. Signed-off-by: Yangtao Li <tiny.windzz@gmail.com> --- .../bindings/thermal/sun8i-thermal.yaml | 81 ++++++++++++++++++- 1 file changed, 78 insertions(+), 3 deletions(-)