Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
[pandora-kernel.git] / arch / arm / plat-omap / include / plat / mmc.h
index f57f36a..f38fef9 100644 (file)
 #define OMAP1_MMC2_BASE                0xfffb7c00      /* omap16xx only */
 
 #define OMAP24XX_NR_MMC                2
-#define OMAP34XX_NR_MMC                3
-#define OMAP44XX_NR_MMC                5
 #define OMAP2420_MMC_SIZE      OMAP1_MMC_SIZE
-#define OMAP3_HSMMC_SIZE       0x200
-#define OMAP4_HSMMC_SIZE       0x1000
 #define OMAP2_MMC1_BASE                0x4809c000
-#define OMAP2_MMC2_BASE                0x480b4000
-#define OMAP3_MMC3_BASE                0x480ad000
-#define OMAP4_MMC4_BASE                0x480d1000
-#define OMAP4_MMC5_BASE                0x480d5000
+
 #define OMAP4_MMC_REG_OFFSET   0x100
-#define HSMMC5                 (1 << 4)
-#define HSMMC4                 (1 << 3)
-#define HSMMC3                 (1 << 2)
-#define HSMMC2                 (1 << 1)
-#define HSMMC1                 (1 << 0)
 
 #define OMAP_MMC_MAX_SLOTS     2
 
+#define OMAP_HSMMC_SUPPORTS_DUAL_VOLT  BIT(1)
+
+struct omap_mmc_dev_attr {
+       u8 flags;
+};
+
 struct omap_mmc_platform_data {
        /* back-link to device */
        struct device *dev;
@@ -71,6 +65,9 @@ struct omap_mmc_platform_data {
 
        u64 dma_mask;
 
+       /* Integrating attributes from the omap_hwmod layer */
+       u8 controller_flags;
+
        /* Register offset deviation */
        u16 reg_offset;
 
@@ -159,8 +156,7 @@ extern void omap_mmc_notify_cover_event(struct device *dev, int slot,
        defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
 void omap1_init_mmc(struct omap_mmc_platform_data **mmc_data,
                                int nr_controllers);
-void omap2_init_mmc(struct omap_mmc_platform_data **mmc_data,
-                               int nr_controllers);
+void omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data);
 int omap_mmc_add(const char *name, int id, unsigned long base,
                                unsigned long size, unsigned int irq,
                                struct omap_mmc_platform_data *data);
@@ -169,8 +165,7 @@ static inline void omap1_init_mmc(struct omap_mmc_platform_data **mmc_data,
                                int nr_controllers)
 {
 }
-static inline void omap2_init_mmc(struct omap_mmc_platform_data **mmc_data,
-                               int nr_controllers)
+static inline void omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data)
 {
 }
 static inline int omap_mmc_add(const char *name, int id, unsigned long base,