]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - rpmsg/remoteproc.git/commitdiff
Merge branch 'iommu-linux-4.19.y' of git://git.ti.com/rpmsg/iommu into rproc-linux...
authorSuman Anna <s-anna@ti.com>
Mon, 4 Mar 2019 16:00:31 +0000 (10:00 -0600)
committerSuman Anna <s-anna@ti.com>
Mon, 4 Mar 2019 16:00:59 +0000 (10:00 -0600)
Pull in the iommu tree into the remoteproc tree, since this is a minimum
for bringing up the OMAP remote processors successfully. This iommu merge
pulls in couple of minor cleanups and the basic OMAP IOMMU driver support
for all the IPU and DSP MMUs present on DRA7xx/AM57xx SoC families. The
merge includes fixes to restore the functionality on OMAP4 and OMAP5 SoCs
due to the clkctrl changes, and also adds the clkctrl clocks and nodes for
DRA7 remote processors. The MMUs are enabled in the common base dra7 dts
files, so are supported on all applicable DRA7xx/AM57xx boards automatically.

The base support for IPU and DSP MMUs on OMAP4 and OMAP5 SoC families, and
the necessary DPLL clock configuration of the clocks required for various
remoteproc devices on OMAP4/OMAP5 and DRA7 SoCs are all upstream.

* 'iommu-linux-4.19.y' of git://git.ti.com/rpmsg/iommu:
  ARM: dts: dra74x: Enable DSP2 IOMMU nodes
  ARM: dts: dra7: Enable common IPU and DSP IOMMU nodes
  ARM: OMAP2+: Extend iommu pdata-quirks to DRA74x DSP2
  ARM: OMAP2+: Extend iommu pdata-quirks to DRA7 IPUs & DSP1
  ARM: DRA7: hwmod data: Add MMU data for DSPs
  ARM: DRA7: hwmod data: Add MMU data for IPUs
  ARM: dts: dra7: Add clkctrl nodes for IPU and DSP remote processors
  clk: ti: dra7: add clkctrl data for remote processor clocks
  dt-bindings: clk: add dra7 remotecore clkctrl definitions
  clk: ti: omap5: Drop idlest polling from IPU & DSP clkctrl clocks
  clk: ti: omap4: Drop idlest polling from IPU & DSP clkctrl clocks
  ARM: OMAP2+: hwmod_core: improve the support for clkctrl clocks
  iommu/omap: Use the correct type for SLAB_HWCACHE_ALIGN
  iommu/omap: Remove DEBUG_SEQ_FOPS_RO()

Signed-off-by: Suman Anna <s-anna@ti.com>
1  2 
arch/arm/boot/dts/dra7.dtsi
arch/arm/mach-omap2/omap_hwmod_7xx_data.c
arch/arm/mach-omap2/pdata-quirks.c

index 812355048db8d11e1443fbb1ba75ab5c9b6fd5a9,41d4977b452a5a7b680188264cbb2ba1fd895945..865654b08ba1de9fd75de8517272ced32e1c3e3c
                        ti,hwmods = "mmu_ipu2";
                        #iommu-cells = <0>;
                        ti,iommu-bus-err-back;
-                       status = "disabled";
                };
  
 +              pruss_soc_bus1: pruss-soc-bus@4b226004 {
 +                      compatible = "ti,am5728-pruss-soc-bus";
 +                      reg = <0x4b226004 0x4>;
 +                      ti,hwmods = "pruss1";
 +                      #address-cells = <1>;
 +                      #size-cells = <1>;
 +                      ranges;
 +                      status = "disabled";
 +
 +                      pruss1: pruss@4b200000 {
 +                              compatible = "ti,am5728-pruss";
 +                              reg = <0x4b200000 0x80000>;
 +                              interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "host2", "host3", "host4",
 +                                                "host5", "host6", "host7",
 +                                                "host8", "host9";
 +                              #address-cells = <1>;
 +                              #size-cells = <1>;
 +                              ranges;
 +                              status = "disabled";
 +
 +                              pruss1_mem: memories@4b200000 {
 +                                      reg = <0x4b200000 0x2000>,
 +                                            <0x4b202000 0x2000>,
 +                                            <0x4b210000 0x8000>;
 +                                      reg-names = "dram0", "dram1",
 +                                                  "shrdram2";
 +                              };
 +
 +                              pruss1_cfg: cfg@4b226000 {
 +                                      compatible = "syscon";
 +                                      reg = <0x4b226000 0x2000>;
 +                              };
 +
 +                              pruss1_iep: iep@4b22e000 {
 +                                      compatible = "syscon";
 +                                      reg = <0x4b22e000 0x31c>;
 +                              };
 +
 +                              pruss1_mii_rt: mii-rt@4b232000 {
 +                                      compatible = "syscon";
 +                                      reg = <0x4b232000 0x58>;
 +                              };
 +
 +                              pruss1_intc: interrupt-controller@4b220000 {
 +                                      compatible = "ti,am5728-pruss-intc";
 +                                      reg = <0x4b220000 0x2000>;
 +                                      interrupt-controller;
 +                                      #interrupt-cells = <1>;
 +                              };
 +
 +                              pru1_0: pru@4b234000 {
 +                                      compatible = "ti,am5728-pru";
 +                                      reg = <0x4b234000 0x3000>,
 +                                            <0x4b222000 0x400>,
 +                                            <0x4b222400 0x100>;
 +                                      reg-names = "iram", "control", "debug";
 +                                      firmware-name = "am57xx-pru1_0-fw";
 +                                      interrupt-parent = <&pruss1_intc>;
 +                                      interrupts = <16>, <17>;
 +                                      interrupt-names = "vring", "kick";
 +                              };
 +
 +                              pru1_1: pru@4b238000 {
 +                                      compatible = "ti,am5728-pru";
 +                                      reg = <0x4b238000 0x3000>,
 +                                            <0x4b224000 0x400>,
 +                                            <0x4b224400 0x100>;
 +                                      reg-names = "iram", "control", "debug";
 +                                      firmware-name = "am57xx-pru1_1-fw";
 +                                      interrupt-parent = <&pruss1_intc>;
 +                                      interrupts = <18>, <19>;
 +                                      interrupt-names = "vring", "kick";
 +                              };
 +
 +                              pruss1_mdio: mdio@4b232400 {
 +                                      compatible = "ti,davinci_mdio";
 +                                      reg = <0x4b232400 0x90>;
 +                                      #address-cells = <1>;
 +                                      #size-cells = <0>;
 +                                      clocks = <&dpll_gmac_h13x2_ck>;
 +                                      clock-names = "fck";
 +                                      bus_freq = <1000000>;
 +                                      status = "disabled";
 +                              };
 +                      };
 +              };
 +
 +              pruss_soc_bus2: pruss-soc-bus@4b2a6004 {
 +                      compatible = "ti,am5728-pruss-soc-bus";
 +                      reg = <0x4b2a6004 0x4>;
 +                      ti,hwmods = "pruss2";
 +                      #address-cells = <1>;
 +                      #size-cells = <1>;
 +                      ranges;
 +                      status = "disabled";
 +
 +                      pruss2: pruss@4b280000 {
 +                              compatible = "ti,am5728-pruss";
 +                              reg = <0x4b280000 0x80000>;
 +                              interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
 +                                           <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
 +                              interrupt-names = "host2", "host3", "host4",
 +                                                "host5", "host6", "host7",
 +                                                "host8", "host9";
 +                              #address-cells = <1>;
 +                              #size-cells = <1>;
 +                              ranges;
 +                              status = "disabled";
 +
 +                              pruss2_mem: memories@4b280000 {
 +                                      reg = <0x4b280000 0x2000>,
 +                                            <0x4b282000 0x2000>,
 +                                            <0x4b290000 0x8000>;
 +                                      reg-names = "dram0", "dram1",
 +                                                  "shrdram2";
 +                              };
 +
 +                              pruss2_cfg: cfg@4b2a6000 {
 +                                      compatible = "syscon";
 +                                      reg = <0x4b2a6000 0x2000>;
 +                              };
 +
 +                              pruss2_iep: iep@4b2ae000 {
 +                                      compatible = "syscon";
 +                                      reg = <0x4b2ae000 0x31c>;
 +                              };
 +
 +                              pruss2_mii_rt: mii-rt@4b2b2000 {
 +                                      compatible = "syscon";
 +                                      reg = <0x4b2b2000 0x58>;
 +                              };
 +
 +                              pruss2_intc: interrupt-controller@4b2a0000 {
 +                                      compatible = "ti,am5728-pruss-intc";
 +                                      reg = <0x4b2a0000 0x2000>;
 +                                      interrupt-controller;
 +                                      #interrupt-cells = <1>;
 +                              };
 +
 +                              pru2_0: pru@4b2b4000 {
 +                                      compatible = "ti,am5728-pru";
 +                                      reg = <0x4b2b4000 0x3000>,
 +                                            <0x4b2a2000 0x400>,
 +                                            <0x4b2a2400 0x100>;
 +                                      reg-names = "iram", "control", "debug";
 +                                      firmware-name = "am57xx-pru2_0-fw";
 +                                      interrupt-parent = <&pruss2_intc>;
 +                                      interrupts = <16>, <17>;
 +                                      interrupt-names = "vring", "kick";
 +                              };
 +
 +                              pru2_1: pru@4b2b8000 {
 +                                      compatible = "ti,am5728-pru";
 +                                      reg = <0x4b2b8000 0x3000>,
 +                                            <0x4b2a4000 0x400>,
 +                                            <0x4b2a4400 0x100>;
 +                                      reg-names = "iram", "control", "debug";
 +                                      firmware-name = "am57xx-pru2_1-fw";
 +                                      interrupt-parent = <&pruss2_intc>;
 +                                      interrupts = <18>, <19>;
 +                                      interrupt-names = "vring", "kick";
 +                              };
 +
 +                              pruss2_mdio: mdio@4b2b2400 {
 +                                      compatible = "ti,davinci_mdio";
 +                                      reg = <0x4b2b2400 0x90>;
 +                                      #address-cells = <1>;
 +                                      #size-cells = <0>;
 +                                      clocks = <&dpll_gmac_h13x2_ck>;
 +                                      clock-names = "fck";
 +                                      bus_freq = <1000000>;
 +                                      status = "disabled";
 +                              };
 +                      };
 +              };
 +
                abb_mpu: regulator-abb-mpu {
                        compatible = "ti,abb-v3";
                        regulator-name = "abb_mpu";
Simple merge