aaf8ac34f8399ddf493b1076835014b8221b9137
[linux-3.10.git] / include / linux / platform_data / tegra_emc.h
1 /*
2  * Copyright (C) 2011 Google, Inc.
3  *
4  * Author:
5  *      Colin Cross <ccross@android.com>
6  *      Olof Johansson <olof@lixom.net>
7  *
8  * This software is licensed under the terms of the GNU General Public
9  * License version 2, as published by the Free Software Foundation, and
10  * may be copied, distributed, and modified under those terms.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  */
18
19 #ifndef __TEGRA_EMC_H_
20 #define __TEGRA_EMC_H_
21
22 #define TEGRA_EMC_NUM_REGS 46
23
24 struct tegra_emc_table {
25         unsigned long rate;
26         u32 regs[TEGRA_EMC_NUM_REGS];
27 };
28
29 struct tegra_emc_chip {
30         const char *description;
31         int mem_manufacturer_id; /* LPDDR2 MR5 or -1 to ignore */
32         int mem_revision_id1;    /* LPDDR2 MR6 or -1 to ignore */
33         int mem_revision_id2;    /* LPDDR2 MR7 or -1 to ignore */
34         int mem_pid;             /* LPDDR2 MR8 or -1 to ignore */
35
36         int num_tables;
37         struct tegra_emc_table *tables;
38 };
39
40 struct tegra_emc_pdata {
41         int num_chips;
42         struct tegra_emc_chip *chips;
43 };
44
45 #endif