Merge branch 'asoc-fix-cs4271' into asoc-cs4271
[cascardo/linux.git] / include / linux / platform_data / iommu-omap.h
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  */
27 struct 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  * @da_start:           device address where the va space starts.
35  * @da_end:             device address where the va space ends.
36  * @nr_tlb_entries:     number of entries supported by the translation
37  *                      look-aside buffer (TLB).
38  */
39 struct omap_mmu_dev_attr {
40         u32 da_start;
41         u32 da_end;
42         int nr_tlb_entries;
43 };
44
45 struct iommu_platform_data {
46         const char *name;
47         const char *reset_name;
48         int nr_tlb_entries;
49         u32 da_start;
50         u32 da_end;
51
52         int (*assert_reset)(struct platform_device *pdev, const char *name);
53         int (*deassert_reset)(struct platform_device *pdev, const char *name);
54 };