These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / arm / boot / dts / dra7.dtsi
index dfcc0dd..c2a03c7 100644 (file)
                                        reg = <0x0 0x1400>;
                                        #address-cells = <1>;
                                        #size-cells = <1>;
+                                       ranges = <0 0x0 0x1400>;
 
                                        pbias_regulator: pbias_regulator {
-                                               compatible = "ti,pbias-omap";
+                                               compatible = "ti,pbias-dra7", "ti,pbias-omap";
                                                reg = <0xe00 0x4>;
                                                syscon = <&scm_conf>;
                                                pbias_mmc_reg: pbias_mmc_omap5 {
                                                        regulator-max-microvolt = <3000000>;
                                                };
                                        };
+
+                                       scm_conf_clocks: clocks {
+                                               #address-cells = <1>;
+                                               #size-cells = <0>;
+                                       };
                                };
 
                                dra7_pmx_core: pinmux@1400 {
                                        compatible = "ti,dra7-padconf",
                                                     "pinctrl-single";
-                                       reg = <0x1400 0x0464>;
+                                       reg = <0x1400 0x0468>;
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        #interrupt-cells = <1>;
                                        pinctrl-single,register-width = <32>;
                                        pinctrl-single,function-mask = <0x3fffffff>;
                                };
+
+                               scm_conf1: scm_conf@1c04 {
+                                       compatible = "syscon";
+                                       reg = <0x1c04 0x0020>;
+                               };
                        };
 
                        cm_core_aon: cm_core_aon@5000 {
                        #address-cells = <1>;
                        ranges = <0x51000000 0x51000000 0x3000
                                  0x0        0x20000000 0x10000000>;
-                       pcie@51000000 {
+                       pcie1: pcie@51000000 {
                                compatible = "ti,dra7-pcie";
                                reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
                                reg-names = "rc_dbics", "ti_conf", "config";
                                #thermal-sensor-cells = <1>;
                };
 
-               dra7_ctrl_core: ctrl_core@4a002000 {
+               dsp1_system: dsp_system@40d00000 {
                        compatible = "syscon";
-                       reg = <0x4a002000 0x6d0>;
-               };
-
-               dra7_ctrl_general: tisyscon@4a002e00 {
-                       compatible = "syscon";
-                       reg = <0x4a002e00 0x7c>;
+                       reg = <0x40d00000 0x100>;
                };
 
                sdma: dma-controller@4a056000 {
                        dma-requests = <127>;
                };
 
+               sdma_xbar: dma-router@4a002b78 {
+                       compatible = "ti,dra7-dma-crossbar";
+                       reg = <0x4a002b78 0xfc>;
+                       #dma-cells = <1>;
+                       dma-requests = <205>;
+                       ti,dma-safe-map = <0>;
+                       dma-masters = <&sdma>;
+               };
+
                gpio1: gpio@4ae10000 {
                        compatible = "ti,omap4-gpio";
                        reg = <0x4ae10000 0x200>;
                };
 
                uart1: serial@4806a000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x4806a000 0x100>;
                        interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart1";
                        clock-frequency = <48000000>;
                        status = "disabled";
-                       dmas = <&sdma 49>, <&sdma 50>;
+                       dmas = <&sdma_xbar 49>, <&sdma_xbar 50>;
                        dma-names = "tx", "rx";
                };
 
                uart2: serial@4806c000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x4806c000 0x100>;
                        interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart2";
                        clock-frequency = <48000000>;
                        status = "disabled";
-                       dmas = <&sdma 51>, <&sdma 52>;
+                       dmas = <&sdma_xbar 51>, <&sdma_xbar 52>;
                        dma-names = "tx", "rx";
                };
 
                uart3: serial@48020000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x48020000 0x100>;
                        interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart3";
                        clock-frequency = <48000000>;
                        status = "disabled";
-                       dmas = <&sdma 53>, <&sdma 54>;
+                       dmas = <&sdma_xbar 53>, <&sdma_xbar 54>;
                        dma-names = "tx", "rx";
                };
 
                uart4: serial@4806e000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x4806e000 0x100>;
                        interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart4";
                        clock-frequency = <48000000>;
                         status = "disabled";
-                       dmas = <&sdma 55>, <&sdma 56>;
+                       dmas = <&sdma_xbar 55>, <&sdma_xbar 56>;
                        dma-names = "tx", "rx";
                };
 
                uart5: serial@48066000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x48066000 0x100>;
                        interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart5";
                        clock-frequency = <48000000>;
                        status = "disabled";
-                       dmas = <&sdma 63>, <&sdma 64>;
+                       dmas = <&sdma_xbar 63>, <&sdma_xbar 64>;
                        dma-names = "tx", "rx";
                };
 
                uart6: serial@48068000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x48068000 0x100>;
                        interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart6";
                        clock-frequency = <48000000>;
                        status = "disabled";
-                       dmas = <&sdma 79>, <&sdma 80>;
+                       dmas = <&sdma_xbar 79>, <&sdma_xbar 80>;
                        dma-names = "tx", "rx";
                };
 
                uart7: serial@48420000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x48420000 0x100>;
                        interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart7";
                };
 
                uart8: serial@48422000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x48422000 0x100>;
                        interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart8";
                };
 
                uart9: serial@48424000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x48424000 0x100>;
                        interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart9";
                };
 
                uart10: serial@4ae2b000 {
-                       compatible = "ti,omap4-uart";
+                       compatible = "ti,dra742-uart", "ti,omap4-uart";
                        reg = <0x4ae2b000 0x100>;
                        interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "uart10";
                        ti,hwmods = "mmc1";
                        ti,dual-volt;
                        ti,needs-special-reset;
-                       dmas = <&sdma 61>, <&sdma 62>;
+                       dmas = <&sdma_xbar 61>, <&sdma_xbar 62>;
                        dma-names = "tx", "rx";
                        status = "disabled";
                        pbias-supply = <&pbias_mmc_reg>;
                        interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "mmc2";
                        ti,needs-special-reset;
-                       dmas = <&sdma 47>, <&sdma 48>;
+                       dmas = <&sdma_xbar 47>, <&sdma_xbar 48>;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };
                        interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "mmc3";
                        ti,needs-special-reset;
-                       dmas = <&sdma 77>, <&sdma 78>;
+                       dmas = <&sdma_xbar 77>, <&sdma_xbar 78>;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };
                        interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "mmc4";
                        ti,needs-special-reset;
-                       dmas = <&sdma 57>, <&sdma 58>;
+                       dmas = <&sdma_xbar 57>, <&sdma_xbar 58>;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };
 
+               mmu0_dsp1: mmu@40d01000 {
+                       compatible = "ti,dra7-dsp-iommu";
+                       reg = <0x40d01000 0x100>;
+                       interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mmu0_dsp1";
+                       #iommu-cells = <0>;
+                       ti,syscon-mmuconfig = <&dsp1_system 0x0>;
+                       status = "disabled";
+               };
+
+               mmu1_dsp1: mmu@40d02000 {
+                       compatible = "ti,dra7-dsp-iommu";
+                       reg = <0x40d02000 0x100>;
+                       interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mmu1_dsp1";
+                       #iommu-cells = <0>;
+                       ti,syscon-mmuconfig = <&dsp1_system 0x1>;
+                       status = "disabled";
+               };
+
+               mmu_ipu1: mmu@58882000 {
+                       compatible = "ti,dra7-iommu";
+                       reg = <0x58882000 0x100>;
+                       interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mmu_ipu1";
+                       #iommu-cells = <0>;
+                       ti,iommu-bus-err-back;
+                       status = "disabled";
+               };
+
+               mmu_ipu2: mmu@55082000 {
+                       compatible = "ti,dra7-iommu";
+                       reg = <0x55082000 0x100>;
+                       interrupts = <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>;
+                       ti,hwmods = "mmu_ipu2";
+                       #iommu-cells = <0>;
+                       ti,iommu-bus-err-back;
+                       status = "disabled";
+               };
+
                abb_mpu: regulator-abb-mpu {
                        compatible = "ti,abb-v3";
                        regulator-name = "abb_mpu";
                        #size-cells = <0>;
                        ti,hwmods = "mcspi1";
                        ti,spi-num-cs = <4>;
-                       dmas = <&sdma 35>,
-                              <&sdma 36>,
-                              <&sdma 37>,
-                              <&sdma 38>,
-                              <&sdma 39>,
-                              <&sdma 40>,
-                              <&sdma 41>,
-                              <&sdma 42>;
+                       dmas = <&sdma_xbar 35>,
+                              <&sdma_xbar 36>,
+                              <&sdma_xbar 37>,
+                              <&sdma_xbar 38>,
+                              <&sdma_xbar 39>,
+                              <&sdma_xbar 40>,
+                              <&sdma_xbar 41>,
+                              <&sdma_xbar 42>;
                        dma-names = "tx0", "rx0", "tx1", "rx1",
                                    "tx2", "rx2", "tx3", "rx3";
                        status = "disabled";
                        #size-cells = <0>;
                        ti,hwmods = "mcspi2";
                        ti,spi-num-cs = <2>;
-                       dmas = <&sdma 43>,
-                              <&sdma 44>,
-                              <&sdma 45>,
-                              <&sdma 46>;
+                       dmas = <&sdma_xbar 43>,
+                              <&sdma_xbar 44>,
+                              <&sdma_xbar 45>,
+                              <&sdma_xbar 46>;
                        dma-names = "tx0", "rx0", "tx1", "rx1";
                        status = "disabled";
                };
                        #size-cells = <0>;
                        ti,hwmods = "mcspi3";
                        ti,spi-num-cs = <2>;
-                       dmas = <&sdma 15>, <&sdma 16>;
+                       dmas = <&sdma_xbar 15>, <&sdma_xbar 16>;
                        dma-names = "tx0", "rx0";
                        status = "disabled";
                };
                        #size-cells = <0>;
                        ti,hwmods = "mcspi4";
                        ti,spi-num-cs = <1>;
-                       dmas = <&sdma 70>, <&sdma 71>;
+                       dmas = <&sdma_xbar 70>, <&sdma_xbar 71>;
                        dma-names = "tx0", "rx0";
                        status = "disabled";
                };
                                ctrl-module = <&omap_control_sata>;
                                clocks = <&sys_clkin1>, <&sata_ref_clk>;
                                clock-names = "sysclk", "refclk";
+                               syscon-pllreset = <&scm_conf 0x3fc>;
                                #phy-cells = <0>;
                        };
 
                        usb1: usb@48890000 {
                                compatible = "snps,dwc3";
                                reg = <0x48890000 0x17000>;
-                               interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "peripheral",
+                                                 "host",
+                                                 "otg";
                                phys = <&usb2_phy1>, <&usb3_phy1>;
                                phy-names = "usb2-phy", "usb3-phy";
                                tx-fifo-resize;
                        usb2: usb@488d0000 {
                                compatible = "snps,dwc3";
                                reg = <0x488d0000 0x17000>;
-                               interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "peripheral",
+                                                 "host",
+                                                 "otg";
                                phys = <&usb2_phy2>;
                                phy-names = "usb2-phy";
                                tx-fifo-resize;
                        usb3: usb@48910000 {
                                compatible = "snps,dwc3";
                                reg = <0x48910000 0x17000>;
-                               interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "peripheral",
+                                                 "host",
+                                                 "otg";
                                tx-fifo-resize;
                                maximum-speed = "high-speed";
                                dr_mode = "otg";
                        status = "disabled";
                };
 
+               mcasp3: mcasp@48468000 {
+                       compatible = "ti,dra7-mcasp-audio";
+                       ti,hwmods = "mcasp3";
+                       reg = <0x48468000 0x2000>;
+                       reg-names = "mpu";
+                       interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "tx", "rx";
+                       dmas = <&sdma_xbar 133>, <&sdma_xbar 132>;
+                       dma-names = "tx", "rx";
+                       clocks = <&mcasp3_aux_gfclk_mux>, <&mcasp3_ahclkx_mux>;
+                       clock-names = "fck", "ahclkx";
+                       status = "disabled";
+               };
+
                crossbar_mpu: crossbar@4a002a48 {
                        compatible = "ti,irq-crossbar";
                        reg = <0x4a002a48 0x130>;
                        ti,irqs-safe-map = <0>;
                };
 
-               mac: ethernet@4a100000 {
-                       compatible = "ti,cpsw";
+               mac: ethernet@48484000 {
+                       compatible = "ti,dra7-cpsw","ti,cpsw";
                        ti,hwmods = "gmac";
                        clocks = <&dpll_gmac_ck>, <&gmac_gmii_ref_clk_div>;
                        clock-names = "fck", "cpts";
                               0x48485200 0x2E00>;
                        #address-cells = <1>;
                        #size-cells = <1>;
+
+                       /*
+                        * Do not allow gating of cpsw clock as workaround
+                        * for errata i877. Keeping internal clock disabled
+                        * causes the device switching characteristics
+                        * to degrade over time and eventually fail to meet
+                        * the data manual delay time/skew specs.
+                        */
+                       ti,no-idle;
+
                        /*
                         * rx_thresh_pend
                         * rx_pend
                                     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
                        ranges;
+                       syscon = <&scm_conf>;
                        status = "disabled";
 
                        davinci_mdio: mdio@48485000 {
                        clocks = <&sys_clkin1>;
                        status = "disabled";
                };
+
+               dss: dss@58000000 {
+                       compatible = "ti,dra7-dss";
+                       /* 'reg' defined in dra72x.dtsi and dra74x.dtsi */
+                       /* 'clocks' defined in dra72x.dtsi and dra74x.dtsi */
+                       status = "disabled";
+                       ti,hwmods = "dss_core";
+                       /* CTRL_CORE_DSS_PLL_CONTROL */
+                       syscon-pll-ctrl = <&scm_conf 0x538>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       dispc@58001000 {
+                               compatible = "ti,dra7-dispc";
+                               reg = <0x58001000 0x1000>;
+                               interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+                               ti,hwmods = "dss_dispc";
+                               clocks = <&dss_dss_clk>;
+                               clock-names = "fck";
+                               /* CTRL_CORE_SMA_SW_1 */
+                               syscon-pol = <&scm_conf 0x534>;
+                       };
+
+                       hdmi: encoder@58060000 {
+                               compatible = "ti,dra7-hdmi";
+                               reg = <0x58040000 0x200>,
+                                     <0x58040200 0x80>,
+                                     <0x58040300 0x80>,
+                                     <0x58060000 0x19000>;
+                               reg-names = "wp", "pll", "phy", "core";
+                               interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
+                               status = "disabled";
+                               ti,hwmods = "dss_hdmi";
+                               clocks = <&dss_48mhz_clk>, <&dss_hdmi_clk>;
+                               clock-names = "fck", "sys_clk";
+                       };
+               };
        };
 
        thermal_zones: thermal-zones {