diff mbox series

[v2,2/5] dt-bindings: clock: Add SM8550 CAMCC yaml

Message ID 20230930134114.1816590-3-bryan.odonoghue@linaro.org (mailing list archive)
State Not Applicable, archived
Headers show
Series Add sc8280xp CAMCC bindings and driver | expand

Commit Message

Bryan O'Donoghue Sept. 30, 2023, 1:41 p.m. UTC
The SM8550 should have its own yaml description file, not be listed as a
compatible string of the SM8450 CAMCC driver since SM8450 and SM8550
have separate CAMCC drivers.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 .../bindings/clock/qcom,sm8450-camcc.yaml     |  8 +--
 .../bindings/clock/qcom,sm8550-camcc.yaml     | 56 +++++++++++++++++++
 2 files changed, 58 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,sm8550-camcc.yaml

Comments

Krzysztof Kozlowski Sept. 30, 2023, 2:15 p.m. UTC | #1
On 30/09/2023 15:41, Bryan O'Donoghue wrote:
> The SM8550 should have its own yaml description file, not be listed as a
> compatible string of the SM8450 CAMCC driver since SM8450 and SM8550
> have separate CAMCC drivers.

Linux driver architecture does not shape bindings. If devices are
similar, it does not matter that you have two drivers. It was never a
valid reason to split bindings.


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml
index 5db7bd8424d8..9d16acc53312 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml
@@ -13,18 +13,14 @@  description: |
   Qualcomm camera clock control module provides the clocks, resets and power
   domains on SM8450.
 
-  See also::
-    include/dt-bindings/clock/qcom,sm8450-camcc.h
-    include/dt-bindings/clock/qcom,sm8550-camcc.h
+  See also:: include/dt-bindings/clock/qcom,sm8450-camcc.h
 
 allOf:
   - $ref: qcom,camcc-common.yaml#
 
 properties:
   compatible:
-    enum:
-      - qcom,sm8450-camcc
-      - qcom,sm8550-camcc
+    const: qcom,sm8450-camcc
 
   clocks:
     items:
diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8550-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm8550-camcc.yaml
new file mode 100644
index 000000000000..93534632c0a2
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/qcom,sm8550-camcc.yaml
@@ -0,0 +1,56 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/qcom,sm8550-camcc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Camera Clock & Reset Controller on SM8550
+
+maintainers:
+  - Bryan O'Donoghue <bryan.odonoghue@linaro.org>
+
+description: |
+  Qualcomm camera clock control module provides the clocks, resets and power
+  domains on SM8550.
+
+  See also:: include/dt-bindings/clock/qcom,sm8550-camcc.h
+
+allOf:
+  - $ref: qcom,camcc-common.yaml#
+
+properties:
+  compatible:
+    const: qcom,sm8550-camcc
+
+  clocks:
+    items:
+      - description: Camera AHB clock from GCC
+      - description: Board XO source
+      - description: Board active XO source
+      - description: Sleep clock source
+
+required:
+  - power-domains
+  - required-opps
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/qcom,sm8550-gcc.h>
+    #include <dt-bindings/clock/qcom,rpmh.h>
+    #include <dt-bindings/power/qcom,rpmhpd.h>
+    clock-controller@ade0000 {
+      compatible = "qcom,sm8550-camcc";
+      reg = <0xade0000 0x20000>;
+      clocks = <&gcc GCC_CAMERA_AHB_CLK>,
+               <&rpmhcc RPMH_CXO_CLK>,
+               <&rpmhcc RPMH_CXO_CLK_A>,
+               <&sleep_clk>;
+      power-domains = <&rpmhpd RPMHPD_MMCX>;
+      required-opps = <&rpmhpd_opp_low_svs>;
+      #clock-cells = <1>;
+      #reset-cells = <1>;
+      #power-domain-cells = <1>;
+    };
+...