Message ID | 20190916100717.31472-1-horms+renesas@verge.net.au (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | dt-bindings: thermal: rcar-thermal: convert bindings to json-schema | expand |
On Mon, Sep 16, 2019 at 12:07:17PM +0200, Simon Horman wrote: > Convert Renesas R-Car Thermal bindings documentation to json-schema. > Also name bindings documentation file according to the compat string > being documented. > > As a side effect of this change all currently supported/used compat > strings are listed while no while card compat string is documented. > This, in my opinion, is desirable as only supported hardware should > be documented. > > Signed-off-by: Simon Horman <horms+renesas@verge.net.au> > --- > Based on v5.3-rc1 > Tested using: > ARCH=arm make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml > --- > .../devicetree/bindings/thermal/rcar-thermal.txt | 78 --------------- > .../bindings/thermal/renesas,rcar-thermal.yaml | 110 +++++++++++++++++++++ > 2 files changed, 110 insertions(+), 78 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/thermal/rcar-thermal.txt > create mode 100644 Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml > > diff --git a/Documentation/devicetree/bindings/thermal/rcar-thermal.txt b/Documentation/devicetree/bindings/thermal/rcar-thermal.txt > deleted file mode 100644 > index 196112d23b1e..000000000000 > --- a/Documentation/devicetree/bindings/thermal/rcar-thermal.txt > +++ /dev/null > @@ -1,78 +0,0 @@ > -* Renesas R-Car Thermal > - > -Required properties: > -- compatible : "renesas,thermal-<soctype>", > - "renesas,rcar-gen2-thermal" (with thermal-zone) or > - "renesas,rcar-thermal" (without thermal-zone) as > - fallback except R-Car V3M/E3/D3 and RZ/G2E. > - Examples with soctypes are: > - - "renesas,thermal-r8a73a4" (R-Mobile APE6) > - - "renesas,thermal-r8a7743" (RZ/G1M) > - - "renesas,thermal-r8a7744" (RZ/G1N) > - - "renesas,thermal-r8a774c0" (RZ/G2E) > - - "renesas,thermal-r8a7779" (R-Car H1) > - - "renesas,thermal-r8a7790" (R-Car H2) > - - "renesas,thermal-r8a7791" (R-Car M2-W) > - - "renesas,thermal-r8a7792" (R-Car V2H) > - - "renesas,thermal-r8a7793" (R-Car M2-N) > - - "renesas,thermal-r8a77970" (R-Car V3M) > - - "renesas,thermal-r8a77990" (R-Car E3) > - - "renesas,thermal-r8a77995" (R-Car D3) > -- reg : Address range of the thermal registers. > - The 1st reg will be recognized as common register > - if it has "interrupts". > - > -Option properties: > - > -- interrupts : If present should contain 3 interrupts for > - R-Car V3M/E3/D3 and RZ/G2E or 1 interrupt otherwise. > - > -Example (non interrupt support): > - > -thermal@ffc48000 { > - compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal"; > - reg = <0xffc48000 0x38>; > -}; > - > -Example (interrupt support): > - > -thermal@e61f0000 { > - compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal"; > - reg = <0xe61f0000 0x14 > - 0xe61f0100 0x38 > - 0xe61f0200 0x38 > - 0xe61f0300 0x38>; > - interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; > -}; > - > -Example (with thermal-zone): > - > -thermal-zones { > - cpu_thermal: cpu-thermal { > - polling-delay-passive = <1000>; > - polling-delay = <5000>; > - > - thermal-sensors = <&thermal>; > - > - trips { > - cpu-crit { > - temperature = <115000>; > - hysteresis = <0>; > - type = "critical"; > - }; > - }; > - cooling-maps { > - }; > - }; > -}; > - > -thermal: thermal@e61f0000 { > - compatible = "renesas,thermal-r8a7790", > - "renesas,rcar-gen2-thermal", > - "renesas,rcar-thermal"; > - reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>; > - interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; > - clocks = <&mstp5_clks R8A7790_CLK_THERMAL>; > - power-domains = <&cpg_clocks>; > - #thermal-sensor-cells = <0>; > -}; > diff --git a/Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml b/Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml > new file mode 100644 > index 000000000000..ab4cc3c35410 > --- /dev/null > +++ b/Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml > @@ -0,0 +1,110 @@ > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/thermal/renesas,rcar-thermal.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Renesas R-Car Thermal > + > +maintainers: > + - Niklas Söderlund <niklas.soderlund@ragnatech.se> > + - Geert Uytterhoeven <geert+renesas@glider.be> > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - renesas,thermal-r8a73a4 # R-Mobile APE6 > + - renesas,thermal-r8a7743 # RZ/G1M > + - renesas,thermal-r8a7744 # RZ/G1N > + - renesas,thermal-r8a7779 # R-Car H1 > + - renesas,thermal-r8a774c0 # RZ/G2E > + - renesas,thermal-r8a77970 # R-Car V3M > + - renesas,thermal-r8a77990 # R-Car E3 > + - renesas,thermal-r8a77995 # R-Car D3 > + - const: renesas,rcar-thermal # Without thermal-zone > + > + - items: > + - enum: > + - renesas,thermal-r8a7790 # R-Car H2 > + - renesas,thermal-r8a7791 # R-Car M2-W > + - renesas,thermal-r8a7792 # R-Car V2H > + - renesas,thermal-r8a7793 # R-Car M2-N > + - const: renesas,rcar-gen2-thermal # With thermal-zone > + - const: renesas,rcar-thermal # Without thermal-zone I missread the original bindings document and somehow missed warnings emitted by dtbs_check. I now think the compat property should be described as: compatible: oneOf: - items: - enum: - renesas,thermal-r8a73a4 # R-Mobile APE6 - renesas,thermal-r8a7779 # R-Car H1 - const: renesas,rcar-thermal # Without thermal-zone - items: - enum: - renesas,thermal-r8a7790 # R-Car H2 - renesas,thermal-r8a7791 # R-Car M2-W - renesas,thermal-r8a7792 # R-Car V2H - renesas,thermal-r8a7793 # R-Car M2-N - const: renesas,rcar-gen2-thermal # With thermal-zone - const: renesas,rcar-thermal # Without thermal-zone - items: - enum: - renesas,thermal-r8a7743 # RZ/G1M - renesas,thermal-r8a7744 # RZ/G1N - const: renesas,rcar-gen2-thermal # With thermal-zone - items: - enum: - renesas,thermal-r8a774c0 # RZ/G2E - renesas,thermal-r8a77970 # R-Car V3M - renesas,thermal-r8a77990 # R-Car E3 - renesas,thermal-r8a77995 # R-Car D3 > + > + reg: > + # Address range of the thermal registers. > + # The 1st reg will be recognized as common register if it has "interrupts". > + minItems: 1 There may be any number of register blocks present and the "# Address range of the thermal registers." is very generic. So I think the above should be updated to: reg: true # The 1st reg will be recognized as common register if it has "interrupts". > + > + interrupts: > + # If present should contain 3 interrupts for R-Car V3M/E3/D3 and RZ/G2E, > + # otherwise 1 interrupt. > + minItems: 1 > + maxItems: 3 > + > + clocks: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + > +examples : > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/clock/r8a7790-clock.h> > + > + # Example (non interrupt support): > + - | > + thermal@ffc48000 { > + compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal"; > + reg = <0xffc48000 0x38>; > + }; > + > + # Example (interrupt support): > + - | > + thermal@e61f0000 { > + compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal"; > + reg = <0xe61f0000 0x14 > + 0xe61f0100 0x38 > + 0xe61f0200 0x38 > + 0xe61f0300 0x38>; > + interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; > + }; > + > + # Example (with thermal-zone): > + - | > + thermal-zones { > + cpu_thermal: cpu-thermal { > + polling-delay-passive = <1000>; > + polling-delay = <5000>; > + > + thermal-sensors = <&thermal>; > + > + trips { > + cpu-crit { > + temperature = <115000>; > + hysteresis = <0>; > + type = "critical"; > + }; > + }; > + cooling-maps { > + }; > + }; > + }; > + > + thermal: thermal@e61f0000 { > + compatible = "renesas,thermal-r8a7790", > + "renesas,rcar-gen2-thermal", > + "renesas,rcar-thermal"; > + reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>; > + interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&mstp5_clks R8A7790_CLK_THERMAL>; > + power-domains = <&cpg_clocks>; > + #thermal-sensor-cells = <0>; > + }; > -- > 2.11.0 >
Hi Simon, On Tue, Sep 17, 2019 at 1:32 PM Simon Horman <horms@verge.net.au> wrote: > I missread the original bindings document and somehow missed > warnings emitted by dtbs_check. I now think the compat property should be > described as: > > compatible: > oneOf: > - items: > - enum: > - renesas,thermal-r8a73a4 # R-Mobile APE6 > - renesas,thermal-r8a7779 # R-Car H1 > - const: renesas,rcar-thermal # Without thermal-zone > > - items: > - enum: > - renesas,thermal-r8a7790 # R-Car H2 > - renesas,thermal-r8a7791 # R-Car M2-W > - renesas,thermal-r8a7792 # R-Car V2H > - renesas,thermal-r8a7793 # R-Car M2-N > - const: renesas,rcar-gen2-thermal # With thermal-zone > - const: renesas,rcar-thermal # Without thermal-zone > > - items: > - enum: > - renesas,thermal-r8a7743 # RZ/G1M > - renesas,thermal-r8a7744 # RZ/G1N > - const: renesas,rcar-gen2-thermal # With thermal-zone > > - items: > - enum: > - renesas,thermal-r8a774c0 # RZ/G2E > - renesas,thermal-r8a77970 # R-Car V3M > - renesas,thermal-r8a77990 # R-Car E3 > - renesas,thermal-r8a77995 # R-Car D3 Perhaps we should (try to) get rid of the "Without thermal-zone" legacy? All R-Car Gen2 DTSes received thermal zones a while ago. R-Mobile APE6 and R-Car H1 still don't have them described, though. Gr{oetje,eeting}s, Geert
On Tue, Sep 17, 2019 at 01:37:39PM +0200, Geert Uytterhoeven wrote: > Hi Simon, > > On Tue, Sep 17, 2019 at 1:32 PM Simon Horman <horms@verge.net.au> wrote: > > I missread the original bindings document and somehow missed > > warnings emitted by dtbs_check. I now think the compat property should be > > described as: > > > > compatible: > > oneOf: > > - items: > > - enum: > > - renesas,thermal-r8a73a4 # R-Mobile APE6 > > - renesas,thermal-r8a7779 # R-Car H1 > > - const: renesas,rcar-thermal # Without thermal-zone > > > > - items: > > - enum: > > - renesas,thermal-r8a7790 # R-Car H2 > > - renesas,thermal-r8a7791 # R-Car M2-W > > - renesas,thermal-r8a7792 # R-Car V2H > > - renesas,thermal-r8a7793 # R-Car M2-N > > - const: renesas,rcar-gen2-thermal # With thermal-zone > > - const: renesas,rcar-thermal # Without thermal-zone > > > > - items: > > - enum: > > - renesas,thermal-r8a7743 # RZ/G1M > > - renesas,thermal-r8a7744 # RZ/G1N > > - const: renesas,rcar-gen2-thermal # With thermal-zone > > > > - items: > > - enum: > > - renesas,thermal-r8a774c0 # RZ/G2E > > - renesas,thermal-r8a77970 # R-Car V3M > > - renesas,thermal-r8a77990 # R-Car E3 > > - renesas,thermal-r8a77995 # R-Car D3 > > Perhaps we should (try to) get rid of the "Without thermal-zone" legacy? > All R-Car Gen2 DTSes received thermal zones a while ago. > R-Mobile APE6 and R-Car H1 still don't have them described, though. Do you mean deprecate renesas,rcar-thermal ? If so that sounds reasonable if APE6 and R-Car H1 supports thermal-zones. But I don't feel it belongs in this patch, which aims to translate the documentation from one format to another (perhaps highlighting problems along the way :).
Hi Simon, On Tue, Sep 17, 2019 at 1:41 PM Simon Horman <horms@verge.net.au> wrote: > On Tue, Sep 17, 2019 at 01:37:39PM +0200, Geert Uytterhoeven wrote: > > On Tue, Sep 17, 2019 at 1:32 PM Simon Horman <horms@verge.net.au> wrote: > > > I missread the original bindings document and somehow missed > > > warnings emitted by dtbs_check. I now think the compat property should be > > > described as: > > > > > > compatible: > > > oneOf: > > > - items: > > > - enum: > > > - renesas,thermal-r8a73a4 # R-Mobile APE6 > > > - renesas,thermal-r8a7779 # R-Car H1 > > > - const: renesas,rcar-thermal # Without thermal-zone > > > > > > - items: > > > - enum: > > > - renesas,thermal-r8a7790 # R-Car H2 > > > - renesas,thermal-r8a7791 # R-Car M2-W > > > - renesas,thermal-r8a7792 # R-Car V2H > > > - renesas,thermal-r8a7793 # R-Car M2-N > > > - const: renesas,rcar-gen2-thermal # With thermal-zone > > > - const: renesas,rcar-thermal # Without thermal-zone > > > > > > - items: > > > - enum: > > > - renesas,thermal-r8a7743 # RZ/G1M > > > - renesas,thermal-r8a7744 # RZ/G1N > > > - const: renesas,rcar-gen2-thermal # With thermal-zone > > > > > > - items: > > > - enum: > > > - renesas,thermal-r8a774c0 # RZ/G2E > > > - renesas,thermal-r8a77970 # R-Car V3M > > > - renesas,thermal-r8a77990 # R-Car E3 > > > - renesas,thermal-r8a77995 # R-Car D3 > > > > Perhaps we should (try to) get rid of the "Without thermal-zone" legacy? > > All R-Car Gen2 DTSes received thermal zones a while ago. > > R-Mobile APE6 and R-Car H1 still don't have them described, though. > > Do you mean deprecate renesas,rcar-thermal ? Exactly. > If so that sounds reasonable if APE6 and R-Car H1 supports thermal-zones. > But I don't feel it belongs in this patch, which aims > to translate the documentation from one format to another OK. > (perhaps highlighting problems along the way :). That part has been activated, definitely ;-) Gr{oetje,eeting}s, Geert
diff --git a/Documentation/devicetree/bindings/thermal/rcar-thermal.txt b/Documentation/devicetree/bindings/thermal/rcar-thermal.txt deleted file mode 100644 index 196112d23b1e..000000000000 --- a/Documentation/devicetree/bindings/thermal/rcar-thermal.txt +++ /dev/null @@ -1,78 +0,0 @@ -* Renesas R-Car Thermal - -Required properties: -- compatible : "renesas,thermal-<soctype>", - "renesas,rcar-gen2-thermal" (with thermal-zone) or - "renesas,rcar-thermal" (without thermal-zone) as - fallback except R-Car V3M/E3/D3 and RZ/G2E. - Examples with soctypes are: - - "renesas,thermal-r8a73a4" (R-Mobile APE6) - - "renesas,thermal-r8a7743" (RZ/G1M) - - "renesas,thermal-r8a7744" (RZ/G1N) - - "renesas,thermal-r8a774c0" (RZ/G2E) - - "renesas,thermal-r8a7779" (R-Car H1) - - "renesas,thermal-r8a7790" (R-Car H2) - - "renesas,thermal-r8a7791" (R-Car M2-W) - - "renesas,thermal-r8a7792" (R-Car V2H) - - "renesas,thermal-r8a7793" (R-Car M2-N) - - "renesas,thermal-r8a77970" (R-Car V3M) - - "renesas,thermal-r8a77990" (R-Car E3) - - "renesas,thermal-r8a77995" (R-Car D3) -- reg : Address range of the thermal registers. - The 1st reg will be recognized as common register - if it has "interrupts". - -Option properties: - -- interrupts : If present should contain 3 interrupts for - R-Car V3M/E3/D3 and RZ/G2E or 1 interrupt otherwise. - -Example (non interrupt support): - -thermal@ffc48000 { - compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal"; - reg = <0xffc48000 0x38>; -}; - -Example (interrupt support): - -thermal@e61f0000 { - compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal"; - reg = <0xe61f0000 0x14 - 0xe61f0100 0x38 - 0xe61f0200 0x38 - 0xe61f0300 0x38>; - interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; -}; - -Example (with thermal-zone): - -thermal-zones { - cpu_thermal: cpu-thermal { - polling-delay-passive = <1000>; - polling-delay = <5000>; - - thermal-sensors = <&thermal>; - - trips { - cpu-crit { - temperature = <115000>; - hysteresis = <0>; - type = "critical"; - }; - }; - cooling-maps { - }; - }; -}; - -thermal: thermal@e61f0000 { - compatible = "renesas,thermal-r8a7790", - "renesas,rcar-gen2-thermal", - "renesas,rcar-thermal"; - reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>; - interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&mstp5_clks R8A7790_CLK_THERMAL>; - power-domains = <&cpg_clocks>; - #thermal-sensor-cells = <0>; -}; diff --git a/Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml b/Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml new file mode 100644 index 000000000000..ab4cc3c35410 --- /dev/null +++ b/Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml @@ -0,0 +1,110 @@ +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/thermal/renesas,rcar-thermal.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Renesas R-Car Thermal + +maintainers: + - Niklas Söderlund <niklas.soderlund@ragnatech.se> + - Geert Uytterhoeven <geert+renesas@glider.be> + +properties: + compatible: + oneOf: + - items: + - enum: + - renesas,thermal-r8a73a4 # R-Mobile APE6 + - renesas,thermal-r8a7743 # RZ/G1M + - renesas,thermal-r8a7744 # RZ/G1N + - renesas,thermal-r8a7779 # R-Car H1 + - renesas,thermal-r8a774c0 # RZ/G2E + - renesas,thermal-r8a77970 # R-Car V3M + - renesas,thermal-r8a77990 # R-Car E3 + - renesas,thermal-r8a77995 # R-Car D3 + - const: renesas,rcar-thermal # Without thermal-zone + + - items: + - enum: + - renesas,thermal-r8a7790 # R-Car H2 + - renesas,thermal-r8a7791 # R-Car M2-W + - renesas,thermal-r8a7792 # R-Car V2H + - renesas,thermal-r8a7793 # R-Car M2-N + - const: renesas,rcar-gen2-thermal # With thermal-zone + - const: renesas,rcar-thermal # Without thermal-zone + + reg: + # Address range of the thermal registers. + # The 1st reg will be recognized as common register if it has "interrupts". + minItems: 1 + + interrupts: + # If present should contain 3 interrupts for R-Car V3M/E3/D3 and RZ/G2E, + # otherwise 1 interrupt. + minItems: 1 + maxItems: 3 + + clocks: + maxItems: 1 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + +examples : + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/clock/r8a7790-clock.h> + + # Example (non interrupt support): + - | + thermal@ffc48000 { + compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal"; + reg = <0xffc48000 0x38>; + }; + + # Example (interrupt support): + - | + thermal@e61f0000 { + compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal"; + reg = <0xe61f0000 0x14 + 0xe61f0100 0x38 + 0xe61f0200 0x38 + 0xe61f0300 0x38>; + interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; + }; + + # Example (with thermal-zone): + - | + thermal-zones { + cpu_thermal: cpu-thermal { + polling-delay-passive = <1000>; + polling-delay = <5000>; + + thermal-sensors = <&thermal>; + + trips { + cpu-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + cooling-maps { + }; + }; + }; + + thermal: thermal@e61f0000 { + compatible = "renesas,thermal-r8a7790", + "renesas,rcar-gen2-thermal", + "renesas,rcar-thermal"; + reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>; + interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&mstp5_clks R8A7790_CLK_THERMAL>; + power-domains = <&cpg_clocks>; + #thermal-sensor-cells = <0>; + };
Convert Renesas R-Car Thermal bindings documentation to json-schema. Also name bindings documentation file according to the compat string being documented. As a side effect of this change all currently supported/used compat strings are listed while no while card compat string is documented. This, in my opinion, is desirable as only supported hardware should be documented. Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- Based on v5.3-rc1 Tested using: ARCH=arm make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml --- .../devicetree/bindings/thermal/rcar-thermal.txt | 78 --------------- .../bindings/thermal/renesas,rcar-thermal.yaml | 110 +++++++++++++++++++++ 2 files changed, 110 insertions(+), 78 deletions(-) delete mode 100644 Documentation/devicetree/bindings/thermal/rcar-thermal.txt create mode 100644 Documentation/devicetree/bindings/thermal/renesas,rcar-thermal.yaml