On 15/01/14 11:00, wills wrote:
It's for sunxi-3.4, use new mmc driver for sun4i.

sorry for the late response


On Wednesday, January 15, 2014 5:55:19 PM UTC+8, wills wrote:

    ---
      drivers/mmc/host/Kconfig     |  2 +-
      drivers/mmc/host/sunxi-mci.h | 45
    +++++++++++++++++++++++++++++++-------------
      2 files changed, 33 insertions(+), 14 deletions(-)

    diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
    index 958a428..5f1d3d8 100644
    --- a/drivers/mmc/host/Kconfig
    +++ b/drivers/mmc/host/Kconfig
    @@ -558,7 +558,7 @@ config MMC_SH_MMCIF

      config MMC_SUNXI_NEW
              tristate "SUNXI MMC Card Interface support (new driver)"
    -        depends on MMC && (ARCH_SUN5I || ARCH_SUN7I)
    +        depends on MMC && (ARCH_SUN4I || ARCH_SUN5I || ARCH_SUN7I)
              default y
              help
                This selects support for the SD/MMC controller on
    AllWinner SoCs.
    diff --git a/drivers/mmc/host/sunxi-mci.h
    b/drivers/mmc/host/sunxi-mci.h
    index 8e385c5..1447257 100644
    --- a/drivers/mmc/host/sunxi-mci.h
    +++ b/drivers/mmc/host/sunxi-mci.h
    @@ -24,17 +24,32 @@
                              " Compiled in " __DATE__ " at " __TIME__ ""

      /*========== platform define ==========*/
    +/*---------- for sun4i ----------*/
    +#ifdef CONFIG_ARCH_SUN4I
    +#define REG_FIFO_OS              (0x100)
    +#define SMC_IRQNO(x)       (SW_INT_IRQNO_SDMC0 + (x))
    +
    +#define MMC_SRCCLK_HOSC          "hosc"
    +#define MMC_SRCCLK_PLL6          "sdram_pll_p"
    +#define MMC_AHBCLK_PREFIX    "ahb_sdc"
    +#define MMC_MODCLK_PREFIX    "sdc"
    +#define MMC3_DMA_TL              (0x20070008)
    +#define MMC_MAX_DMA_DES_BIT      13
    +#define MMC_DMA_DES_BIT_LEFT        5
    +#endif
    +
      /*---------- for sun5i ----------*/
      #ifdef CONFIG_ARCH_SUN5I
    -#define REG_FIFO_OS                (0x100)
    -#define SMC_IRQNO(x)                (SW_INT_IRQNO_SDMC0 + (x))
    -
    -#define MMC_SRCCLK_HOSC  "hosc"
    -#define MMC_SRCCLK_PLL5  "sdram_pll_p"
    -#define MMC_SRCCLK_PLL6  "sata_pll_2"
    -#define MMC_AHBCLK_PREFIX        "ahb_sdc"
    -#define MMC_MODCLK_PREFIX        "sdc"
    -#define MMC3_DMA_TL                (0x20070008)
    +#define REG_FIFO_OS              (0x100)
    +#define SMC_IRQNO(x)       (SW_INT_IRQNO_SDMC0 + (x))
    +
    +#define MMC_SRCCLK_HOSC          "hosc"
    +#define MMC_SRCCLK_PLL6          "sata_pll_2"
    +#define MMC_AHBCLK_PREFIX    "ahb_sdc"
    +#define MMC_MODCLK_PREFIX    "sdc"
    +#define MMC3_DMA_TL              (0x20070008)
    +#define MMC_MAX_DMA_DES_BIT      16
    +#define MMC_DMA_DES_BIT_LEFT        0
      #endif

      /*---------- for sun6i ----------*/
    @@ -47,6 +62,8 @@
      #define MMC_AHBCLK_PREFIX       "ahb_sdmmc"
      #define MMC_MODCLK_PREFIX       "mod_sdc"
      #define MMC3_DMA_TL             (0x2007000f)
    +#define MMC_MAX_DMA_DES_BIT      16
    +#define MMC_DMA_DES_BIT_LEFT        0

      #ifdef CONFIG_AW_FPGA_PLATFORM
      #undef SMC_IRQNO
    @@ -61,11 +78,12 @@
      #define SMC_IRQNO(x)                (SW_INT_IRQNO_SDMC0 + (x))

      #define MMC_SRCCLK_HOSC         "hosc"
    -#define MMC_SRCCLK_PLL5         "sdram_pll_p"
      #define MMC_SRCCLK_PLL6         "sata_pll"
      #define MMC_AHBCLK_PREFIX       "ahb_sdc"
      #define MMC_MODCLK_PREFIX       "sdc"
      #define MMC3_DMA_TL             (0x20070008)
    +#define MMC_MAX_DMA_DES_BIT      16
    +#define MMC_DMA_DES_BIT_LEFT        0

      #ifdef CONFIG_AW_FPGA_PLATFORM
      #undef SMC_IRQNO
    @@ -232,7 +250,7 @@
      #define SDXC_IDMA_ERR (SDXC_IDMACFatalBusErr|SDXC_IDMACDesInvalid \
                              |SDXC_IDMACCardErrSum|SDXC_IDMACAbnormalIntSum)

    -#define SDXC_DES_NUM_SHIFT        (15)
    +#define SDXC_DES_NUM_SHIFT        (MMC_MAX_DMA_DES_BIT)
      #define SDXC_DES_BUFFER_MAX_LEN  (1U << SDXC_DES_NUM_SHIFT)
      struct sunxi_mmc_idma_des {
              u32        config;
    @@ -244,8 +262,9 @@ struct sunxi_mmc_idma_des {
      #define SDXC_IDMAC_DES0_CES BIT(30) // card error summary
      #define SDXC_IDMAC_DES0_OWN BIT(31) // des owner:1-idma owns it,
    0-host owns it

    -        u32        data_buf1_sz    :16,
    -                data_buf2_sz    :16;
    +        u32        data_buf1_sz    :MMC_MAX_DMA_DES_BIT,
    +                data_buf2_sz    :MMC_MAX_DMA_DES_BIT,
    +                    :MMC_DMA_DES_BIT_LEFT;
              u32        buf_addr_ptr1;
              u32        buf_addr_ptr2;
      };
    --
    1.8.3.2


thank you! applied on stage/sunxi-3.4

cheers,
Alejandro Mery

--
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to