diff options
author | Markus Niebel <Markus.Niebel@tq-group.com> | 2014-09-11 03:56:56 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-09-11 05:36:00 -0400 |
commit | 1b134c9c4b555342be667f144ee714af1c3f6a9f (patch) | |
tree | 243932eab6a338c9190f8160dde88de76b66a92a | |
parent | 3d3c6a5f3de2c76b2d6bf96be56dd6fcc2bb2a30 (diff) |
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: Markus Niebel <Markus.Niebel@tq-group.com>
Fixes: e05c8c9a790a ("ARM: dts: imx53: Add IPU DI ports and endpoints, move imx-drm node to dtsi")
Cc: <stable@vger.kernel.org>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | Documentation/devicetree/bindings/staging/imx-drm/ldb.txt | 15 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx53.dtsi | 12 |
2 files changed, 23 insertions, 4 deletions
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt b/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt index 578a1fca366e..443bcb6134d5 100644 --- a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt +++ b/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt | |||
@@ -56,6 +56,9 @@ Required properties: | |||
56 | - fsl,data-width : should be <18> or <24> | 56 | - fsl,data-width : should be <18> or <24> |
57 | - port: A port node with endpoint definitions as defined in | 57 | - port: A port node with endpoint definitions as defined in |
58 | Documentation/devicetree/bindings/media/video-interfaces.txt. | 58 | Documentation/devicetree/bindings/media/video-interfaces.txt. |
59 | On i.MX5, the internal two-input-multiplexer is used. | ||
60 | Due to hardware limitations, only one port (port@[0,1]) | ||
61 | can be used for each channel (lvds-channel@[0,1], respectively) | ||
59 | On i.MX6, there should be four ports (port@[0-3]) that correspond | 62 | On i.MX6, there should be four ports (port@[0-3]) that correspond |
60 | to the four LVDS multiplexer inputs. | 63 | to the four LVDS multiplexer inputs. |
61 | 64 | ||
@@ -78,6 +81,8 @@ ldb: ldb@53fa8008 { | |||
78 | "di0", "di1"; | 81 | "di0", "di1"; |
79 | 82 | ||
80 | lvds-channel@0 { | 83 | lvds-channel@0 { |
84 | #address-cells = <1>; | ||
85 | #size-cells = <0>; | ||
81 | reg = <0>; | 86 | reg = <0>; |
82 | fsl,data-mapping = "spwg"; | 87 | fsl,data-mapping = "spwg"; |
83 | fsl,data-width = <24>; | 88 | fsl,data-width = <24>; |
@@ -86,7 +91,9 @@ ldb: ldb@53fa8008 { | |||
86 | /* ... */ | 91 | /* ... */ |
87 | }; | 92 | }; |
88 | 93 | ||
89 | port { | 94 | port@0 { |
95 | reg = <0>; | ||
96 | |||
90 | lvds0_in: endpoint { | 97 | lvds0_in: endpoint { |
91 | remote-endpoint = <&ipu_di0_lvds0>; | 98 | remote-endpoint = <&ipu_di0_lvds0>; |
92 | }; | 99 | }; |
@@ -94,6 +101,8 @@ ldb: ldb@53fa8008 { | |||
94 | }; | 101 | }; |
95 | 102 | ||
96 | lvds-channel@1 { | 103 | lvds-channel@1 { |
104 | #address-cells = <1>; | ||
105 | #size-cells = <0>; | ||
97 | reg = <1>; | 106 | reg = <1>; |
98 | fsl,data-mapping = "spwg"; | 107 | fsl,data-mapping = "spwg"; |
99 | fsl,data-width = <24>; | 108 | fsl,data-width = <24>; |
@@ -102,7 +111,9 @@ ldb: ldb@53fa8008 { | |||
102 | /* ... */ | 111 | /* ... */ |
103 | }; | 112 | }; |
104 | 113 | ||
105 | port { | 114 | port@1 { |
115 | reg = <1>; | ||
116 | |||
106 | lvds1_in: endpoint { | 117 | lvds1_in: endpoint { |
107 | remote-endpoint = <&ipu_di1_lvds1>; | 118 | remote-endpoint = <&ipu_di1_lvds1>; |
108 | }; | 119 | }; |
diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi index c6c58c1c00e3..6b675a02066f 100644 --- a/arch/arm/boot/dts/imx53.dtsi +++ b/arch/arm/boot/dts/imx53.dtsi | |||
@@ -423,10 +423,14 @@ | |||
423 | status = "disabled"; | 423 | status = "disabled"; |
424 | 424 | ||
425 | lvds-channel@0 { | 425 | lvds-channel@0 { |
426 | #address-cells = <1>; | ||
427 | #size-cells = <0>; | ||
426 | reg = <0>; | 428 | reg = <0>; |
427 | status = "disabled"; | 429 | status = "disabled"; |
428 | 430 | ||
429 | port { | 431 | port@0 { |
432 | reg = <0>; | ||
433 | |||
430 | lvds0_in: endpoint { | 434 | lvds0_in: endpoint { |
431 | remote-endpoint = <&ipu_di0_lvds0>; | 435 | remote-endpoint = <&ipu_di0_lvds0>; |
432 | }; | 436 | }; |
@@ -434,10 +438,14 @@ | |||
434 | }; | 438 | }; |
435 | 439 | ||
436 | lvds-channel@1 { | 440 | lvds-channel@1 { |
441 | #address-cells = <1>; | ||
442 | #size-cells = <0>; | ||
437 | reg = <1>; | 443 | reg = <1>; |
438 | status = "disabled"; | 444 | status = "disabled"; |
439 | 445 | ||
440 | port { | 446 | port@1 { |
447 | reg = <1>; | ||
448 | |||
441 | lvds1_in: endpoint { | 449 | lvds1_in: endpoint { |
442 | remote-endpoint = <&ipu_di1_lvds1>; | 450 | remote-endpoint = <&ipu_di1_lvds1>; |
443 | }; | 451 | }; |