This patch adds binding document for allwinner h3 thermal controller.
Signed-off-by: Yangtao Li <[email protected]>
---
.../bindings/thermal/sun8i-thermal.yaml | 29 +++++++++++++++++--
1 file changed, 26 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/thermal/sun8i-thermal.yaml b/Documentation/devicetree/bindings/thermal/sun8i-thermal.yaml
index 2c5acc61ed03..1eaf68b5dd5a 100644
--- a/Documentation/devicetree/bindings/thermal/sun8i-thermal.yaml
+++ b/Documentation/devicetree/bindings/thermal/sun8i-thermal.yaml
@@ -16,6 +16,7 @@ description: |-
properties:
compatible:
enum:
+ - allwinner,sun8i-h3-ths
- allwinner,sun50i-h6-ths
reg:
@@ -29,13 +30,22 @@ properties:
clocks:
minItems: 1
- maxItems: 1
+ maxItems: 2
clock-names:
- const: bus
+ items:
+ - const: bus
+ - const: ahb
'#thermal-sensor-cells':
- const: 1
+ enum: [ 0, 1 ]
+ description: |
+ Definition depends on soc version:
+
+ For "allwinner,sun8i-h3-ths",
+ value must be 0.
+ For "allwinner,sun50i-h6-ths",
+ value must be 1.
nvmem-cells:
items:
@@ -55,6 +65,19 @@ required:
- '#thermal-sensor-cells'
examples:
+ - |
+ ths: ths@1c25000 {
+ compatible = "allwinner,sun8i-h3-ths";
+ reg = <0x01c25000 0x400>;
+ clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>;
+ clock-names = "bus", "ahb";
+ 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>;
+ };
+
- |
ths: ths@5070400 {
compatible = "allwinner,sun50i-h6-ths";
--
2.17.1
On Sun, Jun 23, 2019 at 12:42:05PM -0400, Yangtao Li wrote:
> This patch adds binding document for allwinner h3 thermal controller.
>
> Signed-off-by: Yangtao Li <[email protected]>
> ---
> .../bindings/thermal/sun8i-thermal.yaml | 29 +++++++++++++++++--
> 1 file changed, 26 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/thermal/sun8i-thermal.yaml b/Documentation/devicetree/bindings/thermal/sun8i-thermal.yaml
> index 2c5acc61ed03..1eaf68b5dd5a 100644
> --- a/Documentation/devicetree/bindings/thermal/sun8i-thermal.yaml
> +++ b/Documentation/devicetree/bindings/thermal/sun8i-thermal.yaml
> @@ -16,6 +16,7 @@ description: |-
> properties:
> compatible:
> enum:
> + - allwinner,sun8i-h3-ths
> - allwinner,sun50i-h6-ths
>
> reg:
> @@ -29,13 +30,22 @@ properties:
>
> clocks:
> minItems: 1
> - maxItems: 1
> + maxItems: 2
>
> clock-names:
> - const: bus
> + items:
> + - const: bus
> + - const: ahb
You need a min/maxItems here as well. Otherwise, on the H6, you will
have a warning since you asked for an array of two items, bus and ahb,
while you only have a single one.
> '#thermal-sensor-cells':
> - const: 1
> + enum: [ 0, 1 ]
> + description: |
> + Definition depends on soc version:
> +
> + For "allwinner,sun8i-h3-ths",
> + value must be 0.
> + For "allwinner,sun50i-h6-ths",
> + value must be 1.
This must be checked using a conditional.
Something like:
if:
properties:
compatible:
const: allwinner,sun8i-h3-ths
then:
properties:
"#thermal-sensor-cells":
const: 0
else:
properties:
"#thermal-sensor-cells":
const: 1
> nvmem-cells:
> items:
> @@ -55,6 +65,19 @@ required:
> - '#thermal-sensor-cells'
>
> examples:
> + - |
> + ths: ths@1c25000 {
> + compatible = "allwinner,sun8i-h3-ths";
> + reg = <0x01c25000 0x400>;
> + clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>;
> + clock-names = "bus", "ahb";
> + 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>;
> + };
Same remark here, it won't compile
Maxime
--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com