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