Message ID | 20230517210210.12183-1-festevam@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: dts: imx6sx: Add LDB support | expand |
On 5/17/23 23:02, 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> > --- > arch/arm/boot/dts/imx6sx.dtsi | 41 ++++++++++++++++++++++++++++++++++- > 1 file changed, 40 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi > index 4233943a1cca..7a8a00d81666 100644 > --- a/arch/arm/boot/dts/imx6sx.dtsi > +++ b/arch/arm/boot/dts/imx6sx.dtsi > @@ -843,8 +843,39 @@ iomuxc: pinctrl@20e0000 { > > gpr: iomuxc-gpr@20e4000 { > compatible = "fsl,imx6sx-iomuxc-gpr", > - "fsl,imx6q-iomuxc-gpr", "syscon"; > + "fsl,imx6q-iomuxc-gpr", "simple-bus", "syscon"; Can we really combine simple-bus and syscon or do we need something like 5a51e1f2b0834 ("arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl") 9cb6d1b39a8f5 ("soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them") ? > + #address-cells = <1>; > + #size-cells = <1>; > reg = <0x020e4000 0x4000>; [...]
Hi Marek, On 17/05/2023 20:15, Marek Vasut wrote: >> diff --git a/arch/arm/boot/dts/imx6sx.dtsi >> b/arch/arm/boot/dts/imx6sx.dtsi >> index 4233943a1cca..7a8a00d81666 100644 >> --- a/arch/arm/boot/dts/imx6sx.dtsi >> +++ b/arch/arm/boot/dts/imx6sx.dtsi >> @@ -843,8 +843,39 @@ iomuxc: pinctrl@20e0000 { >> gpr: iomuxc-gpr@20e4000 { >> compatible = "fsl,imx6sx-iomuxc-gpr", >> - "fsl,imx6q-iomuxc-gpr", "syscon"; >> + "fsl,imx6q-iomuxc-gpr", "simple-bus", "syscon"; > > Can we really combine simple-bus and syscon or do we need something > like Thanks for your review. > 5a51e1f2b0834 ("arm64: dts: imx8mp: Drop simple-bus from > fsl,imx8mp-media-blk-ctrl") As is, if simple-bus is dropped, the LDB bus is not probed. > 9cb6d1b39a8f5 ("soc: imx: imx8m-blk-ctrl: Scan subnodes and bind > drivers to them") On the i.MX6SX, I am not sure we can add devm_of_platform_populate() like in the imx8m-blk-ctrl case. imx8m-blk-ctrl has a probe function, but imx6q-iomuxc-gpr does not. Thanks
On 17/05/2023 23:02, 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> > --- > arch/arm/boot/dts/imx6sx.dtsi | 41 ++++++++++++++++++++++++++++++++++- > 1 file changed, 40 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi > index 4233943a1cca..7a8a00d81666 100644 > --- a/arch/arm/boot/dts/imx6sx.dtsi > +++ b/arch/arm/boot/dts/imx6sx.dtsi > @@ -843,8 +843,39 @@ iomuxc: pinctrl@20e0000 { > > gpr: iomuxc-gpr@20e4000 { > compatible = "fsl,imx6sx-iomuxc-gpr", > - "fsl,imx6q-iomuxc-gpr", "syscon"; > + "fsl,imx6q-iomuxc-gpr", "simple-bus", "syscon"; > + #address-cells = <1>; > + #size-cells = <1>; > reg = <0x020e4000 0x4000>; It's a GPR, not a simple-bus. If you have here 'reg' then it is not simple-bus. Best regards, Krzysztof
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi index 4233943a1cca..7a8a00d81666 100644 --- a/arch/arm/boot/dts/imx6sx.dtsi +++ b/arch/arm/boot/dts/imx6sx.dtsi @@ -843,8 +843,39 @@ iomuxc: pinctrl@20e0000 { gpr: iomuxc-gpr@20e4000 { compatible = "fsl,imx6sx-iomuxc-gpr", - "fsl,imx6q-iomuxc-gpr", "syscon"; + "fsl,imx6q-iomuxc-gpr", "simple-bus", "syscon"; + #address-cells = <1>; + #size-cells = <1>; reg = <0x020e4000 0x4000>; + + lvds_bridge: bridge@18 { + compatible = "fsl,imx6sx-ldb"; + clocks = <&clks IMX6SX_CLK_LDB_DI0>; + clock-names = "ldb"; + reg = <0x18 0x4>; + reg-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 {