arm: imx: add ipu to imx53.dts and set dm-pre-reloc
authorSteffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
Wed, 17 Apr 2019 11:57:16 +0000 (13:57 +0200)
committerAnatolij Gustschin <agust@denx.de>
Mon, 20 May 2019 09:57:24 +0000 (11:57 +0200)
The ipu node in imx53 is needed for DM_VIDEO. We also need to set
u-boot,dm-pre-reloc to initialize before relocation.

Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
arch/arm/dts/imx53.dtsi

index 5ba61747897e925aa7f9c3180c2c27438d4a340f..211ff5f69eff3f17aebbab52c0720fec33d63b9d 100644 (file)
@@ -31,6 +31,7 @@
                i2c0 = &i2c1;
                i2c1 = &i2c2;
                i2c2 = &i2c3;
+               ipu0 = &ipu;
                mmc0 = &esdhc1;
                mmc1 = &esdhc2;
                mmc2 = &esdhc3;
@@ -51,6 +52,7 @@
                compatible = "simple-bus";
                interrupt-parent = <&tzic>;
                ranges;
+               u-boot,dm-pre-reloc;
 
                aips@50000000 { /* AIPS1 */
                        compatible = "fsl,aips-bus", "simple-bus";
                                status = "disabled";
                        };
                };
+
+               ipu: ipu@18000000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "fsl,imx53-ipu";
+                       reg = <0x18000000 0x08000000>;
+                       interrupts = <11 10>;
+                       clocks = <&clks IMX5_CLK_IPU_GATE>,
+                                <&clks IMX5_CLK_IPU_DI0_GATE>,
+                                <&clks IMX5_CLK_IPU_DI1_GATE>;
+                       clock-names = "bus", "di0", "di1";
+                       resets = <&src 2>;
+                       u-boot,dm-pre-reloc;
+
+                       ipu_csi0: port@0 {
+                               reg = <0>;
+                       };
+
+                       ipu_csi1: port@1 {
+                               reg = <1>;
+                       };
+
+                       ipu_di0: port@2 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               reg = <2>;
+
+                               ipu_di0_disp0: endpoint@0 {
+                                       reg = <0>;
+                               };
+
+                               ipu_di0_lvds0: endpoint@1 {
+                                       reg = <1>;
+                                       remote-endpoint = <&lvds0_in>;
+                               };
+                       };
+
+                       ipu_di1: port@3 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               reg = <3>;
+
+                               ipu_di1_disp1: endpoint@0 {
+                                       reg = <0>;
+                               };
+
+                               ipu_di1_lvds1: endpoint@1 {
+                                       reg = <1>;
+                                       remote-endpoint = <&lvds1_in>;
+                               };
+
+                               ipu_di1_tve: endpoint@2 {
+                                       reg = <2>;
+                                       remote-endpoint = <&tve_in>;
+                               };
+                       };
+               };
+
+               tve: tve@63ff0000 {
+                               compatible = "fsl,imx53-tve";
+                               reg = <0x63ff0000 0x1000>;
+                               interrupts = <92>;
+                               clocks = <&clks IMX5_CLK_TVE_GATE>,
+                                        <&clks IMX5_CLK_IPU_DI1_SEL>;
+                               clock-names = "tve", "di_sel";
+                               status = "disabled";
+
+                               port {
+                                       tve_in: endpoint {
+                                               remote-endpoint = <&ipu_di1_tve>;
+                                       };
+                               };
+               };
+
+               src: src@53fd0000 {
+                               compatible = "fsl,imx53-src", "fsl,imx51-src";
+                               reg = <0x53fd0000 0x4000>;
+                               #reset-cells = <1>;
+               };
+
+               ldb: ldb@53fa8008 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               compatible = "fsl,imx53-ldb";
+                               reg = <0x53fa8008 0x4>;
+                               gpr = <&gpr>;
+                               clocks = <&clks IMX5_CLK_LDB_DI0_SEL>,
+                                        <&clks IMX5_CLK_LDB_DI1_SEL>,
+                                        <&clks IMX5_CLK_IPU_DI0_SEL>,
+                                        <&clks IMX5_CLK_IPU_DI1_SEL>,
+                                        <&clks IMX5_CLK_LDB_DI0_GATE>,
+                                        <&clks IMX5_CLK_LDB_DI1_GATE>;
+                               clock-names = "di0_pll", "di1_pll",
+                                             "di0_sel", "di1_sel",
+                                             "di0", "di1";
+                               status = "disabled";
+
+                               lvds-channel@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+                                       status = "disabled";
+
+                                       port@0 {
+                                               reg = <0>;
+
+                                               lvds0_in: endpoint {
+                                                       remote-endpoint = <&ipu_di0_lvds0>;
+                                               };
+                                       };
+
+                                       port@2 {
+                                               reg = <2>;
+                                       };
+                               };
+
+                               lvds-channel@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+                                       status = "disabled";
+
+                                       port@1 {
+                                               reg = <1>;
+
+                                               lvds1_in: endpoint {
+                                                       remote-endpoint = <&ipu_di1_lvds1>;
+                                               };
+                                       };
+
+                                       port@2 {
+                                               reg = <2>;
+                                       };
+                               };
+               };
        };
 };