MLK-14420-1 DTS: Update imx6qdl relevant dts and clock definitions
authorYe Li <ye.li@nxp.com>
Tue, 7 Feb 2017 13:00:04 +0000 (21:00 +0800)
committerYe Li <ye.li@nxp.com>
Tue, 14 Mar 2017 13:27:09 +0000 (21:27 +0800)
Get the latest dtsi files and clock.h for imx6qdl from kernel

Signed-off-by: Ye Li <ye.li@nxp.com>
arch/arm/dts/Makefile
arch/arm/dts/imx6dl.dtsi
arch/arm/dts/imx6q.dtsi
arch/arm/dts/imx6qdl.dtsi
include/dt-bindings/clock/imx6qdl-clock.h

index eb68c20..74c72d3 100644 (file)
@@ -316,6 +316,7 @@ dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb \
        imx6q-icore.dtb \
        imx6q-icore-rqs.dtb \
        imx6sx-sabreauto.dtb \
+       imx6q-sabresd.dtb \
        imx6ul-geam-kit.dtb
 
 dtb-$(CONFIG_MX7) += imx7-colibri.dtb
index 9a4c22c..a004478 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright 2013 Freescale Semiconductor, Inc.
+ * Copyright 2013-2015 Freescale Semiconductor, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -21,7 +21,7 @@
                #address-cells = <1>;
                #size-cells = <0>;
 
-               cpu@0 {
+               cpu0: cpu@0 {
                        compatible = "arm,cortex-a9";
                        device_type = "cpu";
                        reg = <0>;
                                 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
                                 <&clks IMX6QDL_CLK_STEP>,
                                 <&clks IMX6QDL_CLK_PLL1_SW>,
-                                <&clks IMX6QDL_CLK_PLL1_SYS>;
+                                <&clks IMX6QDL_CLK_PLL1_SYS>,
+                                <&clks IMX6QDL_CLK_PLL1>,
+                                <&clks IMX6QDL_PLL1_BYPASS>,
+                                <&clks IMX6QDL_PLL1_BYPASS_SRC>;
                        clock-names = "arm", "pll2_pfd2_396m", "step",
-                                     "pll1_sw", "pll1_sys";
+                                     "pll1_sw", "pll1_sys", "pll1",
+                                     "pll1_bypass", "pll1_bypass_src";
                        arm-supply = <&reg_arm>;
                        pu-supply = <&reg_pu>;
                        soc-supply = <&reg_soc>;
                };
        };
 
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               /* global autoconfigured region for contiguous allocations */
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0x14000000>;
+                       linux,cma-default;
+               };
+       };
+
        soc {
-               ocram: sram@00900000 {
+               busfreq {
+                       compatible = "fsl,imx_busfreq";
+                       clocks = <&clks IMX6QDL_CLK_PLL2_BUS>, <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
+                               <&clks IMX6QDL_CLK_PLL2_198M>, <&clks IMX6QDL_CLK_ARM>,
+                               <&clks IMX6QDL_CLK_PLL3_USB_OTG>, <&clks IMX6QDL_CLK_PERIPH>,
+                               <&clks IMX6QDL_CLK_PERIPH_PRE>, <&clks IMX6QDL_CLK_PERIPH_CLK2>,
+                               <&clks IMX6QDL_CLK_PERIPH_CLK2_SEL>, <&clks IMX6QDL_CLK_OSC>,
+                               <&clks IMX6QDL_CLK_AXI_ALT_SEL>, <&clks IMX6QDL_CLK_AXI_SEL> ,
+                               <&clks IMX6QDL_CLK_PLL3_PFD1_540M>;
+                       clock-names = "pll2_bus", "pll2_pfd2_396m", "pll2_198m", "arm", "pll3_usb_otg", "periph",
+                               "periph_pre", "periph_clk2", "periph_clk2_sel", "osc", "axi_alt_sel", "axi_sel", "pll3_pfd1_540m";
+                       interrupts = <0 107 0x04>, <0 112 0x4>;
+                       interrupt-names = "irq_busfreq_0", "irq_busfreq_1";
+                       fsl,max_ddr_freq = <400000000>;
+               };
+
+               gpu@00130000 {
+                       compatible = "fsl,imx6dl-gpu", "fsl,imx6q-gpu";
+                       reg = <0x00130000 0x4000>, <0x00134000 0x4000>,
+                             <0x0 0x0>, <0x0 0x8000000>;
+                       reg-names = "iobase_3d", "iobase_2d",
+                                   "phys_baseaddr", "contiguous_mem";
+                       interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>,
+                                    <0 10 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "irq_3d", "irq_2d";
+                       clocks = <&clks IMX6QDL_CLK_OPENVG_AXI>, <&clks IMX6QDL_CLK_GPU3D_AXI>,
+                                <&clks IMX6QDL_CLK_GPU2D_CORE>, <&clks IMX6QDL_CLK_GPU3D_CORE>,
+                                <&clks IMX6QDL_CLK_DUMMY>;
+                       clock-names = "gpu2d_axi_clk", "gpu3d_axi_clk",
+                                     "gpu2d_clk", "gpu3d_clk",
+                                     "gpu3d_shader_clk";
+                       resets = <&src 0>, <&src 3>;
+                       reset-names = "gpu3d", "gpu2d";
+                       power-domains = <&gpc 1>;
+               };
+
+               ocram: sram@00905000 {
                        compatible = "mmio-sram";
-                       reg = <0x00900000 0x20000>;
+                       reg = <0x00905000 0x1B000>;
                        clocks = <&clks IMX6QDL_CLK_OCRAM>;
                };
 
                                compatible = "fsl,imx6dl-iomuxc";
                        };
 
+                       dcic2: dcic@020e8000 {
+                               clocks = <&clks IMX6QDL_CLK_DCIC1 >,
+                                               <&clks IMX6QDL_CLK_DCIC2>; /* DCIC2 depend on DCIC1 clock in imx6dl*/
+                               clock-names = "dcic", "disp-axi";
+                       };
+
                        pxp: pxp@020f0000 {
+                               compatible = "fsl,imx6dl-pxp-dma";
                                reg = <0x020f0000 0x4000>;
                                interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6QDL_CLK_IPU2>, <&clks IMX6QDL_CLK_DUMMY>;
+                               clock-names = "pxp-axi", "disp-axi";
+                               status = "disabled";
                        };
 
                        epdc: epdc@020f4000 {
+                               compatible = "fsl,imx6dl-epdc";
                                reg = <0x020f4000 0x4000>;
                                interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6QDL_CLK_IPU2>, <&clks IMX6QDL_CLK_IPU2_DI1>;
+                               clock-names = "epdc_axi", "epdc_pix";
                        };
 
                        lcdif: lcdif@020f8000 {
                };
 
                aips2: aips-bus@02100000 {
+                       mipi_dsi: mipi@021e0000 {
+                               compatible = "fsl,imx6dl-mipi-dsi";
+                               reg = <0x021e0000 0x4000>;
+                               interrupts = <0 102 0x04>;
+                               gpr = <&gpr>;
+                               clocks = <&clks IMX6QDL_CLK_HSI_TX>, <&clks IMX6QDL_CLK_VIDEO_27M>;
+                               clock-names = "mipi_pllref_clk", "mipi_cfg_clk";
+                               status = "disabled";
+                       };
+
                        i2c4: i2c@021f8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                        };
                };
        };
-
-       display-subsystem {
-               compatible = "fsl,imx-display-subsystem";
-               ports = <&ipu1_di0>, <&ipu1_di1>;
-       };
-
-       gpu-subsystem {
-               compatible = "fsl,imx-gpu-subsystem";
-               cores = <&gpu_2d>, <&gpu_3d>;
-       };
-};
-
-&gpt {
-       compatible = "fsl,imx6dl-gpt";
-};
-
-&hdmi {
-       compatible = "fsl,imx6dl-hdmi";
 };
 
 &ldb {
-       clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
+       compatible = "fsl,imx6dl-ldb", "fsl,imx53-ldb";
+       clocks = <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>,
                 <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>,
-                <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>;
-       clock-names = "di0_pll", "di1_pll",
+                <&clks IMX6QDL_CLK_IPU2_DI0_SEL>,
+                <&clks IMX6QDL_CLK_LDB_DI0_DIV_3_5>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_3_5>,
+                <&clks IMX6QDL_CLK_LDB_DI0_DIV_7>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_7>,
+                <&clks IMX6QDL_CLK_LDB_DI0_DIV_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_SEL>;
+       clock-names = "ldb_di0", "ldb_di1",
                      "di0_sel", "di1_sel",
-                     "di0", "di1";
+                     "di2_sel",
+                     "ldb_di0_div_3_5", "ldb_di1_div_3_5",
+                     "ldb_di0_div_7", "ldb_di1_div_7",
+                     "ldb_di0_div_sel", "ldb_di1_div_sel";
 };
 
 &vpu {
        compatible = "fsl,imx6dl-vpu", "cnm,coda960";
 };
+
+&vpu_fsl {
+       iramsize = <0>;
+};
index c30c836..49fb002 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright 2013 Freescale Semiconductor, Inc.
+ * Copyright 2013-2015 Freescale Semiconductor, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
                                 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
                                 <&clks IMX6QDL_CLK_STEP>,
                                 <&clks IMX6QDL_CLK_PLL1_SW>,
-                                <&clks IMX6QDL_CLK_PLL1_SYS>;
+                                <&clks IMX6QDL_CLK_PLL1_SYS>,
+                                <&clks IMX6QDL_CLK_PLL1>,
+                                <&clks IMX6QDL_PLL1_BYPASS>,
+                                <&clks IMX6QDL_PLL1_BYPASS_SRC>,
+                                <&clks IMX6QDL_CLK_VPU_AXI_PODF>;
                        clock-names = "arm", "pll2_pfd2_396m", "step",
-                                     "pll1_sw", "pll1_sys";
+                                     "pll1_sw", "pll1_sys", "pll1",
+                                     "pll1_bypass", "pll1_bypass_src",
+                                     "vpu_axi_podf";
                        arm-supply = <&reg_arm>;
                        pu-supply = <&reg_pu>;
                        soc-supply = <&reg_soc>;
                };
        };
 
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               /* global autoconfigured region for contiguous allocations */
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0x14000000>;
+                       linux,cma-default;
+               };
+       };
+
        soc {
-               ocram: sram@00900000 {
+               busfreq: busfreq {
+                       compatible = "fsl,imx_busfreq";
+                       clocks = <&clks 171>, <&clks 6>, <&clks 11>, <&clks 104>, <&clks 172>, <&clks 58>,
+                               <&clks 18>, <&clks 60>, <&clks 20>, <&clks 3>;
+                       clock-names = "pll2_bus", "pll2_pfd2_396m", "pll2_198m", "arm", "pll3_usb_otg", "periph",
+                               "periph_pre", "periph_clk2", "periph_clk2_sel", "osc";
+                       interrupts = <0 107 0x04>, <0 112 0x4>, <0 113 0x4>, <0 114 0x4>;
+                       interrupt-names = "irq_busfreq_0", "irq_busfreq_1", "irq_busfreq_2", "irq_busfreq_3";
+                       fsl,max_ddr_freq = <528000000>;
+               };
+
+                gpu@00130000 {
+                       compatible = "fsl,imx6q-gpu";
+                       reg = <0x00130000 0x4000>, <0x00134000 0x4000>,
+                             <0x02204000 0x4000>, <0x10000000 0x0>,
+                             <0x0 0x8000000>;
+                       reg-names = "iobase_3d", "iobase_2d",
+                                   "iobase_vg", "phys_baseaddr",
+                                   "contiguous_mem";
+                       interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>,
+                                    <0 10 IRQ_TYPE_LEVEL_HIGH>,
+                                    <0 11 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "irq_3d", "irq_2d", "irq_vg";
+                       clocks = <&clks IMX6QDL_CLK_GPU2D_AXI>, <&clks IMX6QDL_CLK_OPENVG_AXI>,
+                                <&clks IMX6QDL_CLK_GPU3D_AXI>, <&clks IMX6QDL_CLK_GPU2D_CORE>,
+                                <&clks IMX6QDL_CLK_GPU3D_CORE>, <&clks IMX6QDL_CLK_GPU3D_SHADER>;
+                       clock-names = "gpu2d_axi_clk", "openvg_axi_clk",
+                                     "gpu3d_axi_clk", "gpu2d_clk",
+                                     "gpu3d_clk", "gpu3d_shader_clk";
+                       resets = <&src 0>, <&src 3>, <&src 3>;
+                       reset-names = "gpu3d", "gpu2d", "gpuvg";
+                       power-domains = <&gpc 1>;
+               };
+
+               ocram: sram@00905000 {
                        compatible = "mmio-sram";
-                       reg = <0x00900000 0x40000>;
+                       reg = <0x00905000 0x3B000>;
                        clocks = <&clks IMX6QDL_CLK_OCRAM>;
                };
 
 
                        iomuxc: iomuxc@020e0000 {
                                compatible = "fsl,imx6q-iomuxc";
+
+                               ipu2 {
+                                       pinctrl_ipu2_1: ipu2grp-1 {
+                                               fsl,pins = <
+                                                       MX6QDL_PAD_DI0_DISP_CLK__IPU2_DI0_DISP_CLK 0x10
+                                                       MX6QDL_PAD_DI0_PIN15__IPU2_DI0_PIN15       0x10
+                                                       MX6QDL_PAD_DI0_PIN2__IPU2_DI0_PIN02        0x10
+                                                       MX6QDL_PAD_DI0_PIN3__IPU2_DI0_PIN03        0x10
+                                                       MX6QDL_PAD_DI0_PIN4__IPU2_DI0_PIN04        0x80000000
+                                                       MX6QDL_PAD_DISP0_DAT0__IPU2_DISP0_DATA00   0x10
+                                                       MX6QDL_PAD_DISP0_DAT1__IPU2_DISP0_DATA01   0x10
+                                                       MX6QDL_PAD_DISP0_DAT2__IPU2_DISP0_DATA02   0x10
+                                                       MX6QDL_PAD_DISP0_DAT3__IPU2_DISP0_DATA03   0x10
+                                                       MX6QDL_PAD_DISP0_DAT4__IPU2_DISP0_DATA04   0x10
+                                                       MX6QDL_PAD_DISP0_DAT5__IPU2_DISP0_DATA05   0x10
+                                                       MX6QDL_PAD_DISP0_DAT6__IPU2_DISP0_DATA06   0x10
+                                                       MX6QDL_PAD_DISP0_DAT7__IPU2_DISP0_DATA07   0x10
+                                                       MX6QDL_PAD_DISP0_DAT8__IPU2_DISP0_DATA08   0x10
+                                                       MX6QDL_PAD_DISP0_DAT9__IPU2_DISP0_DATA09   0x10
+                                                       MX6QDL_PAD_DISP0_DAT10__IPU2_DISP0_DATA10  0x10
+                                                       MX6QDL_PAD_DISP0_DAT11__IPU2_DISP0_DATA11  0x10
+                                                       MX6QDL_PAD_DISP0_DAT12__IPU2_DISP0_DATA12  0x10
+                                                       MX6QDL_PAD_DISP0_DAT13__IPU2_DISP0_DATA13  0x10
+                                                       MX6QDL_PAD_DISP0_DAT14__IPU2_DISP0_DATA14  0x10
+                                                       MX6QDL_PAD_DISP0_DAT15__IPU2_DISP0_DATA15  0x10
+                                                       MX6QDL_PAD_DISP0_DAT16__IPU2_DISP0_DATA16  0x10
+                                                       MX6QDL_PAD_DISP0_DAT17__IPU2_DISP0_DATA17  0x10
+                                                       MX6QDL_PAD_DISP0_DAT18__IPU2_DISP0_DATA18  0x10
+                                                       MX6QDL_PAD_DISP0_DAT19__IPU2_DISP0_DATA19  0x10
+                                                       MX6QDL_PAD_DISP0_DAT20__IPU2_DISP0_DATA20  0x10
+                                                       MX6QDL_PAD_DISP0_DAT21__IPU2_DISP0_DATA21  0x10
+                                                       MX6QDL_PAD_DISP0_DAT22__IPU2_DISP0_DATA22  0x10
+                                                       MX6QDL_PAD_DISP0_DAT23__IPU2_DISP0_DATA23  0x10
+                                               >;
+                                       };
+                               };
+                       };
+               };
+
+               aips-bus@02100000 { /* AIPS2 */
+                       mipi_dsi: mipi@021e0000 {
+                               compatible = "fsl,imx6q-mipi-dsi";
+                               reg = <0x021e0000 0x4000>;
+                               interrupts = <0 102 0x04>;
+                               gpr = <&gpr>;
+                               clocks = <&clks IMX6QDL_CLK_HSI_TX>, <&clks IMX6QDL_CLK_VIDEO_27M>;
+                               clock-names = "mipi_pllref_clk", "mipi_cfg_clk";
+                               status = "disabled";
                        };
                };
 
                        status = "disabled";
                };
 
-               gpu_vg: gpu@02204000 {
-                       compatible = "vivante,gc";
-                       reg = <0x02204000 0x4000>;
-                       interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clks IMX6QDL_CLK_OPENVG_AXI>,
-                                <&clks IMX6QDL_CLK_GPU2D_CORE>;
-                       clock-names = "bus", "core";
-                       power-domains = <&gpc 1>;
-               };
-
                ipu2: ipu@02800000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>,
                                     <0 7 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&clks IMX6QDL_CLK_IPU2>,
-                                <&clks IMX6QDL_CLK_IPU2_DI0>,
-                                <&clks IMX6QDL_CLK_IPU2_DI1>;
-                       clock-names = "bus", "di0", "di1";
-                       resets = <&src 4>;
-
-                       ipu2_csi0: port@0 {
-                               reg = <0>;
-                       };
-
-                       ipu2_csi1: port@1 {
-                               reg = <1>;
-                       };
-
-                       ipu2_di0: port@2 {
-                               #address-cells = <1>;
-                               #size-cells = <0>;
-                               reg = <2>;
+                                <&clks IMX6QDL_CLK_IPU2_DI0>, <&clks IMX6QDL_CLK_IPU2_DI1>,
+                                <&clks IMX6QDL_CLK_IPU2_DI0_SEL>, <&clks IMX6QDL_CLK_IPU2_DI1_SEL>,
+                                <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>;
+                       clock-names = "bus",
+                                     "di0", "di1",
+                                     "di0_sel", "di1_sel",
+                                     "ldb_di0", "ldb_di1";
 
-                               ipu2_di0_disp0: disp0-endpoint {
-                               };
-
-                               ipu2_di0_hdmi: hdmi-endpoint {
-                                       remote-endpoint = <&hdmi_mux_2>;
-                               };
-
-                               ipu2_di0_mipi: mipi-endpoint {
-                                       remote-endpoint = <&mipi_mux_2>;
-                               };
-
-                               ipu2_di0_lvds0: lvds0-endpoint {
-                                       remote-endpoint = <&lvds0_mux_2>;
-                               };
-
-                               ipu2_di0_lvds1: lvds1-endpoint {
-                                       remote-endpoint = <&lvds1_mux_2>;
-                               };
-                       };
-
-                       ipu2_di1: port@3 {
-                               #address-cells = <1>;
-                               #size-cells = <0>;
-                               reg = <3>;
-
-                               ipu2_di1_hdmi: hdmi-endpoint {
-                                       remote-endpoint = <&hdmi_mux_3>;
-                               };
-
-                               ipu2_di1_mipi: mipi-endpoint {
-                                       remote-endpoint = <&mipi_mux_3>;
-                               };
-
-                               ipu2_di1_lvds0: lvds0-endpoint {
-                                       remote-endpoint = <&lvds0_mux_3>;
-                               };
+                       resets = <&src 4>;
+                       bypass_reset = <0>;
 
-                               ipu2_di1_lvds1: lvds1-endpoint {
-                                       remote-endpoint = <&lvds1_mux_3>;
-                               };
                        };
                };
        };
 
-       display-subsystem {
-               compatible = "fsl,imx-display-subsystem";
-               ports = <&ipu1_di0>, <&ipu1_di1>, <&ipu2_di0>, <&ipu2_di1>;
-       };
-
-       gpu-subsystem {
-               compatible = "fsl,imx-gpu-subsystem";
-               cores = <&gpu_2d>, <&gpu_3d>, <&gpu_vg>;
-       };
-};
-
-&hdmi {
-       compatible = "fsl,imx6q-hdmi";
-
-       port@2 {
-               reg = <2>;
-
-               hdmi_mux_2: endpoint {
-                       remote-endpoint = <&ipu2_di0_hdmi>;
-               };
-       };
-
-       port@3 {
-               reg = <3>;
-
-               hdmi_mux_3: endpoint {
-                       remote-endpoint = <&ipu2_di1_hdmi>;
-               };
-       };
-};
 
 &ldb {
-       clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
+       compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
+
+       clocks = <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>,
                 <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>,
                 <&clks IMX6QDL_CLK_IPU2_DI0_SEL>, <&clks IMX6QDL_CLK_IPU2_DI1_SEL>,
-                <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>;
-       clock-names = "di0_pll", "di1_pll",
-                     "di0_sel", "di1_sel", "di2_sel", "di3_sel",
-                     "di0", "di1";
-
-       lvds-channel@0 {
-               port@2 {
-                       reg = <2>;
-
-                       lvds0_mux_2: endpoint {
-                               remote-endpoint = <&ipu2_di0_lvds0>;
-                       };
-               };
-
-               port@3 {
-                       reg = <3>;
-
-                       lvds0_mux_3: endpoint {
-                               remote-endpoint = <&ipu2_di1_lvds0>;
-                       };
-               };
-       };
+                <&clks IMX6QDL_CLK_LDB_DI0_DIV_3_5>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_3_5>,
+                <&clks IMX6QDL_CLK_LDB_DI0_DIV_7>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_7>,
+                <&clks IMX6QDL_CLK_LDB_DI0_DIV_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_DIV_SEL>;
+       clock-names = "ldb_di0", "ldb_di1",
+                     "di0_sel", "di1_sel",
+                     "di2_sel", "di3_sel",
+                     "ldb_di0_div_3_5", "ldb_di1_div_3_5",
+                     "ldb_di0_div_7", "ldb_di1_div_7",
+                     "ldb_di0_div_sel", "ldb_di1_div_sel";
 
-       lvds-channel@1 {
-               port@2 {
-                       reg = <2>;
-
-                       lvds1_mux_2: endpoint {
-                               remote-endpoint = <&ipu2_di0_lvds1>;
-                       };
-               };
-
-               port@3 {
-                       reg = <3>;
-
-                       lvds1_mux_3: endpoint {
-                               remote-endpoint = <&ipu2_di1_lvds1>;
-                       };
-               };
-       };
-};
-
-&mipi_dsi {
-       ports {
-               port@2 {
-                       reg = <2>;
-
-                       mipi_mux_2: endpoint {
-                               remote-endpoint = <&ipu2_di0_mipi>;
-                       };
-               };
-
-               port@3 {
-                       reg = <3>;
-
-                       mipi_mux_3: endpoint {
-                               remote-endpoint = <&ipu2_di1_mipi>;
-                       };
-               };
-       };
 };
 
 &vpu {
index b13b0b2..da412d3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2011 Freescale Semiconductor, Inc.
+ * Copyright 2011-2016 Freescale Semiconductor, Inc.
  * Copyright 2011 Linaro Ltd.
  *
  * The code contained herein is licensed under the GNU General Public
                usbphy1 = &usbphy2;
        };
 
+       intc: interrupt-controller@00a01000 {
+               compatible = "arm,cortex-a9-gic";
+               #interrupt-cells = <3>;
+               interrupt-controller;
+               reg = <0x00a01000 0x1000>,
+                     <0x00a00100 0x100>;
+               interrupt-parent = <&intc>;
+       };
+
        clocks {
                #address-cells = <1>;
                #size-cells = <0>;
                interrupt-parent = <&gpc>;
                ranges;
 
+               caam_sm: caam-sm@00100000 {
+                       compatible = "fsl,imx6q-caam-sm";
+                       reg = <0x00100000 0x3fff>;
+               };
+
                dma_apbh: dma-apbh@00110000 {
                        compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
                        reg = <0x00110000 0x2000>;
                        clocks = <&clks IMX6QDL_CLK_APBH_DMA>;
                };
 
+               irq_sec_vio: caam_secvio {
+                       compatible = "fsl,imx6q-caam-secvio";
+                       interrupts = <0 20 0x04>;
+                       secvio_src = <0x8000001d>;
+                       jtag-tamper = "disabled";
+                       watchdog-tamper = "enabled";
+                       internal-boot-tamper = "enabled";
+                       external-pin-tamper = "disabled";
+               };
+
                gpmi: gpmi-nand@00112000 {
                        compatible = "fsl,imx6q-gpmi-nand";
                        #address-cells = <1>;
                        status = "disabled";
                };
 
-               hdmi: hdmi@0120000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-                       reg = <0x00120000 0x9000>;
-                       interrupts = <0 115 0x04>;
-                       gpr = <&gpr>;
-                       clocks = <&clks IMX6QDL_CLK_HDMI_IAHB>,
-                                <&clks IMX6QDL_CLK_HDMI_ISFR>;
-                       clock-names = "iahb", "isfr";
-                       status = "disabled";
-
-                       port@0 {
-                               reg = <0>;
-
-                               hdmi_mux_0: endpoint {
-                                       remote-endpoint = <&ipu1_di0_hdmi>;
-                               };
-                       };
-
-                       port@1 {
-                               reg = <1>;
-
-                               hdmi_mux_1: endpoint {
-                                       remote-endpoint = <&ipu1_di1_hdmi>;
-                               };
-                       };
-               };
-
-               gpu_3d: gpu@00130000 {
-                       compatible = "vivante,gc";
-                       reg = <0x00130000 0x4000>;
-                       interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clks IMX6QDL_CLK_GPU3D_AXI>,
-                                <&clks IMX6QDL_CLK_GPU3D_CORE>,
-                                <&clks IMX6QDL_CLK_GPU3D_SHADER>;
-                       clock-names = "bus", "core", "shader";
-                       power-domains = <&gpc 1>;
+               ocrams: sram@00900000 {
+                       compatible = "fsl,lpm-sram";
+                       reg = <0x00900000 0x4000>;
+                       clocks = <&clks IMX6QDL_CLK_OCRAM>;
                };
 
-               gpu_2d: gpu@00134000 {
-                       compatible = "vivante,gc";
-                       reg = <0x00134000 0x4000>;
-                       interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clks IMX6QDL_CLK_GPU2D_AXI>,
-                                <&clks IMX6QDL_CLK_GPU2D_CORE>;
-                       clock-names = "bus", "core";
-                       power-domains = <&gpc 1>;
+               ocrams_ddr: sram@00904000 {
+                       compatible = "fsl,ddr-lpm-sram";
+                       reg = <0x00904000 0x1000>;
+                       clocks = <&clks IMX6QDL_CLK_OCRAM>;
                };
 
                timer@00a00600 {
                        clocks = <&clks IMX6QDL_CLK_TWD>;
                };
 
-               intc: interrupt-controller@00a01000 {
-                       compatible = "arm,cortex-a9-gic";
-                       #interrupt-cells = <3>;
-                       interrupt-controller;
-                       reg = <0x00a01000 0x1000>,
-                             <0x00a00100 0x100>;
-                       interrupt-parent = <&intc>;
-               };
-
                L2: l2-cache@00a02000 {
                        compatible = "arm,pl310-cache";
                        reg = <0x00a02000 0x1000>;
                        cache-level = <2>;
                        arm,tag-latency = <4 2 3>;
                        arm,data-latency = <4 2 3>;
-                       arm,shared-override;
                };
 
                pcie: pcie@0x01000000 {
                        #address-cells = <3>;
                        #size-cells = <2>;
                        device_type = "pci";
-                       ranges = <0x81000000 0 0          0x01f80000 0 0x00010000 /* downstream I/O */
+                       ranges = <0x00000800 0 0x01f00000 0x01f00000 0 0x00080000 /* configuration space */
+                                 0x81000000 0 0          0x01f80000 0 0x00010000 /* downstream I/O */
                                  0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
                        num-lanes = <1>;
                        interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
                        interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
                };
 
+               hdmi_core: hdmi_core@00120000 {
+                       compatible = "fsl,imx6q-hdmi-core";
+                       reg = <0x00120000 0x9000>;
+                       clocks = <&clks IMX6QDL_CLK_HDMI_ISFR>,
+                                       <&clks IMX6QDL_CLK_HDMI_IAHB>,
+                                       <&clks IMX6QDL_CLK_HSI_TX>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb", "mipi_core";
+                       status = "disabled";
+               };
+
+               hdmi_video: hdmi_video@020e0000 {
+                       compatible = "fsl,imx6q-hdmi-video";
+                       reg = <0x020e0000 0x1000>;
+                       reg-names = "hdmi_gpr";
+                       interrupts = <0 115 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX6QDL_CLK_HDMI_ISFR>,
+                                       <&clks IMX6QDL_CLK_HDMI_IAHB>,
+                                       <&clks IMX6QDL_CLK_HSI_TX>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb", "mipi_core";
+                       status = "disabled";
+               };
+
+               hdmi_audio: hdmi_audio@00120000 {
+                       compatible = "fsl,imx6q-hdmi-audio";
+                       clocks = <&clks IMX6QDL_CLK_HDMI_ISFR>,
+                                       <&clks IMX6QDL_CLK_HDMI_IAHB>,
+                                       <&clks IMX6QDL_CLK_HSI_TX>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb", "mipi_core";
+                       dmas = <&sdma 2 25 0>;
+                       dma-names = "tx";
+                       status = "disabled";
+               };
+
+               hdmi_cec: hdmi_cec@00120000 {
+                       compatible = "fsl,imx6q-hdmi-cec";
+                       interrupts = <0 115 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+               };
+
                aips-bus@02000000 { /* AIPS1 */
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                                        clocks = <&clks IMX6QDL_CLK_SPDIF_GCLK>, <&clks IMX6QDL_CLK_OSC>,
                                                 <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_ASRC>,
                                                 <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_ESAI_EXTAL>,
-                                                <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_DUMMY>,
+                                                <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_MLB>,
                                                 <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_SPBA>;
                                        clock-names = "core",  "rxtx0",
                                                      "rxtx1", "rxtx2",
                                                      "rxtx3", "rxtx4",
                                                      "rxtx5", "rxtx6",
-                                                     "rxtx7", "spba";
+                                                     "rxtx7", "dma";
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6QDL_CLK_ECSPI1>,
                                                 <&clks IMX6QDL_CLK_ECSPI1>;
                                        clock-names = "ipg", "per";
-                                       dmas = <&sdma 3 8 1>, <&sdma 4 8 2>;
+                                       dmas = <&sdma 3 7 1>, <&sdma 4 7 2>;
                                        dma-names = "rx", "tx";
                                        status = "disabled";
                                };
                                        clocks = <&clks IMX6QDL_CLK_ECSPI2>,
                                                 <&clks IMX6QDL_CLK_ECSPI2>;
                                        clock-names = "ipg", "per";
-                                       dmas = <&sdma 5 8 1>, <&sdma 6 8 2>;
+                                       dmas = <&sdma 5 7 1>, <&sdma 6 7 2>;
                                        dma-names = "rx", "tx";
                                        status = "disabled";
                                };
                                        clocks = <&clks IMX6QDL_CLK_ECSPI3>,
                                                 <&clks IMX6QDL_CLK_ECSPI3>;
                                        clock-names = "ipg", "per";
-                                       dmas = <&sdma 7 8 1>, <&sdma 8 8 2>;
+                                       dmas = <&sdma 7 7 1>, <&sdma 8 7 2>;
                                        dma-names = "rx", "tx";
                                        status = "disabled";
                                };
                                        clocks = <&clks IMX6QDL_CLK_ECSPI4>,
                                                 <&clks IMX6QDL_CLK_ECSPI4>;
                                        clock-names = "ipg", "per";
-                                       dmas = <&sdma 9 8 1>, <&sdma 10 8 2>;
+                                       dmas = <&sdma 9 7 1>, <&sdma 10 7 2>;
                                        dma-names = "rx", "tx";
                                        status = "disabled";
                                };
                                                 <&clks IMX6QDL_CLK_ESAI_EXTAL>,
                                                 <&clks IMX6QDL_CLK_ESAI_IPG>,
                                                 <&clks IMX6QDL_CLK_SPBA>;
-                                       clock-names = "core", "mem", "extal", "fsys", "spba";
+                                       clock-names = "core", "mem", "extal", "fsys", "dma";
                                        dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
                                        dma-names = "rx", "tx";
                                        status = "disabled";
                                        clocks = <&clks IMX6QDL_CLK_SSI1_IPG>,
                                                 <&clks IMX6QDL_CLK_SSI1>;
                                        clock-names = "ipg", "baud";
-                                       dmas = <&sdma 37 1 0>,
-                                              <&sdma 38 1 0>;
+                                       dmas = <&sdma 37 22 0>,
+                                              <&sdma 38 22 0>;
                                        dma-names = "rx", "tx";
                                        fsl,fifo-depth = <15>;
                                        status = "disabled";
                                        clocks = <&clks IMX6QDL_CLK_SSI2_IPG>,
                                                 <&clks IMX6QDL_CLK_SSI2>;
                                        clock-names = "ipg", "baud";
-                                       dmas = <&sdma 41 1 0>,
-                                              <&sdma 42 1 0>;
+                                       dmas = <&sdma 41 22 0>,
+                                              <&sdma 42 22 0>;
                                        dma-names = "rx", "tx";
                                        fsl,fifo-depth = <15>;
                                        status = "disabled";
                                        clocks = <&clks IMX6QDL_CLK_SSI3_IPG>,
                                                 <&clks IMX6QDL_CLK_SSI3>;
                                        clock-names = "ipg", "baud";
-                                       dmas = <&sdma 45 1 0>,
-                                              <&sdma 46 1 0>;
+                                       dmas = <&sdma 45 22 0>,
+                                              <&sdma 46 22 0>;
                                        dma-names = "rx", "tx";
                                        fsl,fifo-depth = <15>;
                                        status = "disabled";
                                                "asrck_1", "asrck_2", "asrck_3", "asrck_4",
                                                "asrck_5", "asrck_6", "asrck_7", "asrck_8",
                                                "asrck_9", "asrck_a", "asrck_b", "asrck_c",
-                                               "asrck_d", "asrck_e", "asrck_f", "spba";
+                                               "asrck_d", "asrck_e", "asrck_f", "dma";
                                        dmas = <&sdma 17 23 1>, <&sdma 18 23 1>, <&sdma 19 23 1>,
                                                <&sdma 20 23 1>, <&sdma 21 23 1>, <&sdma 22 23 1>;
                                        dma-names = "rxa", "rxb", "rxc",
                                clocks = <&clks IMX6QDL_CLK_VPU_AXI>,
                                         <&clks IMX6QDL_CLK_MMDC_CH0_AXI>;
                                clock-names = "per", "ahb";
-                               power-domains = <&gpc 1>;
                                resets = <&src 1>;
                                iram = <&ocram>;
+                               status = "disabled";
+                       };
+
+                       vpu_fsl: vpu_fsl@02040000 {
+                               compatible = "fsl,imx6-vpu";
+                               reg = <0x02040000 0x3c000>;
+                               reg-names = "vpu_regs";
+                               interrupts = <0 3 IRQ_TYPE_EDGE_RISING>,
+                                            <0 12 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "vpu_jpu_irq", "vpu_ipi_irq";
+                               clocks = <&clks IMX6QDL_CLK_VPU_AXI>,
+                                        <&clks IMX6QDL_CLK_MMDC_CH0_AXI>,
+                                        <&clks IMX6QDL_CLK_OCRAM>;
+                               clock-names = "vpu_clk", "mmdc_ch0_axi", "ocram";
+                               iramsize = <0x21000>;
+                               iram = <&ocram>;
+                               resets = <&src 1>;
+                               power-domains = <&gpc 1>;
                        };
 
                        aipstz@0207c000 { /* AIPSTZ1 */
                                clocks = <&clks IMX6QDL_CLK_CAN1_IPG>,
                                         <&clks IMX6QDL_CLK_CAN1_SERIAL>;
                                clock-names = "ipg", "per";
+                               stop-mode = <&gpr 0x34 28 0x10 17>;
                                status = "disabled";
                        };
 
                                clocks = <&clks IMX6QDL_CLK_CAN2_IPG>,
                                         <&clks IMX6QDL_CLK_CAN2_SERIAL>;
                                clock-names = "ipg", "per";
+                               stop-mode = <&gpr 0x34 29 0x10 18>;
                                status = "disabled";
                        };
 
                                             <0 54 IRQ_TYPE_LEVEL_HIGH>,
                                             <0 127 IRQ_TYPE_LEVEL_HIGH>;
 
-                               regulator-1p1 {
+                               regulator-1p1@110 {
                                        compatible = "fsl,anatop-regulator";
                                        regulator-name = "vdd1p1";
                                        regulator-min-microvolt = <800000>;
                                        anatop-min-bit-val = <4>;
                                        anatop-min-voltage = <800000>;
                                        anatop-max-voltage = <1375000>;
+                                       anatop-enable-bit = <0>;
                                };
 
-                               regulator-3p0 {
+                               reg_3p0: regulator-3p0@120 {
                                        compatible = "fsl,anatop-regulator";
                                        regulator-name = "vdd3p0";
-                                       regulator-min-microvolt = <2800000>;
-                                       regulator-max-microvolt = <3150000>;
-                                       regulator-always-on;
+                                       regulator-min-microvolt = <2625000>;
+                                       regulator-max-microvolt = <3400000>;
                                        anatop-reg-offset = <0x120>;
                                        anatop-vol-bit-shift = <8>;
                                        anatop-vol-bit-width = <5>;
                                        anatop-min-bit-val = <0>;
                                        anatop-min-voltage = <2625000>;
                                        anatop-max-voltage = <3400000>;
+                                       anatop-enable-bit = <0>;
                                };
 
-                               regulator-2p5 {
+                               regulator-2p5@130 {
                                        compatible = "fsl,anatop-regulator";
                                        regulator-name = "vdd2p5";
                                        regulator-min-microvolt = <2000000>;
                                        anatop-min-bit-val = <0>;
                                        anatop-min-voltage = <2000000>;
                                        anatop-max-voltage = <2750000>;
+                                       anatop-enable-bit = <0>;
                                };
 
-                               reg_arm: regulator-vddcore {
+                               reg_arm: regulator-vddcore@140 {
                                        compatible = "fsl,anatop-regulator";
                                        regulator-name = "vddarm";
                                        regulator-min-microvolt = <725000>;
                                        anatop-min-bit-val = <1>;
                                        anatop-min-voltage = <725000>;
                                        anatop-max-voltage = <1450000>;
+                                       regulator-allow-bypass;
                                };
 
-                               reg_pu: regulator-vddpu {
+                               reg_pu: regulator-vddpu@140 {
                                        compatible = "fsl,anatop-regulator";
                                        regulator-name = "vddpu";
                                        regulator-min-microvolt = <725000>;
                                        anatop-min-bit-val = <1>;
                                        anatop-min-voltage = <725000>;
                                        anatop-max-voltage = <1450000>;
+                                       regulator-allow-bypass;
                                };
 
-                               reg_soc: regulator-vddsoc {
+                               reg_soc: regulator-vddsoc@140 {
                                        compatible = "fsl,anatop-regulator";
                                        regulator-name = "vddsoc";
                                        regulator-min-microvolt = <725000>;
                                        anatop-min-bit-val = <1>;
                                        anatop-min-voltage = <725000>;
                                        anatop-max-voltage = <1450000>;
+                                       regulator-allow-bypass;
                                };
                        };
 
                                reg = <0x020c9000 0x1000>;
                                interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6QDL_CLK_USBPHY1>;
+                               phy-3p0-supply = <&reg_3p0>;
                                fsl,anatop = <&anatop>;
                        };
 
                                reg = <0x020ca000 0x1000>;
                                interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6QDL_CLK_USBPHY2>;
+                               phy-3p0-supply = <&reg_3p0>;
                                fsl,anatop = <&anatop>;
                        };
 
+                       usbphy_nop1: usbphy_nop1 {
+                               compatible = "usb-nop-xceiv";
+                               clocks = <&clks IMX6QDL_CLK_USBPHY1>;
+                               clock-names = "main_clk";
+                       };
+
+                       usbphy_nop2: usbphy_nop2 {
+                               compatible = "usb-nop-xceiv";
+                               clocks = <&clks IMX6QDL_CLK_USBPHY1>;
+                               clock-names = "main_clk";
+                       };
+
+                       caam_snvs: caam-snvs@020cc000 {
+                               compatible = "fsl,imx6q-caam-snvs";
+                               reg = <0x020cc000 0x4000>;
+                       };
+
                        snvs: snvs@020cc000 {
                                compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
                                reg = <0x020cc000 0x4000>;
                                        compatible = "syscon-poweroff";
                                        regmap = <&snvs>;
                                        offset = <0x38>;
-                                       mask = <0x60>;
+                                       mask = <0x61>;
                                        status = "disabled";
                                };
                        };
                                         <&clks IMX6QDL_CLK_GPU2D_CORE>,
                                         <&clks IMX6QDL_CLK_GPU2D_AXI>,
                                         <&clks IMX6QDL_CLK_OPENVG_AXI>,
-                                        <&clks IMX6QDL_CLK_VPU_AXI>;
+                                        <&clks IMX6QDL_CLK_VPU_AXI>,
+                                        <&clks IMX6QDL_CLK_IPG>;
                                #power-domain-cells = <1>;
                        };
 
                        ldb: ldb@020e0008 {
                                #address-cells = <1>;
                                #size-cells = <0>;
-                               compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
                                gpr = <&gpr>;
                                status = "disabled";
 
                                        #size-cells = <0>;
                                        reg = <0>;
                                        status = "disabled";
-
-                                       port@0 {
-                                               reg = <0>;
-
-                                               lvds0_mux_0: endpoint {
-                                                       remote-endpoint = <&ipu1_di0_lvds0>;
-                                               };
-                                       };
-
-                                       port@1 {
-                                               reg = <1>;
-
-                                               lvds0_mux_1: endpoint {
-                                                       remote-endpoint = <&ipu1_di1_lvds0>;
-                                               };
-                                       };
                                };
 
                                lvds-channel@1 {
                                        #size-cells = <0>;
                                        reg = <1>;
                                        status = "disabled";
-
-                                       port@0 {
-                                               reg = <0>;
-
-                                               lvds1_mux_0: endpoint {
-                                                       remote-endpoint = <&ipu1_di0_lvds1>;
-                                               };
-                                       };
-
-                                       port@1 {
-                                               reg = <1>;
-
-                                               lvds1_mux_1: endpoint {
-                                                       remote-endpoint = <&ipu1_di1_lvds1>;
-                                               };
-                                       };
                                };
                        };
 
                        dcic1: dcic@020e4000 {
+                               compatible = "fsl,imx6q-dcic";
                                reg = <0x020e4000 0x4000>;
                                interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6QDL_CLK_DCIC1>, <&clks IMX6QDL_CLK_DCIC1>;
+                               clock-names = "dcic", "disp-axi";
+                               gpr = <&gpr>;
+                               status = "disabled";
                        };
 
                        dcic2: dcic@020e8000 {
+                               compatible = "fsl,imx6q-dcic";
                                reg = <0x020e8000 0x4000>;
                                interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6QDL_CLK_DCIC2>, <&clks IMX6QDL_CLK_DCIC2>;
+                               clock-names = "dcic", "disp-axi";
+                               gpr = <&gpr>;
+                               status = "disabled";
                        };
 
                        sdma: sdma@020ec000 {
                        ranges;
 
                        crypto: caam@2100000 {
-                               compatible = "fsl,sec-v4.0";
-                               fsl,sec-era = <4>;
-                               #address-cells = <1>;
-                               #size-cells = <1>;
-                               reg = <0x2100000 0x10000>;
-                               ranges = <0 0x2100000 0x10000>;
-                               clocks = <&clks IMX6QDL_CLK_CAAM_MEM>,
-                                        <&clks IMX6QDL_CLK_CAAM_ACLK>,
-                                        <&clks IMX6QDL_CLK_CAAM_IPG>,
-                                        <&clks IMX6QDL_CLK_EIM_SLOW>;
-                               clock-names = "mem", "aclk", "ipg", "emi_slow";
-
-                               sec_jr0: jr0@1000 {
-                                       compatible = "fsl,sec-v4.0-job-ring";
-                                       reg = <0x1000 0x1000>;
-                                       interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
-                               };
-
-                               sec_jr1: jr1@2000 {
-                                       compatible = "fsl,sec-v4.0-job-ring";
-                                       reg = <0x2000 0x1000>;
-                                       interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+                                compatible = "fsl,sec-v4.0";
+                                #address-cells = <1>;
+                                #size-cells = <1>;
+                                reg = <0x2100000 0x40000>;
+                                ranges = <0 0x2100000 0x40000>;
+                                interrupt-parent = <&intc>; /* interrupts = <0 92 0x4>; */
+                                clocks = <&clks IMX6QDL_CAAM_MEM>, <&clks IMX6QDL_CAAM_ACLK>, <&clks IMX6QDL_CAAM_IPG> ,<&clks IMX6QDL_CLK_EIM_SLOW>;
+                                clock-names = "caam_mem", "caam_aclk", "caam_ipg", "caam_emi_slow";
+
+                                sec_jr0: jr0@1000 {
+                                        compatible = "fsl,sec-v4.0-job-ring";
+                                        reg = <0x1000 0x1000>;
+                                        interrupt-parent = <&intc>;
+                                        interrupts = <0 105 0x4>;
+                                };
+
+                                sec_jr1: jr1@2000 {
+                                        compatible = "fsl,sec-v4.0-job-ring";
+                                        reg = <0x2000 0x1000>;
+                                        interrupt-parent = <&intc>;
+                                        interrupts = <0 106 0x4>;
+                                };
                                };
-                       };
 
                        aipstz@0217c000 { /* AIPSTZ2 */
                                reg = <0x0217c000 0x4000>;
                                ahb-burst-config = <0x0>;
                                tx-burst-size-dword = <0x10>;
                                rx-burst-size-dword = <0x10>;
+                               fsl,anatop = <&anatop>;
                                status = "disabled";
                        };
 
                                ahb-burst-config = <0x0>;
                                tx-burst-size-dword = <0x10>;
                                rx-burst-size-dword = <0x10>;
+                               phy_type = "hsic";
+                               fsl,usbphy = <&usbphy_nop1>;
+                               fsl,anatop = <&anatop>;
                                status = "disabled";
                        };
 
                                ahb-burst-config = <0x0>;
                                tx-burst-size-dword = <0x10>;
                                rx-burst-size-dword = <0x10>;
+                               phy_type = "hsic";
+                               fsl,usbphy = <&usbphy_nop2>;
+                               fsl,anatop = <&anatop>;
                                status = "disabled";
                        };
 
                                compatible = "fsl,imx6q-fec";
                                reg = <0x02188000 0x4000>;
                                interrupts-extended =
-                                       <&intc 0 118 IRQ_TYPE_LEVEL_HIGH>,
-                                       <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
+                                       <&gpc 0 118 IRQ_TYPE_LEVEL_HIGH>,
+                                       <&gpc 0 119 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6QDL_CLK_ENET>,
                                         <&clks IMX6QDL_CLK_ENET>,
                                         <&clks IMX6QDL_CLK_ENET_REF>;
                                clock-names = "ipg", "ahb", "ptp";
+                               stop-mode = <&gpr 0x34 27>;
+                               fsl,wakeup_irq = <0>;
                                status = "disabled";
                        };
 
-                       mlb@0218c000 {
+                       mlb: mlb@0218c000 {
+                               compatible = "fsl,imx6q-mlb150";
                                reg = <0x0218c000 0x4000>;
                                interrupts = <0 53 IRQ_TYPE_LEVEL_HIGH>,
                                             <0 117 IRQ_TYPE_LEVEL_HIGH>,
                                             <0 126 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6QDL_CLK_MLB>,
+                                        <&clks IMX6QDL_CLK_PLL8_MLB>;
+                               clock-names = "mlb", "pll8_mlb";
+                               iram = <&ocram>;
+                               status = "disabled";
                        };
 
                        usdhc1: usdhc@02190000 {
                                reg = <0x021ac000 0x4000>;
                        };
 
+                       mmdc0-1@021b0000 { /* MMDC0-1 */
+                               compatible = "fsl,imx6q-mmdc-combine";
+                               reg = <0x021b0000 0x8000>;
+                       };
+
                        mmdc0: mmdc@021b0000 { /* MMDC0 */
                                compatible = "fsl,imx6q-mmdc";
                                reg = <0x021b0000 0x4000>;
                                status = "disabled";
                        };
 
-                       mipi_csi: mipi@021dc000 {
+                       mipi_csi: mipi_csi@021dc000 { /* MIPI-CSI */
+                               compatible = "fsl,imx6q-mipi-csi2";
                                reg = <0x021dc000 0x4000>;
+                               interrupts = <0 100 0x04>, <0 101 0x04>;
+                               clocks = <&clks IMX6QDL_CLK_HSI_TX>,
+                                        <&clks IMX6QDL_CLK_EMI_SEL>,
+                                        <&clks IMX6QDL_CLK_VIDEO_27M>;
+                               /* Note: clks 138 is hsi_tx, however, the dphy_c
+                                * hsi_tx and pll_refclk use the same clk gate.
+                                * In current clk driver, open/close clk gate do
+                                * use hsi_tx for a temporary debug purpose.
+                                */
+                               clock-names = "dphy_clk", "pixel_clk", "cfg_clk";
+                               status = "disabled";
                        };
 
-                       mipi_dsi: mipi@021e0000 {
-                               #address-cells = <1>;
-                               #size-cells = <0>;
+                       mipi@021e0000 { /* MIPI-DSI */
                                reg = <0x021e0000 0x4000>;
-                               status = "disabled";
-
-                               ports {
-                                       #address-cells = <1>;
-                                       #size-cells = <0>;
-
-                                       port@0 {
-                                               reg = <0>;
-
-                                               mipi_mux_0: endpoint {
-                                                       remote-endpoint = <&ipu1_di0_mipi>;
-                                               };
-                                       };
-
-                                       port@1 {
-                                               reg = <1>;
-
-                                               mipi_mux_1: endpoint {
-                                                       remote-endpoint = <&ipu1_di1_mipi>;
-                                               };
-                                       };
-                               };
                        };
 
                        vdoa@021e4000 {
+                               compatible = "fsl,imx6q-vdoa";
                                reg = <0x021e4000 0x4000>;
                                interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6QDL_CLK_VDOA>;
+                               iram = <&ocram>;
                        };
 
                        uart2: serial@021e8000 {
                        interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>,
                                     <0 5 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&clks IMX6QDL_CLK_IPU1>,
-                                <&clks IMX6QDL_CLK_IPU1_DI0>,
-                                <&clks IMX6QDL_CLK_IPU1_DI1>;
-                       clock-names = "bus", "di0", "di1";
+                                <&clks IMX6QDL_CLK_IPU1_DI0>, <&clks IMX6QDL_CLK_IPU1_DI1>,
+                                <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>,
+                                <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>;
+                       clock-names = "bus",
+                                     "di0", "di1",
+                                     "di0_sel", "di1_sel",
+                                     "ldb_di0", "ldb_di1";
                        resets = <&src 2>;
-
-                       ipu1_csi0: port@0 {
-                               reg = <0>;
-                       };
-
-                       ipu1_csi1: port@1 {
-                               reg = <1>;
-                       };
-
-                       ipu1_di0: port@2 {
-                               #address-cells = <1>;
-                               #size-cells = <0>;
-                               reg = <2>;
-
-                               ipu1_di0_disp0: disp0-endpoint {
-                               };
-
-                               ipu1_di0_hdmi: hdmi-endpoint {
-                                       remote-endpoint = <&hdmi_mux_0>;
-                               };
-
-                               ipu1_di0_mipi: mipi-endpoint {
-                                       remote-endpoint = <&mipi_mux_0>;
-                               };
-
-                               ipu1_di0_lvds0: lvds0-endpoint {
-                                       remote-endpoint = <&lvds0_mux_0>;
-                               };
-
-                               ipu1_di0_lvds1: lvds1-endpoint {
-                                       remote-endpoint = <&lvds1_mux_0>;
-                               };
-                       };
-
-                       ipu1_di1: port@3 {
-                               #address-cells = <1>;
-                               #size-cells = <0>;
-                               reg = <3>;
-
-                               ipu1_di1_disp1: disp1-endpoint {
-                               };
-
-                               ipu1_di1_hdmi: hdmi-endpoint {
-                                       remote-endpoint = <&hdmi_mux_1>;
-                               };
-
-                               ipu1_di1_mipi: mipi-endpoint {
-                                       remote-endpoint = <&mipi_mux_1>;
-                               };
-
-                               ipu1_di1_lvds0: lvds0-endpoint {
-                                       remote-endpoint = <&lvds0_mux_1>;
-                               };
-
-                               ipu1_di1_lvds1: lvds1-endpoint {
-                                       remote-endpoint = <&lvds1_mux_1>;
-                               };
-                       };
+                       bypass_reset = <0>;
                };
        };
 };
index 2905033..6915b25 100644 (file)
@@ -62,8 +62,8 @@
 #define IMX6QDL_CLK_USDHC3_SEL                 50
 #define IMX6QDL_CLK_USDHC4_SEL                 51
 #define IMX6QDL_CLK_ENFC_SEL                   52
-#define IMX6QDL_CLK_EIM_SEL                    53
-#define IMX6QDL_CLK_EIM_SLOW_SEL               54
+#define IMX6QDL_CLK_EMI_SEL                    53
+#define IMX6QDL_CLK_EMI_SLOW_SEL               54
 #define IMX6QDL_CLK_VDO_AXI_SEL                        55
 #define IMX6QDL_CLK_VPU_AXI_SEL                        56
 #define IMX6QDL_CLK_CKO1_SEL                   57
@@ -86,8 +86,6 @@
 #define IMX6QDL_CLK_GPU3D_SHADER               74
 #define IMX6QDL_CLK_IPU1_PODF                  75
 #define IMX6QDL_CLK_IPU2_PODF                  76
-#define IMX6QDL_CLK_LDB_DI0_PODF               77
-#define IMX6QDL_CLK_LDB_DI1_PODF               78
 #define IMX6QDL_CLK_IPU1_DI0_PRE               79
 #define IMX6QDL_CLK_IPU1_DI1_PRE               80
 #define IMX6QDL_CLK_IPU2_DI0_PRE               81
 #define IMX6QDL_CLK_USDHC4_PODF                        94
 #define IMX6QDL_CLK_ENFC_PRED                  95
 #define IMX6QDL_CLK_ENFC_PODF                  96
-#define IMX6QDL_CLK_EIM_PODF                   97
-#define IMX6QDL_CLK_EIM_SLOW_PODF              98
+#define IMX6QDL_CLK_EMI_PODF                   97
+#define IMX6QDL_CLK_EMI_SLOW_PODF              98
 #define IMX6QDL_CLK_VPU_AXI_PODF               99
 #define IMX6QDL_CLK_CKO1_PODF                  100
 #define IMX6QDL_CLK_AXI                                101
-#define IMX6QDL_CLK_MMDC_CH0_AXI_PODF          102
-#define IMX6QDL_CLK_MMDC_CH1_AXI_PODF          103
 #define IMX6QDL_CLK_ARM                                104
 #define IMX6QDL_CLK_AHB                                105
 #define IMX6QDL_CLK_APBH_DMA                   106
 #define IMX6QDL_CLK_LVDS2_SEL                  205
 #define IMX6QDL_CLK_LVDS1_GATE                 206
 #define IMX6QDL_CLK_LVDS2_GATE                 207
-#define IMX6QDL_CLK_ESAI_IPG                   208
-#define IMX6QDL_CLK_ESAI_MEM                   209
-#define IMX6QDL_CLK_ASRC_IPG                   210
-#define IMX6QDL_CLK_ASRC_MEM                   211
-#define IMX6QDL_CLK_LVDS1_IN                   212
-#define IMX6QDL_CLK_LVDS2_IN                   213
-#define IMX6QDL_CLK_ANACLK1                    214
-#define IMX6QDL_CLK_ANACLK2                    215
-#define IMX6QDL_PLL1_BYPASS_SRC                        216
-#define IMX6QDL_PLL2_BYPASS_SRC                        217
-#define IMX6QDL_PLL3_BYPASS_SRC                        218
-#define IMX6QDL_PLL4_BYPASS_SRC                        219
-#define IMX6QDL_PLL5_BYPASS_SRC                        220
-#define IMX6QDL_PLL6_BYPASS_SRC                        221
-#define IMX6QDL_PLL7_BYPASS_SRC                        222
-#define IMX6QDL_CLK_PLL1                       223
-#define IMX6QDL_CLK_PLL2                       224
-#define IMX6QDL_CLK_PLL3                       225
-#define IMX6QDL_CLK_PLL4                       226
-#define IMX6QDL_CLK_PLL5                       227
-#define IMX6QDL_CLK_PLL6                       228
-#define IMX6QDL_CLK_PLL7                       229
-#define IMX6QDL_PLL1_BYPASS                    230
-#define IMX6QDL_PLL2_BYPASS                    231
-#define IMX6QDL_PLL3_BYPASS                    232
-#define IMX6QDL_PLL4_BYPASS                    233
-#define IMX6QDL_PLL5_BYPASS                    234
-#define IMX6QDL_PLL6_BYPASS                    235
-#define IMX6QDL_PLL7_BYPASS                    236
-#define IMX6QDL_CLK_GPT_3M                     237
-#define IMX6QDL_CLK_VIDEO_27M                  238
-#define IMX6QDL_CLK_MIPI_CORE_CFG              239
-#define IMX6QDL_CLK_MIPI_IPG                   240
-#define IMX6QDL_CLK_CAAM_MEM                   241
-#define IMX6QDL_CLK_CAAM_ACLK                  242
-#define IMX6QDL_CLK_CAAM_IPG                   243
-#define IMX6QDL_CLK_SPDIF_GCLK                 244
-#define IMX6QDL_CLK_UART_SEL                   245
-#define IMX6QDL_CLK_IPG_PER_SEL                        246
-#define IMX6QDL_CLK_ECSPI_SEL                  247
-#define IMX6QDL_CLK_CAN_SEL                    248
-#define IMX6QDL_CLK_MMDC_CH1_AXI_CG            249
-#define IMX6QDL_CLK_PRE0                       250
-#define IMX6QDL_CLK_PRE1                       251
-#define IMX6QDL_CLK_PRE2                       252
-#define IMX6QDL_CLK_PRE3                       253
-#define IMX6QDL_CLK_PRG0_AXI                   254
-#define IMX6QDL_CLK_PRG1_AXI                   255
-#define IMX6QDL_CLK_PRG0_APB                   256
-#define IMX6QDL_CLK_PRG1_APB                   257
-#define IMX6QDL_CLK_PRE_AXI                    258
-#define IMX6QDL_CLK_END                                259
+#define IMX6QDL_CLK_ESAI_MEM                   208
+#define IMX6QDL_CLK_LDB_DI0_DIV_7              209
+#define IMX6QDL_CLK_LDB_DI1_DIV_7              210
+#define IMX6QDL_CLK_LDB_DI0_DIV_SEL            211
+#define IMX6QDL_CLK_LDB_DI1_DIV_SEL            212
+#define IMX6QDL_CLK_VIDEO_27M                  213
+#define IMX6QDL_CLK_DCIC1                              214
+#define IMX6QDL_CLK_DCIC2                              215
+#define IMX6QDL_CLK_GPT_3M                             216
+#define IMX6QDL_CLK_ESAI_IPG                   217
+#define IMX6QDL_CLK_ASRC_IPG                   218
+#define IMX6QDL_CLK_ASRC_MEM                   219
+#define IMX6QDL_CLK_LVDS1_IN                   220
+#define IMX6QDL_CLK_LVDS2_IN                   221
+#define IMX6QDL_CLK_ANACLK1                    222
+#define IMX6QDL_CLK_ANACLK2                    223
+#define IMX6QDL_PLL1_BYPASS_SRC                        224
+#define IMX6QDL_PLL2_BYPASS_SRC                        225
+#define IMX6QDL_PLL3_BYPASS_SRC                        226
+#define IMX6QDL_PLL4_BYPASS_SRC                        227
+#define IMX6QDL_PLL5_BYPASS_SRC                        228
+#define IMX6QDL_PLL6_BYPASS_SRC                        229
+#define IMX6QDL_PLL7_BYPASS_SRC                        230
+#define IMX6QDL_CLK_PLL1                       231
+#define IMX6QDL_CLK_PLL2                       232
+#define IMX6QDL_CLK_PLL3                       233
+#define IMX6QDL_CLK_PLL4                       234
+#define IMX6QDL_CLK_PLL5                       235
+#define IMX6QDL_CLK_PLL6                       236
+#define IMX6QDL_CLK_PLL7                       237
+#define IMX6QDL_PLL1_BYPASS                    238
+#define IMX6QDL_PLL2_BYPASS                    239
+#define IMX6QDL_PLL3_BYPASS                    240
+#define IMX6QDL_PLL4_BYPASS                    241
+#define IMX6QDL_PLL5_BYPASS                    242
+#define IMX6QDL_PLL6_BYPASS                    243
+#define IMX6QDL_PLL7_BYPASS                    244
+#define IMX6QDL_CLK_AXI_ALT_SEL                        245
+#define IMX6QDL_CAAM_MEM                       246
+#define IMX6QDL_CAAM_ACLK                      247
+#define IMX6QDL_CAAM_IPG                       248
+#define IMX6QDL_CLK_SPDIF_GCLK                 249
+#define IMX6QDL_CLK_UART_SEL                   250
+#define IMX6QDL_CLK_IPG_PER_SEL                        251
+#define IMX6QDL_CLK_ECSPI_SEL                  252
+#define IMX6QDL_CLK_CAN_SEL                    253
+#define IMX6QDL_CLK_MMDC_CH1_AXI_CG            254
+#define IMX6QDL_CLK_PRE0                       255
+#define IMX6QDL_CLK_PRE1                       256
+#define IMX6QDL_CLK_PRE2                       257
+#define IMX6QDL_CLK_PRE3                       258
+#define IMX6QDL_CLK_PRG0_AXI                   259
+#define IMX6QDL_CLK_PRG1_AXI                   260
+#define IMX6QDL_CLK_PRG0_APB                   261
+#define IMX6QDL_CLK_PRG1_APB                   262
+#define IMX6QDL_CLK_PRE_AXI                    263
+#define IMX6QDL_CLK_END                                264
 
 #endif /* __DT_BINDINGS_CLOCK_IMX6QDL_H */