blob: f843e184f253fb988dcc91cd426a2a166100a510 [file] [log] [blame]
* Freescale LVDS Display Bridge(LDB)
The LVDS Display Bridge (LDB) connects a display engine,
such as IPU and LCDIF, to an external LVDS display interface.
The purpose of the LDB is to support flow of synchronous RGB
data from the display engine to external display devices
through LVDS interfaces. This support covers all aspects of
these activities:
* Connectivity to relevant devices - Displays with LVDS receivers.
* Arranging the data as required by the external display receiver
and by LVDS display standards.
* Synchronization and control capabilities.
Required properties:
- compatible: Should be "fsl,<soc>-ldb".
- #address-cells: Must be <1>.
- #size-cells: Must be <0>.
- gpr: gpr is the phandle to general purpose register node.
- clocks: The clocks provided by the SoC to LDB, including ldb_di0/1,
dix_sel, ldb_di0/1_div_3_5, ldb_di0/1_div_7 and ldb_di0/1_div_sel
clocks.
- clock-names: Must contain entries for each entry in clocks.
Optional properties:
- ext-ref: Provide this bool property if your LDB uses an external
reference resistor for bandgap.
- split-mode: Provide this bool property if your board uses LDB split
mode to drive a high resolution display, say 1080P@60. In this
mode, two LVDS channels will drive one display.
- dual-mode: Provide this bool property if your board uses LDB dual
mode to drive two displays. In this mode, one display engine will
drive two displays which have the same timings and display content.
Subnode for LVDS Channel
========================
Each LVDS Channel has to contain a display-timings node that describes the
video timings for the connected LVDS display. For detailed information, also
have a look at Documentation/devicetree/bindings/video/display-timing.txt.
Required properties:
- reg: Should be <0> or <1>.
- fsl,data-mapping: Should be "spwg" or "jeida".
This describes how the color bits are laid out in the serialized LVDS signal.
- fsl,data-width: Should be <18> or <24>.
- crtc: Should be "ipu1/2-di0/1" for i.MX6Q, "ipu1-di0/1" or "LCDIF" for i.MX6DL,
"ipu-di0/1" for i.MX53 and "lcdif1/2" for i.MX6sx.
Optional properties:
- primary: Provide this bool property if this channel is the one found by a
framebuffer with a smaller node id. This property is not valid for
dual mode and split mode.
ldb: ldb@020e0008 {
#address-cells = <1>;
#size-cells = <0>;
gpr = <&gpr>;
compatible = "fsl,imx6dl-ldb", "fsl,imx53-ldb";
gpr = <&gpr>;
clocks = <&clks 135>, <&clks 136>,
<&clks 39>, <&clks 40>,
<&clks 41>,
<&clks 184>, <&clks 185>,
<&clks 205>, <&clks 206>,
<&clks 207>, <&clks 208>;
clock-names = "ldb_di0", "ldb_di1",
"di0_sel", "di1_sel",
"di2_sel",
"ldb_di0_div_3_5", "ldb_di1_div_3_5",
"ldb_di0_div_7", "ldb_di1_div_7",
"ldb_di0_div_sel", "ldb_di1_div_sel";
lvds-channel@0 {
reg = <0>;
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
crtc = "ipu1-di0";
display-timings {
/* ... */
};
};
lvds-channel@1 {
reg = <1>;
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
crtc = "ipu1-di1";
primary;
display-timings {
/* ... */
};
};
};