Commit 73e66ddf authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Bjorn Andersson
Browse files

dt-bindings: clock: qcom,mmcc: fix clocks/clock-names definitions



Rather than defining (incorrect) global clocks and clock-names lists,
define them per platform using conditionals. Also, while we are at it,
mark these properties as required for all platforms for which DT files
contained clocks/clock-names for the MMCC nodes from the beginning (in
addition to existing MSM8998 this adds MSM8994, SDM630 and SDM660).

Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220705112734.1323355-2-dmitry.baryshkov@linaro.org
parent 342470f7
Loading
Loading
Loading
Loading
+117 −32
Original line number Diff line number Diff line
@@ -31,30 +31,12 @@ properties:
      - qcom,mmcc-sdm660

  clocks:
    items:
      - description: Board XO source
      - description: Board sleep source
      - description: Global PLL 0 clock
      - description: DSI phy instance 0 dsi clock
      - description: DSI phy instance 0 byte clock
      - description: DSI phy instance 1 dsi clock
      - description: DSI phy instance 1 byte clock
      - description: HDMI phy PLL clock
      - description: DisplayPort phy PLL vco clock
      - description: DisplayPort phy PLL link clock
    minItems: 9
    maxItems: 10

  clock-names:
    items:
      - const: xo
      - const: sleep
      - const: gpll0
      - const: dsi0dsi
      - const: dsi0byte
      - const: dsi1dsi
      - const: dsi1byte
      - const: hdmipll
      - const: dpvco
      - const: dplink
    minItems: 9
    maxItems: 10

  '#clock-cells':
    const: 1
@@ -85,17 +67,120 @@ required:

additionalProperties: false

if:
allOf:
  - if:
      properties:
        compatible:
          contains:
        const: qcom,mmcc-msm8998

            enum:
              - qcom,mmcc-msm8994
              - qcom,mmcc-msm8998
              - qcom,mmcc-sdm630
              - qcom,mmcc-sdm660
    then:
      required:
        - clocks
        - clock-names

  - if:
      properties:
        compatible:
          contains:
            const: qcom,mmcc-msm8994
    then:
      properties:
        clocks:
          items:
            - description: Board XO source
            - description: Global PLL 0 clock
            - description: MMSS NoC AHB clock
            - description: GFX3D clock
            - description: DSI phy instance 0 dsi clock
            - description: DSI phy instance 0 byte clock
            - description: DSI phy instance 1 dsi clock
            - description: DSI phy instance 1 byte clock
            - description: HDMI phy PLL clock

        clock-names:
          items:
            - const: xo
            - const: gpll0
            - const: mmssnoc_ahb
            - const: oxili_gfx3d_clk_src
            - const: dsi0pll
            - const: dsi0pllbyte
            - const: dsi1pll
            - const: dsi1pllbyte
            - const: hdmipll

  - if:
      properties:
        compatible:
          contains:
            const: qcom,mmcc-msm8998
    then:
      properties:
        clocks:
          items:
            - description: Board XO source
            - description: Global PLL 0 clock
            - description: DSI phy instance 0 dsi clock
            - description: DSI phy instance 0 byte clock
            - description: DSI phy instance 1 dsi clock
            - description: DSI phy instance 1 byte clock
            - description: HDMI phy PLL clock
            - description: DisplayPort phy PLL link clock
            - description: DisplayPort phy PLL vco clock
            - description: Test clock

        clock-names:
          items:
            - const: xo
            - const: gpll0
            - const: dsi0dsi
            - const: dsi0byte
            - const: dsi1dsi
            - const: dsi1byte
            - const: hdmipll
            - const: dplink
            - const: dpvco
            - const: core_bi_pll_test_se

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,mmcc-sdm630
              - qcom,mmcc-sdm660
    then:
      properties:
        clocks:
          items:
            - description: Board XO source
            - description: Board sleep source
            - description: Global PLL 0 clock
            - description: Global PLL 0 DIV clock
            - description: DSI phy instance 0 dsi clock
            - description: DSI phy instance 0 byte clock
            - description: DSI phy instance 1 dsi clock
            - description: DSI phy instance 1 byte clock
            - description: DisplayPort phy PLL link clock
            - description: DisplayPort phy PLL vco clock

        clock-names:
          items:
            - const: xo
            - const: sleep_clk
            - const: gpll0
            - const: gpll0_div
            - const: dsi0pll
            - const: dsi0pllbyte
            - const: dsi1pll
            - const: dsi1pllbyte
            - const: dp_link_2x_clk_divsel_five
            - const: dp_vco_divided_clk_src_mux

examples:
  # Example for MMCC for MSM8960:
  - |