tizen 2.4 release
[kernel/u-boot-tm1.git] / board / spreadtrum / corsica_ve / openphone.c
1 #include <common.h>
2 #include <asm/io.h>
3 #include <asm/arch/ldo.h>
4 #include <asm/arch/sprd_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>
9 #include <part.h>
10 #include <sdhci.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;
16
17 extern void sprd_gpio_init(void);
18 extern void ADI_init (void);
19 extern int LDO_Init(void);
20 extern void ADC_Init(void);
21 extern int sound_init(void);
22 extern void init_ldo_sleep_gr(void);
23
24 #ifdef CONFIG_GENERIC_MMC
25 int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 quirks);
26 int mmc_sdcard_init();
27
28 int board_mmc_init(bd_t *bd)
29 {
30         mmc_sdcard_init();
31
32         mv_sdh_init(CONFIG_SYS_SD_BASE, SDIO_BASE_CLK_192M,
33                         SDIO_CLK_250K, 0);
34
35         return 0;
36 }
37 #endif
38
39 static void board_misc_init(void)
40 {
41         u32 reg_val;
42         /*init vibrator voltage level*/
43         reg_val = ANA_REG_GET(ANA_REG_GLB_BA_CTRL2);
44         reg_val &= ~0xff;
45         reg_val |= (3300-1200)/10;
46         ANA_REG_SET(ANA_REG_GLB_BA_CTRL2, reg_val);
47 }
48
49 extern struct eic_gpio_resource sprd_gpio_resource[];
50
51 int board_init()
52 {
53         gd->bd->bi_arch_number = MACH_TYPE_OPENPHONE;
54         gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
55         ADI_init();
56         misc_init();
57         LDO_Init();
58         ADC_Init();
59         pin_init();
60         sprd_eic_init();
61         sprd_gpio_init();
62         sound_init();
63         init_ldo_sleep_gr();
64         board_misc_init();
65         //TDPllRefConfig(1);
66
67         return 0;
68 }
69
70 int dram_init(void)
71 {
72         gd->ram_size = get_ram_size((volatile void *)PHYS_SDRAM_1,
73                         PHYS_SDRAM_1_SIZE);
74         return 0;
75 }