Hi Joerg, Tony, This is an updated series of the OMAP IOMMU DT adaptation intended for 3.15 merge window, addressing the comments from the v2 series. This series is rebased onto 3.14-rc4, and the only change to bindings is to drop the dma-window property. The first 7 patches in the series are in drivers/iommu, with the first 3 patches performing some cleanup. The DT bindings and adaptation are done in patches 4 and 5. Tony, Patches 8 through 13 are in arch/arm/mach-omap2 layer, so I am guessing these would have to go through your tree. Of these, patches 8 and 9 are cleanup fixes to get OMAP3 IVA MMU working, patches 10 & 11 are fixes required with DT-boot for OMAP3/4, patches 12 & 13 add the OMAP5 support. I have validated the functionality of all the different IOMMUs on OMAP3 (legacy and DT-boots), OMAP4 and OMAP5 (DT boot only). The full branch including the DTS patches used to test is here for reference, https://github.com/sumananna/omap-kernel/commits/iommu/3.14-rc4-dt-support-v3 Detailed changes in v3: - Updated patch for fixing return errors in omap_iommu_attach (Patch 2) - Updated bindings document and driver DT support patch to remove the dma-window property (Patches 4 and 5) - Updated the OMAP3 ISP archdata to support both legacy and DT boots (Patch 10). This patch is reworked completely w.r.t v2. - All the remaining patches are unchanged (Patches 1, 3, 6 through 9, 11 through 13), other than the addition of the Acked-by received on the respective patches. Patches 3 and 9 are reordered compared to previous version. - Dropped Patches 14 through 16 from previous series until OMAP3 is also converted to DT-only. These dealt with the cleanup of code used in legacy boot. v2: http://marc.info/?l=linux-omap&m=139231544416973&w=2 - Cleanup of driver probe/release to use devm_ interfaces (Patch 1) - The DT bindings are split into a separate patch, and updated based on discussion on v1 [1] (Patch 3) - Updated DT adaptation patch with improved error checking, and support for DRA7 compatible IOMMUs in the driver (Patch 4) - Added support for throwing a bus error response back to the processor cores on MMUs associated with IPUs (Patch 5) - Added preliminary support to DT-based IOMMU users (Patch 6) - Added preparatory patches to enable and use the hwmod for IVA MMU on OMAP3 (Patches 8 and 11) - Adapt the OMAP3 ISP archdata to support DT boot (Patch 9). Legacy mode will not work after this patch, and this will be cleaned up anyway once OMAP3ISP is converted to a DT node. - Reset functionality enablement with DT-boots using pdata quirks for OMAP3 IVA, OMAP4 and OMAP5 DSP & IPU MMUs (Patches 10, 13) - Added the basic hwmod data for OMAP5 iommus (Patch 12) - Clean up the iommu hwmod data and remove the legacy file for creating IOMMU devices (Patches 14, 15, 16). - Dropped the "iommu/omap: Do bus_set_iommu() only if probe() succeeds" patch from previous series. - Dropped the OMAP3 ISP MMU DTS patch (posting separately). v1: - Couple of cleanup and initial DT adaptation for OMAP3 ISP. http://marc.info/?l=linux-omap&m=138728485600624&w=2 Florian Vaussard (4): iommu/omap: allow enable/disable even without pdata Documentation: dt: add OMAP iommu bindings iommu/omap: add devicetree support ARM: OMAP3: remove deprecated CONFIG_OMAP_IOMMU_IVA2 Laurent Pinchart (1): iommu/omap: allocate archdata on the fly for DT-based devices Suman Anna (8): iommu/omap: convert to devm_* interfaces iommu/omap: fix error return paths in omap_iommu_attach() iommu/omap: enable bus-error back on supported iommus ARM: OMAP3: fix iva mmu programming issues ARM: OMAP2+: change the ISP device archdata MMU name for DT ARM: OMAP2+: use pdata quirks for iommu reset lines ARM: OMAP5: hwmod data: add mmu data for ipu & dsp ARM: OMAP2+: extend iommu pdata-quirks to OMAP5 .../devicetree/bindings/iommu/ti,omap-iommu.txt | 26 ++++ arch/arm/mach-omap2/clockdomains3xxx_data.c | 2 +- arch/arm/mach-omap2/devices.c | 3 + arch/arm/mach-omap2/omap-iommu.c | 5 + arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 +- arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 83 +++++++++++ arch/arm/mach-omap2/pdata-quirks.c | 24 ++++ arch/arm/plat-omap/Kconfig | 3 - drivers/iommu/omap-iommu.c | 159 +++++++++++++-------- drivers/iommu/omap-iommu.h | 5 + drivers/iommu/omap-iommu2.c | 3 + 11 files changed, 256 insertions(+), 69 deletions(-) create mode 100644 Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html