Introduce support for the Qualcomm IPQ50xx SoC. This series adds support for the following components: - minimal boot support: GCC/pinctrl/watchdog/CPUFreq/SDI (upstreamed) - USB2 (upstreamed) - Thermal/Tsens - PCIe gen2 1&2-lane PHY and controller - PWM and PWM LED - QPIC SPI NAND controller - CMN PLL Block (provider of fixed rate clocks to GCC/ethernet/more.) - Ethernet: IPQ5018 Internal GE PHY (1 gbps) - Remoteproc MPD driver for IPQ5018 (2.4G) & QCN6122 (5/6G) Wifi Co-developed-by: Ziyang Huang <hzyitc@outlook.com> Signed-off-by: Ziyang Huang <hzyitc@outlook.com> Signed-off-by: George Moussalem <george.moussalem@outlook.com> Link: https://github.com/openwrt/openwrt/pull/17182 Signed-off-by: Robert Marko <robimarko@gmail.com>
149 lines
4.0 KiB
Diff
149 lines
4.0 KiB
Diff
From: Devi Priya <quic_devipriy@quicinc.com>
|
|
Subject: [PATCH] dt-bindings: mfd: qcom,tcsr: Add simple-mfd support for IPQ6018
|
|
Date: Thu, 5 Oct 2023 21:35:49 +0530
|
|
|
|
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>
|
|
---
|
|
.../devicetree/bindings/mfd/qcom,tcsr.yaml | 112 +++++++++++++-----
|
|
1 file changed, 81 insertions(+), 31 deletions(-)
|
|
|
|
--- a/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
|
|
+++ b/Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml
|
|
@@ -15,49 +15,101 @@ 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,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>;
|
|
+ };
|
|
+ };
|
|
\ No newline at end of file
|