Enable and connect the second LVDS encoder to the second LVDS input of
the THC63LVD1024 for dual-link LVDS operation. This requires changing
the default settings of SW45 and SW47 to OFF and ON respectively.

This patch is based on Laurent's dual-LVDS work:
https://patchwork.kernel.org/patch/10965045/

Signed-off-by: Fabrizio Castro <fabrizio.cas...@bp.renesas.com>
---
v2->v3:
* new patch

Geert,

no need to review this patch unless they like the idea behind this
series.

Thanks,
Fab

---
 arch/arm64/boot/dts/renesas/r8a77995-draak.dts | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a77995-draak.dts 
b/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
index 67634cb..b4b8cde 100644
--- a/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
@@ -77,11 +77,20 @@
 
                        port@0 {
                                reg = <0>;
-                               thc63lvd1024_in: endpoint {
+                               dual-lvds-even-pixels;
+                               thc63lvd1024_in0: endpoint {
                                        remote-endpoint = <&lvds0_out>;
                                };
                        };
 
+                       port@1 {
+                               reg = <1>;
+                               dual-lvds-odd-pixels;
+                               thc63lvd1024_in1: endpoint {
+                                       remote-endpoint = <&lvds1_out>;
+                               };
+                       };
+
                        port@2 {
                                reg = <2>;
                                thc63lvd1024_out: endpoint {
@@ -368,24 +377,27 @@
        ports {
                port@1 {
                        lvds0_out: endpoint {
-                               remote-endpoint = <&thc63lvd1024_in>;
+                               remote-endpoint = <&thc63lvd1024_in0>;
                        };
                };
        };
 };
 
 &lvds1 {
-       /*
-        * Even though the LVDS1 output is not connected, the encoder must be
-        * enabled to supply a pixel clock to the DU for the DPAD output when
-        * LVDS0 is in use.
-        */
        status = "okay";
 
        clocks = <&cpg CPG_MOD 727>,
                 <&x12_clk>,
                 <&extal_clk>;
        clock-names = "fck", "dclkin.0", "extal";
+
+       ports {
+               port@1 {
+                       lvds1_out: endpoint {
+                               remote-endpoint = <&thc63lvd1024_in1>;
+                       };
+               };
+       };
 };
 
 &ohci0 {
-- 
2.7.4

Reply via email to