Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f538c509 authored by Thierry Reding's avatar Thierry Reding
Browse files

Merge branch 'for-3.19/iommu' into for-3.19/dt

parents 0df1f248 89184651
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
NVIDIA Tegra Memory Controller device tree bindings
===================================================

Required properties:
- compatible: Should be "nvidia,tegra<chip>-mc"
- reg: Physical base address and length of the controller's registers.
- clocks: Must contain an entry for each entry in clock-names.
  See ../clocks/clock-bindings.txt for details.
- clock-names: Must include the following entries:
  - mc: the module's clock input
- interrupts: The interrupt outputs from the controller.
- #iommu-cells: Should be 1. The single cell of the IOMMU specifier defines
  the SWGROUP of the master.

This device implements an IOMMU that complies with the generic IOMMU binding.
See ../iommu/iommu.txt for details.

Example:
--------

	mc: memory-controller@0,70019000 {
		compatible = "nvidia,tegra124-mc";
		reg = <0x0 0x70019000 0x0 0x1000>;
		clocks = <&tegra_car TEGRA124_CLK_MC>;
		clock-names = "mc";

		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;

		#iommu-cells = <1>;
	};

	sdhci@0,700b0000 {
		compatible = "nvidia,tegra124-sdhci";
		...
		iommus = <&mc TEGRA_SWGROUP_SDMMC1A>;
	};
+0 −3
Original line number Diff line number Diff line
@@ -1259,9 +1259,6 @@ source "arch/arm/common/Kconfig"

menu "Bus support"

config ARM_AMBA
	bool

config ISA
	bool
	help
+1 −8
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ menuconfig ARCH_TEGRA
	bool "NVIDIA Tegra" if ARCH_MULTI_V7
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS
	select ARM_AMBA
	select ARM_GIC
	select CLKSRC_MMIO
	select HAVE_ARM_SCU if SMP
@@ -59,12 +60,4 @@ config ARCH_TEGRA_124_SOC
	  Support for NVIDIA Tegra T124 processor family, based on the
	  ARM CortexA15MP CPU

config TEGRA_AHB
	bool "Enable AHB driver for NVIDIA Tegra SoCs"
	default y
	help
	  Adds AHB configuration functionality for NVIDIA Tegra SoCs,
	  which controls AHB bus master arbitration and some
	  performance parameters(priority, prefech size).

endif
+0 −3
Original line number Diff line number Diff line
@@ -166,9 +166,6 @@ endmenu

menu "Bus support"

config ARM_AMBA
	bool

config PCI
	bool "PCI support"
	help
+10 −7
Original line number Diff line number Diff line
@@ -137,12 +137,15 @@ static inline void set_iommu_table_base_and_group(struct device *dev,
	iommu_add_device(dev);
}

extern int iommu_map_sg(struct device *dev, struct iommu_table *tbl,
extern int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
			    struct scatterlist *sglist, int nelems,
			unsigned long mask, enum dma_data_direction direction,
			    unsigned long mask,
			    enum dma_data_direction direction,
			    struct dma_attrs *attrs);
extern void iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist,
			   int nelems, enum dma_data_direction direction,
extern void ppc_iommu_unmap_sg(struct iommu_table *tbl,
			       struct scatterlist *sglist,
			       int nelems,
			       enum dma_data_direction direction,
			       struct dma_attrs *attrs);

extern void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
Loading