]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - include/linux/platform_data/iommu-omap.h
Merge branch 'for-linville' of git://github.com/kvalo/ath
[mirror_ubuntu-artful-kernel.git] / include / linux / platform_data / iommu-omap.h
CommitLineData
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 */
27struct 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 */
39struct omap_mmu_dev_attr {
40 u32 da_start;
41 u32 da_end;
42 int nr_tlb_entries;
43};
44
a9dcad5e
HD
45struct 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};