Commit | Line | Data |
---|---|---|
a9dcad5e HD |
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 | ||
72b15b6a ORL |
13 | #include <linux/platform_device.h> |
14 | ||
ed1c7de2 | 15 | #define MMU_REG_SIZE 256 |
a9dcad5e | 16 | |
ed1c7de2 TL |
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; | |
a9dcad5e HD |
30 | }; |
31 | ||
5486474c PW |
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 | ||
a9dcad5e HD |
45 | struct iommu_platform_data { |
46 | const char *name; | |
72b15b6a ORL |
47 | const char *reset_name; |
48 | int nr_tlb_entries; | |
c7f4ab26 GLF |
49 | u32 da_start; |
50 | u32 da_end; | |
72b15b6a ORL |
51 | |
52 | int (*assert_reset)(struct platform_device *pdev, const char *name); | |
53 | int (*deassert_reset)(struct platform_device *pdev, const char *name); | |
a9dcad5e | 54 | }; |