Message ID | 20200709215136.28044-4-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for ipq8064 tsens | expand |
On Thu, 09 Jul 2020 23:51:33 +0200, Ansuel Smith wrote: > Document the use of regmap phandle for ipq8064 SoCs > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > --- > .../bindings/thermal/qcom-tsens.yaml | 51 ++++++++++++++++--- > 1 file changed, 44 insertions(+), 7 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: Documentation/devicetree/bindings/thermal/qcom-tsens.example.dts:21.38-31.11: Warning (unit_address_vs_reg): /example-0/thermal-sensor@900000: node has a unit name, but no reg or ranges property /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/thermal/qcom-tsens.example.dt.yaml: thermal-sensor@900000: interrupts: [[0, 178, 4]] is too short /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/thermal/qcom-tsens.example.dt.yaml: thermal-sensor@900000: '#qcom,sensors' is a required property /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/thermal/qcom-tsens.example.dt.yaml: thermal-sensor@900000: 'interrupt-names' is a required property /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/thermal/qcom-tsens.example.dt.yaml: thermal-sensor@900000: compatible: ['qcom,ipq8064-tsens'] is not valid under any of the given schemas (Possible causes of the failure): /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/thermal/qcom-tsens.example.dt.yaml: thermal-sensor@900000: compatible: ['qcom,ipq8064-tsens'] is too short /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/thermal/qcom-tsens.example.dt.yaml: thermal-sensor@900000: compatible:0: 'qcom,ipq8064-tsens' is not one of ['qcom,msm8976-tsens', 'qcom,qcs404-tsens'] /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/thermal/qcom-tsens.example.dt.yaml: thermal-sensor@900000: compatible:0: 'qcom,ipq8064-tsens' is not one of ['qcom,msm8996-tsens', 'qcom,msm8998-tsens', 'qcom,sc7180-tsens', 'qcom,sdm845-tsens'] /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/thermal/qcom-tsens.example.dt.yaml: thermal-sensor@900000: nvmem-cell-names:1: 'calib_sel' was expected See https://patchwork.ozlabs.org/patch/1326228 If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure dt-schema is up to date: pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade Please check and re-submit.
On Thu, Jul 09, 2020 at 11:51:33PM +0200, Ansuel Smith wrote: > Document the use of regmap phandle for ipq8064 SoCs > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > --- > .../bindings/thermal/qcom-tsens.yaml | 51 ++++++++++++++++--- > 1 file changed, 44 insertions(+), 7 deletions(-) > > diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > index d7be931b42d2..5ceb5d720e16 100644 > --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > @@ -24,6 +24,7 @@ properties: > - enum: > - qcom,msm8916-tsens > - qcom,msm8974-tsens > + - qcom,ipq8064-tsens > - const: qcom,tsens-v0_1 > > - description: v1 of TSENS > @@ -47,6 +48,11 @@ properties: > - description: TM registers > - description: SROT registers > > + regmap: > + description: > + Phandle to the gcc. On ipq8064 SoCs gcc and tsense share the same regs. > + $ref: /schemas/types.yaml#/definitions/phandle Can't you make this a child of the gcc and drop this property? > + > interrupts: > minItems: 1 > items: > @@ -111,17 +117,48 @@ allOf: > interrupt-names: > minItems: 2 > > -required: > - - compatible > - - reg > - - "#qcom,sensors" > - - interrupts > - - interrupt-names > - - "#thermal-sensor-cells" > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,ipq8064-tsens > + then: > + required: > + - compatible > + - regmap > + - "#qcom,sensors" > + - interrupts > + - interrupt-names > + - "#thermal-sensor-cells" > + > + else: > + required: > + - compatible > + - reg > + - "#qcom,sensors" > + - interrupts > + - interrupt-names > + - "#thermal-sensor-cells" Keep all the common required properties and just put reg/regmap in the if/then if this ends up staying. Rob
> -----Messaggio originale----- > Da: Rob Herring <robh@kernel.org> > Inviato: venerdì 10 luglio 2020 18:27 > A: Ansuel Smith <ansuelsmth@gmail.com> > Cc: Amit Kucheria <amit.kucheria@linaro.org>; Andy Gross > <agross@kernel.org>; Bjorn Andersson <bjorn.andersson@linaro.org>; > Zhang Rui <rui.zhang@intel.com>; Daniel Lezcano > <daniel.lezcano@linaro.org>; linux-pm@vger.kernel.org; linux-arm- > msm@vger.kernel.org; devicetree@vger.kernel.org; linux- > kernel@vger.kernel.org > Oggetto: Re: [PATCH 3/6] dt-bindings: thermal: tsens: document ipq8064 > bindings > > On Thu, Jul 09, 2020 at 11:51:33PM +0200, Ansuel Smith wrote: > > Document the use of regmap phandle for ipq8064 SoCs > > > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > > --- > > .../bindings/thermal/qcom-tsens.yaml | 51 ++++++++++++++++--- > > 1 file changed, 44 insertions(+), 7 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > > index d7be931b42d2..5ceb5d720e16 100644 > > --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > > +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > > @@ -24,6 +24,7 @@ properties: > > - enum: > > - qcom,msm8916-tsens > > - qcom,msm8974-tsens > > + - qcom,ipq8064-tsens > > - const: qcom,tsens-v0_1 > > > > - description: v1 of TSENS > > @@ -47,6 +48,11 @@ properties: > > - description: TM registers > > - description: SROT registers > > > > + regmap: > > + description: > > + Phandle to the gcc. On ipq8064 SoCs gcc and tsense share the same > regs. > > + $ref: /schemas/types.yaml#/definitions/phandle > > Can't you make this a child of the gcc and drop this property? > Make the thermal a child of the gcc would be a little confusing. Anyway making this a child of gcc cause the not probing of the thermal driver as it's ignored any child of gcc. I pushed v2 with the fixed problem. > > + > > interrupts: > > minItems: 1 > > items: > > @@ -111,17 +117,48 @@ allOf: > > interrupt-names: > > minItems: 2 > > > > -required: > > - - compatible > > - - reg > > - - "#qcom,sensors" > > - - interrupts > > - - interrupt-names > > - - "#thermal-sensor-cells" > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - qcom,ipq8064-tsens > > + then: > > + required: > > + - compatible > > + - regmap > > + - "#qcom,sensors" > > + - interrupts > > + - interrupt-names > > + - "#thermal-sensor-cells" > > + > > + else: > > + required: > > + - compatible > > + - reg > > + - "#qcom,sensors" > > + - interrupts > > + - interrupt-names > > + - "#thermal-sensor-cells" > > Keep all the common required properties and just put reg/regmap in the > if/then if this ends up staying. > > Rob
On Fri, Jul 10, 2020 at 2:07 PM <ansuelsmth@gmail.com> wrote: > > > > > -----Messaggio originale----- > > Da: Rob Herring <robh@kernel.org> > > Inviato: venerdì 10 luglio 2020 18:27 > > A: Ansuel Smith <ansuelsmth@gmail.com> > > Cc: Amit Kucheria <amit.kucheria@linaro.org>; Andy Gross > > <agross@kernel.org>; Bjorn Andersson <bjorn.andersson@linaro.org>; > > Zhang Rui <rui.zhang@intel.com>; Daniel Lezcano > > <daniel.lezcano@linaro.org>; linux-pm@vger.kernel.org; linux-arm- > > msm@vger.kernel.org; devicetree@vger.kernel.org; linux- > > kernel@vger.kernel.org > > Oggetto: Re: [PATCH 3/6] dt-bindings: thermal: tsens: document ipq8064 > > bindings > > > > On Thu, Jul 09, 2020 at 11:51:33PM +0200, Ansuel Smith wrote: > > > Document the use of regmap phandle for ipq8064 SoCs > > > > > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > > > --- > > > .../bindings/thermal/qcom-tsens.yaml | 51 ++++++++++++++++--- > > > 1 file changed, 44 insertions(+), 7 deletions(-) > > > > > > diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > > b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > > > index d7be931b42d2..5ceb5d720e16 100644 > > > --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > > > +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml > > > @@ -24,6 +24,7 @@ properties: > > > - enum: > > > - qcom,msm8916-tsens > > > - qcom,msm8974-tsens > > > + - qcom,ipq8064-tsens > > > - const: qcom,tsens-v0_1 > > > > > > - description: v1 of TSENS > > > @@ -47,6 +48,11 @@ properties: > > > - description: TM registers > > > - description: SROT registers > > > > > > + regmap: > > > + description: > > > + Phandle to the gcc. On ipq8064 SoCs gcc and tsense share the same > > regs. > > > + $ref: /schemas/types.yaml#/definitions/phandle > > > > Can't you make this a child of the gcc and drop this property? > > > > Make the thermal a child of the gcc would be a little confusing. Anyway > making this > a child of gcc cause the not probing of the thermal driver as it's ignored > any child of > gcc. I pushed v2 with the fixed problem. Structure the DT as the h/w is structured, not what's convenient for the OS. Either the GCC driver has to call of_platform_populate on the child nodes or you can perhaps use 'simple-mfd'. Rob
diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml index d7be931b42d2..5ceb5d720e16 100644 --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml @@ -24,6 +24,7 @@ properties: - enum: - qcom,msm8916-tsens - qcom,msm8974-tsens + - qcom,ipq8064-tsens - const: qcom,tsens-v0_1 - description: v1 of TSENS @@ -47,6 +48,11 @@ properties: - description: TM registers - description: SROT registers + regmap: + description: + Phandle to the gcc. On ipq8064 SoCs gcc and tsense share the same regs. + $ref: /schemas/types.yaml#/definitions/phandle + interrupts: minItems: 1 items: @@ -111,17 +117,48 @@ allOf: interrupt-names: minItems: 2 -required: - - compatible - - reg - - "#qcom,sensors" - - interrupts - - interrupt-names - - "#thermal-sensor-cells" + - if: + properties: + compatible: + contains: + enum: + - qcom,ipq8064-tsens + then: + required: + - compatible + - regmap + - "#qcom,sensors" + - interrupts + - interrupt-names + - "#thermal-sensor-cells" + + else: + required: + - compatible + - reg + - "#qcom,sensors" + - interrupts + - interrupt-names + - "#thermal-sensor-cells" additionalProperties: false examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + // Example msm9860 based SoC (ipq8064): + tsens: thermal-sensor@900000 { + compatible = "qcom,ipq8064-tsens"; + regmap = <&gcc>; + + nvmem-cells = <&tsens_calib>, <&tsens_backup>; + nvmem-cell-names = "calib", "calib_backup"; + + interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>; + + #thermal-sensor-cells = <1>; + }; + - | #include <dt-bindings/interrupt-controller/arm-gic.h> // Example 1 (legacy: for pre v1 IP):
Document the use of regmap phandle for ipq8064 SoCs Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> --- .../bindings/thermal/qcom-tsens.yaml | 51 ++++++++++++++++--- 1 file changed, 44 insertions(+), 7 deletions(-)