img,powervr-sgx.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. # Copyright (c) 2023 Imagination Technologies Ltd.
  3. # Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
  4. %YAML 1.2
  5. ---
  6. $id: http://devicetree.org/schemas/gpu/img,powervr-sgx.yaml#
  7. $schema: http://devicetree.org/meta-schemas/core.yaml#
  8. title: Imagination Technologies PowerVR SGX GPUs
  9. maintainers:
  10. - Frank Binns <frank.binns@imgtec.com>
  11. properties:
  12. compatible:
  13. oneOf:
  14. - items:
  15. - enum:
  16. - ti,omap3430-gpu # Rev 121
  17. - ti,omap3630-gpu # Rev 125
  18. - const: img,powervr-sgx530
  19. - items:
  20. - enum:
  21. - ingenic,jz4780-gpu # Rev 130
  22. - ti,omap4430-gpu # Rev 120
  23. - const: img,powervr-sgx540
  24. - items:
  25. - enum:
  26. - allwinner,sun6i-a31-gpu # MP2 Rev 115
  27. - ti,omap4470-gpu # MP1 Rev 112
  28. - ti,omap5432-gpu # MP2 Rev 105
  29. - ti,am5728-gpu # MP2 Rev 116
  30. - ti,am6548-gpu # MP1 Rev 117
  31. - const: img,powervr-sgx544
  32. reg:
  33. maxItems: 1
  34. interrupts:
  35. maxItems: 1
  36. clocks:
  37. minItems: 1
  38. maxItems: 3
  39. clock-names:
  40. minItems: 1
  41. items:
  42. - const: core
  43. - const: mem
  44. - const: sys
  45. power-domains:
  46. maxItems: 1
  47. required:
  48. - compatible
  49. - reg
  50. - interrupts
  51. allOf:
  52. - if:
  53. properties:
  54. compatible:
  55. contains:
  56. const: ti,am6548-gpu
  57. then:
  58. required:
  59. - power-domains
  60. else:
  61. properties:
  62. power-domains: false
  63. - if:
  64. properties:
  65. compatible:
  66. contains:
  67. enum:
  68. - allwinner,sun6i-a31-gpu
  69. - ingenic,jz4780-gpu
  70. then:
  71. required:
  72. - clocks
  73. - clock-names
  74. else:
  75. properties:
  76. clocks: false
  77. clock-names: false
  78. - if:
  79. properties:
  80. compatible:
  81. contains:
  82. const: allwinner,sun6i-a31-gpu
  83. then:
  84. properties:
  85. clocks:
  86. minItems: 2
  87. maxItems: 2
  88. clock-names:
  89. minItems: 2
  90. maxItems: 2
  91. - if:
  92. properties:
  93. compatible:
  94. contains:
  95. const: ingenic,jz4780-gpu
  96. then:
  97. properties:
  98. clocks:
  99. maxItems: 1
  100. clock-names:
  101. maxItems: 1
  102. additionalProperties: false
  103. examples:
  104. - |
  105. #include <dt-bindings/interrupt-controller/irq.h>
  106. #include <dt-bindings/interrupt-controller/arm-gic.h>
  107. #include <dt-bindings/soc/ti,sci_pm_domain.h>
  108. gpu@7000000 {
  109. compatible = "ti,am6548-gpu", "img,powervr-sgx544";
  110. reg = <0x7000000 0x10000>;
  111. interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
  112. power-domains = <&k3_pds 65 TI_SCI_PD_EXCLUSIVE>;
  113. };
  114. - |
  115. #include <dt-bindings/interrupt-controller/irq.h>
  116. #include <dt-bindings/interrupt-controller/arm-gic.h>
  117. gpu: gpu@1c40000 {
  118. compatible = "allwinner,sun6i-a31-gpu", "img,powervr-sgx544";
  119. reg = <0x01c40000 0x10000>;
  120. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  121. clocks = <&ccu 1>, <&ccu 2>;
  122. clock-names = "core", "mem";
  123. };