1/* 2 * omap iommu: main structures 3 * 4 * Copyright (C) 2008-2009 Nokia Corporation 5 * 6 * Written by Hiroshi DOYU <Hiroshi.DOYU@nokia.com> 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License version 2 as 10 * published by the Free Software Foundation. 11 */ 12 13#include <linux/platform_device.h> 14 15#define MMU_REG_SIZE 256 16 17/** 18 * struct iommu_arch_data - omap iommu private data 19 * @name: name of the iommu device 20 * @iommu_dev: handle of the iommu device 21 * 22 * This is an omap iommu private data object, which binds an iommu user 23 * to its iommu device. This object should be placed at the iommu user's 24 * dev_archdata so generic IOMMU API can be used without having to 25 * utilize omap-specific plumbing anymore. 26 */ 27struct omap_iommu_arch_data { 28 const char *name; 29 struct omap_iommu *iommu_dev; 30}; 31 32/** 33 * struct omap_mmu_dev_attr - OMAP mmu device attributes for omap_hwmod 34 * @nr_tlb_entries: number of entries supported by the translation 35 * look-aside buffer (TLB). 36 */ 37struct omap_mmu_dev_attr { 38 int nr_tlb_entries; 39}; 40 41struct iommu_platform_data { 42 const char *name; 43 const char *reset_name; 44 int nr_tlb_entries; 45 46 int (*assert_reset)(struct platform_device *pdev, const char *name); 47 int (*deassert_reset)(struct platform_device *pdev, const char *name); 48}; 49