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