Re: [PATCH v4 10/11] dt-bindings: thermal: add binding document for h3 thermal controller

Maxime Ripard
2019-06-24T08:50:57Z

[-- Attachment #1: Type: text/plain, Size: 2401 bytes --]

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 <tiny.windzz@gmail.com>
> ---
> .../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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]