Commit 47531e47 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Rob Clark
Browse files

dt-bindings: display/msm/gmu: account for different GMU variants



Make display/msm/gmu.yaml describe all existing GMU variants rather than
just the 630.2 (SDM845) version of it.

Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/492539/
Link: https://lore.kernel.org/r/20220706145222.1565238-4-dmitry.baryshkov@linaro.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent a5e96a57
Loading
Loading
Loading
Loading
+146 −20
Original line number Diff line number Diff line
@@ -20,35 +20,24 @@ description: |
properties:
  compatible:
    items:
      - enum:
          - qcom,adreno-gmu-630.2
      - pattern: '^qcom,adreno-gmu-6[0-9][0-9]\.[0-9]$'
      - const: qcom,adreno-gmu

  reg:
    items:
      - description: Core GMU registers
      - description: GMU PDC registers
      - description: GMU PDC sequence registers
    minItems: 3
    maxItems: 4

  reg-names:
    items:
      - const: gmu
      - const: gmu_pdc
      - const: gmu_pdc_seq
    minItems: 3
    maxItems: 4

  clocks:
    items:
      - description: GMU clock
      - description: GPU CX clock
      - description: GPU AXI clock
      - description: GPU MEMNOC clock
    minItems: 4
    maxItems: 7

  clock-names:
    items:
      - const: gmu
      - const: cxo
      - const: axi
      - const: memnoc
    minItems: 4
    maxItems: 7

  interrupts:
    items:
@@ -76,6 +65,9 @@ properties:

  operating-points-v2: true

  opp-table:
    type: object

required:
  - compatible
  - reg
@@ -91,6 +83,140 @@ required:

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,adreno-gmu-618.0
              - qcom,adreno-gmu-630.2
    then:
      properties:
        reg:
          items:
            - description: Core GMU registers
            - description: GMU PDC registers
            - description: GMU PDC sequence registers
        reg-names:
          items:
            - const: gmu
            - const: gmu_pdc
            - const: gmu_pdc_seq
        clocks:
          items:
            - description: GMU clock
            - description: GPU CX clock
            - description: GPU AXI clock
            - description: GPU MEMNOC clock
        clock-names:
          items:
            - const: gmu
            - const: cxo
            - const: axi
            - const: memnoc

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,adreno-gmu-635.0
    then:
      properties:
        reg:
          items:
            - description: Core GMU registers
            - description: Resource controller registers
            - description: GMU PDC registers
        reg-names:
          items:
            - const: gmu
            - const: rscc
            - const: gmu_pdc
        clocks:
          items:
            - description: GMU clock
            - description: GPU CX clock
            - description: GPU AXI clock
            - description: GPU MEMNOC clock
            - description: GPU AHB clock
            - description: GPU HUB CX clock
            - description: GPU SMMU vote clock
        clock-names:
          items:
            - const: gmu
            - const: cxo
            - const: axi
            - const: memnoc
            - const: ahb
            - const: hub
            - const: smmu_vote

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,adreno-gmu-640.1
    then:
      properties:
        reg:
          items:
            - description: Core GMU registers
            - description: GMU PDC registers
            - description: GMU PDC sequence registers
        reg-names:
          items:
            - const: gmu
            - const: gmu_pdc
            - const: gmu_pdc_seq

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,adreno-gmu-650.2
    then:
      properties:
        reg:
          items:
            - description: Core GMU registers
            - description: Resource controller registers
            - description: GMU PDC registers
            - description: GMU PDC sequence registers
        reg-names:
          items:
            - const: gmu
            - const: rscc
            - const: gmu_pdc
            - const: gmu_pdc_seq

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,adreno-gmu-640.1
              - qcom,adreno-gmu-650.2
    then:
      properties:
        clocks:
          items:
            - description: GPU AHB clock
            - description: GMU clock
            - description: GPU CX clock
            - description: GPU AXI clock
            - description: GPU MEMNOC clock
        clock-names:
          items:
            - const: ahb
            - const: gmu
            - const: cxo
            - const: axi
            - const: memnoc

examples:
  - |
    #include <dt-bindings/clock/qcom,gpucc-sdm845.h>