]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - drivers/mmc/ftsdc010_mci.h
nds32: ftsdc010: Support ftsdc010 DM.
[people/ms/u-boot.git] / drivers / mmc / ftsdc010_mci.h
diff --git a/drivers/mmc/ftsdc010_mci.h b/drivers/mmc/ftsdc010_mci.h
new file mode 100644 (file)
index 0000000..31a27fd
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Faraday FTSDC010 Secure Digital Memory Card Host Controller
+ *
+ * Copyright (C) 2011 Andes Technology Corporation
+ * Macpaul Lin, Andes Technology Corporation <macpaul@andestech.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+#include <mmc.h>
+
+#ifndef __FTSDC010_MCI_H
+#define __FTSDC010_MCI_H
+
+struct ftsdc010_chip {
+       void __iomem *regs;
+       uint32_t wprot;   /* write protected (locked) */
+       uint32_t rate;    /* actual SD clock in Hz */
+       uint32_t sclk;    /* FTSDC010 source clock in Hz */
+       uint32_t fifo;    /* fifo depth in bytes */
+       uint32_t acmd;
+       struct mmc_config cfg;  /* mmc configuration */
+       const char *name;
+       void *ioaddr;
+       unsigned int caps;
+       unsigned int version;
+       unsigned int clock;
+       unsigned int bus_hz;
+       unsigned int div;
+       int dev_index;
+       int dev_id;
+       int buswidth;
+       u32 fifoth_val;
+       struct mmc *mmc;
+       void *priv;
+       bool fifo_mode;
+};
+
+
+#ifdef CONFIG_DM_MMC
+/* Export the operations to drivers */
+int ftsdc010_probe(struct udevice *dev);
+extern const struct dm_mmc_ops dm_ftsdc010_ops;
+#endif
+void ftsdc_setup_cfg(struct mmc_config *cfg, const char *name, int buswidth,
+                    uint caps, u32 max_clk, u32 min_clk);
+void set_bus_width(struct ftsdc010_mmc __iomem *regs, struct mmc_config *cfg);
+
+#ifdef CONFIG_BLK
+int ftsdc010_bind(struct udevice *dev, struct mmc *mmc, struct mmc_config *cfg);
+#endif
+
+
+#endif /* __FTSDC010_MCI_H */