imx6ul/imx6ull: synchronise device trees with linux
[platform/kernel/u-boot.git] / arch / arm / dts / imx6ul.dtsi
index ad9cb37..afeec01 100644 (file)
                sai1 = &sai1;
                sai2 = &sai2;
                sai3 = &sai3;
-               spi0 = &qspi;
-               spi1 = &ecspi1;
-               spi2 = &ecspi2;
-               spi3 = &ecspi3;
-               spi4 = &ecspi4;
-               usbphy0 = &usbphy1;
-               usbphy1 = &usbphy2;
+               spi0 = &ecspi1;
+               spi1 = &ecspi2;
+               spi2 = &ecspi3;
+               spi3 = &ecspi4;
                usb0 = &usbotg1;
                usb1 = &usbotg2;
+               usbphy0 = &usbphy1;
+               usbphy1 = &usbphy2;
        };
 
        cpus {
@@ -62,6 +61,7 @@
                        compatible = "arm,cortex-a7";
                        device_type = "cpu";
                        reg = <0>;
+                       clock-frequency = <696000000>;
                        clock-latency = <61036>; /* two CLK32 periods */
                        #cooling-cells = <2>;
                        operating-points = <
                };
        };
 
-       intc: interrupt-controller@a01000 {
-               compatible = "arm,gic-400", "arm,cortex-a7-gic";
-               interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
-               #interrupt-cells = <3>;
-               interrupt-controller;
-               interrupt-parent = <&intc>;
-               reg = <0x00a01000 0x1000>,
-                     <0x00a02000 0x2000>,
-                     <0x00a04000 0x2000>,
-                     <0x00a06000 0x2000>;
-       };
-
        timer {
                compatible = "arm,armv7-timer";
                interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
                clock-output-names = "ipp_di1";
        };
 
-       tempmon: tempmon {
-               compatible = "fsl,imx6ul-tempmon", "fsl,imx6sx-tempmon";
-               interrupt-parent = <&gpc>;
-               interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
-               fsl,tempmon = <&anatop>;
-               nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
-               nvmem-cell-names = "calib", "temp_grade";
-               clocks = <&clks IMX6UL_CLK_PLL3_USB_OTG>;
-       };
-
        pmu {
                compatible = "arm,cortex-a7-pmu";
                interrupt-parent = <&gpc>;
                        reg = <0x00900000 0x20000>;
                };
 
+               intc: interrupt-controller@a01000 {
+                       compatible = "arm,gic-400", "arm,cortex-a7-gic";
+                       interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
+                       #interrupt-cells = <3>;
+                       interrupt-controller;
+                       interrupt-parent = <&intc>;
+                       reg = <0x00a01000 0x1000>,
+                             <0x00a02000 0x2000>,
+                             <0x00a04000 0x2000>,
+                             <0x00a06000 0x2000>;
+               };
+
                dma_apbh: dma-apbh@1804000 {
                        compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
                        reg = <0x01804000 0x2000>;
                        clocks = <&clks IMX6UL_CLK_APBHDMA>;
                };
 
-               gpmi: gpmi-nand@1806000 {
+               gpmi: nand-controller@1806000 {
                        compatible = "fsl,imx6q-gpmi-nand";
                        #address-cells = <1>;
                        #size-cells = <1>;
                                        clocks = <&clks IMX6UL_CLK_ECSPI1>,
                                                 <&clks IMX6UL_CLK_ECSPI1>;
                                        clock-names = "ipg", "per";
+                                       dmas = <&sdma 3 7 1>, <&sdma 4 7 2>;
+                                       dma-names = "rx", "tx";
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6UL_CLK_ECSPI2>,
                                                 <&clks IMX6UL_CLK_ECSPI2>;
                                        clock-names = "ipg", "per";
+                                       dmas = <&sdma 5 7 1>, <&sdma 6 7 2>;
+                                       dma-names = "rx", "tx";
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6UL_CLK_ECSPI3>,
                                                 <&clks IMX6UL_CLK_ECSPI3>;
                                        clock-names = "ipg", "per";
+                                       dmas = <&sdma 7 7 1>, <&sdma 8 7 2>;
+                                       dma-names = "rx", "tx";
                                        status = "disabled";
                                };
 
                                        clocks = <&clks IMX6UL_CLK_ECSPI4>,
                                                 <&clks IMX6UL_CLK_ECSPI4>;
                                        clock-names = "ipg", "per";
+                                       dmas = <&sdma 9 7 1>, <&sdma 10 7 2>;
+                                       dma-names = "rx", "tx";
                                        status = "disabled";
                                };
 
                                        dma-names = "rx", "tx";
                                        status = "disabled";
                                };
+
+                               asrc: asrc@2034000 {
+                                       compatible = "fsl,imx6ul-asrc", "fsl,imx53-asrc";
+                                       reg = <0x2034000 0x4000>;
+                                       interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+                                       clocks = <&clks IMX6UL_CLK_ASRC_IPG>,
+                                               <&clks IMX6UL_CLK_ASRC_MEM>, <&clks 0>,
+                                               <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
+                                               <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
+                                               <&clks 0>, <&clks 0>, <&clks 0>, <&clks 0>,
+                                               <&clks IMX6UL_CLK_SPDIF>, <&clks 0>, <&clks 0>,
+                                               <&clks IMX6UL_CLK_SPBA>;
+                                       clock-names = "mem", "ipg", "asrck_0",
+                                               "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";
+                                       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",
+                                                   "txa", "txb", "txc";
+                                       fsl,asrc-rate  = <48000>;
+                                       fsl,asrc-width = <16>;
+                                       status = "okay";
+                               };
                        };
 
                        tsc: tsc@2040000 {
                                clocks = <&clks IMX6UL_CLK_PWM1>,
                                         <&clks IMX6UL_CLK_PWM1>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
 
                                clocks = <&clks IMX6UL_CLK_PWM2>,
                                         <&clks IMX6UL_CLK_PWM2>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
 
                                clocks = <&clks IMX6UL_CLK_PWM3>,
                                         <&clks IMX6UL_CLK_PWM3>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
 
                                clocks = <&clks IMX6UL_CLK_PWM4>,
                                         <&clks IMX6UL_CLK_PWM4>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
 
-                       can1: flexcan@2090000 {
+                       can1: can@2090000 {
                                compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
                                reg = <0x02090000 0x4000>;
                                interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6UL_CLK_CAN1_IPG>,
                                         <&clks IMX6UL_CLK_CAN1_SERIAL>;
                                clock-names = "ipg", "per";
-                               fsl,stop-mode = <&gpr 0x10 1 0x10 17>;
+                               fsl,stop-mode = <&gpr 0x10 1>;
                                status = "disabled";
                        };
 
-                       can2: flexcan@2094000 {
+                       can2: can@2094000 {
                                compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
                                reg = <0x02094000 0x4000>;
                                interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6UL_CLK_CAN2_IPG>,
                                         <&clks IMX6UL_CLK_CAN2_SERIAL>;
                                clock-names = "ipg", "per";
-                               fsl,stop-mode = <&gpr 0x10 2 0x10 18>;
+                               fsl,stop-mode = <&gpr 0x10 2>;
                                status = "disabled";
                        };
 
-                       gpt1: gpt@2098000 {
+                       gpt1: timer@2098000 {
                                compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
                                reg = <0x02098000 0x4000>;
                                interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
                                         <&clks IMX6UL_CLK_ENET2_REF_125M>;
                                clock-names = "ipg", "ahb", "ptp",
                                              "enet_clk_ref", "enet_out";
-                               fsl,num-tx-queues=<1>;
-                               fsl,num-rx-queues=<1>;
+                               fsl,num-tx-queues = <1>;
+                               fsl,num-rx-queues = <1>;
+                               fsl,stop-mode = <&gpr 0x10 4>;
+                               fsl,magic-packet;
                                status = "disabled";
                        };
 
-                       kpp: kpp@20b8000 {
+                       kpp: keypad@20b8000 {
                                compatible = "fsl,imx6ul-kpp", "fsl,imx6q-kpp", "fsl,imx21-kpp";
                                reg = <0x020b8000 0x4000>;
                                interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       wdog1: wdog@20bc000 {
+                       wdog1: watchdog@20bc000 {
                                compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
                                reg = <0x020bc000 0x4000>;
                                interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6UL_CLK_WDOG1>;
                        };
 
-                       wdog2: wdog@20c0000 {
+                       wdog2: watchdog@20c0000 {
                                compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
                                reg = <0x020c0000 0x4000>;
                                interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       clks: ccm@20c4000 {
+                       clks: clock-controller@20c4000 {
                                compatible = "fsl,imx6ul-ccm";
                                reg = <0x020c4000 0x4000>;
                                interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
 
                        anatop: anatop@20c8000 {
                                compatible = "fsl,imx6ul-anatop", "fsl,imx6q-anatop",
-                                            "syscon", "simple-bus";
+                                            "syscon", "simple-mfd";
                                reg = <0x020c8000 0x1000>;
                                interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
                                             <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
                                        anatop-min-voltage = <725000>;
                                        anatop-max-voltage = <1450000>;
                                };
+
+                               tempmon: tempmon {
+                                       compatible = "fsl,imx6ul-tempmon", "fsl,imx6sx-tempmon";
+                                       interrupt-parent = <&gpc>;
+                                       interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+                                       fsl,tempmon = <&anatop>;
+                                       nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
+                                       nvmem-cell-names = "calib", "temp_grade";
+                                       clocks = <&clks IMX6UL_CLK_PLL3_USB_OTG>;
+                               };
                        };
 
                        usbphy1: usbphy@20c9000 {
                                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                                        linux,keycode = <KEY_POWER>;
                                        wakeup-source;
+                                       status = "disabled";
                                };
 
                                snvs_lpgpr: snvs-lpgpr {
                                interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       src: src@20d8000 {
+                       src: reset-controller@20d8000 {
                                compatible = "fsl,imx6ul-src", "fsl,imx51-src";
                                reg = <0x020d8000 0x4000>;
                                interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
                                interrupt-parent = <&intc>;
                        };
 
-                       iomuxc: iomuxc@20e0000 {
+                       iomuxc: pinctrl@20e0000 {
                                compatible = "fsl,imx6ul-iomuxc";
                                reg = <0x020e0000 0x4000>;
                        };
                                reg = <0x020e4000 0x4000>;
                        };
 
-                       gpt2: gpt@20e8000 {
+                       gpt2: timer@20e8000 {
                                compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
                                reg = <0x020e8000 0x4000>;
                                interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6UL_CLK_GPT2_BUS>,
                                         <&clks IMX6UL_CLK_GPT2_SERIAL>;
                                clock-names = "ipg", "per";
+                               status = "disabled";
                        };
 
                        sdma: sdma@20ec000 {
                                clocks = <&clks IMX6UL_CLK_PWM5>,
                                         <&clks IMX6UL_CLK_PWM5>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
 
                                clocks = <&clks IMX6UL_CLK_PWM6>,
                                         <&clks IMX6UL_CLK_PWM6>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
 
                                clocks = <&clks IMX6UL_CLK_PWM7>,
                                         <&clks IMX6UL_CLK_PWM7>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
 
                                clocks = <&clks IMX6UL_CLK_PWM8>,
                                         <&clks IMX6UL_CLK_PWM8>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
                };
                        reg = <0x02100000 0x100000>;
                        ranges;
 
-                       crypto: caam@2140000 {
+                       crypto: crypto@2140000 {
                                compatible = "fsl,imx6ul-caam", "fsl,sec-v4.0";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                         <&clks IMX6UL_CLK_CAAM_MEM>;
                                clock-names = "ipg", "aclk", "mem";
 
-                               sec_jr0: jr0@1000 {
+                               sec_jr0: jr@1000 {
                                        compatible = "fsl,sec-v4.0-job-ring";
                                        reg = <0x1000 0x1000>;
                                        interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
                                };
 
-                               sec_jr1: jr1@2000 {
+                               sec_jr1: jr@2000 {
                                        compatible = "fsl,sec-v4.0-job-ring";
                                        reg = <0x2000 0x1000>;
                                        interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
                                };
 
-                               sec_jr2: jr2@3000 {
+                               sec_jr2: jr@3000 {
                                        compatible = "fsl,sec-v4.0-job-ring";
                                        reg = <0x3000 0x1000>;
                                        interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
                                         <&clks IMX6UL_CLK_ENET_REF>;
                                clock-names = "ipg", "ahb", "ptp",
                                              "enet_clk_ref", "enet_out";
-                               fsl,num-tx-queues=<1>;
-                               fsl,num-rx-queues=<1>;
+                               fsl,num-tx-queues = <1>;
+                               fsl,num-rx-queues = <1>;
+                               fsl,stop-mode = <&gpr 0x10 3>;
+                               fsl,magic-packet;
                                status = "disabled";
                        };
 
-                       usdhc1: usdhc@2190000 {
+                       usdhc1: mmc@2190000 {
                                compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
                                reg = <0x02190000 0x4000>;
                                interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
                                         <&clks IMX6UL_CLK_USDHC1>,
                                         <&clks IMX6UL_CLK_USDHC1>;
                                clock-names = "ipg", "ahb", "per";
+                               fsl,tuning-step = <2>;
+                               fsl,tuning-start-tap = <20>;
                                bus-width = <4>;
                                status = "disabled";
                        };
 
-                       usdhc2: usdhc@2194000 {
+                       usdhc2: mmc@2194000 {
                                compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
                                reg = <0x02194000 0x4000>;
                                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
                                         <&clks IMX6UL_CLK_USDHC2>;
                                clock-names = "ipg", "ahb", "per";
                                bus-width = <4>;
+                               fsl,tuning-step = <2>;
+                               fsl,tuning-start-tap = <20>;
                                status = "disabled";
                        };
 
                                status = "disabled";
                        };
 
-                       ocotp: ocotp-ctrl@21bc000 {
+                       ocotp: efuse@21bc000 {
                                #address-cells = <1>;
                                #size-cells = <1>;
                                compatible = "fsl,imx6ul-ocotp", "syscon";
                                };
                        };
 
+                       csi: csi@21c4000 {
+                               compatible = "fsl,imx6ul-csi", "fsl,imx7-csi";
+                               reg = <0x021c4000 0x4000>;
+                               interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6UL_CLK_CSI>;
+                               clock-names = "mclk";
+                               status = "disabled";
+                       };
+
                        lcdif: lcdif@21c8000 {
                                compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
                                reg = <0x021c8000 0x4000>;
                                status = "disabled";
                        };
 
+                       pxp: pxp@21cc000 {
+                               compatible = "fsl,imx6ul-pxp";
+                               reg = <0x021cc000 0x4000>;
+                               interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks IMX6UL_CLK_PXP>;
+                               clock-names = "axi";
+                       };
+
                        qspi: spi@21e0000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                status = "disabled";
                        };
 
-                       wdog3: wdog@21e4000 {
+                       wdog3: watchdog@21e4000 {
                                compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
                                reg = <0x021e4000 0x4000>;
                                interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;