mxsmmc.c (abb85be793180bdc0d9e30afe6c762669a5e0014) mxsmmc.c (fa7a51cb8272bd6076ea4701fd6bdc65a68703ba)
1/*
2 * Freescale i.MX28 SSP MMC driver
3 *
4 * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
5 * on behalf of DENX Software Engineering GmbH
6 *
7 * Based on code from LTIB:
8 * (C) Copyright 2008-2010 Freescale Semiconductor, Inc.

--- 322 unchanged lines hidden (view full) ---

331}
332
333static int mxsmmc_init(struct mmc *mmc)
334{
335 struct mxsmmc_priv *priv = (struct mxsmmc_priv *)mmc->priv;
336 struct mxs_ssp_regs *ssp_regs = priv->regs;
337
338 /* Reset SSP */
1/*
2 * Freescale i.MX28 SSP MMC driver
3 *
4 * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
5 * on behalf of DENX Software Engineering GmbH
6 *
7 * Based on code from LTIB:
8 * (C) Copyright 2008-2010 Freescale Semiconductor, Inc.

--- 322 unchanged lines hidden (view full) ---

331}
332
333static int mxsmmc_init(struct mmc *mmc)
334{
335 struct mxsmmc_priv *priv = (struct mxsmmc_priv *)mmc->priv;
336 struct mxs_ssp_regs *ssp_regs = priv->regs;
337
338 /* Reset SSP */
339 mx28_reset_block(&ssp_regs->hw_ssp_ctrl0_reg);
339 mxs_reset_block(&ssp_regs->hw_ssp_ctrl0_reg);
340
341 /* 8 bits word length in MMC mode */
342 clrsetbits_le32(&ssp_regs->hw_ssp_ctrl1,
343 SSP_CTRL1_SSP_MODE_MASK | SSP_CTRL1_WORD_LENGTH_MASK |
344 SSP_CTRL1_DMA_ENABLE,
345 SSP_CTRL1_SSP_MODE_SD_MMC | SSP_CTRL1_WORD_LENGTH_EIGHT_BITS);
346
347 /* Set initial bit clock 400 KHz */

--- 89 unchanged lines hidden ---
340
341 /* 8 bits word length in MMC mode */
342 clrsetbits_le32(&ssp_regs->hw_ssp_ctrl1,
343 SSP_CTRL1_SSP_MODE_MASK | SSP_CTRL1_WORD_LENGTH_MASK |
344 SSP_CTRL1_DMA_ENABLE,
345 SSP_CTRL1_SSP_MODE_SD_MMC | SSP_CTRL1_WORD_LENGTH_EIGHT_BITS);
346
347 /* Set initial bit clock 400 KHz */

--- 89 unchanged lines hidden ---