diff options
author | Wolfgang Denk <wd@denx.de> | 2010-08-04 00:35:10 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-08-04 00:35:10 +0200 |
commit | 9efac4a1eb99d9c5539aa6992025eeacab7980c6 (patch) | |
tree | 518c81f209eec164b15466e412d88bde0fa68291 /board | |
parent | ac956293befb265b8958654d08c4ad52e605d46e (diff) | |
parent | 87f314e98beae1d922ef5d182eb9b4c2027f11ed (diff) | |
download | u-boot-imx-9efac4a1eb99d9c5539aa6992025eeacab7980c6.zip u-boot-imx-9efac4a1eb99d9c5539aa6992025eeacab7980c6.tar.gz u-boot-imx-9efac4a1eb99d9c5539aa6992025eeacab7980c6.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-samsung
Diffstat (limited to 'board')
-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 |