Documentation / devicetree / bindings / gpu / img,powervr-sgx.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (c) 2023 Imagination Technologies Ltd.
# Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpu/img,powervr-sgx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Imagination Technologies PowerVR SGX GPUs

maintainers:
  - Frank Binns <frank.binns@imgtec.com>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - ti,omap3430-gpu # Rev 121
              - ti,omap3630-gpu # Rev 125
          - const: img,powervr-sgx530
      - items:
          - enum:
              - ingenic,jz4780-gpu # Rev 130
              - ti,omap4430-gpu # Rev 120
          - const: img,powervr-sgx540
      - items:
          - enum:
              - allwinner,sun6i-a31-gpu # MP2 Rev 115
              - ti,omap4470-gpu # MP1 Rev 112
              - ti,omap5432-gpu # MP2 Rev 105
              - ti,am5728-gpu # MP2 Rev 116
              - ti,am6548-gpu # MP1 Rev 117
          - const: img,powervr-sgx544

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 3

  clock-names:
    minItems: 1
    items:
      - const: core
      - const: mem
      - const: sys

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: ti,am6548-gpu
    then:
      required:
        - power-domains
    else:
      properties:
        power-domains: false
  - if:
      properties:
        compatible:
          contains:
            enum:
              - allwinner,sun6i-a31-gpu
              - ingenic,jz4780-gpu
    then:
      required:
        - clocks
        - clock-names
    else:
      properties:
        clocks: false
        clock-names: false
  - if:
      properties:
        compatible:
          contains:
            const: allwinner,sun6i-a31-gpu
    then:
      properties:
        clocks:
          minItems: 2
          maxItems: 2
        clock-names:
          minItems: 2
          maxItems: 2
  - if:
      properties:
        compatible:
          contains:
            const: ingenic,jz4780-gpu
    then:
      properties:
        clocks:
          maxItems: 1
        clock-names:
          maxItems: 1

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/soc/ti,sci_pm_domain.h>
 
    gpu@7000000 {
        compatible = "ti,am6548-gpu", "img,powervr-sgx544";
        reg = <0x7000000 0x10000>;
        interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
        power-domains = <&k3_pds 65 TI_SCI_PD_EXCLUSIVE>;
    };

  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
 
    gpu: gpu@1c40000 {
        compatible = "allwinner,sun6i-a31-gpu", "img,powervr-sgx544";
        reg = <0x01c40000 0x10000>;
        interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&ccu 1>, <&ccu 2>;
        clock-names = "core", "mem";
    };