]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - include/linux/platform_data/iommu-omap.h
Merge branch 'stable-3.14' of git://git.infradead.org/users/pcmoore/selinux into...
[mirror_ubuntu-artful-kernel.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 };