summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/iommu/fsl_pamu.c19
-rw-r--r--include/linux/iommu.h3
2 files changed, 22 insertions, 0 deletions
diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c
index e85c039..4d466d6 100644
--- a/drivers/iommu/fsl_pamu.c
+++ b/drivers/iommu/fsl_pamu.c
@@ -707,7 +707,26 @@ static void __init setup_omt(struct ome *omt)
ome->moe[IOE_DIRECT0_IDX] = EOE_LDEC | EOE_VALID;
ome->moe[IOE_DIRECT1_IDX] = EOE_LDEC | EOE_VALID;
+ /* Configure OMI_DMA */
+ ome = &omt[OMI_DMA];
+ ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_RSA;
+ ome->moe[IOE_EREAD0_IDX] = EOE_VALID | EOE_RSA;
+ ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WWSA;
+ ome->moe[IOE_EWRITE0_IDX] = EOE_VALID | EOE_WWSA;
+
+ /* Configure OMI_DMA_READI */
+ ome = &omt[OMI_DMA_READI];
+ ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_READI;
+ ome->moe[IOE_EREAD0_IDX] = EOE_VALID | EOE_READI;
+ ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WWSA;
+ ome->moe[IOE_EWRITE0_IDX] = EOE_VALID | EOE_WWSA;
+ /* Configure OMI_MAPLE */
+ ome = &omt[OMI_MAPLE];
+ ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_RSA;
+ ome->moe[IOE_EREAD0_IDX] = EOE_VALID | EOE_RSA;
+ ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WWSA;
+ ome->moe[IOE_EWRITE0_IDX] = EOE_VALID | EOE_WWSA;
}
/*
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 42a2508..5153c0c 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -89,6 +89,9 @@ enum omap_index {
OMI_QMAN_PRIV,
OMI_CAAM,
OMI_PMAN,
+ OMI_DMA,
+ OMI_DMA_READI,
+ OMI_MAPLE,
OMI_MAX,
};