blob: c677b9f2fefa33cbf7c9c49b1d50721a1e7e00b0 [file] [log] [blame]
Hiroshi DOYUa9dcad52009-01-26 15:13:40 +02001/*
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
Tony Lindgrened1c7de2012-11-02 12:24:06 -070013#define MMU_REG_SIZE 256
Hiroshi DOYUa9dcad52009-01-26 15:13:40 +020014
Tony Lindgrened1c7de2012-11-02 12:24:06 -070015/**
16 * struct iommu_arch_data - omap iommu private data
17 * @name: name of the iommu device
18 * @iommu_dev: handle of the iommu device
19 *
20 * This is an omap iommu private data object, which binds an iommu user
21 * to its iommu device. This object should be placed at the iommu user's
22 * dev_archdata so generic IOMMU API can be used without having to
23 * utilize omap-specific plumbing anymore.
24 */
25struct omap_iommu_arch_data {
26 const char *name;
27 struct omap_iommu *iommu_dev;
Hiroshi DOYUa9dcad52009-01-26 15:13:40 +020028};
29
Paul Walmsley54864742012-09-23 17:28:23 -060030/**
31 * struct omap_mmu_dev_attr - OMAP mmu device attributes for omap_hwmod
32 * @da_start: device address where the va space starts.
33 * @da_end: device address where the va space ends.
34 * @nr_tlb_entries: number of entries supported by the translation
35 * look-aside buffer (TLB).
36 */
37struct omap_mmu_dev_attr {
38 u32 da_start;
39 u32 da_end;
40 int nr_tlb_entries;
41};
42
Hiroshi DOYUa9dcad52009-01-26 15:13:40 +020043struct iommu_platform_data {
44 const char *name;
45 const char *clk_name;
46 const int nr_tlb_entries;
Guzman Lugo, Fernandoc7f4ab22010-12-15 00:54:03 +000047 u32 da_start;
48 u32 da_end;
Hiroshi DOYUa9dcad52009-01-26 15:13:40 +020049};