Currently, the only way to have an unmanaged domain for a device is having a dedicated iova region or bank. This adds a new bit to MTK_M4U_ID that allows defining devices that needs unmanaged iommu domain. Signed-off-by: Alexandre Bailon <abailon@xxxxxxxxxxxx> --- include/dt-bindings/memory/mtk-memory-port.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/dt-bindings/memory/mtk-memory-port.h b/include/dt-bindings/memory/mtk-memory-port.h index 2f68a0511a257..86896c776691a 100644 --- a/include/dt-bindings/memory/mtk-memory-port.h +++ b/include/dt-bindings/memory/mtk-memory-port.h @@ -7,11 +7,14 @@ #define __DT_BINDINGS_MEMORY_MTK_MEMORY_PORT_H_ #define MTK_LARB_NR_MAX 32 +#define MTK_UNMANAGED_DEVICE (1 << 31) #define MTK_M4U_ID(larb, port) (((larb) << 5) | (port)) #define MTK_M4U_TO_LARB(id) (((id) >> 5) & 0x1f) #define MTK_M4U_TO_PORT(id) ((id) & 0x1f) +#define MTK_M4U_UNMANAGED(id) ((id) & MTK_UNMANAGED_DEVICE) #define MTK_IFAIOMMU_PERI_ID(port) MTK_M4U_ID(0, port) +#define MTK_M4U_UNMANAGED_ID(larb, port) (MTK_M4U_ID(larb, port) | MTK_UNMANAGED_DEVICE) #endif -- 2.38.2