Commit f3b649d7 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

dt-bindings: display/msm/gpu: describe clocks for each Adreno GPU type



Rather than having a single list with all possible clocks for A3xx-A5xx
define individual Adreno GPU types and corresponding clock lists.

Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Patchwork: https://patchwork.freedesktop.org/patch/661348/
Link: https://lore.kernel.org/r/20250628-rework-msm-gpu-schema-v1-3-89f818c51b6a@oss.qualcomm.com
parent cef3a60b
Loading
Loading
Loading
Loading
+194 −26
Original line number Diff line number Diff line
@@ -146,17 +146,93 @@ allOf:
      properties:
        compatible:
          contains:
            pattern: '^qcom,adreno-[3-5][0-9][0-9]\.[0-9]+$'
            oneOf:
              - pattern: '^qcom,adreno-305\.[0-9]+$'
              - pattern: '^qcom,adreno-330\.[0-9]+$'
    then:
      properties:
        clocks:
          minItems: 3
          maxItems: 3
        clock-names:
          items:
            - const: core
              description: GPU Core clock
            - const: iface
              description: GPU Interface clock
            - const: mem_iface
              description: GPU Memory Interface clock

  - if:
      properties:
        compatible:
          contains:
            pattern: '^qcom,adreno-306\.[0-9]+$'
    then:
      properties:
        clocks:
          minItems: 2
          maxItems: 7
          minItems: 5
          maxItems: 6
        clock-names:
          oneOf:
            - items:
                - const: core
                  description: GPU Core clock
                - const: iface
                  description: GPU Interface clock
                - const: mem_iface
                  description: GPU Memory Interface clock
                - const: alt_mem_iface
                  description: GPU Alternative Memory Interface clock
                - const: gfx3d
                  description: GPU 3D engine clock
            - items:
                - const: core
                  description: GPU Core clock
                - const: iface
                  description: GPU Interface clock
                - const: mem
                  description: GPU Memory clock
                - const: mem_iface
                  description: GPU Memory Interface clock
                - const: alt_mem_iface
                  description: GPU Alternative Memory Interface clock
                - const: gfx3d
                  description: GPU 3D engine clock

  - if:
      properties:
        compatible:
          contains:
            pattern: '^qcom,adreno-320\.[0-9]+$'
    then:
      properties:
        clocks:
          minItems: 4
          maxItems: 4
        clock-names:
          items:
            - const: core
              description: GPU Core clock
            - const: iface
              description: GPU Interface clock
            - const: mem
              description: GPU Memory clock
            - const: mem_iface
              description: GPU Memory Interface clock

  - if:
      properties:
        compatible:
          contains:
            pattern: '^qcom,adreno-405\.[0-9]+$'
    then:
      properties:
        clocks:
          minItems: 7
          maxItems: 7
        clock-names:
          items:
            anyOf:
            - const: core
              description: GPU Core clock
            - const: iface
@@ -171,16 +247,108 @@ allOf:
              description: GPU 3D engine clock
            - const: rbbmtimer
              description: GPU RBBM Timer for Adreno 5xx series

  - if:
      properties:
        compatible:
          contains:
            pattern: '^qcom,adreno-506\.[0-9]+$'
    then:
      properties:
        clocks:
          minItems: 6
          maxItems: 6
        clock-names:
          items:
            - const: core
              description: GPU Core clock
            - const: iface
              description: GPU Interface clock
            - const: mem_iface
              description: GPU Memory Interface clock
            - const: alt_mem_iface
              description: GPU Alternative Memory Interface clock
            - const: rbbmtimer
              description: GPU RBBM Timer for Adreno 5xx series
            - const: alwayson
              description: GPU AON clock

  - if:
      properties:
        compatible:
          contains:
            oneOf:
              - pattern: '^qcom,adreno-508\.[0-9]+$'
              - pattern: '^qcom,adreno-509\.[0-9]+$'
              - pattern: '^qcom,adreno-512\.[0-9]+$'
              - pattern: '^qcom,adreno-540\.[0-9]+$'
    then:
      properties:
        clocks:
          minItems: 6
          maxItems: 6
        clock-names:
          items:
            - const: iface
              description: GPU Interface clock
            - const: rbbmtimer
              description: GPU RBBM Timer for Adreno 5xx series
            - const: mem
              description: GPU Memory clock
            - const: mem_iface
              description: GPU Memory Interface clock
            - const: rbcpr
              description: GPU RB Core Power Reduction clock
            - const: core
              description: GPU Core clock

  - if:
      properties:
        compatible:
          contains:
            pattern: '^qcom,adreno-510\.[0-9]+$'
    then:
      properties:
        clocks:
          minItems: 6
          maxItems: 6
        clock-names:
          items:
            - const: core
              description: GPU Core clock
            - const: iface
              description: GPU Interface clock
            - const: mem
              description: GPU Memory clock
            - const: mem_iface
              description: GPU Memory Interface clock
            - const: rbbmtimer
              description: GPU RBBM Timer for Adreno 5xx series
            - const: alwayson
              description: GPU AON clock
          minItems: 2
          maxItems: 7

      required:
        - clocks
        - clock-names
  - if:
      properties:
        compatible:
          contains:
            pattern: '^qcom,adreno-530\.[0-9]+$'
    then:
      properties:
        clocks:
          minItems: 5
          maxItems: 5
        clock-names:
          items:
            - const: core
              description: GPU Core clock
            - const: iface
              description: GPU Interface clock
            - const: rbbmtimer
              description: GPU RBBM Timer for Adreno 5xx series
            - const: mem
              description: GPU Memory clock
            - const: mem_iface
              description: GPU Memory Interface clock

  - if:
      properties: