nvidia,tegra20-gr3d.yaml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-gr3d.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: NVIDIA 3D graphics engine
  7. maintainers:
  8. - Thierry Reding <thierry.reding@gmail.com>
  9. - Jon Hunter <jonathanh@nvidia.com>
  10. properties:
  11. $nodename:
  12. pattern: "^gr3d@[0-9a-f]+$"
  13. compatible:
  14. enum:
  15. - nvidia,tegra20-gr3d
  16. - nvidia,tegra30-gr3d
  17. - nvidia,tegra114-gr3d
  18. reg:
  19. maxItems: 1
  20. clocks:
  21. minItems: 1
  22. maxItems: 2
  23. clock-names:
  24. minItems: 1
  25. maxItems: 2
  26. resets:
  27. minItems: 2
  28. maxItems: 4
  29. reset-names:
  30. minItems: 2
  31. maxItems: 4
  32. iommus:
  33. minItems: 1
  34. maxItems: 2
  35. interconnects:
  36. minItems: 4
  37. maxItems: 10
  38. interconnect-names:
  39. minItems: 4
  40. maxItems: 10
  41. operating-points-v2: true
  42. power-domains:
  43. minItems: 1
  44. maxItems: 2
  45. power-domain-names:
  46. maxItems: 2
  47. allOf:
  48. - if:
  49. properties:
  50. compatible:
  51. contains:
  52. const: nvidia,tegra20-gr2d
  53. then:
  54. properties:
  55. clocks:
  56. items:
  57. - description: module clock
  58. clock-names:
  59. items:
  60. - const: 3d
  61. resets:
  62. items:
  63. - description: module reset
  64. - description: memory client hotflush reset
  65. reset-names:
  66. items:
  67. - const: 3d
  68. - const: mc
  69. iommus:
  70. maxItems: 1
  71. interconnects:
  72. minItems: 4
  73. maxItems: 4
  74. interconnect-names:
  75. minItems: 4
  76. maxItems: 4
  77. power-domains:
  78. items:
  79. - description: phandle to the TD power domain
  80. - if:
  81. properties:
  82. compatible:
  83. contains:
  84. const: nvidia,tegra30-gr3d
  85. then:
  86. properties:
  87. clocks:
  88. items:
  89. - description: primary module clock
  90. - description: secondary module clock
  91. clock-names:
  92. items:
  93. - const: 3d
  94. - const: 3d2
  95. resets:
  96. items:
  97. - description: primary module reset
  98. - description: secondary module reset
  99. - description: primary memory client hotflush reset
  100. - description: secondary memory client hotflush reset
  101. reset-names:
  102. items:
  103. - const: 3d
  104. - const: 3d2
  105. - const: mc
  106. - const: mc2
  107. iommus:
  108. minItems: 2
  109. maxItems: 2
  110. interconnects:
  111. minItems: 8
  112. maxItems: 8
  113. interconnect-names:
  114. minItems: 8
  115. maxItems: 8
  116. power-domains:
  117. items:
  118. - description: phandle to the TD power domain
  119. - description: phandle to the TD2 power domain
  120. power-domain-names:
  121. items:
  122. - const: 3d0
  123. - const: 3d1
  124. dependencies:
  125. power-domains: [ power-domain-names ]
  126. - if:
  127. properties:
  128. compatible:
  129. contains:
  130. const: nvidia,tegra114-gr2d
  131. then:
  132. properties:
  133. clocks:
  134. items:
  135. - description: module clock
  136. clock-names:
  137. items:
  138. - const: 3d
  139. resets:
  140. items:
  141. - description: module reset
  142. - description: memory client hotflush reset
  143. reset-names:
  144. items:
  145. - const: 3d
  146. - const: mc
  147. iommus:
  148. maxItems: 1
  149. interconnects:
  150. minItems: 10
  151. maxItems: 10
  152. interconnect-names:
  153. minItems: 10
  154. maxItems: 10
  155. power-domains:
  156. items:
  157. - description: phandle to the TD power domain
  158. additionalProperties: false
  159. examples:
  160. - |
  161. #include <dt-bindings/clock/tegra20-car.h>
  162. #include <dt-bindings/memory/tegra20-mc.h>
  163. gr3d@54180000 {
  164. compatible = "nvidia,tegra20-gr3d";
  165. reg = <0x54180000 0x00040000>;
  166. clocks = <&tegra_car TEGRA20_CLK_GR3D>;
  167. resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
  168. reset-names = "3d", "mc";
  169. };