MLK-13441-2 ARM: dts: imx7ulp: add dtsi file
authorAnson Huang <Anson.Huang@nxp.com>
Mon, 7 Nov 2016 14:25:37 +0000 (22:25 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:52:34 +0000 (14:52 -0500)
Add i.MX7ULP dtsi support.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Signed-off-by: Gan Yuchou <yuchou.gan@nxp.com>
Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Signed-off-by: Han Xu <han.xu@nxp.com>
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
arch/arm/boot/dts/imx7ulp.dtsi [new file with mode: 0644]

diff --git a/arch/arm/boot/dts/imx7ulp.dtsi b/arch/arm/boot/dts/imx7ulp.dtsi
new file mode 100644 (file)
index 0000000..3269110
--- /dev/null
@@ -0,0 +1,447 @@
+/*
+ * Copyright 2015-2016 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
+ * published by the Free Software Foundation.
+ */
+
+#include <dt-bindings/clock/imx7ulp-clock.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "skeleton.dtsi"
+#include "imx7ulp-pinfunc.h"
+
+/ {
+       interrupt-parent = <&intc>;
+
+       aliases {
+               serial0 = &lpuart4;
+               serial1 = &lpuart6;
+               serial2 = &lpuart5;
+               usbphy0 = &usbphy1;
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu0: cpu@0 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <0>;
+               };
+       };
+
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               /* global autoconfigured region for contiguous allocations */
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0xC000000>;
+                       alignment = <0x2000>;
+                       linux,cma-default;
+               };
+
+               rpmsg_reserved: rpmsg@9FFF0000 {
+                       no-map;
+                       reg = <0x9FF00000 0x100000>;
+               };
+
+       };
+
+       intc: interrupt-controller@40021000 {
+               compatible = "arm,cortex-a7-gic";
+               #interrupt-cells = <3>;
+               interrupt-controller;
+               reg = <0x40021000 0x1000>,
+                     <0x40022000 0x100>;
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               ckil: clock@0 {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <32768>;
+                       clock-output-names = "ckil";
+               };
+
+               osc: clock@1 {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <24000000>;
+                       clock-output-names = "osc";
+               };
+
+               sirc: clock@2 {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <16000000>;
+                       clock-output-names = "sirc";
+               };
+
+               firc: clock@3 {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <48000000>;
+                       clock-output-names = "firc";
+               };
+
+               upll: clock@4 {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <480000000>;
+                       clock-output-names = "upll";
+               };
+
+               mpll: clock@5 {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <480000000>;
+                       clock-output-names = "mpll";
+               };
+       };
+
+       sram: sram@20000000 {
+               compatible = "fsl,lpm-sram";
+               reg = <0x20008000 0x4000>;
+       };
+
+       ahbbridge0: ahb-bridge0@40000000 {
+               compatible = "fsl,aips-bus", "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x40000000 0x800000>;
+               ranges;
+
+               edma0: dma-controller@40080000 {
+                       #dma-cells = <2>;
+                       compatible = "nxp,imx7ulp-edma";
+                       reg = <0x40080000 0x2000>,
+                               <0x40210000 0x1000>;
+                       dma-channels = <32>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+                       clock-names = "dma", "dmamux0";
+                       clocks = <&clks IMX7ULP_CLK_DMA1>, <&clks IMX7ULP_CLK_DMA_MUX1>;
+               };
+
+               mu: mu@40220000 {
+                       compatible = "fsl,imx7ulp-mu", "fsl,imx6sx-mu";
+                       reg = <0x40220000 0x1000>;
+                       interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "okay";
+               };
+
+               nmi: nmi@40220000 {
+                       compatible = "fsl,imx7ulp-nmi";
+                       reg = <0x40220000 0x1000>;
+                       interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "okay";
+               };
+
+               rpmsg: rpmsg{
+                       compatible = "fsl,imx7ulp-rpmsg";
+                       memory-region = <&rpmsg_reserved>;
+                       status = "disabled";
+               };
+
+               snvs: snvs@40230000 {
+                       compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd";
+                       reg = <0x40230000 0x10000>;
+               };
+
+               tpm5: tpm@40260000 {
+                       compatible = "fsl,imx7ulp-tpm";
+                       reg = <0x40260000 0x1000>;
+                       interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_LPTPM5>;
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPTPM5>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
+               };
+
+               lpit: 1@40270000 {
+                       compatible = "fsl,imx-lpit";
+                       reg = <0x40270000 0x1000>;
+                       interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+                       /*    clocks = <&lpclk>;*/
+                       clocks = <&clks IMX7ULP_CLK_LPIT1>;
+                       assigned-clock-rates = <48000000>;
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPIT1>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
+               };
+
+               lpi2c4: lpi2c4@402B0000 {
+                       compatible = "fsl,imx7ulp-lpi2c";
+                       reg = <0x402B0000 0x10000>;
+                       interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_LPI2C4>;
+                       clock-names = "ipg";
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPI2C4>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
+                       assigned-clock-rates = <48000000>;
+               };
+
+               lpi2c5: lpi2c4@402C0000 {
+                       compatible = "fsl,imx7ulp-lpi2c";
+                       reg = <0x402C0000 0x10000>;
+                       interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_LPI2C5>;
+                       clock-names = "ipg";
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPI2C5>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
+                       assigned-clock-rates = <48000000>;
+               };
+
+               lpspi2: lpspi@40290000 {
+                       compatible = "fsl,imx7ulp-spi";
+                       reg = <0x40290000 0x10000>;
+                       interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_LPSPI2>;
+                       clock-names = "ipg";
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPSPI2>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
+                       assigned-clock-rates = <48000000>;
+                       status = "disabled";
+               };
+
+               lpspi3: lpspi@402A0000 {
+                       compatible = "fsl,imx7ulp-spi";
+                       reg = <0x402A0000 0x10000>;
+                       interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_LPSPI3>;
+                       clock-names = "ipg";
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPSPI3>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
+                       assigned-clock-rates = <48000000>;
+                       status = "disabled";
+               };
+
+               lpuart4: serial@402D0000 {
+                       compatible = "fsl,imx7ulp-lpuart";
+                       reg = <0x402D0000 0x1000>;
+                       interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_LPUART4>;
+                       clock-names = "ipg";
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPUART4>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_OSC>;
+                       assigned-clock-rates = <24000000>;
+               };
+
+               lpuart5: serial@402E0000 {
+                       compatible = "fsl,imx7ulp-lpuart";
+                       reg = <0x402E0000 0x1000>;
+                       interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_LPUART5>;
+                       clock-names = "ipg";
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPUART5>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
+                       assigned-clock-rates = <48000000>;
+                       dmas = <&edma0 0 20>, <&edma0 0 19>;
+                       dma-names = "tx","rx";
+                       status = "disabled";
+               };
+
+               usbotg1: usb@40330000 {
+                       compatible = "fsl,imx7ulp-usb", "fsl,imx6ul-usb",
+                               "fsl,imx27-usb";
+                       reg = <0x40330000 0x200>;
+                       interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_USB0>;
+                       fsl,usbphy = <&usbphy1>;
+                       fsl,usbmisc = <&usbmisc1 0>;
+                       ahb-burst-config = <0x0>;
+                       tx-burst-size-dword = <0x10>;
+                       rx-burst-size-dword = <0x10>;
+                       status = "disabled";
+               };
+
+               usbmisc1: usbmisc@40330200 {
+                       #index-cells = <1>;
+                       compatible = "fsl,imx7ulp-usbmisc", "fsl,imx7d-usbmisc",
+                               "fsl,imx6q-usbmisc";
+                       reg = <0x40330200 0x200>;
+               };
+
+               usbphy1: usbphy@0x40350000 {
+                       compatible = "fsl,imx7ulp-usbphy",
+                               "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
+                       reg = <0x40350000 0x1000>;
+                       interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_USB_PHY>;
+                       nxp,sim = <&sim>;
+               };
+
+               usdhc1: usdhc@40370000 {
+                       compatible = "fsl,imx7ulp-usdhc";
+                       reg = <0x40370000 0x10000>;
+                       interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_NIC1_BUS_DIV>,
+                                <&clks IMX7ULP_CLK_NIC1_DIV>,
+                                <&clks IMX7ULP_CLK_USDHC0>;
+                       clock-names ="ipg", "ahb", "per";
+                       bus-width = <4>;
+                       status = "disabled";
+               };
+
+               wdog1: wdog@403D0000 {
+                       compatible = "fsl,imx7ulp-wdt";
+                       reg = <0x403D0000 0x10000>;
+                       interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_WDG1>;
+                       assigned-clocks = <&clks IMX7ULP_CLK_WDG1>;
+                       assigned-clocks-parents = <&clks IMX7ULP_CLK_FIRC>;
+               };
+
+               wdog2: wdog@40430000 {
+                       compatible = "fsl,imx7ulp-wdt";
+                       reg = <0x40430000 0x10000>;
+                       interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_WDG2>;
+                       assigned-clocks = <&clks IMX7ULP_CLK_WDG2>;
+                       assigned-clocks-parents = <&clks IMX7ULP_CLK_FIRC>;
+               };
+
+               clks: scg1@403E0000 {
+                       compatible = "fsl,imx7ulp-scg1";
+                       reg = <0x403E0000 0x10000>;
+                       clocks = <&ckil>, <&osc>, <&sirc>,
+                               <&firc>, <&upll>, <&mpll>;
+                       clock-names = "ckil", "osc", "sirc",
+                               "firc", "upll", "mpll";
+                       #clock-cells = <1>;
+               };
+
+               pcc2: pcc2@403F0000 {
+                       compatible  = "fsl,imx7ulp-pcc2";
+                       reg = <0x403F0000 0x10000>;
+               };
+
+               pmc1: pmc1@40400000 {
+                       compatible = "fsl,imx7ulp-pmc1";
+                       reg = <0x40400000 0x1000>;
+               };
+
+               smc1: smc1@40410000 {
+                       compatible = "fsl,imx7ulp-smc1";
+                       reg = <0x40410000 0x1000>;
+               };
+
+       };
+
+       ahbbridge1: ahb-bridge1@40800000 {
+               compatible = "fsl,aips-bus", "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x40800000 0x800000>;
+               ranges;
+
+               lpuart6: serial@40A60000 {
+                       compatible = "fsl,imx7ulp-lpuart";
+                       reg = <0x40A60000 0x1000>;
+                       interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_LPUART6>;
+                       clock-names = "ipg";
+                       assigned-clocks = <&clks IMX7ULP_CLK_LPUART6>;
+                       assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC>;
+                       assigned-clock-rates = <48000000>;
+                       dmas = <&edma0 0 22>, <&edma0 0 21>;
+                       dma-names = "tx","rx";
+                       status = "disabled";
+               };
+
+               lcdif: lcdif@40AA0000 {
+                       compatible = "fsl,imx7ulp-lcdif";
+                       reg = <0x40aa0000 0x10000>;
+                       interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clks IMX7ULP_CLK_DUMMY>,
+                                <&clks IMX7ULP_CLK_LCDIF>,
+                                <&clks IMX7ULP_CLK_DUMMY>;
+                       clock-names = "axi", "pix", "disp_axi";
+                       status = "disabled";
+               };
+
+               mmdc: mmdc@40ab0000 {
+                       compatible = "fsl,imx7ulp-mmdc";
+                       reg = <0x40ab0000 0x4000>;
+               };
+
+               pcc3: pcc3@40B30000 {
+                       compatible  = "fsl,imx7ulp-pcc3";
+                       reg = <0x40B30000 0x10000>;
+               };
+
+               iomuxc: iomuxc@4103D000 {
+                       compatible = "fsl,imx7ulp-iomuxc-0";
+                       reg = <0x4103D000 0x1000>;
+                       fsl,mux_mask = <0xf00>;
+               };
+
+               iomuxc1: iomuxc1@40ac0000 {
+                       compatible = "fsl,imx7ulp-iomuxc-1";
+                       reg = <0x40ac0000 0x1000>;
+                       fsl,mux_mask = <0xf00>;
+               };
+
+               pmc0: pmc0@410a1000 {
+                       compatible = "fsl,imx7ulp-pmc0";
+                       reg = <0x410a1000 0x1000>;
+               };
+
+               sim: sim@410a3000 {
+                       compatible = "fsl,imx7ulp-sim", "syscon";
+                       reg = <0x410a3000 0x1000>;
+               };
+
+               qspi1: qspi@410A5000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "fsl,imx7ulp-qspi";
+                       reg = <0x410A5000 0x10000>, <0xC0000000 0x10000000>;
+                       reg-names = "QuadSPI", "QuadSPI-memory";
+                       interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+               };
+
+               gpu: gpu@41800000 {
+                       compatible = "fsl,imx6q-gpu";
+                       reg = <0x41800000 0x80000>, <0x41880000 0x80000>,
+                               <0x0 0x0>, <0x0 0x4000000>;
+                       reg-names = "iobase_3d", "iobase_2d",
+                               "phys_baseaddr", "contiguous_mem";
+                       interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
+                               <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "irq_3d", "irq_2d";
+                       clocks = <&clks IMX7ULP_CLK_GPU3D>,
+                               <&clks IMX7ULP_CLK_NIC1_DIV>,
+                               <&clks IMX7ULP_CLK_GPU_DIV>,
+                               <&clks IMX7ULP_CLK_GPU2D>,
+                               <&clks IMX7ULP_CLK_NIC1_DIV>,
+                               <&clks IMX7ULP_CLK_NIC1_DIV>;
+                       clock-names = "gpu3d_clk", "gpu3d_shader_clk",
+                               "gpu3d_axi_clk", "gpu2d_clk",
+                               "gpu2d_shader_clk", "gpu2d_axi_clk";
+               };
+       };
+};