Hi,
This is v2 of the series adding DT bindings for various display components. The v1 can be found from [1].
The changes for v2:
* abbreviated endpoint format dropped (nacked) * MIPI DPI panel dropped (missing backlight handling, delayed to 3.16) * dvi-connector: add properties for analog/digital/dual-link * hdmi-connector: add connector type * split 'gpios' property to named gpios * use 'clocks' properties for OMAP DSS components * removed 'simple-bus' from OMAP DSS Core's compatible strings
[1] http://article.gmane.org/gmane.linux.drivers.devicetree/63885
Tomi
Tomi Valkeinen (8): Doc/DT: Add DT binding documentation for OMAP DSS Doc/DT: Add DT binding documentation for Analog TV Connector Doc/DT: Add DT binding documentation for DVI Connector Doc/DT: Add DT binding documentation for HDMI Connector Doc/DT: Add DT binding documentation for MIPI DSI CM Panel Doc/DT: Add DT binding documentation for Sony acx565akm panel Doc/DT: Add DT binding documentation for TFP410 encoder Doc/DT: Add DT binding documentation for tpd12s015 encoder
.../bindings/video/analog-tv-connector.txt | 25 +++ .../devicetree/bindings/video/dvi-connector.txt | 35 ++++ .../devicetree/bindings/video/hdmi-connector.txt | 28 +++ .../devicetree/bindings/video/panel-dsi-cm.txt | 29 +++ .../devicetree/bindings/video/sony,acx565akm.txt | 30 +++ .../devicetree/bindings/video/ti,omap-dss.txt | 211 +++++++++++++++++++++ .../devicetree/bindings/video/ti,omap2-dss.txt | 54 ++++++ .../devicetree/bindings/video/ti,omap3-dss.txt | 83 ++++++++ .../devicetree/bindings/video/ti,omap4-dss.txt | 111 +++++++++++ .../devicetree/bindings/video/ti,tfp410.txt | 41 ++++ .../devicetree/bindings/video/ti,tpd12s015.txt | 44 +++++ 11 files changed, 691 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/analog-tv-connector.txt create mode 100644 Documentation/devicetree/bindings/video/dvi-connector.txt create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt create mode 100644 Documentation/devicetree/bindings/video/panel-dsi-cm.txt create mode 100644 Documentation/devicetree/bindings/video/sony,acx565akm.txt create mode 100644 Documentation/devicetree/bindings/video/ti,omap-dss.txt create mode 100644 Documentation/devicetree/bindings/video/ti,omap2-dss.txt create mode 100644 Documentation/devicetree/bindings/video/ti,omap3-dss.txt create mode 100644 Documentation/devicetree/bindings/video/ti,omap4-dss.txt create mode 100644 Documentation/devicetree/bindings/video/ti,tfp410.txt create mode 100644 Documentation/devicetree/bindings/video/ti,tpd12s015.txt
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 --- .../devicetree/bindings/video/ti,omap-dss.txt | 211 +++++++++++++++++++++ .../devicetree/bindings/video/ti,omap2-dss.txt | 54 ++++++ .../devicetree/bindings/video/ti,omap3-dss.txt | 83 ++++++++ .../devicetree/bindings/video/ti,omap4-dss.txt | 111 +++++++++++ 4 files changed, 459 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/ti,omap-dss.txt create mode 100644 Documentation/devicetree/bindings/video/ti,omap2-dss.txt create mode 100644 Documentation/devicetree/bindings/video/ti,omap3-dss.txt create mode 100644 Documentation/devicetree/bindings/video/ti,omap4-dss.txt
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 @@ +Texas Instruments OMAP Display Subsystem +======================================== + +Generic Description +------------------- + +This document is a generic description of the OMAP Display Subsystem bindings. +Binding details for each OMAP SoC version are described in respective binding +documentation. + +The OMAP Display Subsystem (DSS) hardware consists of DSS Core, DISPC module and +a number of encoder modules. All DSS versions contain DSS Core and DISPC, but +the encoder modules vary. + +The DSS Core is the parent of the other DSS modules, and manages clock routing, +integration to the SoC, etc. + +DISPC is the display controller, which reads pixels from the memory and outputs +a RGB pixel stream to encoders. + +The encoder modules encode the received RGB pixel stream to a video output like +HDMI, MIPI DPI, etc. + +Video Ports +----------- + +The DSS Core and the encoders have video port outputs. The structure of the +video ports is described in Documentation/devicetree/bindings/video/video- +ports.txt, and the properties for the ports and endpoints for each encoder are +described in the SoC's DSS binding documentation. + +The video ports are used to describe the connections to external hardware, like +panels or external encoders. + +Aliases +------- + +The board dts file may define aliases for displays to assign "displayX" style +name for each display. If no aliases are defined, a semi-random number is used +for the display. + +Example +------- + +A shortened example of the DSS description for OMAP4, with non-relevant parts +removed, defined in omap4.dtsi: + +dss: dss@58000000 { + compatible = "ti,omap4-dss"; + reg = <0x58000000 0x80>; + status = "disabled"; + ti,hwmods = "dss_core"; + clocks = <&dss_dss_clk>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + dispc@58001000 { + compatible = "ti,omap4-dispc"; + reg = <0x58001000 0x1000>; + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; + ti,hwmods = "dss_dispc"; + clocks = <&dss_dss_clk>; + clock-names = "fck"; + }; + + hdmi: encoder@58006000 { + compatible = "ti,omap4-hdmi"; + reg = <0x58006000 0x200>, + <0x58006200 0x100>, + <0x58006300 0x100>, + <0x58006400 0x1000>; + reg-names = "wp", "pll", "phy", "core"; + interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + ti,hwmods = "dss_hdmi"; + clocks = <&dss_48mhz_clk>, <&dss_sys_clk>; + clock-names = "fck", "sys_clk"; + }; +}; + +A shortened example of the board description for OMAP4 Panda board, defined in +omap4-panda.dts. + +The Panda board has a DVI and a HDMI connector, and the board contains a TFP410 +chip (MIPI DPI to DVI encoder) and a TPD12S015 chip (HDMI ESD protection & level +shifter). The video pipelines for the connectors are formed as follows: + +DSS Core --(MIPI DPI)--> TFP410 --(DVI)--> DVI Connector +OMAP HDMI --(HDMI)--> TPD12S015 --(HDMI)--> HDMI Connector + +/ { + aliases { + display0 = &dvi0; + display1 = &hdmi0; + }; + + tfp410: encoder@0 { + compatible = "ti,tfp410"; + gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; /* 0, power-down */ + + pinctrl-names = "default"; + pinctrl-0 = <&tfp410_pins>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + tfp410_in: endpoint@0 { + remote-endpoint = <&dpi_out>; + }; + }; + + port@1 { + reg = <1>; + + tfp410_out: endpoint@0 { + remote-endpoint = <&dvi_connector_in>; + }; + }; + }; + }; + + dvi0: connector@0 { + compatible = "dvi-connector"; + label = "dvi"; + + i2c-bus = <&i2c3>; + + port { + dvi_connector_in: endpoint { + remote-endpoint = <&tfp410_out>; + }; + }; + }; + + tpd12s015: encoder@1 { + compatible = "ti,tpd12s015"; + + pinctrl-names = "default"; + pinctrl-0 = <&tpd12s015_pins>; + + gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */ + <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */ + <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */ + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + tpd12s015_in: endpoint@0 { + remote-endpoint = <&hdmi_out>; + }; + }; + + port@1 { + reg = <1>; + + tpd12s015_out: endpoint@0 { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; + + hdmi0: connector@1 { + compatible = "hdmi-connector"; + label = "hdmi"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&tpd12s015_out>; + }; + }; + }; +}; + +&dss { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&dss_dpi_pins>; + + port { + dpi_out: endpoint { + remote-endpoint = <&tfp410_in>; + data-lines = <24>; + }; + }; +}; + +&hdmi { + status = "ok"; + vdda-supply = <&vdac>; + + pinctrl-names = "default"; + pinctrl-0 = <&dss_hdmi_pins>; + + port { + hdmi_out: endpoint { + remote-endpoint = <&tpd12s015_in>; + }; + }; +}; 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 @@ +Texas Instruments OMAP2 Display Subsystem +========================================= + +See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic +description about OMAP Display Subsystem bindings. + +DSS Core +-------- + +Required properties: +- compatible: "ti,omap2-dss" +- reg: address and length of the register space +- ti,hwmods: "dss_core" + +Optional nodes: +- Video port for DPI output + +DPI Endpoint required properties: +- data-lines: number of lines used + + +DISPC +----- + +Required properties: +- compatible: "ti,omap2-dispc" +- reg: address and length of the register space +- ti,hwmods: "dss_dispc" +- interrupts: the DISPC interrupt + + +RFBI +---- + +Required properties: +- compatible: "ti,omap2-rfbi" +- reg: address and length of the register space +- ti,hwmods: "dss_rfbi" + + +VENC +---- + +Required properties: +- compatible: "ti,omap2-venc" +- reg: address and length of the register space +- ti,hwmods: "dss_venc" +- vdda-supply: power supply for DAC + +VENC Endpoint required properties: + +Required properties: +- ti,invert-polarity: invert the polarity of the video signal +- 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 @@ +Texas Instruments OMAP3 Display Subsystem +========================================= + +See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic +description about OMAP Display Subsystem bindings. + +DSS Core +-------- + +Required properties: +- compatible: "ti,omap3-dss" +- reg: address and length of the register space +- ti,hwmods: "dss_core" +- clocks: handle to fclk +- clock-names: "fck" + +Optional nodes: +- Video ports: + - Port 0: DPI output + - Port 1: SDI output + +DPI Endpoint required properties: +- data-lines: number of lines used + +SDI Endpoint required properties: +- datapairs: number of datapairs used + + +DISPC +----- + +Required properties: +- compatible: "ti,omap3-dispc" +- reg: address and length of the register space +- ti,hwmods: "dss_dispc" +- interrupts: the DISPC interrupt +- clocks: handle to fclk +- clock-names: "fck" + + +RFBI +---- + +Required properties: +- compatible: "ti,omap3-rfbi" +- reg: address and length of the register space +- ti,hwmods: "dss_rfbi" +- clocks: handles to fclk and iclk +- clock-names: "fck", "ick" + + +VENC +---- + +Required properties: +- compatible: "ti,omap3-venc" +- reg: address and length of the register space +- ti,hwmods: "dss_venc" +- vdda-supply: power supply for DAC +- clocks: handle to fclk +- clock-names: "fck" + +VENC Endpoint required properties: +- ti,invert-polarity: invert the polarity of the video signal +- ti,channels: 1 for composite, 2 for s-video + + +DSI +--- + +Required properties: +- compatible: "ti,omap3-dsi" +- reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' +- reg-names: "proto", "phy", "pll" +- interrupts: the DSI interrupt line +- ti,hwmods: "dss_dsi1" +- vdd-supply: power supply for DSI +- clocks: handles to fclk and pll clock +- clock-names: "fck", "sys_clk" + +DSI Endpoint required properties: +- lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, + 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 @@ +Texas Instruments OMAP4 Display Subsystem +========================================= + +See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic +description about OMAP Display Subsystem bindings. + +DSS Core +-------- + +Required properties: +- compatible: "ti,omap4-dss" +- reg: address and length of the register space +- ti,hwmods: "dss_core" +- clocks: handle to fclk +- clock-names: "fck" + +Required nodes: +- DISPC + +Optional nodes: +- DSS Submodules: RFBI, VENC, DSI, HDMI +- Video port for DPI output + +DPI Endpoint required properties: +- data-lines: number of lines used + + +DISPC +----- + +Required properties: +- compatible: "ti,omap4-dispc" +- reg: address and length of the register space +- ti,hwmods: "dss_dispc" +- interrupts: the DISPC interrupt +- clocks: handle to fclk +- clock-names: "fck" + + +RFBI +---- + +Required properties: +- compatible: "ti,omap4-rfbi" +- reg: address and length of the register space +- ti,hwmods: "dss_rfbi" +- clocks: handles to fclk and iclk +- clock-names: "fck", "ick" + +Optional nodes: +- Video port for RFBI output +- RFBI controlled peripherals + + +VENC +---- + +Required properties: +- compatible: "ti,omap4-venc" +- reg: address and length of the register space +- ti,hwmods: "dss_venc" +- vdda-supply: power supply for DAC +- clocks: handle to fclk +- clock-names: "fck" + +Optional nodes: +- Video port for VENC output + +VENC Endpoint required properties: +- ti,invert-polarity: invert the polarity of the video signal +- ti,channels: 1 for composite, 2 for s-video + + +DSI +--- + +Required properties: +- compatible: "ti,omap4-dsi" +- reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' +- reg-names: "proto", "phy", "pll" +- interrupts: the DSI interrupt line +- ti,hwmods: "dss_dsi1" or "dss_dsi2" +- vdd-supply: power supply for DSI +- clocks: handles to fclk and pll clock +- clock-names: "fck", "sys_clk" + +Optional nodes: +- Video port for DSI output +- DSI controlled peripherals + +DSI Endpoint required properties: +- lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, + DATA1+, DATA1-, ... + + +HDMI +---- + +Required properties: +- compatible: "ti,omap4-hdmi" +- reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', + 'core' +- reg-names: "wp", "pll", "phy", "core" +- interrupts: the HDMI interrupt line +- ti,hwmods: "dss_hdmi" +- vdda-supply: vdda power supply +- clocks: handles to fclk and pll clock +- clock-names: "fck", "sys_clk" + +Optional nodes: +- Video port for HDMI output
Add DT binding documentation for Analog TV Connector.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com --- .../bindings/video/analog-tv-connector.txt | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/analog-tv-connector.txt
diff --git a/Documentation/devicetree/bindings/video/analog-tv-connector.txt b/Documentation/devicetree/bindings/video/analog-tv-connector.txt new file mode 100644 index 000000000000..0218fcdc1299 --- /dev/null +++ b/Documentation/devicetree/bindings/video/analog-tv-connector.txt @@ -0,0 +1,25 @@ +Analog TV Connector +=================== + +Required properties: +- compatible: "composite-connector" or "svideo-connector" + +Optional properties: +- label: a symbolic name for the connector + +Required nodes: +- Video port for TV input + +Example +------- + +tv: connector { + compatible = "composite-connector"; + label = "tv"; + + port { + tv_connector_in: endpoint { + remote-endpoint = <&venc_out>; + }; + }; +};
Hi Tomi,
On Tue, Mar 18, 2014 at 9:15 AM, Tomi Valkeinen tomi.valkeinen@ti.com wrote:
--- /dev/null +++ b/Documentation/devicetree/bindings/video/analog-tv-connector.txt @@ -0,0 +1,25 @@ +Analog TV Connector +===================
+Required properties: +- compatible: "composite-connector" or "svideo-connector"
+Optional properties: +- label: a symbolic name for the connector
+Required nodes: +- Video port for TV input
Only input, not output?
Have you considered adding bindings for other analog connector types? - composite (YCbCr), - component with and without sync-on-green (RGB and RGBHV), - D-terminal (D1/D2/D3/D4/D5).
Am I missing some?
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On 18/03/14 10:40, Geert Uytterhoeven wrote:
Hi Tomi,
On Tue, Mar 18, 2014 at 9:15 AM, Tomi Valkeinen tomi.valkeinen@ti.com wrote:
--- /dev/null +++ b/Documentation/devicetree/bindings/video/analog-tv-connector.txt @@ -0,0 +1,25 @@ +Analog TV Connector +===================
+Required properties: +- compatible: "composite-connector" or "svideo-connector"
+Optional properties: +- label: a symbolic name for the connector
+Required nodes: +- Video port for TV input
Only input, not output?
Yes, I have only made the bindings for display. I have no experience on the capture side. I can change the port bindings for the connectors to say they may be input or output, but I have to say I have no idea whether the bindings work for capture.
But this is also something that I think could be extended in the future, when we have some code to actually use them on capture pipeline. For now it may be safer to keep them only for display.
Have you considered adding bindings for other analog connector types?
- composite (YCbCr),
- component with and without sync-on-green (RGB and RGBHV),
- D-terminal (D1/D2/D3/D4/D5).
Am I missing some?
No, I haven't. I have no experience on those, and generally very little experience on analog video. I've added bindings only for the hardware I have.
If there are lots of different analog TV connectors, should I just split the current "analog-tv-connector" into separate composite and svideo, instead of trying to manage them with a single one? The reason I combined composite and svideo was that there didn't seem anything else to specify than the connector type.
Tomi
Add DT binding documentation for DVI Connector.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com --- .../devicetree/bindings/video/dvi-connector.txt | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/dvi-connector.txt
diff --git a/Documentation/devicetree/bindings/video/dvi-connector.txt b/Documentation/devicetree/bindings/video/dvi-connector.txt new file mode 100644 index 000000000000..fc53f7c60bc6 --- /dev/null +++ b/Documentation/devicetree/bindings/video/dvi-connector.txt @@ -0,0 +1,35 @@ +DVI Connector +============== + +Required properties: +- compatible: "dvi-connector" + +Optional properties: +- label: a symbolic name for the connector +- ddc-i2c-bus: phandle to the i2c bus that is connected to DVI DDC +- analog: the connector has DVI analog pins +- digital: the connector has DVI digital pins +- dual-link: the connector has pins for DVI dual-link + +Required nodes: +- Video port for DVI input + +Note: One (or both) of 'analog' or 'digital' must be set. + +Example +------- + +dvi0: connector@0 { + compatible = "dvi-connector"; + label = "dvi"; + + digital; + + ddc-i2c-bus = <&i2c3>; + + port { + dvi_connector_in: endpoint { + remote-endpoint = <&tfp410_out>; + }; + }; +};
Add DT binding documentation for HDMI Connector.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com --- .../devicetree/bindings/video/hdmi-connector.txt | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt
diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt new file mode 100644 index 000000000000..ccccc19e2573 --- /dev/null +++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt @@ -0,0 +1,28 @@ +HDMI Connector +============== + +Required properties: +- compatible: "hdmi-connector" +- type: the HDMI connector type: "a", "b", "c", "d" or "e" + +Optional properties: +- label: a symbolic name for the connector + +Required nodes: +- Video port for HDMI input + +Example +------- + +hdmi0: connector@1 { + compatible = "hdmi-connector"; + label = "hdmi"; + + type = "a"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&tpd12s015_out>; + }; + }; +};
Hi Tomi,
Am Dienstag, den 18.03.2014, 10:15 +0200 schrieb Tomi Valkeinen:
Add DT binding documentation for HDMI Connector.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com
.../devicetree/bindings/video/hdmi-connector.txt | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt
diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt new file mode 100644 index 000000000000..ccccc19e2573 --- /dev/null +++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt @@ -0,0 +1,28 @@ +HDMI Connector +==============
+Required properties: +- compatible: "hdmi-connector" +- type: the HDMI connector type: "a", "b", "c", "d" or "e"
+Optional properties: +- label: a symbolic name for the connector
+Required nodes: +- Video port for HDMI input
Geert's comment also applies to all other connector types. These can be input connectors, too.
regards Philipp
Hello,
On Tuesday 18 March 2014 09:43:54 Philipp Zabel wrote:
Am Dienstag, den 18.03.2014, 10:15 +0200 schrieb Tomi Valkeinen:
Add DT binding documentation for HDMI Connector.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com
.../devicetree/bindings/video/hdmi-connector.txt | 28 +++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt> diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt new file mode 100644 index 000000000000..ccccc19e2573 --- /dev/null +++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt @@ -0,0 +1,28 @@ +HDMI Connector +==============
+Required properties: +- compatible: "hdmi-connector" +- type: the HDMI connector type: "a", "b", "c", "d" or "e"
+Optional properties: +- label: a symbolic name for the connector
+Required nodes: +- Video port for HDMI input
Geert's comment also applies to all other connector types. These can be input connectors, too.
We might not need to define all the properties required by input connectors now, but we need to make sure that future extensions will be backward- compatible. I don't see a problem in making the connector DT bindings depend on the direction as long as the direction is specified in the DT node, either explicitly or implicitly.
An obvious solution would be to have separate "hdmi-input-connector" and "hdmi-output-connector" compatible strings but I don't like that, as there's no difference in the HDMI connector itself, only in the usage.
We could also add a "direction" property (possibly later, with a default value of "output" in that case), or rely on the link direction, but in the latter case that would require reaching an agreement in the current link directions debate.
Hi Laurent,
Am Mittwoch, den 19.03.2014, 00:43 +0100 schrieb Laurent Pinchart:
Hello,
On Tuesday 18 March 2014 09:43:54 Philipp Zabel wrote:
Am Dienstag, den 18.03.2014, 10:15 +0200 schrieb Tomi Valkeinen:
Add DT binding documentation for HDMI Connector.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com
.../devicetree/bindings/video/hdmi-connector.txt | 28 +++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt> diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt new file mode 100644 index 000000000000..ccccc19e2573 --- /dev/null +++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt @@ -0,0 +1,28 @@ +HDMI Connector +==============
+Required properties: +- compatible: "hdmi-connector" +- type: the HDMI connector type: "a", "b", "c", "d" or "e"
+Optional properties: +- label: a symbolic name for the connector
+Required nodes: +- Video port for HDMI input
Geert's comment also applies to all other connector types. These can be input connectors, too.
We might not need to define all the properties required by input connectors now, but we need to make sure that future extensions will be backward- compatible. I don't see a problem in making the connector DT bindings depend on the direction as long as the direction is specified in the DT node, either explicitly or implicitly.
An obvious solution would be to have separate "hdmi-input-connector" and "hdmi-output-connector" compatible strings but I don't like that, as there's no difference in the HDMI connector itself, only in the usage.
I don't think this is necessary, either. I just meant the wording for the video port should leave the direction unspecified. I imagine somebody somewhere will connect a HDMI connector to a mux so that it can be either input or output.
We could also add a "direction" property (possibly later, with a default value of "output" in that case), or rely on the link direction, but in the latter case that would require reaching an agreement in the current link directions debate.
If we add a direction property, I think it should be on the ports.
regards Philipp
On 19/03/14 10:03, Philipp Zabel wrote:
Geert's comment also applies to all other connector types. These can be input connectors, too.
We might not need to define all the properties required by input connectors now, but we need to make sure that future extensions will be backward- compatible. I don't see a problem in making the connector DT bindings depend on the direction as long as the direction is specified in the DT node, either explicitly or implicitly.
An obvious solution would be to have separate "hdmi-input-connector" and "hdmi-output-connector" compatible strings but I don't like that, as there's no difference in the HDMI connector itself, only in the usage.
I don't think this is necessary, either. I just meant the wording for the video port should leave the direction unspecified. I imagine somebody somewhere will connect a HDMI connector to a mux so that it can be either input or output.
I don't disagree, but I think it's better to change the wording when someone has a working setup and can try it. These bindings have been designed only with video output in mind, and I'd rather have them constrained to that purpose for now.
One reason for keeping them output only is that when someone wants to use these for capture, he needs to change the binding docs, and it'll gather more attention than just using the bindings in a board's dts.
That said, we should take care to make the bindings so that nothing prevents their use for capture (which I think they allow in their current form).
Tomi
Am Mittwoch, den 19.03.2014, 10:11 +0200 schrieb Tomi Valkeinen:
On 19/03/14 10:03, Philipp Zabel wrote:
Geert's comment also applies to all other connector types. These can be input connectors, too.
We might not need to define all the properties required by input connectors now, but we need to make sure that future extensions will be backward- compatible. I don't see a problem in making the connector DT bindings depend on the direction as long as the direction is specified in the DT node, either explicitly or implicitly.
An obvious solution would be to have separate "hdmi-input-connector" and "hdmi-output-connector" compatible strings but I don't like that, as there's no difference in the HDMI connector itself, only in the usage.
I don't think this is necessary, either. I just meant the wording for the video port should leave the direction unspecified. I imagine somebody somewhere will connect a HDMI connector to a mux so that it can be either input or output.
I don't disagree, but I think it's better to change the wording when someone has a working setup and can try it. These bindings have been designed only with video output in mind, and I'd rather have them constrained to that purpose for now.
One reason for keeping them output only is that when someone wants to use these for capture, he needs to change the binding docs, and it'll gather more attention than just using the bindings in a board's dts.
That said, we should take care to make the bindings so that nothing prevents their use for capture (which I think they allow in their current form).
I don't disagree, either. I have no objection against the bindings themselves.
Acked-by: Philipp Zabel p.zabel@pengutronix.de
regards Philipp
On 19/03/14 10:22, Philipp Zabel wrote:
I don't disagree, either. I have no objection against the bindings themselves.
Acked-by: Philipp Zabel p.zabel@pengutronix.de
Thanks. Is the ack for this particular binding, or for the whole series?
Tomi
Hi Tomi,
Am Mittwoch, den 19.03.2014, 11:08 +0200 schrieb Tomi Valkeinen:
On 19/03/14 10:22, Philipp Zabel wrote:
I don't disagree, either. I have no objection against the bindings themselves.
Acked-by: Philipp Zabel p.zabel@pengutronix.de
Thanks. Is the ack for this particular binding, or for the whole series?
Thanks for asking, I haven't really looked at the TPD12S015 binding. The rest of the series, yes.
regards Philipp
Add DT binding documentation for MIPI DSI Command Mode Panel.
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com --- .../devicetree/bindings/video/panel-dsi-cm.txt | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/panel-dsi-cm.txt
diff --git a/Documentation/devicetree/bindings/video/panel-dsi-cm.txt b/Documentation/devicetree/bindings/video/panel-dsi-cm.txt new file mode 100644 index 000000000000..dce48eb9db57 --- /dev/null +++ b/Documentation/devicetree/bindings/video/panel-dsi-cm.txt @@ -0,0 +1,29 @@ +Generic MIPI DSI Command Mode Panel +=================================== + +Required properties: +- compatible: "panel-dsi-cm" + +Optional properties: +- label: a symbolic name for the panel +- reset-gpios: panel reset gpio +- te-gpios: panel TE gpio + +Required nodes: +- Video port for DSI input + +Example +------- + +lcd0: display { + compatible = "tpo,taal", "panel-dsi-cm"; + label = "lcd0"; + + reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; + + port { + lcd0_in: endpoint { + remote-endpoint = <&dsi1_out_ep>; + }; + }; +};
Add DT binding documentation for Sony acx565akm panel
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Sebastian Reichel sre@debian.org Reviewed-by: Archit Taneja archit@ti.com --- .../devicetree/bindings/video/sony,acx565akm.txt | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/sony,acx565akm.txt
diff --git a/Documentation/devicetree/bindings/video/sony,acx565akm.txt b/Documentation/devicetree/bindings/video/sony,acx565akm.txt new file mode 100644 index 000000000000..e12333280749 --- /dev/null +++ b/Documentation/devicetree/bindings/video/sony,acx565akm.txt @@ -0,0 +1,30 @@ +Sony ACX565AKM SDI Panel +======================== + +Required properties: +- compatible: "sony,acx565akm" + +Optional properties: +- label: a symbolic name for the panel +- reset-gpios: panel reset gpio + +Required nodes: +- Video port for SDI input + +Example +------- + +acx565akm@2 { + compatible = "sony,acx565akm"; + spi-max-frequency = <6000000>; + reg = <2>; + + label = "lcd"; + reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */ + + port { + lcd_in: endpoint { + remote-endpoint = <&sdi_out>; + }; + }; +};
Add DT binding documentation for TFP410 encoder
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com --- .../devicetree/bindings/video/ti,tfp410.txt | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/ti,tfp410.txt
diff --git a/Documentation/devicetree/bindings/video/ti,tfp410.txt b/Documentation/devicetree/bindings/video/ti,tfp410.txt new file mode 100644 index 000000000000..2cbe32a3d0bb --- /dev/null +++ b/Documentation/devicetree/bindings/video/ti,tfp410.txt @@ -0,0 +1,41 @@ +TFP410 DPI to DVI encoder +========================= + +Required properties: +- compatible: "ti,tfp410" + +Optional properties: +- powerdown-gpios: power-down gpio + +Required nodes: +- Video port 0 for DPI input +- Video port 1 for DVI output + +Example +------- + +tfp410: encoder@0 { + compatible = "ti,tfp410"; + powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + tfp410_in: endpoint@0 { + remote-endpoint = <&dpi_out>; + }; + }; + + port@1 { + reg = <1>; + + tfp410_out: endpoint@0 { + remote-endpoint = <&dvi_connector_in>; + }; + }; + }; +};
Add DT binding documentation for tpd12s015 encoder
Signed-off-by: Tomi Valkeinen tomi.valkeinen@ti.com Reviewed-by: Archit Taneja archit@ti.com --- .../devicetree/bindings/video/ti,tpd12s015.txt | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/ti,tpd12s015.txt
diff --git a/Documentation/devicetree/bindings/video/ti,tpd12s015.txt b/Documentation/devicetree/bindings/video/ti,tpd12s015.txt new file mode 100644 index 000000000000..26e6d32e3f20 --- /dev/null +++ b/Documentation/devicetree/bindings/video/ti,tpd12s015.txt @@ -0,0 +1,44 @@ +TPD12S015 HDMI level shifter and ESD protection chip +==================================================== + +Required properties: +- compatible: "ti,tpd12s015" + +Optional properties: +- gpios: CT CP HPD, LS OE and HPD gpios + +Required nodes: +- Video port 0 for HDMI input +- Video port 1 for HDMI output + +Example +------- + +tpd12s015: encoder@1 { + compatible = "ti,tpd12s015"; + + gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */ + <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */ + <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */ + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + tpd12s015_in: endpoint@0 { + remote-endpoint = <&hdmi_out>; + }; + }; + + port@1 { + reg = <1>; + + tpd12s015_out: endpoint@0 { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; +};
dri-devel@lists.freedesktop.org