]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/boot/dts/imx6sx.dtsi
MLK-10232-3: dts: Add vadc to generic pm domain
[karo-tx-linux.git] / arch / arm / boot / dts / imx6sx.dtsi
index 72342486d576126ba25f9e6818aaeec65f990f1a..91b3227ceeb047548f30a8fb9f2d005564766ce3 100644 (file)
                                996000  1250000
                                792000  1175000
                                396000  1075000
+                               198000  975000
                        >;
                        fsl,soc-operating-points = <
                                /* ARM kHz  SOC uV */
                                996000      1175000
                                792000      1175000
                                396000      1175000
+                               198000      1175000
                        >;
                        clock-latency = <61036>; /* two CLK32 periods */
                        clocks = <&clks IMX6SX_CLK_ARM>,
                                 <&clks IMX6SX_CLK_PLL2_PFD2>,
                                 <&clks IMX6SX_CLK_STEP>,
                                 <&clks IMX6SX_CLK_PLL1_SW>,
-                                <&clks IMX6SX_CLK_PLL1_SYS>;
+                                <&clks IMX6SX_CLK_PLL1_SYS>,
+                                <&clks IMX6SX_PLL1_BYPASS>,
+                                <&clks IMX6SX_CLK_PLL1>,
+                                <&clks IMX6SX_PLL1_BYPASS_SRC> ;
                        clock-names = "arm", "pll2_pfd2_396m", "step",
-                                     "pll1_sw", "pll1_sys";
+                                     "pll1_sw", "pll1_sys", "pll1_bypass", "pll1", "pll1_bypass_src";
                        arm-supply = <&reg_arm>;
                        soc-supply = <&reg_soc>;
                };
                        power-domains = <&gpc 1>;
                };
 
+               caam_sm: caam-sm@00100000 {
+                       compatible = "fsl,imx6q-caam-sm";
+                       reg = <0x00100000 0x3fff>;
+               };
+
                dma_apbh: dma-apbh@01804000 {
                        compatible = "fsl,imx6sx-dma-apbh", "fsl,imx28-dma-apbh";
                        reg = <0x01804000 0x2000>;
                        clocks = <&clks IMX6SX_CLK_APBH_DMA>;
                };
 
+               irq_sec_vio: caam_secvio {
+                       compatible = "fsl,imx6q-caam-secvio";
+                       interrupts = <0 20 0x04>;
+                       secvio_src = <0x8000001d>;
+               };
+
                gpmi: gpmi-nand@01806000{
                        compatible = "fsl,imx6sx-gpmi-nand";
                        #address-cells = <1>;
                                        dmas = <&sdma 14 18 0>,
                                               <&sdma 15 18 0>;
                                        dma-names = "rx", "tx";
-                                       clocks = <&clks IMX6SX_CLK_SPDIF>,
+                                       clocks = <&clks IMX6SX_CLK_SPDIF_GCLK>,
                                                 <&clks IMX6SX_CLK_OSC>,
                                                 <&clks IMX6SX_CLK_SPDIF>,
                                                 <&clks 0>, <&clks 0>, <&clks 0>,
                                        clocks = <&clks IMX6SX_CLK_ECSPI1>,
                                                 <&clks IMX6SX_CLK_ECSPI1>;
                                        clock-names = "ipg", "per";
+                                       dmas = <&sdma 3 7 1>, <&sdma 4 7 2>;
+                                       dma-names = "rx", "tx";
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6SX_CLK_ECSPI2>,
                                                 <&clks IMX6SX_CLK_ECSPI2>;
                                        clock-names = "ipg", "per";
+                                       dmas = <&sdma 5 7 1>, <&sdma 6 7 2>;
+                                       dma-names = "rx", "tx";
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6SX_CLK_ECSPI3>,
                                                 <&clks IMX6SX_CLK_ECSPI3>;
                                        clock-names = "ipg", "per";
+                                       dmas = <&sdma 7 7 1>, <&sdma 8 7 2>;
+                                       dma-names = "rx", "tx";
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6SX_CLK_ECSPI4>,
                                                 <&clks IMX6SX_CLK_ECSPI4>;
                                        clock-names = "ipg", "per";
+                                       dmas = <&sdma 9 7 1>, <&sdma 10 7 2>;
+                                       dma-names = "rx", "tx";
                                        status = "disabled";
                                };
 
                                uart1: serial@02020000 {
-                                       compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
+                                       compatible = "fsl,imx6sx-uart",
+                                                    "fsl,imx6q-uart", "fsl,imx21-uart";
                                        reg = <0x02020000 0x4000>;
                                        interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clks IMX6SX_CLK_UART_IPG>,
                                        anatop-max-voltage = <1450000>;
                                };
 
-                               reg_pcie: regulator-vddpcie@140 {
+                               reg_pcie_phy: regulator-vddpcie-phy@140 {
                                        compatible = "fsl,anatop-regulator";
-                                       regulator-name = "vddpcie";
+                                       regulator-name = "vddpcie-phy";
                                        regulator-min-microvolt = <725000>;
                                        regulator-max-microvolt = <1450000>;
                                        anatop-reg-offset = <0x140>;
                                fsl,anatop = <&anatop>;
                        };
 
+                       usbphy_nop1: usbphy_nop1 {
+                               compatible = "usb-nop-xceiv";
+                               clocks = <&clks IMX6SX_CLK_USBPHY1>;
+                               clock-names = "main_clk";
+                       };
+
                        mqs: mqs {
                                compatible = "fsl,imx6sx-mqs";
                                gpr = <&gpr>;
                                status = "disabled";
                        };
 
+                       caam_snvs: caam-snvs@020cc000 {
+                               compatible = "fsl,imx6q-caam-snvs";
+                               reg = <0x020cc000 0x4000>;
+                       };
+
                        snvs: snvs@020cc000 {
                                compatible = "fsl,sec-v4.0-mon", "simple-bus";
                                #address-cells = <1>;
                                compatible = "fsl,imx6sx-gpc", "fsl,imx6q-gpc";
                                reg = <0x020dc000 0x4000>;
                                interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
-                               fsl,mf-mix-wakeup-irq = <0x7c00000 0x3d00 0x0 0x400200>;
-                               clocks = <&clks IMX6SX_CLK_GPU>;
+                               fsl,mf-mix-wakeup-irq = <0x7c00000 0x3d00 0x0 0x400240>;
+                               clocks = <&clks IMX6SX_CLK_GPU>, <&clks IMX6SX_CLK_IPG>,
+                                       <&clks IMX6SX_CLK_PXP_AXI>, <&clks IMX6SX_CLK_DISPLAY_AXI>,
+                                       <&clks IMX6SX_CLK_LCDIF1_PIX>, <&clks IMX6SX_CLK_LCDIF_APB>,
+                                       <&clks IMX6SX_CLK_LCDIF2_PIX>, <&clks IMX6SX_CLK_CSI>,
+                                       <&clks IMX6SX_CLK_VADC>;
+                               clock-names = "gpu3d_core", "ipg", "pxp_axi", "disp_axi", "lcdif1_pix",
+                                               "lcdif_axi", "lcdif2_pix", "csi_mclk";
+                               pcie-phy-supply = <&reg_pcie_phy>;
                                #power-domain-cells = <1>;
                        };
 
                                reg = <0x020e4000 0x4000>;
                        };
 
-                       canfd1: canfd@020e8000 {
-                               compatible = "bosch,m_can";
-                               reg = <0x020e8000 0x4000>, <0x02298000 0x4000>;
-                               reg-names = "canfd", "message_ram";
-                               interrupts = <0 114 0x04>;
-                               clocks = <&clks IMX6SX_CLK_CANFD>;
-                               mram-cfg = <0x0 0 0 32 0 0 0 1>;
-                               status = "disabled";
-                       };
-
-                       canfd2: canfd@020f0000 {
-                               compatible = "bosch,m_can";
-                               reg = <0x020f0000 0x4000>, <0x02298000 0x4000>;
-                               reg-names = "canfd", "message_ram";
-                               interrupts = <0 115 0x04>;
-                               clocks = <&clks IMX6SX_CLK_CANFD>;
-                               mram-cfg = <0x400 0 0 32 0 0 0 1>;
-                               status = "disabled";
-                       };
-
                        ldb: ldb@020e0014 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                        reg = <0x02100000 0x100000>;
                        ranges;
 
+                       crypto: caam@2100000 {
+                               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 IMX6SX_CLK_CAAM_MEM>, <&clks IMX6SX_CLK_CAAM_ACLK>,
+                                        <&clks IMX6SX_CLK_CAAM_IPG> ,<&clks IMX6SX_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>;
+                               };
+                       };
+
                        usbotg1: usb@02184000 {
                                compatible = "fsl,imx6sx-usb", "fsl,imx27-usb";
                                reg = <0x02184000 0x200>;
                                clocks = <&clks IMX6SX_CLK_USBOH3>;
                                fsl,usbmisc = <&usbmisc 2>;
                                phy_type = "hsic";
+                               fsl,usbphy = <&usbphy_nop1>;
                                fsl,anatop = <&anatop>;
                                status = "disabled";
                        };
                         };
 
                        mlb: mlb@0218c000 {
+                               compatible = "fsl,imx6sx-mlb50";
                                reg = <0x0218c000 0x4000>;
                                interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
                                             <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
                                             <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SX_CLK_MLB>;
+                               clock-names = "mlb";
+                               iram = <&ocram>;
                                status = "disabled";
                        };
 
                                         <&clks IMX6SX_CLK_ENET_PTP>;
                                clock-names = "ipg", "ahb", "ptp",
                                              "enet_clk_ref", "enet_out";
+                               fsl,num-tx-queues=<3>;
+                               fsl,num-rx-queues=<3>;
                                status = "disabled";
                        };
 
                        };
 
                        uart2: serial@021e8000 {
-                               compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
+                               compatible = "fsl,imx6sx-uart",
+                                            "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021e8000 0x4000>;
                                interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SX_CLK_UART_IPG>,
                        };
 
                        uart3: serial@021ec000 {
-                               compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
+                               compatible = "fsl,imx6sx-uart",
+                                            "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021ec000 0x4000>;
                                interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SX_CLK_UART_IPG>,
                        };
 
                        uart4: serial@021f0000 {
-                               compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
+                               compatible = "fsl,imx6sx-uart",
+                                            "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021f0000 0x4000>;
                                interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SX_CLK_UART_IPG>,
                        };
 
                        uart5: serial@021f4000 {
-                               compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
+                               compatible = "fsl,imx6sx-uart",
+                                            "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021f4000 0x4000>;
                                interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SX_CLK_UART_IPG>,
                                clocks = <&clks IMX6SX_CLK_I2C4>;
                                status = "disabled";
                        };
+
+                       qosc: qosc@021fc000 {
+                               compatible = "fsl,imx6sx-qosc";
+                               reg = <0x021fc000 0x4000>;
+                       };
                };
 
                aips3: aips-bus@02200000 {
                                                 <&clks IMX6SX_CLK_CSI>,
                                                 <&clks IMX6SX_CLK_DCIC1>;
                                        clock-names = "disp-axi", "csi_mclk", "disp_dcic";
+                                       power-domains = <&gpc 2>;
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6SX_CLK_PXP_AXI>,
                                                 <&clks IMX6SX_CLK_DISPLAY_AXI>;
                                        clock-names = "pxp-axi", "disp-axi";
+                                       power-domains = <&gpc 2>;
                                        status = "disabled";
                                };
 
                                                 <&clks IMX6SX_CLK_CSI>,
                                                 <&clks IMX6SX_CLK_DCIC2>;
                                        clock-names = "disp-axi", "csi_mclk", "disp_dcic";
+                                       power-domains = <&gpc 2>;
                                        status = "disabled";
                                };
 
                                                 <&clks IMX6SX_CLK_LCDIF_APB>,
                                                 <&clks IMX6SX_CLK_DISPLAY_AXI>;
                                        clock-names = "pix", "axi", "disp_axi";
+                                       power-domains = <&gpc 2>;
                                        status = "disabled";
                                };
 
                                                 <&clks IMX6SX_CLK_LCDIF_APB>,
                                                 <&clks IMX6SX_CLK_DISPLAY_AXI>;
                                        clock-names = "pix", "axi", "disp_axi";
+                                       power-domains = <&gpc 2>;
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6SX_CLK_VADC>,
                                                 <&clks IMX6SX_CLK_CSI>;
                                        clock-names = "vadc", "csi";
+                                       power-domains = <&gpc 2>;
                                        gpr = <&gpr>;
                                        status = "disabled";
                                };
                                status = "okay";
                        };
 
+                       mcctest: mcctest{
+                               compatible = "fsl,imx6sx-mcc-test";
+                               status = "disabled";
+                       };
+
+                       mcctty: mcctty{
+                               compatible = "fsl,imx6sx-mcc-tty";
+                               status = "disabled";
+                       };
+
                        uart6: serial@022a0000 {
-                               compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
+                               compatible = "fsl,imx6sx-uart",
+                                            "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x022a0000 0x4000>;
                                interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SX_CLK_UART_IPG>,
 
                pcie: pcie@0x08000000 {
                        compatible = "fsl,imx6sx-pcie", "snps,dw-pcie";
-                       reg = <0x08ffc000 0x4000>; /* DBI */
+                       reg = <0x08ffc000 0x4000>, <0x08f00000 0x80000>;
+                       reg-names = "dbi", "config";
                        #address-cells = <3>;
                        #size-cells = <2>;
                        device_type = "pci";
-                                 /* configuration space */
-                       ranges = <0x00000800 0 0x08f00000 0x08f00000 0 0x00080000
-                                 /* downstream I/O */
-                                 0x81000000 0 0          0x08f80000 0 0x00010000
-                                 /* non-prefetchable memory */
-                                 0x82000000 0 0x08000000 0x08000000 0 0x00f00000>;
+                       ranges = <0x81000000 0 0          0x08f80000 0 0x00010000 /* downstream I/O */
+                                 0x82000000 0 0x08000000 0x08000000 0 0x00f00000>; /* non-prefetchable memory */
                        num-lanes = <1>;
-                       interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clks IMX6SX_CLK_PCIE_REF_125M>,
-                                <&clks IMX6SX_CLK_PCIE_AXI>,
+                       interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "msi";
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 0x7>;
+                       interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX6SX_CLK_PCIE_AXI>,
                                 <&clks IMX6SX_CLK_LVDS1_OUT>,
+                                <&clks IMX6SX_CLK_PCIE_REF_125M>,
                                 <&clks IMX6SX_CLK_DISPLAY_AXI>;
-                       clock-names = "pcie_ref_125m", "pcie_axi",
-                                     "lvds_gate", "display_axi";
+                       clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_inbound_axi";
+                       pcie-phy-supply = <&reg_pcie_phy>;
+                       power-domains = <&gpc 2>;
                        status = "disabled";
                };
        };