diff mbox series

[v5,3/4] ARM: dts: imx6sx: Add LDB support

Message ID 20230522125129.526604-3-festevam@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v5,1/4] dt-bindings: display: bridge: ldb: Adjust imx6sx entries | expand

Commit Message

Fabio Estevam May 22, 2023, 12:51 p.m. UTC
From: Fabio Estevam <festevam@denx.de>

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

Add support for it.

Signed-off-by: Fabio Estevam <festevam@denx.de>
---
Changes since v4:
- None.

 arch/arm/boot/dts/imx6sx.dtsi | 39 +++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

Comments

Marek Vasut May 22, 2023, 1:20 p.m. UTC | #1
On 5/22/23 14:51, Fabio Estevam wrote:
> From: Fabio Estevam <festevam@denx.de>
> 
> i.MX6SX has an LVDS controller that is connected to the eLCDIF.
> 
> Add support for it.
> 
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> ---
> Changes since v4:
> - None.
> 
>   arch/arm/boot/dts/imx6sx.dtsi | 39 +++++++++++++++++++++++++++++++++++
>   1 file changed, 39 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
> index 4233943a1cca..442106565025 100644
> --- a/arch/arm/boot/dts/imx6sx.dtsi
> +++ b/arch/arm/boot/dts/imx6sx.dtsi
> @@ -844,7 +844,38 @@ iomuxc: pinctrl@20e0000 {
>   			gpr: iomuxc-gpr@20e4000 {
>   				compatible = "fsl,imx6sx-iomuxc-gpr",
>   					     "fsl,imx6q-iomuxc-gpr", "syscon";

Maybe this "fsl,imx6q-iomuxc-gpr" should be dropped here.
Fabio Estevam May 22, 2023, 2:19 p.m. UTC | #2
On 22/05/2023 10:20, Marek Vasut wrote:

>> diff --git a/arch/arm/boot/dts/imx6sx.dtsi 
>> b/arch/arm/boot/dts/imx6sx.dtsi
>> index 4233943a1cca..442106565025 100644
>> --- a/arch/arm/boot/dts/imx6sx.dtsi
>> +++ b/arch/arm/boot/dts/imx6sx.dtsi
>> @@ -844,7 +844,38 @@ iomuxc: pinctrl@20e0000 {
>>   			gpr: iomuxc-gpr@20e4000 {
>>   				compatible = "fsl,imx6sx-iomuxc-gpr",
>>   					     "fsl,imx6q-iomuxc-gpr", "syscon";
> 
> Maybe this "fsl,imx6q-iomuxc-gpr" should be dropped here.

Cannot remove it as it breaks PCI:

imx6q-pcie 8ffc000.pcie: unable to find iomuxc registers
Marek Vasut May 22, 2023, 2:22 p.m. UTC | #3
On 5/22/23 16:19, Fabio Estevam wrote:
> On 22/05/2023 10:20, Marek Vasut wrote:
> 
>>> diff --git a/arch/arm/boot/dts/imx6sx.dtsi 
>>> b/arch/arm/boot/dts/imx6sx.dtsi
>>> index 4233943a1cca..442106565025 100644
>>> --- a/arch/arm/boot/dts/imx6sx.dtsi
>>> +++ b/arch/arm/boot/dts/imx6sx.dtsi
>>> @@ -844,7 +844,38 @@ iomuxc: pinctrl@20e0000 {
>>>               gpr: iomuxc-gpr@20e4000 {
>>>                   compatible = "fsl,imx6sx-iomuxc-gpr",
>>>                            "fsl,imx6q-iomuxc-gpr", "syscon";
>>
>> Maybe this "fsl,imx6q-iomuxc-gpr" should be dropped here.
> 
> Cannot remove it as it breaks PCI:
> 
> imx6q-pcie 8ffc000.pcie: unable to find iomuxc registers

This might help?

diff --git a/drivers/pci/controller/dwc/pci-imx6.c 
b/drivers/pci/controller/dwc/pci-imx6.c
index 52906f999f2bb..4803e3c9ee37c 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1460,7 +1460,7 @@ static const struct imx6_pcie_drvdata drvdata[] = {
                 .flags = IMX6_PCIE_FLAG_IMX6_PHY |
                          IMX6_PCIE_FLAG_IMX6_SPEED_CHANGE |
                          IMX6_PCIE_FLAG_SUPPORTS_SUSPEND,
-               .gpr = "fsl,imx6q-iomuxc-gpr",
+               .gpr = "fsl,imx6sx-iomuxc-gpr",
         },
         [IMX6QP] = {
                 .variant = IMX6QP,
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index 4233943a1cca..442106565025 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -844,7 +844,38 @@  iomuxc: pinctrl@20e0000 {
 			gpr: iomuxc-gpr@20e4000 {
 				compatible = "fsl,imx6sx-iomuxc-gpr",
 					     "fsl,imx6q-iomuxc-gpr", "syscon";
+				#address-cells = <1>;
+				#size-cells = <1>;
 				reg = <0x020e4000 0x4000>;
+
+				lvds_bridge: bridge@18 {
+					compatible = "fsl,imx6sx-ldb";
+					reg = <0x18 0x4>;
+					reg-names = "ldb";
+					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 +1309,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 {