aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2014-01-21 04:12:12 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2014-03-19 05:03:11 -0400
commitcbab579bf8e2bc36a0e74bc11066660b6776493f (patch)
tree7f6db9a5d0b794a791fbf222b8a657a190b27b88
parent6e7efe4eb86e493ea10d1568a6497aa931ff5221 (diff)
Doc/DT: Add DT binding documentation for OMAP DSS
Add device tree bindings for OMAP Display Subsystem for the following SoCs: OMAP2, OMAP3, OMAP4. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
-rw-r--r--Documentation/devicetree/bindings/video/ti,omap-dss.txt211
-rw-r--r--Documentation/devicetree/bindings/video/ti,omap2-dss.txt54
-rw-r--r--Documentation/devicetree/bindings/video/ti,omap3-dss.txt83
-rw-r--r--Documentation/devicetree/bindings/video/ti,omap4-dss.txt111
4 files changed, 459 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/video/ti,omap-dss.txt b/Documentation/devicetree/bindings/video/ti,omap-dss.txt
new file mode 100644
index 000000000000..d5f1a3fe3109
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,omap-dss.txt
@@ -0,0 +1,211 @@
1Texas Instruments OMAP Display Subsystem
2========================================
3
4Generic Description
5-------------------
6
7This document is a generic description of the OMAP Display Subsystem bindings.
8Binding details for each OMAP SoC version are described in respective binding
9documentation.
10
11The OMAP Display Subsystem (DSS) hardware consists of DSS Core, DISPC module and
12a number of encoder modules. All DSS versions contain DSS Core and DISPC, but
13the encoder modules vary.
14
15The DSS Core is the parent of the other DSS modules, and manages clock routing,
16integration to the SoC, etc.
17
18DISPC is the display controller, which reads pixels from the memory and outputs
19a RGB pixel stream to encoders.
20
21The encoder modules encode the received RGB pixel stream to a video output like
22HDMI, MIPI DPI, etc.
23
24Video Ports
25-----------
26
27The DSS Core and the encoders have video port outputs. The structure of the
28video ports is described in Documentation/devicetree/bindings/video/video-
29ports.txt, and the properties for the ports and endpoints for each encoder are
30described in the SoC's DSS binding documentation.
31
32The video ports are used to describe the connections to external hardware, like
33panels or external encoders.
34
35Aliases
36-------
37
38The board dts file may define aliases for displays to assign "displayX" style
39name for each display. If no aliases are defined, a semi-random number is used
40for the display.
41
42Example
43-------
44
45A shortened example of the DSS description for OMAP4, with non-relevant parts
46removed, defined in omap4.dtsi:
47
48dss: dss@58000000 {
49 compatible = "ti,omap4-dss";
50 reg = <0x58000000 0x80>;
51 status = "disabled";
52 ti,hwmods = "dss_core";
53 clocks = <&dss_dss_clk>;
54 clock-names = "fck";
55 #address-cells = <1>;
56 #size-cells = <1>;
57 ranges;
58
59 dispc@58001000 {
60 compatible = "ti,omap4-dispc";
61 reg = <0x58001000 0x1000>;
62 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
63 ti,hwmods = "dss_dispc";
64 clocks = <&dss_dss_clk>;
65 clock-names = "fck";
66 };
67
68 hdmi: encoder@58006000 {
69 compatible = "ti,omap4-hdmi";
70 reg = <0x58006000 0x200>,
71 <0x58006200 0x100>,
72 <0x58006300 0x100>,
73 <0x58006400 0x1000>;
74 reg-names = "wp", "pll", "phy", "core";
75 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
76 status = "disabled";
77 ti,hwmods = "dss_hdmi";
78 clocks = <&dss_48mhz_clk>, <&dss_sys_clk>;
79 clock-names = "fck", "sys_clk";
80 };
81};
82
83A shortened example of the board description for OMAP4 Panda board, defined in
84omap4-panda.dts.
85
86The Panda board has a DVI and a HDMI connector, and the board contains a TFP410
87chip (MIPI DPI to DVI encoder) and a TPD12S015 chip (HDMI ESD protection & level
88shifter). The video pipelines for the connectors are formed as follows:
89
90DSS Core --(MIPI DPI)--> TFP410 --(DVI)--> DVI Connector
91OMAP HDMI --(HDMI)--> TPD12S015 --(HDMI)--> HDMI Connector
92
93/ {
94 aliases {
95 display0 = &dvi0;
96 display1 = &hdmi0;
97 };
98
99 tfp410: encoder@0 {
100 compatible = "ti,tfp410";
101 gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; /* 0, power-down */
102
103 pinctrl-names = "default";
104 pinctrl-0 = <&tfp410_pins>;
105
106 ports {
107 #address-cells = <1>;
108 #size-cells = <0>;
109
110 port@0 {
111 reg = <0>;
112
113 tfp410_in: endpoint@0 {
114 remote-endpoint = <&dpi_out>;
115 };
116 };
117
118 port@1 {
119 reg = <1>;
120
121 tfp410_out: endpoint@0 {
122 remote-endpoint = <&dvi_connector_in>;
123 };
124 };
125 };
126 };
127
128 dvi0: connector@0 {
129 compatible = "dvi-connector";
130 label = "dvi";
131
132 i2c-bus = <&i2c3>;
133
134 port {
135 dvi_connector_in: endpoint {
136 remote-endpoint = <&tfp410_out>;
137 };
138 };
139 };
140
141 tpd12s015: encoder@1 {
142 compatible = "ti,tpd12s015";
143
144 pinctrl-names = "default";
145 pinctrl-0 = <&tpd12s015_pins>;
146
147 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
148 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
149 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
150
151 ports {
152 #address-cells = <1>;
153 #size-cells = <0>;
154
155 port@0 {
156 reg = <0>;
157
158 tpd12s015_in: endpoint@0 {
159 remote-endpoint = <&hdmi_out>;
160 };
161 };
162
163 port@1 {
164 reg = <1>;
165
166 tpd12s015_out: endpoint@0 {
167 remote-endpoint = <&hdmi_connector_in>;
168 };
169 };
170 };
171 };
172
173 hdmi0: connector@1 {
174 compatible = "hdmi-connector";
175 label = "hdmi";
176
177 port {
178 hdmi_connector_in: endpoint {
179 remote-endpoint = <&tpd12s015_out>;
180 };
181 };
182 };
183};
184
185&dss {
186 status = "ok";
187
188 pinctrl-names = "default";
189 pinctrl-0 = <&dss_dpi_pins>;
190
191 port {
192 dpi_out: endpoint {
193 remote-endpoint = <&tfp410_in>;
194 data-lines = <24>;
195 };
196 };
197};
198
199&hdmi {
200 status = "ok";
201 vdda-supply = <&vdac>;
202
203 pinctrl-names = "default";
204 pinctrl-0 = <&dss_hdmi_pins>;
205
206 port {
207 hdmi_out: endpoint {
208 remote-endpoint = <&tpd12s015_in>;
209 };
210 };
211};
diff --git a/Documentation/devicetree/bindings/video/ti,omap2-dss.txt b/Documentation/devicetree/bindings/video/ti,omap2-dss.txt
new file mode 100644
index 000000000000..fa8bb2ed1170
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,omap2-dss.txt
@@ -0,0 +1,54 @@
1Texas Instruments OMAP2 Display Subsystem
2=========================================
3
4See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic
5description about OMAP Display Subsystem bindings.
6
7DSS Core
8--------
9
10Required properties:
11- compatible: "ti,omap2-dss"
12- reg: address and length of the register space
13- ti,hwmods: "dss_core"
14
15Optional nodes:
16- Video port for DPI output
17
18DPI Endpoint required properties:
19- data-lines: number of lines used
20
21
22DISPC
23-----
24
25Required properties:
26- compatible: "ti,omap2-dispc"
27- reg: address and length of the register space
28- ti,hwmods: "dss_dispc"
29- interrupts: the DISPC interrupt
30
31
32RFBI
33----
34
35Required properties:
36- compatible: "ti,omap2-rfbi"
37- reg: address and length of the register space
38- ti,hwmods: "dss_rfbi"
39
40
41VENC
42----
43
44Required properties:
45- compatible: "ti,omap2-venc"
46- reg: address and length of the register space
47- ti,hwmods: "dss_venc"
48- vdda-supply: power supply for DAC
49
50VENC Endpoint required properties:
51
52Required properties:
53- ti,invert-polarity: invert the polarity of the video signal
54- ti,channels: 1 for composite, 2 for s-video
diff --git a/Documentation/devicetree/bindings/video/ti,omap3-dss.txt b/Documentation/devicetree/bindings/video/ti,omap3-dss.txt
new file mode 100644
index 000000000000..0023fa4b1328
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,omap3-dss.txt
@@ -0,0 +1,83 @@
1Texas Instruments OMAP3 Display Subsystem
2=========================================
3
4See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic
5description about OMAP Display Subsystem bindings.
6
7DSS Core
8--------
9
10Required properties:
11- compatible: "ti,omap3-dss"
12- reg: address and length of the register space
13- ti,hwmods: "dss_core"
14- clocks: handle to fclk
15- clock-names: "fck"
16
17Optional nodes:
18- Video ports:
19 - Port 0: DPI output
20 - Port 1: SDI output
21
22DPI Endpoint required properties:
23- data-lines: number of lines used
24
25SDI Endpoint required properties:
26- datapairs: number of datapairs used
27
28
29DISPC
30-----
31
32Required properties:
33- compatible: "ti,omap3-dispc"
34- reg: address and length of the register space
35- ti,hwmods: "dss_dispc"
36- interrupts: the DISPC interrupt
37- clocks: handle to fclk
38- clock-names: "fck"
39
40
41RFBI
42----
43
44Required properties:
45- compatible: "ti,omap3-rfbi"
46- reg: address and length of the register space
47- ti,hwmods: "dss_rfbi"
48- clocks: handles to fclk and iclk
49- clock-names: "fck", "ick"
50
51
52VENC
53----
54
55Required properties:
56- compatible: "ti,omap3-venc"
57- reg: address and length of the register space
58- ti,hwmods: "dss_venc"
59- vdda-supply: power supply for DAC
60- clocks: handle to fclk
61- clock-names: "fck"
62
63VENC Endpoint required properties:
64- ti,invert-polarity: invert the polarity of the video signal
65- ti,channels: 1 for composite, 2 for s-video
66
67
68DSI
69---
70
71Required properties:
72- compatible: "ti,omap3-dsi"
73- reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll'
74- reg-names: "proto", "phy", "pll"
75- interrupts: the DSI interrupt line
76- ti,hwmods: "dss_dsi1"
77- vdd-supply: power supply for DSI
78- clocks: handles to fclk and pll clock
79- clock-names: "fck", "sys_clk"
80
81DSI Endpoint required properties:
82- lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-,
83 DATA1+, DATA1-, ...
diff --git a/Documentation/devicetree/bindings/video/ti,omap4-dss.txt b/Documentation/devicetree/bindings/video/ti,omap4-dss.txt
new file mode 100644
index 000000000000..f85d6fcfa705
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,omap4-dss.txt
@@ -0,0 +1,111 @@
1Texas Instruments OMAP4 Display Subsystem
2=========================================
3
4See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic
5description about OMAP Display Subsystem bindings.
6
7DSS Core
8--------
9
10Required properties:
11- compatible: "ti,omap4-dss"
12- reg: address and length of the register space
13- ti,hwmods: "dss_core"
14- clocks: handle to fclk
15- clock-names: "fck"
16
17Required nodes:
18- DISPC
19
20Optional nodes:
21- DSS Submodules: RFBI, VENC, DSI, HDMI
22- Video port for DPI output
23
24DPI Endpoint required properties:
25- data-lines: number of lines used
26
27
28DISPC
29-----
30
31Required properties:
32- compatible: "ti,omap4-dispc"
33- reg: address and length of the register space
34- ti,hwmods: "dss_dispc"
35- interrupts: the DISPC interrupt
36- clocks: handle to fclk
37- clock-names: "fck"
38
39
40RFBI
41----
42
43Required properties:
44- compatible: "ti,omap4-rfbi"
45- reg: address and length of the register space
46- ti,hwmods: "dss_rfbi"
47- clocks: handles to fclk and iclk
48- clock-names: "fck", "ick"
49
50Optional nodes:
51- Video port for RFBI output
52- RFBI controlled peripherals
53
54
55VENC
56----
57
58Required properties:
59- compatible: "ti,omap4-venc"
60- reg: address and length of the register space
61- ti,hwmods: "dss_venc"
62- vdda-supply: power supply for DAC
63- clocks: handle to fclk
64- clock-names: "fck"
65
66Optional nodes:
67- Video port for VENC output
68
69VENC Endpoint required properties:
70- ti,invert-polarity: invert the polarity of the video signal
71- ti,channels: 1 for composite, 2 for s-video
72
73
74DSI
75---
76
77Required properties:
78- compatible: "ti,omap4-dsi"
79- reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll'
80- reg-names: "proto", "phy", "pll"
81- interrupts: the DSI interrupt line
82- ti,hwmods: "dss_dsi1" or "dss_dsi2"
83- vdd-supply: power supply for DSI
84- clocks: handles to fclk and pll clock
85- clock-names: "fck", "sys_clk"
86
87Optional nodes:
88- Video port for DSI output
89- DSI controlled peripherals
90
91DSI Endpoint required properties:
92- lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-,
93 DATA1+, DATA1-, ...
94
95
96HDMI
97----
98
99Required properties:
100- compatible: "ti,omap4-hdmi"
101- reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy',
102 'core'
103- reg-names: "wp", "pll", "phy", "core"
104- interrupts: the HDMI interrupt line
105- ti,hwmods: "dss_hdmi"
106- vdda-supply: vdda power supply
107- clocks: handles to fclk and pll clock
108- clock-names: "fck", "sys_clk"
109
110Optional nodes:
111- Video port for HDMI output