Commit 1b134c9c authored by Markus Niebel's avatar Markus Niebel Committed by Arnd Bergmann

ARM: DT: imx53: fix lvds channel 1 port

using LVDS channel 1 on an i.MX53 leads to following error:

imx-ldb 53fa8008.ldb: unable to set di0 parent clock to ldb_di1

This comes from imx_ldb_set_clock with mux = 0. Mux parameter must be "1" for
reparenting di1 clock to ldb_di1. The value of the mux param comes from device
tree port settings.

On i.MX5, the internal two-input-multiplexer is used. Due to hardware limitations,
only one port (port@[0,1]) can be used for each channel (lvds-channel@[0,1],
respectively)

Documentation update suggested by Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarMarkus Niebel <Markus.Niebel@tq-group.com>
Fixes: e05c8c9a ("ARM: dts: imx53: Add IPU DI ports and endpoints, move imx-drm node to dtsi")
Cc: <stable@vger.kernel.org>
Acked-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarShawn Guo <shawn.guo@freescale.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 3d3c6a5f
...@@ -56,6 +56,9 @@ Required properties: ...@@ -56,6 +56,9 @@ Required properties:
- fsl,data-width : should be <18> or <24> - fsl,data-width : should be <18> or <24>
- port: A port node with endpoint definitions as defined in - port: A port node with endpoint definitions as defined in
Documentation/devicetree/bindings/media/video-interfaces.txt. Documentation/devicetree/bindings/media/video-interfaces.txt.
On i.MX5, the internal two-input-multiplexer is used.
Due to hardware limitations, only one port (port@[0,1])
can be used for each channel (lvds-channel@[0,1], respectively)
On i.MX6, there should be four ports (port@[0-3]) that correspond On i.MX6, there should be four ports (port@[0-3]) that correspond
to the four LVDS multiplexer inputs. to the four LVDS multiplexer inputs.
...@@ -78,6 +81,8 @@ ldb: ldb@53fa8008 { ...@@ -78,6 +81,8 @@ ldb: ldb@53fa8008 {
"di0", "di1"; "di0", "di1";
lvds-channel@0 { lvds-channel@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
fsl,data-mapping = "spwg"; fsl,data-mapping = "spwg";
fsl,data-width = <24>; fsl,data-width = <24>;
...@@ -86,7 +91,9 @@ ldb: ldb@53fa8008 { ...@@ -86,7 +91,9 @@ ldb: ldb@53fa8008 {
/* ... */ /* ... */
}; };
port { port@0 {
reg = <0>;
lvds0_in: endpoint { lvds0_in: endpoint {
remote-endpoint = <&ipu_di0_lvds0>; remote-endpoint = <&ipu_di0_lvds0>;
}; };
...@@ -94,6 +101,8 @@ ldb: ldb@53fa8008 { ...@@ -94,6 +101,8 @@ ldb: ldb@53fa8008 {
}; };
lvds-channel@1 { lvds-channel@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
fsl,data-mapping = "spwg"; fsl,data-mapping = "spwg";
fsl,data-width = <24>; fsl,data-width = <24>;
...@@ -102,7 +111,9 @@ ldb: ldb@53fa8008 { ...@@ -102,7 +111,9 @@ ldb: ldb@53fa8008 {
/* ... */ /* ... */
}; };
port { port@1 {
reg = <1>;
lvds1_in: endpoint { lvds1_in: endpoint {
remote-endpoint = <&ipu_di1_lvds1>; remote-endpoint = <&ipu_di1_lvds1>;
}; };
......
...@@ -423,10 +423,14 @@ ldb: ldb@53fa8008 { ...@@ -423,10 +423,14 @@ ldb: ldb@53fa8008 {
status = "disabled"; status = "disabled";
lvds-channel@0 { lvds-channel@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
status = "disabled"; status = "disabled";
port { port@0 {
reg = <0>;
lvds0_in: endpoint { lvds0_in: endpoint {
remote-endpoint = <&ipu_di0_lvds0>; remote-endpoint = <&ipu_di0_lvds0>;
}; };
...@@ -434,10 +438,14 @@ lvds0_in: endpoint { ...@@ -434,10 +438,14 @@ lvds0_in: endpoint {
}; };
lvds-channel@1 { lvds-channel@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>; reg = <1>;
status = "disabled"; status = "disabled";
port { port@1 {
reg = <1>;
lvds1_in: endpoint { lvds1_in: endpoint {
remote-endpoint = <&ipu_di1_lvds1>; remote-endpoint = <&ipu_di1_lvds1>;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment