Skip to contentSkip to conversation

dt-bindings: display: bridge: ldb: Adjust imx6sx entries

PATCH Applied Fabio Estevam 2 participants 3 messages May 23, 2023 – May 27, 2023

Subsystems (5)
lore
Share & tools
lore

Fabio Estevam

author reviewer
#0 lore raw

PATCH v7 1/2 dt-bindings: display: bridge: ldb: Adjust imx6sx entries

From: Fabio Estevam <[email protected]>

On the i.MX6SX there is a single entry for 'reg', so add some logic to reflect that.

---
Dependency: This depends on bd60d98a11da ("dt-bindings: display: bridge: ldb: Adjust imx6sx entries"), which is available on linux-next.

Changes since v6:
- None

 .../bindings/display/bridge/fsl,ldb.yaml      | 24 ++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml +21 -3
index 07388bf2b90d..7ff45e3d4929 100644
@@ -28,12 +28,11 @@ properties:
     const: ldb
 
   reg:
+    minItems: 1
     maxItems: 2
 
   reg-names:
-    items:
-      - const: ldb
-      - const: lvds
+    maxItems: 2
 
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
@@ -57,6 +56,7 @@ properties:
 
 required:
   - compatible
+  - reg
   - clocks
   - ports
 
@@ -74,6 +74,24 @@ allOf:
           properties:
             port@2: false
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,imx6sx-ldb
+    then:
+      properties:
+        reg:
+          maxItems: 1
+    else:
+      properties:
+        reg:
+          minItems: 2
+        reg-names:
+          items:
+            - const: ldb
+            - const: lvds
+
 additionalProperties: false
 
 examples:
Signature · 1 line
2.34.1
author reviewer
#1 lore raw

PATCH v7 2/2 ARM: dts: imx6sx: Add LDB support

From: Fabio Estevam <[email protected]>

i.MX6SX has an LVDS controller that is connected to the eLCDIF.

Add support for it.

---
Dependency: This depends on bd60d98a11da ("dt-bindings: display: bridge: ldb: Adjust imx6sx entries"), which is available on linux-next.

Changes since v6:
- Use simple-mfd.

 arch/arm/boot/dts/imx6sx.dtsi | 42 +++++++++++++++++++++++++++++++++--
 1 file changed, 40 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6sx.dtsi +40 -2
index 4233943a1cca..3a4308666552 100644
@@ -841,10 +841,40 @@ iomuxc: pinctrl@20e0000 {
 				reg = <0x020e0000 0x4000>;
 			};
 
-			gpr: iomuxc-gpr@20e4000 {
+			gpr: syscon@20e4000 {
 				compatible = "fsl,imx6sx-iomuxc-gpr",
-					     "fsl,imx6q-iomuxc-gpr", "syscon";
+					     "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
+				#address-cells = <1>;
+				#size-cells = <1>;
 				reg = <0x020e4000 0x4000>;
+
+				lvds_bridge: bridge@18 {
+					compatible = "fsl,imx6sx-ldb";
+					reg = <0x18 0x4>;
+					clocks = <&clks IMX6SX_CLK_LDB_DI0>;
+					clock-names = "ldb";
+					status = "disabled";
+
+					ports {
+						#address-cells = <1>;
+						#size-cells = <0>;
+
+						port@0 {
+							reg = <0>;
+
+							ldb_from_lcdif1: endpoint {
+								remote-endpoint = <&lcdif1_to_ldb>;
+							};
+						};
+
+						port@1 {
+							reg = <1>;
+
+							ldb_lvds_ch0: endpoint {
+							};
+						};
+					};
+				};
 			};
 
 			sdma: dma-controller@20ec000 {
@@ -1278,6 +1308,14 @@ lcdif1: lcdif@2220000 {
 					clock-names = "pix", "axi", "disp_axi";
 					power-domains = <&pd_disp>;
 					status = "disabled";
+
+					ports {
+						port {
+							lcdif1_to_ldb: endpoint {
+								remote-endpoint = <&ldb_from_lcdif1>;
+							};
+						};
+					};
 				};
 
 				lcdif2: lcdif@2224000 {
Signature · 1 line
2.34.1