xref: /linux/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dc.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1fe8b45aaSThierry Reding# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2fe8b45aaSThierry Reding%YAML 1.2
3fe8b45aaSThierry Reding---
4fe8b45aaSThierry Reding$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-dc.yaml#
5fe8b45aaSThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml#
6fe8b45aaSThierry Reding
7fe8b45aaSThierry Redingtitle: NVIDIA Tegra Display Controller
8fe8b45aaSThierry Reding
9fe8b45aaSThierry Redingmaintainers:
10fe8b45aaSThierry Reding  - Thierry Reding <thierry.reding@gmail.com>
11fe8b45aaSThierry Reding  - Jon Hunter <jonathanh@nvidia.com>
12fe8b45aaSThierry Reding
13fe8b45aaSThierry Redingproperties:
14fe8b45aaSThierry Reding  $nodename:
15fe8b45aaSThierry Reding    pattern: "^dc@[0-9a-f]+$"
16fe8b45aaSThierry Reding
17fe8b45aaSThierry Reding  compatible:
18fe8b45aaSThierry Reding    oneOf:
19fe8b45aaSThierry Reding      - enum:
20fe8b45aaSThierry Reding          - nvidia,tegra20-dc
21fe8b45aaSThierry Reding          - nvidia,tegra30-dc
22fe8b45aaSThierry Reding          - nvidia,tegra114-dc
23fe8b45aaSThierry Reding          - nvidia,tegra124-dc
24fe8b45aaSThierry Reding          - nvidia,tegra210-dc
25fe8b45aaSThierry Reding
26fe8b45aaSThierry Reding      - items:
27fe8b45aaSThierry Reding          - const: nvidia,tegra124-dc
28fe8b45aaSThierry Reding          - const: nvidia,tegra132-dc
29fe8b45aaSThierry Reding
30fe8b45aaSThierry Reding  reg:
31fe8b45aaSThierry Reding    maxItems: 1
32fe8b45aaSThierry Reding
33fe8b45aaSThierry Reding  interrupts:
34fe8b45aaSThierry Reding    maxItems: 1
35fe8b45aaSThierry Reding
36fe8b45aaSThierry Reding  clocks:
37fe8b45aaSThierry Reding    minItems: 1
38fe8b45aaSThierry Reding    items:
39fe8b45aaSThierry Reding      - description: display controller pixel clock
40fe8b45aaSThierry Reding      - description: parent clock # optional
41fe8b45aaSThierry Reding
42fe8b45aaSThierry Reding  clock-names:
43fe8b45aaSThierry Reding    minItems: 1
44fe8b45aaSThierry Reding    items:
45fe8b45aaSThierry Reding      - const: dc
46fe8b45aaSThierry Reding      - const: parent # optional
47fe8b45aaSThierry Reding
48fe8b45aaSThierry Reding  resets:
49fe8b45aaSThierry Reding    items:
50fe8b45aaSThierry Reding      - description: module reset
51fe8b45aaSThierry Reding
52fe8b45aaSThierry Reding  reset-names:
53fe8b45aaSThierry Reding    items:
54fe8b45aaSThierry Reding      - const: dc
55fe8b45aaSThierry Reding
56fe8b45aaSThierry Reding  interconnect-names: true
57fe8b45aaSThierry Reding  interconnects: true
58fe8b45aaSThierry Reding
59fe8b45aaSThierry Reding  iommus:
60fe8b45aaSThierry Reding    maxItems: 1
61fe8b45aaSThierry Reding
62*21fd06dcSKrzysztof Kozlowski  operating-points-v2: true
63fe8b45aaSThierry Reding
64fe8b45aaSThierry Reding  power-domains:
65fe8b45aaSThierry Reding    items:
66fe8b45aaSThierry Reding      - description: phandle to the core power domain
67fe8b45aaSThierry Reding
68fe8b45aaSThierry Reding  memory-region: true
69fe8b45aaSThierry Reding
70fe8b45aaSThierry Reding  nvidia,head:
71fe8b45aaSThierry Reding    $ref: /schemas/types.yaml#/definitions/uint32
72fe8b45aaSThierry Reding    description: The number of the display controller head. This is used to setup the various
73fe8b45aaSThierry Reding      types of output to receive video data from the given head.
74fe8b45aaSThierry Reding
75fe8b45aaSThierry Reding  nvidia,outputs:
76fe8b45aaSThierry Reding    $ref: /schemas/types.yaml#/definitions/phandle-array
77fe8b45aaSThierry Reding    description: A list of phandles of outputs that this display controller can drive.
78fe8b45aaSThierry Reding
79fe8b45aaSThierry Reding  rgb:
80fe8b45aaSThierry Reding    type: object
81fe8b45aaSThierry Reding
82fe8b45aaSThierry RedingallOf:
83fe8b45aaSThierry Reding  - if:
84fe8b45aaSThierry Reding      properties:
85fe8b45aaSThierry Reding        compatible:
86fe8b45aaSThierry Reding          contains:
87fe8b45aaSThierry Reding            enum:
88fe8b45aaSThierry Reding              - nvidia,tegra20-dc
89fe8b45aaSThierry Reding              - nvidia,tegra30-dc
90fe8b45aaSThierry Reding              - nvidia,tegra114-dc
91fe8b45aaSThierry Reding    then:
92fe8b45aaSThierry Reding      properties:
93fe8b45aaSThierry Reding        interconnects:
94fe8b45aaSThierry Reding          items:
95fe8b45aaSThierry Reding            - description: window A memory client
96fe8b45aaSThierry Reding            - description: window B memory client
97fe8b45aaSThierry Reding            - description: window B memory client (vertical filter)
98fe8b45aaSThierry Reding            - description: window C memory client
99fe8b45aaSThierry Reding            - description: cursor memory client
100fe8b45aaSThierry Reding
101fe8b45aaSThierry Reding        interconnect-names:
102fe8b45aaSThierry Reding          items:
103fe8b45aaSThierry Reding            - const: wina
104fe8b45aaSThierry Reding            - const: winb
105fe8b45aaSThierry Reding            - const: winb-vfilter
106fe8b45aaSThierry Reding            - const: winc
107fe8b45aaSThierry Reding            - const: cursor
108fe8b45aaSThierry Reding
109fe8b45aaSThierry Reding        rgb:
110fe8b45aaSThierry Reding          description: Each display controller node has a child node, named "rgb", that represents
111fe8b45aaSThierry Reding            the RGB output associated with the controller.
112fe8b45aaSThierry Reding          type: object
113fe8b45aaSThierry Reding          properties:
114fe8b45aaSThierry Reding            nvidia,ddc-i2c-bus:
115fe8b45aaSThierry Reding              $ref: /schemas/types.yaml#/definitions/phandle
116fe8b45aaSThierry Reding              description: phandle of an I2C controller used for DDC EDID probing
117fe8b45aaSThierry Reding
118fe8b45aaSThierry Reding            nvidia,hpd-gpio:
119fe8b45aaSThierry Reding              description: specifies a GPIO used for hotplug detection
120fe8b45aaSThierry Reding              maxItems: 1
121fe8b45aaSThierry Reding
122fe8b45aaSThierry Reding            nvidia,edid:
123fe8b45aaSThierry Reding              $ref: /schemas/types.yaml#/definitions/uint8-array
124fe8b45aaSThierry Reding              description: supplies a binary EDID blob
125fe8b45aaSThierry Reding
126fe8b45aaSThierry Reding            nvidia,panel:
127fe8b45aaSThierry Reding              $ref: /schemas/types.yaml#/definitions/phandle
128fe8b45aaSThierry Reding              description: phandle of a display panel
129fe8b45aaSThierry Reding
130fe8b45aaSThierry Reding  - if:
131fe8b45aaSThierry Reding      properties:
132fe8b45aaSThierry Reding        compatible:
133fe8b45aaSThierry Reding          contains:
134fe8b45aaSThierry Reding            enum:
135fe8b45aaSThierry Reding              - nvidia,tegra124-dc
136fe8b45aaSThierry Reding    then:
137fe8b45aaSThierry Reding      properties:
138fe8b45aaSThierry Reding        interconnects:
139fe8b45aaSThierry Reding          minItems: 4
140fe8b45aaSThierry Reding          items:
141fe8b45aaSThierry Reding            - description: window A memory client
142fe8b45aaSThierry Reding            - description: window B memory client
143fe8b45aaSThierry Reding            - description: window C memory client
144fe8b45aaSThierry Reding            - description: cursor memory client
145fe8b45aaSThierry Reding            - description: window D memory client
146fe8b45aaSThierry Reding            - description: window T memory client
147fe8b45aaSThierry Reding
148fe8b45aaSThierry Reding        interconnect-names:
149fe8b45aaSThierry Reding          minItems: 4
150fe8b45aaSThierry Reding          items:
151fe8b45aaSThierry Reding            - const: wina
152fe8b45aaSThierry Reding            - const: winb
153fe8b45aaSThierry Reding            - const: winc
154fe8b45aaSThierry Reding            - const: cursor
155fe8b45aaSThierry Reding            - const: wind
156fe8b45aaSThierry Reding            - const: wint
157fe8b45aaSThierry Reding
158fe8b45aaSThierry RedingadditionalProperties: false
159fe8b45aaSThierry Reding
160fe8b45aaSThierry Redingrequired:
161fe8b45aaSThierry Reding  - compatible
162fe8b45aaSThierry Reding  - reg
163fe8b45aaSThierry Reding  - interrupts
164fe8b45aaSThierry Reding  - clocks
165fe8b45aaSThierry Reding  - clock-names
166fe8b45aaSThierry Reding  - resets
167fe8b45aaSThierry Reding  - reset-names
168fe8b45aaSThierry Reding
169fe8b45aaSThierry Redingexamples:
170fe8b45aaSThierry Reding  - |
171fe8b45aaSThierry Reding    #include <dt-bindings/clock/tegra20-car.h>
172fe8b45aaSThierry Reding    #include <dt-bindings/interrupt-controller/arm-gic.h>
173fe8b45aaSThierry Reding
174fe8b45aaSThierry Reding    dc@54200000 {
175fe8b45aaSThierry Reding        compatible = "nvidia,tegra20-dc";
176fe8b45aaSThierry Reding        reg = <0x54200000 0x00040000>;
177fe8b45aaSThierry Reding        interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
178fe8b45aaSThierry Reding        clocks = <&tegra_car TEGRA20_CLK_DISP1>;
179fe8b45aaSThierry Reding        clock-names = "dc";
180fe8b45aaSThierry Reding        resets = <&tegra_car 27>;
181fe8b45aaSThierry Reding        reset-names = "dc";
182fe8b45aaSThierry Reding    };
183