mmc: tegra: Allow masking of UHS modes
[linux-2.6.git] / arch / arm / mach-tegra / include / mach / sdhci.h
1 /*
2  * include/asm-arm/arch-tegra/include/mach/sdhci.h
3  *
4  * Copyright (C) 2009 Palm, Inc.
5  * Author: Yvonne Yip <y@palm.com>
6  *
7  * This software is licensed under the terms of the GNU General Public
8  * License version 2, as published by the Free Software Foundation, and
9  * may be copied, distributed, and modified under those terms.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  */
17 #ifndef __ASM_ARM_ARCH_TEGRA_SDHCI_H
18 #define __ASM_ARM_ARCH_TEGRA_SDHCI_H
19
20 #include <linux/mmc/host.h>
21 #include <asm/mach/mmc.h>
22
23 /*
24  * MMC_OCR_1V8_MASK will be used in board sdhci file
25  * Example for cardhu it will be used in board-cardhu-sdhci.c
26  * for built_in = 0 devices enabling ocr_mask to MMC_OCR_1V8_MASK
27  * sets the voltage to 1.8V
28  */
29 #define MMC_OCR_1V8_MASK    0x00000008
30 #define MMC_OCR_2V8_MASK    0x00010000
31
32 /* uhs mask can be used to mask any of the UHS modes support */
33 #define MMC_UHS_MASK_SDR25      1
34 #define MMC_UHS_MASK_SDR50      2
35 #define MMC_UHS_MASK_DDR50      4
36 #define MMC_UHS_MASK_SDR104     8
37
38 struct tegra_sdhci_platform_data {
39         int cd_gpio;
40         int wp_gpio;
41         int power_gpio;
42         int is_8bit;
43         int pm_flags;
44         int pm_caps;
45         unsigned int max_clk_limit;
46         unsigned int ddr_clk_limit;
47         unsigned int tap_delay;
48         unsigned int trim_delay;
49         unsigned int uhs_mask;
50         struct mmc_platform_data mmc_data;
51 };
52
53 #endif