]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - arch/arm/include/asm/arch-tegra/tegra_mmc.h
mmc: tegra: move pad_init_mmc() into MMC driver
[karo-tx-uboot.git] / arch / arm / include / asm / arch-tegra / tegra_mmc.h
index 2a3f830cc5836e2e07564939ea8a6ca0bc6dd039..fecb6599a844495083251ba3bf8807ac7b84ff70 100644 (file)
@@ -3,28 +3,20 @@
  * Minkyu Kang <mk7.kang@samsung.com>
  * Portions Copyright (C) 2011-2012 NVIDIA Corporation
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #ifndef __TEGRA_MMC_H_
 #define __TEGRA_MMC_H_
 
+#include <common.h>
+#include <clk.h>
+#include <reset.h>
 #include <fdtdec.h>
+#include <asm/gpio.h>
 
-#define MAX_HOSTS              4       /* Max number of 'hosts'/controllers */
+/* for mmc_config definition */
+#include <mmc.h>
 
 #ifndef __ASSEMBLY__
 struct tegra_mmc {
@@ -145,15 +137,19 @@ struct mmc_host {
        int id;                 /* device id/number, 0-3 */
        int enabled;            /* 1 to enable, 0 to disable */
        int width;              /* Bus Width, 1, 4 or 8 */
+#ifdef CONFIG_TEGRA186
+       struct reset_ctl reset_ctl;
+       struct clk clk;
+#else
        enum periph_id mmc_id;  /* Peripheral ID: PERIPH_ID_... */
-       struct fdt_gpio_state cd_gpio;          /* Change Detect GPIO */
-       struct fdt_gpio_state pwr_gpio;         /* Power GPIO */
-       struct fdt_gpio_state wp_gpio;          /* Write Protect GPIO */
+#endif
+       struct gpio_desc cd_gpio;       /* Change Detect GPIO */
+       struct gpio_desc pwr_gpio;      /* Power GPIO */
+       struct gpio_desc wp_gpio;       /* Write Protect GPIO */
        unsigned int version;   /* SDHCI spec. version */
        unsigned int clock;     /* Current clock (MHz) */
+       struct mmc_config cfg;  /* mmc configuration */
 };
 
-void pad_init_mmc(struct mmc_host *host);
-
 #endif /* __ASSEMBLY__ */
 #endif /* __TEGRA_MMC_H_ */