| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-gr3d.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: NVIDIA 3D graphics engine
- maintainers:
- - Thierry Reding <thierry.reding@gmail.com>
- - Jon Hunter <jonathanh@nvidia.com>
- properties:
- $nodename:
- pattern: "^gr3d@[0-9a-f]+$"
- compatible:
- enum:
- - nvidia,tegra20-gr3d
- - nvidia,tegra30-gr3d
- - nvidia,tegra114-gr3d
- reg:
- maxItems: 1
- clocks:
- minItems: 1
- maxItems: 2
- clock-names:
- minItems: 1
- maxItems: 2
- resets:
- minItems: 2
- maxItems: 4
- reset-names:
- minItems: 2
- maxItems: 4
- iommus:
- minItems: 1
- maxItems: 2
- interconnects:
- minItems: 4
- maxItems: 10
- interconnect-names:
- minItems: 4
- maxItems: 10
- operating-points-v2: true
- power-domains:
- minItems: 1
- maxItems: 2
- power-domain-names:
- maxItems: 2
- allOf:
- - if:
- properties:
- compatible:
- contains:
- const: nvidia,tegra20-gr2d
- then:
- properties:
- clocks:
- items:
- - description: module clock
- clock-names:
- items:
- - const: 3d
- resets:
- items:
- - description: module reset
- - description: memory client hotflush reset
- reset-names:
- items:
- - const: 3d
- - const: mc
- iommus:
- maxItems: 1
- interconnects:
- minItems: 4
- maxItems: 4
- interconnect-names:
- minItems: 4
- maxItems: 4
- power-domains:
- items:
- - description: phandle to the TD power domain
- - if:
- properties:
- compatible:
- contains:
- const: nvidia,tegra30-gr3d
- then:
- properties:
- clocks:
- items:
- - description: primary module clock
- - description: secondary module clock
- clock-names:
- items:
- - const: 3d
- - const: 3d2
- resets:
- items:
- - description: primary module reset
- - description: secondary module reset
- - description: primary memory client hotflush reset
- - description: secondary memory client hotflush reset
- reset-names:
- items:
- - const: 3d
- - const: 3d2
- - const: mc
- - const: mc2
- iommus:
- minItems: 2
- maxItems: 2
- interconnects:
- minItems: 8
- maxItems: 8
- interconnect-names:
- minItems: 8
- maxItems: 8
- power-domains:
- items:
- - description: phandle to the TD power domain
- - description: phandle to the TD2 power domain
- power-domain-names:
- items:
- - const: 3d0
- - const: 3d1
- dependencies:
- power-domains: [ power-domain-names ]
- - if:
- properties:
- compatible:
- contains:
- const: nvidia,tegra114-gr2d
- then:
- properties:
- clocks:
- items:
- - description: module clock
- clock-names:
- items:
- - const: 3d
- resets:
- items:
- - description: module reset
- - description: memory client hotflush reset
- reset-names:
- items:
- - const: 3d
- - const: mc
- iommus:
- maxItems: 1
- interconnects:
- minItems: 10
- maxItems: 10
- interconnect-names:
- minItems: 10
- maxItems: 10
- power-domains:
- items:
- - description: phandle to the TD power domain
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/clock/tegra20-car.h>
- #include <dt-bindings/memory/tegra20-mc.h>
- gr3d@54180000 {
- compatible = "nvidia,tegra20-gr3d";
- reg = <0x54180000 0x00040000>;
- clocks = <&tegra_car TEGRA20_CLK_GR3D>;
- resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
- reset-names = "3d", "mc";
- };
|