[V15,3/4] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
Commit Message
Update the binding to include pwm as the child node to TCSR block and
add simple-mfd support for IPQ6018.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
---
v15:
Picked up the R-b tag
v14:
Addressed comments suggested by krzysztof
Added type: object to patternProperties and added the complete path to
pwm.yaml in the reference
Disallow pwm for targets other than ipq6018
Moved ranges property just after reg in the examples
v13:
Added simple-mfd support for IPQ6018 based devices
Added support to include pwm as the child node to TCSR
Included syscon node found on IPQ6018 to the examples
.../devicetree/bindings/mfd/qcom,tcsr.yaml | 112 +++++++++++++-----
1 file changed, 81 insertions(+), 31 deletions(-)
Comments
On Thu, 05 Oct 2023 21:35:49 +0530, Devi Priya wrote:
> Update the binding to include pwm as the child node to TCSR block and
> add simple-mfd support for IPQ6018.
>
>
Applied, thanks!
[3/4] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
commit: b4a32d218d424b81a58fbd419e1114b1c1f76168
--
Lee Jones [李琼斯]
On Thu, Oct 12, 2023 at 5:06 AM Lee Jones <lee@kernel.org> wrote:
>
> On Thu, 05 Oct 2023 21:35:49 +0530, Devi Priya wrote:
> > Update the binding to include pwm as the child node to TCSR block and
> > add simple-mfd support for IPQ6018.
> >
> >
>
> Applied, thanks!
>
> [3/4] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
> commit: b4a32d218d424b81a58fbd419e1114b1c1f76168
This is dependent on patch 2 being applied.
Rob
On Thu, 19 Oct 2023, Rob Herring wrote:
> On Thu, Oct 12, 2023 at 5:06 AM Lee Jones <lee@kernel.org> wrote:
> >
> > On Thu, 05 Oct 2023 21:35:49 +0530, Devi Priya wrote:
> > > Update the binding to include pwm as the child node to TCSR block and
> > > add simple-mfd support for IPQ6018.
> > >
> > >
> >
> > Applied, thanks!
> >
> > [3/4] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
> > commit: b4a32d218d424b81a58fbd419e1114b1c1f76168
>
> This is dependent on patch 2 being applied.
I'll pull it for now then.
Unapplied, thanks.
@@ -15,50 +15,100 @@ description:
properties:
compatible:
- items:
- - enum:
- - qcom,msm8976-tcsr
- - qcom,msm8998-tcsr
- - qcom,qcs404-tcsr
- - qcom,sc7180-tcsr
- - qcom,sc7280-tcsr
- - qcom,sc8280xp-tcsr
- - qcom,sdm630-tcsr
- - qcom,sdm845-tcsr
- - qcom,sdx55-tcsr
- - qcom,sdx65-tcsr
- - qcom,sm4450-tcsr
- - qcom,sm8150-tcsr
- - qcom,sm8450-tcsr
- - qcom,tcsr-apq8064
- - qcom,tcsr-apq8084
- - qcom,tcsr-ipq5332
- - qcom,tcsr-ipq6018
- - qcom,tcsr-ipq8064
- - qcom,tcsr-ipq8074
- - qcom,tcsr-ipq9574
- - qcom,tcsr-mdm9615
- - qcom,tcsr-msm8226
- - qcom,tcsr-msm8660
- - qcom,tcsr-msm8916
- - qcom,tcsr-msm8953
- - qcom,tcsr-msm8960
- - qcom,tcsr-msm8974
- - qcom,tcsr-msm8996
- - const: syscon
+ oneOf:
+ - items:
+ - enum:
+ - qcom,msm8976-tcsr
+ - qcom,msm8998-tcsr
+ - qcom,qcs404-tcsr
+ - qcom,sc7180-tcsr
+ - qcom,sc7280-tcsr
+ - qcom,sc8280xp-tcsr
+ - qcom,sdm630-tcsr
+ - qcom,sdm845-tcsr
+ - qcom,sdx55-tcsr
+ - qcom,sdx65-tcsr
+ - qcom,sm4450-tcsr
+ - qcom,sm8150-tcsr
+ - qcom,sm8450-tcsr
+ - qcom,tcsr-apq8064
+ - qcom,tcsr-apq8084
+ - qcom,tcsr-ipq5332
+ - qcom,tcsr-ipq8064
+ - qcom,tcsr-ipq8074
+ - qcom,tcsr-ipq9574
+ - qcom,tcsr-mdm9615
+ - qcom,tcsr-msm8226
+ - qcom,tcsr-msm8660
+ - qcom,tcsr-msm8916
+ - qcom,tcsr-msm8953
+ - qcom,tcsr-msm8960
+ - qcom,tcsr-msm8974
+ - qcom,tcsr-msm8996
+ - const: syscon
+ - items:
+ - const: qcom,tcsr-ipq6018
+ - const: syscon
+ - const: simple-mfd
reg:
maxItems: 1
+ ranges: true
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+patternProperties:
+ "pwm@[a-f0-9]+$":
+ type: object
+ $ref: /schemas/pwm/qcom,ipq6018-pwm.yaml
+
required:
- compatible
- reg
+allOf:
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,tcsr-ipq6018
+ then:
+ patternProperties:
+ "pwm@[a-f0-9]+$": false
+
additionalProperties: false
examples:
+ # Example 1 - Syscon node found on MSM8960
- |
syscon@1a400000 {
compatible = "qcom,tcsr-msm8960", "syscon";
reg = <0x1a400000 0x100>;
};
+ # Example 2 - Syscon node found on IPQ6018
+ - |
+ #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
+
+ syscon@1937000 {
+ compatible = "qcom,tcsr-ipq6018", "syscon", "simple-mfd";
+ reg = <0x01937000 0x21000>;
+ ranges = <0 0x1937000 0x21000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ pwm: pwm@a010 {
+ compatible = "qcom,ipq6018-pwm";
+ reg = <0xa010 0x20>;
+ clocks = <&gcc GCC_ADSS_PWM_CLK>;
+ assigned-clocks = <&gcc GCC_ADSS_PWM_CLK>;
+ assigned-clock-rates = <100000000>;
+ #pwm-cells = <2>;
+ };
+ };