]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/dwmmc.h
karo: tx6: improve pad ctrl for SD card interfaces
[karo-tx-uboot.git] / include / dwmmc.h
index 08ced0bf1f0440cc624915569d1673d311249e89..109f7c8ac7f7e677c5357b7ab3bbf55d984a1859 100644 (file)
 #define DWMCI_BMOD_IDMAC_FB    (1 << 1)
 #define DWMCI_BMOD_IDMAC_EN    (1 << 7)
 
+/* UHS register */
+#define DWMCI_DDR_MODE (1 << 16)
+
+/* quirks */
+#define DWMCI_QUIRK_DISABLE_SMU                (1 << 0)
+
 struct dwmci_host {
        char *name;
        void *ioaddr;
@@ -131,14 +137,19 @@ struct dwmci_host {
        unsigned int version;
        unsigned int clock;
        unsigned int bus_hz;
+       unsigned int div;
        int dev_index;
+       int dev_id;
        int buswidth;
        u32 clksel_val;
        u32 fifoth_val;
        struct mmc *mmc;
 
        void (*clksel)(struct dwmci_host *host);
-       unsigned int (*mmc_clk)(int dev_index);
+       void (*board_init)(struct dwmci_host *host);
+       unsigned int (*get_mmc_clk)(struct dwmci_host *host);
+
+       struct mmc_config cfg;
 };
 
 struct dwmci_idmac {
@@ -146,7 +157,7 @@ struct dwmci_idmac {
        u32 cnt;
        u32 addr;
        u32 next_addr;
-};
+} __aligned(ARCH_DMA_MINALIGN);
 
 static inline void dwmci_writel(struct dwmci_host *host, int reg, u32 val)
 {