drm/tegra: sor: Add Tegra210 eDP support
[deliverable/linux.git] / Documentation / devicetree / bindings / gpu / nvidia,tegra20-host1x.txt
CommitLineData
d8f4a9ed
TR
1NVIDIA Tegra host1x
2
3Required properties:
4- compatible: "nvidia,tegra<chip>-host1x"
5- reg: Physical base address and length of the controller's registers.
6- interrupts: The interrupt outputs from the controller.
7- #address-cells: The number of cells used to represent physical base addresses
8 in the host1x address space. Should be 1.
9- #size-cells: The number of cells used to represent the size of an address
10 range in the host1x address space. Should be 1.
11- ranges: The mapping of the host1x address space to the CPU address space.
d8f64797
SW
12- clocks: Must contain one entry, for the module clock.
13 See ../clocks/clock-bindings.txt for details.
07999587
SW
14- resets: Must contain an entry for each entry in reset-names.
15 See ../reset/reset.txt for details.
16- reset-names: Must include the following entries:
17 - host1x
d8f4a9ed
TR
18
19The host1x top-level node defines a number of children, each representing one
20of the following host1x client modules:
21
22- mpe: video encoder
23
24 Required properties:
25 - compatible: "nvidia,tegra<chip>-mpe"
26 - reg: Physical base address and length of the controller's registers.
27 - interrupts: The interrupt outputs from the controller.
d8f64797
SW
28 - clocks: Must contain one entry, for the module clock.
29 See ../clocks/clock-bindings.txt for details.
07999587
SW
30 - resets: Must contain an entry for each entry in reset-names.
31 See ../reset/reset.txt for details.
32 - reset-names: Must include the following entries:
33 - mpe
d8f4a9ed
TR
34
35- vi: video input
36
37 Required properties:
38 - compatible: "nvidia,tegra<chip>-vi"
39 - reg: Physical base address and length of the controller's registers.
40 - interrupts: The interrupt outputs from the controller.
d8f64797
SW
41 - clocks: Must contain one entry, for the module clock.
42 See ../clocks/clock-bindings.txt for details.
07999587
SW
43 - resets: Must contain an entry for each entry in reset-names.
44 See ../reset/reset.txt for details.
45 - reset-names: Must include the following entries:
46 - vi
d8f4a9ed
TR
47
48- epp: encoder pre-processor
49
50 Required properties:
51 - compatible: "nvidia,tegra<chip>-epp"
52 - reg: Physical base address and length of the controller's registers.
53 - interrupts: The interrupt outputs from the controller.
d8f64797
SW
54 - clocks: Must contain one entry, for the module clock.
55 See ../clocks/clock-bindings.txt for details.
07999587
SW
56 - resets: Must contain an entry for each entry in reset-names.
57 See ../reset/reset.txt for details.
58 - reset-names: Must include the following entries:
59 - epp
d8f4a9ed
TR
60
61- isp: image signal processor
62
63 Required properties:
64 - compatible: "nvidia,tegra<chip>-isp"
65 - reg: Physical base address and length of the controller's registers.
66 - interrupts: The interrupt outputs from the controller.
d8f64797
SW
67 - clocks: Must contain one entry, for the module clock.
68 See ../clocks/clock-bindings.txt for details.
07999587
SW
69 - resets: Must contain an entry for each entry in reset-names.
70 See ../reset/reset.txt for details.
71 - reset-names: Must include the following entries:
72 - isp
d8f4a9ed
TR
73
74- gr2d: 2D graphics engine
75
76 Required properties:
77 - compatible: "nvidia,tegra<chip>-gr2d"
78 - reg: Physical base address and length of the controller's registers.
79 - interrupts: The interrupt outputs from the controller.
d8f64797
SW
80 - clocks: Must contain one entry, for the module clock.
81 See ../clocks/clock-bindings.txt for details.
07999587
SW
82 - resets: Must contain an entry for each entry in reset-names.
83 See ../reset/reset.txt for details.
84 - reset-names: Must include the following entries:
85 - 2d
d8f4a9ed
TR
86
87- gr3d: 3D graphics engine
88
89 Required properties:
90 - compatible: "nvidia,tegra<chip>-gr3d"
91 - reg: Physical base address and length of the controller's registers.
d8f64797
SW
92 - clocks: Must contain an entry for each entry in clock-names.
93 See ../clocks/clock-bindings.txt for details.
94 - clock-names: Must include the following entries:
95 (This property may be omitted if the only clock in the list is "3d")
96 - 3d
97 This MUST be the first entry.
98 - 3d2 (Only required on SoCs with two 3D clocks)
07999587
SW
99 - resets: Must contain an entry for each entry in reset-names.
100 See ../reset/reset.txt for details.
101 - reset-names: Must include the following entries:
102 - 3d
103 - 3d2 (Only required on SoCs with two 3D clocks)
d8f4a9ed
TR
104
105- dc: display controller
106
107 Required properties:
108 - compatible: "nvidia,tegra<chip>-dc"
109 - reg: Physical base address and length of the controller's registers.
110 - interrupts: The interrupt outputs from the controller.
d8f64797
SW
111 - clocks: Must contain an entry for each entry in clock-names.
112 See ../clocks/clock-bindings.txt for details.
113 - clock-names: Must include the following entries:
114 - dc
115 This MUST be the first entry.
116 - parent
07999587
SW
117 - resets: Must contain an entry for each entry in reset-names.
118 See ../reset/reset.txt for details.
119 - reset-names: Must include the following entries:
120 - dc
13411ddd
TR
121 - nvidia,head: The number of the display controller head. This is used to
122 setup the various types of output to receive video data from the given
123 head.
d8f4a9ed
TR
124
125 Each display controller node has a child node, named "rgb", that represents
126 the RGB output associated with the controller. It can take the following
127 optional properties:
128 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
129 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
130 - nvidia,edid: supplies a binary EDID blob
9be7d864 131 - nvidia,panel: phandle of a display panel
d8f4a9ed
TR
132
133- hdmi: High Definition Multimedia Interface
134
135 Required properties:
136 - compatible: "nvidia,tegra<chip>-hdmi"
137 - reg: Physical base address and length of the controller's registers.
138 - interrupts: The interrupt outputs from the controller.
fb50a116 139 - hdmi-supply: supply for the +5V HDMI connector pin
d8f4a9ed
TR
140 - vdd-supply: regulator for supply voltage
141 - pll-supply: regulator for PLL
d8f64797
SW
142 - clocks: Must contain an entry for each entry in clock-names.
143 See ../clocks/clock-bindings.txt for details.
144 - clock-names: Must include the following entries:
145 - hdmi
146 This MUST be the first entry.
147 - parent
07999587
SW
148 - resets: Must contain an entry for each entry in reset-names.
149 See ../reset/reset.txt for details.
150 - reset-names: Must include the following entries:
151 - hdmi
d8f4a9ed
TR
152
153 Optional properties:
154 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
155 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
156 - nvidia,edid: supplies a binary EDID blob
9be7d864 157 - nvidia,panel: phandle of a display panel
d8f4a9ed
TR
158
159- tvo: TV encoder output
160
161 Required properties:
162 - compatible: "nvidia,tegra<chip>-tvo"
163 - reg: Physical base address and length of the controller's registers.
164 - interrupts: The interrupt outputs from the controller.
d8f64797
SW
165 - clocks: Must contain one entry, for the module clock.
166 See ../clocks/clock-bindings.txt for details.
d8f4a9ed
TR
167
168- dsi: display serial interface
169
170 Required properties:
171 - compatible: "nvidia,tegra<chip>-dsi"
172 - reg: Physical base address and length of the controller's registers.
d8f64797
SW
173 - clocks: Must contain an entry for each entry in clock-names.
174 See ../clocks/clock-bindings.txt for details.
175 - clock-names: Must include the following entries:
176 - dsi
177 This MUST be the first entry.
dec72739 178 - lp
d8f64797 179 - parent
07999587
SW
180 - resets: Must contain an entry for each entry in reset-names.
181 See ../reset/reset.txt for details.
182 - reset-names: Must include the following entries:
183 - dsi
3b077afb 184 - avdd-dsi-supply: phandle of a supply that powers the DSI controller
dec72739
TR
185 - nvidia,mipi-calibrate: Should contain a phandle and a specifier specifying
186 which pads are used by this DSI output and need to be calibrated. See also
187 ../mipi/nvidia,tegra114-mipi.txt.
188
189 Optional properties:
190 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
191 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
192 - nvidia,edid: supplies a binary EDID blob
193 - nvidia,panel: phandle of a display panel
e94236cd
TR
194 - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang
195 up with in order to support up to 8 data lanes
d8f4a9ed 196
6b6b6042
TR
197- sor: serial output resource
198
199 Required properties:
3309ac83
TR
200 - compatible: Should be:
201 - "nvidia,tegra124-sor": for Tegra124 and Tegra132
202 - "nvidia,tegra132-sor": for Tegra132
203 - "nvidia,tegra210-sor": for Tegra210
6b6b6042
TR
204 - reg: Physical base address and length of the controller's registers.
205 - interrupts: The interrupt outputs from the controller.
206 - clocks: Must contain an entry for each entry in clock-names.
207 See ../clocks/clock-bindings.txt for details.
208 - clock-names: Must include the following entries:
209 - sor: clock input for the SOR hardware
210 - parent: input for the pixel clock
211 - dp: reference clock for the SOR clock
212 - safe: safe reference for the SOR clock during power up
213 - resets: Must contain an entry for each entry in reset-names.
214 See ../reset/reset.txt for details.
215 - reset-names: Must include the following entries:
216 - sor
217
218 Optional properties:
219 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
220 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
221 - nvidia,edid: supplies a binary EDID blob
222 - nvidia,panel: phandle of a display panel
223
224 Optional properties when driving an eDP output:
225 - nvidia,dpaux: phandle to a DispayPort AUX interface
226
227- dpaux: DisplayPort AUX interface
193c9d23
PW
228 - compatible: For Tegra124, must contain "nvidia,tegra124-dpaux". Otherwise,
229 must contain '"nvidia,<chip>-dpaux", "nvidia,tegra124-dpaux"', where
230 <chip> is tegra132.
6b6b6042
TR
231 - reg: Physical base address and length of the controller's registers.
232 - interrupts: The interrupt outputs from the controller.
233 - clocks: Must contain an entry for each entry in clock-names.
234 See ../clocks/clock-bindings.txt for details.
235 - clock-names: Must include the following entries:
236 - dpaux: clock input for the DPAUX hardware
237 - parent: reference clock
238 - resets: Must contain an entry for each entry in reset-names.
239 See ../reset/reset.txt for details.
240 - reset-names: Must include the following entries:
241 - dpaux
242 - vdd-supply: phandle of a supply that powers the DisplayPort link
243
d8f4a9ed
TR
244Example:
245
246/ {
247 ...
248
249 host1x {
250 compatible = "nvidia,tegra20-host1x", "simple-bus";
251 reg = <0x50000000 0x00024000>;
252 interrupts = <0 65 0x04 /* mpcore syncpt */
253 0 67 0x04>; /* mpcore general */
d8f64797 254 clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
07999587
SW
255 resets = <&tegra_car 28>;
256 reset-names = "host1x";
d8f4a9ed
TR
257
258 #address-cells = <1>;
259 #size-cells = <1>;
260
261 ranges = <0x54000000 0x54000000 0x04000000>;
262
263 mpe {
264 compatible = "nvidia,tegra20-mpe";
265 reg = <0x54040000 0x00040000>;
266 interrupts = <0 68 0x04>;
d8f64797 267 clocks = <&tegra_car TEGRA20_CLK_MPE>;
07999587
SW
268 resets = <&tegra_car 60>;
269 reset-names = "mpe";
d8f4a9ed
TR
270 };
271
272 vi {
273 compatible = "nvidia,tegra20-vi";
274 reg = <0x54080000 0x00040000>;
275 interrupts = <0 69 0x04>;
d8f64797 276 clocks = <&tegra_car TEGRA20_CLK_VI>;
07999587
SW
277 resets = <&tegra_car 100>;
278 reset-names = "vi";
d8f4a9ed
TR
279 };
280
281 epp {
282 compatible = "nvidia,tegra20-epp";
283 reg = <0x540c0000 0x00040000>;
284 interrupts = <0 70 0x04>;
d8f64797 285 clocks = <&tegra_car TEGRA20_CLK_EPP>;
07999587
SW
286 resets = <&tegra_car 19>;
287 reset-names = "epp";
d8f4a9ed
TR
288 };
289
290 isp {
291 compatible = "nvidia,tegra20-isp";
292 reg = <0x54100000 0x00040000>;
293 interrupts = <0 71 0x04>;
d8f64797 294 clocks = <&tegra_car TEGRA20_CLK_ISP>;
07999587
SW
295 resets = <&tegra_car 23>;
296 reset-names = "isp";
d8f4a9ed
TR
297 };
298
299 gr2d {
300 compatible = "nvidia,tegra20-gr2d";
301 reg = <0x54140000 0x00040000>;
302 interrupts = <0 72 0x04>;
d8f64797 303 clocks = <&tegra_car TEGRA20_CLK_GR2D>;
07999587
SW
304 resets = <&tegra_car 21>;
305 reset-names = "2d";
d8f4a9ed
TR
306 };
307
308 gr3d {
309 compatible = "nvidia,tegra20-gr3d";
310 reg = <0x54180000 0x00040000>;
d8f64797 311 clocks = <&tegra_car TEGRA20_CLK_GR3D>;
07999587
SW
312 resets = <&tegra_car 24>;
313 reset-names = "3d";
d8f4a9ed
TR
314 };
315
316 dc@54200000 {
317 compatible = "nvidia,tegra20-dc";
318 reg = <0x54200000 0x00040000>;
319 interrupts = <0 73 0x04>;
d8f64797
SW
320 clocks = <&tegra_car TEGRA20_CLK_DISP1>,
321 <&tegra_car TEGRA20_CLK_PLL_P>;
5d30be28 322 clock-names = "dc", "parent";
07999587
SW
323 resets = <&tegra_car 27>;
324 reset-names = "dc";
d8f4a9ed
TR
325
326 rgb {
327 status = "disabled";
328 };
329 };
330
331 dc@54240000 {
332 compatible = "nvidia,tegra20-dc";
333 reg = <0x54240000 0x00040000>;
334 interrupts = <0 74 0x04>;
d8f64797
SW
335 clocks = <&tegra_car TEGRA20_CLK_DISP2>,
336 <&tegra_car TEGRA20_CLK_PLL_P>;
5d30be28 337 clock-names = "dc", "parent";
07999587
SW
338 resets = <&tegra_car 26>;
339 reset-names = "dc";
d8f4a9ed
TR
340
341 rgb {
342 status = "disabled";
343 };
344 };
345
346 hdmi {
347 compatible = "nvidia,tegra20-hdmi";
348 reg = <0x54280000 0x00040000>;
349 interrupts = <0 75 0x04>;
d8f64797
SW
350 clocks = <&tegra_car TEGRA20_CLK_HDMI>,
351 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
352 clock-names = "hdmi", "parent";
07999587
SW
353 resets = <&tegra_car 51>;
354 reset-names = "hdmi";
d8f4a9ed
TR
355 status = "disabled";
356 };
357
358 tvo {
359 compatible = "nvidia,tegra20-tvo";
360 reg = <0x542c0000 0x00040000>;
361 interrupts = <0 76 0x04>;
d8f64797 362 clocks = <&tegra_car TEGRA20_CLK_TVO>;
d8f4a9ed
TR
363 status = "disabled";
364 };
365
366 dsi {
367 compatible = "nvidia,tegra20-dsi";
368 reg = <0x54300000 0x00040000>;
d8f64797
SW
369 clocks = <&tegra_car TEGRA20_CLK_DSI>,
370 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
371 clock-names = "dsi", "parent";
07999587
SW
372 resets = <&tegra_car 48>;
373 reset-names = "dsi";
d8f4a9ed
TR
374 status = "disabled";
375 };
376 };
377
378 ...
379};
This page took 0.214813 seconds and 5 git commands to generate.