[U-Boot] [PATCH 5/9] mx23_olinuxino: Add MMC support

Marek Vasut
2013-01-22T01:47:21Z

Dear Otavio Salvador,

Description is missing.

> From: Marek Vasut <marex@denx.de>
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> board/olimex/mx23_olinuxino/mx23_olinuxino.c | 17 ++++++++++++++++-
> board/olimex/mx23_olinuxino/spl_boot.c | 10 ++++++++++
> include/configs/mx23_olinuxino.h | 12 ++++++++++++
> 3 files changed, 38 insertions(+), 1 deletion(-)
>
> diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c
> b/board/olimex/mx23_olinuxino/mx23_olinuxino.c index 2fcad26..421ed9c
> 100644
> --- a/board/olimex/mx23_olinuxino/mx23_olinuxino.c
> +++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
> @@ -23,7 +23,10 @@
> */
>
> #include <common.h>
> +#include <asm/io.h>
> +#include <asm/arch/iomux-mx23.h>
> #include <asm/arch/imx-regs.h>
> +#include <asm/arch/clock.h>
> #include <asm/arch/sys_proto.h>
>
> DECLARE_GLOBAL_DATA_PTR;
> @@ -33,7 +36,12 @@ DECLARE_GLOBAL_DATA_PTR;
> */
> int board_early_init_f(void)
> {
> - /* SSP clock init will come here soon. */
> + /* IO0 clock at 480MHz */
> + mxs_set_ioclk(MXC_IOCLK0, 480000);
> +
> + /* SSP0 clock at 96MHz */
> + mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
> +
> return 0;
> }
>
> @@ -42,6 +50,13 @@ int dram_init(void)
> return mxs_dram_init();
> }
>
> +#ifdef CONFIG_CMD_MMC
> +int board_mmc_init(bd_t *bis)
> +{
> + return mxsmmc_initialize(bis, 0, NULL);
> +}
> +#endif
> +
> int board_init(void)
> {
> /* Adress of boot parameters */
> diff --git a/board/olimex/mx23_olinuxino/spl_boot.c
> b/board/olimex/mx23_olinuxino/spl_boot.c index aaebe6c..3cc40cd 100644
> --- a/board/olimex/mx23_olinuxino/spl_boot.c
> +++ b/board/olimex/mx23_olinuxino/spl_boot.c
> @@ -30,6 +30,7 @@
> #include <asm/arch/sys_proto.h>
>
> #define MUX_CONFIG_EMI (MXS_PAD_3V3 | MXS_PAD_12MA | MXS_PAD_NOPULL)
> +#define MUX_CONFIG_SSP (MXS_PAD_3V3 | MXS_PAD_8MA | MXS_PAD_PULLUP)
>
> const iomux_cfg_t iomux_setup[] = {
> /* DUART */
> @@ -82,6 +83,15 @@ const iomux_cfg_t iomux_setup[] = {
> MX23_PAD_EMI_CKE__EMI_CKE | MUX_CONFIG_EMI,
> MX23_PAD_EMI_RASN__EMI_RASN | MUX_CONFIG_EMI,
> MX23_PAD_EMI_WEN__EMI_WEN | MUX_CONFIG_EMI,
> +
> + /* MMC 0 */
> + MX23_PAD_SSP1_CMD__SSP1_CMD | MUX_CONFIG_SSP,
> + MX23_PAD_SSP1_DETECT__SSP1_DETECT | MUX_CONFIG_SSP,
> + MX23_PAD_SSP1_DATA0__SSP1_DATA0 | MUX_CONFIG_SSP,
> + MX23_PAD_SSP1_DATA1__SSP1_DATA1 | MUX_CONFIG_SSP,
> + MX23_PAD_SSP1_DATA2__SSP1_DATA2 | MUX_CONFIG_SSP,
> + MX23_PAD_SSP1_DATA3__SSP1_DATA3 | MUX_CONFIG_SSP,
> + MX23_PAD_SSP1_SCK__SSP1_SCK | MUX_CONFIG_SSP,
> };
>
> void board_init_ll(void)
> diff --git a/include/configs/mx23_olinuxino.h
> b/include/configs/mx23_olinuxino.h index e5e718c..bc63481 100644
> --- a/include/configs/mx23_olinuxino.h
> +++ b/include/configs/mx23_olinuxino.h
> @@ -53,8 +53,10 @@
> #define CONFIG_DOS_PARTITION
>
> #define CONFIG_CMD_CACHE
> +#define CONFIG_CMD_EXT2
> #define CONFIG_CMD_FAT
> #define CONFIG_CMD_GPIO
> +#define CONFIG_CMD_MMC
>
> /*
> * Memory configurations
> @@ -110,6 +112,16 @@
> #define CONFIG_BAUDRATE 115200 /* Default baud rate */
>
> /*
> + * MMC Driver
> + */
> +#ifdef CONFIG_CMD_MMC
> +#define CONFIG_MMC
> +#define CONFIG_BOUNCE_BUFFER
> +#define CONFIG_GENERIC_MMC
> +#define CONFIG_MXS_MMC
> +#endif
> +
> +/*
> * APBH DMA
> */
> #define CONFIG_APBH_DMA

Best regards,
Marek Vasut