1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2015-2016 MediaTek Inc.
4  * Author: Yong Wu <yong.wu@mediatek.com>
5  */
6 #ifndef MTK_IOMMU_SMI_H
7 #define MTK_IOMMU_SMI_H
8 
9 #include <linux/bitops.h>
10 #include <linux/device.h>
11 
12 #if IS_ENABLED(CONFIG_MTK_SMI)
13 
14 enum iommu_atf_cmd {
15 	IOMMU_ATF_CMD_CONFIG_SMI_LARB,		/* For mm master to en/disable iommu */
16 	IOMMU_ATF_CMD_CONFIG_INFRA_IOMMU,	/* For infra master to enable iommu */
17 	IOMMU_ATF_CMD_MAX,
18 };
19 
20 #define MTK_SMI_MMU_EN(port)	BIT(port)
21 
22 struct mtk_smi_larb_iommu {
23 	struct device *dev;
24 	unsigned int   mmu;
25 	unsigned char  bank[32];
26 };
27 
28 #endif
29 
30 #endif
31