diff options
author | Minkyu Kang <mk7.kang@samsung.com> | 2010-07-06 11:58:41 (GMT) |
---|---|---|
committer | Minkyu Kang <mk7.kang@samsung.com> | 2010-08-03 01:18:23 (GMT) |
commit | 87f314e98beae1d922ef5d182eb9b4c2027f11ed (patch) | |
tree | fcbcade39f8e15fde3adca4e7d862f692e05ee41 /board/samsung | |
parent | 5000284872585e27fa1af57325fe36c4588eccdc (diff) | |
download | u-boot-87f314e98beae1d922ef5d182eb9b4c2027f11ed.tar.xz |
s5p_goni: enable mmc0
Adds the board_mmc_init function and enable the mmc command
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'board/samsung')
-rw-r--r-- | board/samsung/goni/goni.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c index e512c59..060d5d1 100644 --- a/board/samsung/goni/goni.c +++ b/board/samsung/goni/goni.c @@ -23,11 +23,18 @@ */ #include <common.h> +#include <asm/arch/gpio.h> +#include <asm/arch/mmc.h> DECLARE_GLOBAL_DATA_PTR; +static struct s5pc110_gpio *s5pc110_gpio; + int board_init(void) { + /* Set Initial global variables */ + s5pc110_gpio = (struct s5pc110_gpio *)S5PC110_GPIO_BASE; + gd->bd->bi_arch_number = MACH_TYPE_GONI; gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; @@ -53,3 +60,33 @@ int checkboard(void) return 0; } #endif + +#ifdef CONFIG_GENERIC_MMC +int board_mmc_init(bd_t *bis) +{ + int i; + + /* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */ + gpio_direction_output(&s5pc110_gpio->gpio_j2, 7, 1); + + /* + * MMC0 GPIO + * GPG0[0] SD_0_CLK + * GPG0[1] SD_0_CMD + * GPG0[2] SD_0_CDn -> Not used + * GPG0[3:6] SD_0_DATA[0:3] + */ + for (i = 0; i < 7; i++) { + if (i == 2) + continue; + /* GPG0[0:6] special function 2 */ + gpio_cfg_pin(&s5pc110_gpio->gpio_g0, i, 0x2); + /* GPG0[0:6] pull disable */ + gpio_set_pull(&s5pc110_gpio->gpio_g0, i, GPIO_PULL_NONE); + /* GPG0[0:6] drv 4x */ + gpio_set_drv(&s5pc110_gpio->gpio_g0, i, GPIO_DRV_4X); + } + + return s5p_mmc_init(0); +} +#endif |