Commit d109ea09 authored by Jeffrey Hugo's avatar Jeffrey Hugo Committed by Stephen Boyd
Browse files

dt-bindings: clock: Document external clocks for MSM8998 gcc



The global clock controller on MSM8998 can consume a number of external
clocks.  Document them.

For 7180 and 8150, the hardware always exists, so no clocks are truly
optional.  Therefore, simplify the binding by removing the min/max
qualifiers to clocks.  Also, fixup an example so that dt_binding_check
passes.

Signed-off-by: default avatarJeffrey Hugo <jhugo@codeaurora.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lkml.kernel.org/r/1576595987-10043-1-git-send-email-jhugo@codeaurora.org


Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent bb9b9cde
Loading
Loading
Loading
Loading
+59 −14
Original line number Diff line number Diff line
@@ -40,20 +40,40 @@ properties:
       - qcom,gcc-sm8150

  clocks:
    minItems: 1
    maxItems: 3
    items:
    oneOf:
      #qcom,gcc-sm8150
      #qcom,gcc-sc7180
      - items:
        - description: Board XO source
        - description: Board active XO source
        - description: Sleep clock source
      #qcom,gcc-msm8998
      - items:
        - description: Board XO source
        - description: Sleep clock source
        - description: USB 3.0 phy pipe clock
        - description: UFS phy rx symbol clock for pipe 0
        - description: UFS phy rx symbol clock for pipe 1
        - description: UFS phy tx symbol clock
        - description: PCIE phy pipe clock

  clock-names:
    minItems: 1
    maxItems: 3
    items:
    oneOf:
      #qcom,gcc-sm8150
      #qcom,gcc-sc7180
      - items:
        - const: bi_tcxo
        - const: bi_tcxo_ao
        - const: sleep_clk
      #qcom,gcc-msm8998
      - items:
        - const: xo
        - const: sleep_clk
        - const: usb3_pipe
        - const: ufs_rx_symbol0
        - const: ufs_rx_symbol1
        - const: ufs_tx_symbol0
        - const: pcie0_pipe

  '#clock-cells':
    const: 1
@@ -118,6 +138,7 @@ else:
      compatible:
        contains:
          enum:
            - qcom,gcc-msm8998
            - qcom,gcc-sm8150
            - qcom,gcc-sc7180
  then:
@@ -179,10 +200,34 @@ examples:
    clock-controller@100000 {
      compatible = "qcom,gcc-sc7180";
      reg = <0x100000 0x1f0000>;
      clocks = <&rpmhcc 0>, <&rpmhcc 1>;
      clock-names = "bi_tcxo", "bi_tcxo_ao";
      clocks = <&rpmhcc 0>, <&rpmhcc 1>, <0>;
      clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
      #clock-cells = <1>;
      #reset-cells = <1>;
      #power-domain-cells = <1>;
    };

  # Example of MSM8998 GCC:
  - |
    clock-controller@100000 {
      compatible = "qcom,gcc-msm8998";
      #clock-cells = <1>;
      #reset-cells = <1>;
      #power-domain-cells = <1>;
      reg = <0x00100000 0xb0000>;
      clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
               <&sleep>,
               <0>,
               <0>,
               <0>,
               <0>,
               <0>;
      clock-names = "xo",
                    "sleep",
                    "usb3_pipe",
                    "ufs_rx_symbol0",
                    "ufs_rx_symbol1",
                    "ufs_tx_symbol0",
                    "pcie0_pipe";
    };
...