3 #include <asm/arch/ldo.h>
4 #include <asm/arch/sc8810_reg_ahb.h>
5 #include <asm/arch/regs_ahb.h>
6 #include <asm/arch/common.h>
7 #include <asm/arch/adi_hal_internal.h>
8 #include <asm/u-boot.h>
11 #include <asm/arch/mfp.h>
12 #include <linux/gpio.h>
13 #include <asm/arch/gpio.h>
14 #include <asm/arch/pinmap.h>
15 DECLARE_GLOBAL_DATA_PTR;
17 extern void sprd_gpio_init(struct eic_gpio_resource *r);
18 extern void ADI_init (void);
19 extern int LDO_Init(void);
21 #ifdef CONFIG_GENERIC_MMC
22 int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 quirks);
23 int board_mmc_init(bd_t *bd)
25 ulong mmc_base_address[CONFIG_SYS_MMC_NUM] = CONFIG_SYS_MMC_BASE;
28 REG32(AHB_CTL0) |= BIT_4;
29 REG32(AHB_SOFT_RST) |= BIT_12;
30 REG32(AHB_SOFT_RST) &= ~BIT_12;
31 LDO_SetVoltLevel(LDO_LDO_SDIO1, LDO_VOLT_LEVEL1);
32 LDO_TurnOnLDO(LDO_LDO_SDIO1);
34 for (i = 0; i < CONFIG_SYS_MMC_NUM; i++) {
35 if (mv_sdh_init(mmc_base_address[i], SDIO_BASE_CLK_96M,
44 extern struct eic_gpio_resource sprd_gpio_resource[];
48 gd->bd->bi_arch_number = MACH_TYPE_OPENPHONE;
49 gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
58 sprd_gpio_init(sprd_gpio_resource);
64 gd->ram_size = get_ram_size((volatile void *)PHYS_SDRAM_1,