| #include <common.h> |
| #include <asm/arch/hardware.h> |
| #include <asm/arch/gpio_c2000.h> |
| #include <asm/arch/exp-bus_c2000.h> |
| #include <asm/arch/clkcore_c2000.h> |
| #include <asm/arch/bsp.h> |
| DECLARE_GLOBAL_DATA_PTR; |
| |
| #define EXP_CS0_SEG_SIZE_VAL 0x7FFF |
| |
| #define A9_TIMER_LOAD 0x0 |
| #define A9_TIMER_COUNTER 0x4 |
| #define A9_TIMER_CNTRL 0x8 |
| #define A9_TIMER_ENABLE (1<<0) |
| #define A9_TIMER_RELOAD (1<<1) |
| |
| #define MAX_TIMER_COUNT 0xffffffff |
| |
| void comcerto_pad_config(); |
| |
| void nor_hw_init(void) |
| { |
| *(volatile u32*) EXP_CS0_SEG_REG = EXP_CS0_SEG_SIZE_VAL; |
| *(volatile u32*) EXP_CS0_TMG1_REG = 0x03034007; |
| *(volatile u32*) EXP_CS0_TMG2_REG = 0x04040502; |
| } |
| |
| #if (CONFIG_COMMANDS & CFG_CMD_NAND) |
| void nand_hw_init(void) |
| { |
| SoC_gpio_cfg(28, GPIO_TYPE_OUTPUT); /* NAND CE */ |
| SoC_gpio_cfg(29, GPIO_TYPE_INPUT); /* NAND BR */ |
| } |
| #endif |
| |
| |
| #if 0 |
| void a9_timer_init(void) |
| { |
| *(volatile u32*) (COMCERTO_A9_TIMER_BASE + A9_TIMER_LOAD) = MAX_TIMER_COUNT; |
| *(volatile u32*) (COMCERTO_A9_TIMER_BASE + A9_TIMER_COUNTER) = MAX_TIMER_COUNT; |
| *(volatile u32*) (COMCERTO_A9_TIMER_BASE + A9_TIMER_CNTRL) = A9_TIMER_ENABLE | A9_TIMER_RELOAD; |
| } |
| #endif |
| |
| void bsp_init(void) |
| { |
| int val; |
| |
| comcerto_pad_config(); |
| |
| //DDRC ODT Source Select |
| *(volatile u32*) COMCERTO_GPIO_MISC_PIN_SELECT_REG = ( (1 << 6) | (*(volatile u32*) COMCERTO_GPIO_MISC_PIN_SELECT_REG)); |
| |
| nor_hw_init(); |
| #if (CONFIG_COMMANDS & CFG_CMD_NAND) |
| SoC_nand_init(); |
| #endif |
| #if 0 |
| a9_timer_init(); |
| #endif |
| } |
| |
| void show_boot_progress(int progress) |
| { |
| printf("Boot reached stage %d\n", progress); |
| } |
| |
| int board_init(void) |
| { |
| /* arch number of Mindspeed Comcerto */ |
| gd->bd->bi_arch_number = MACH_TYPE_COMCERTO; |
| |
| /* adress of boot parameters */ |
| gd->bd->bi_boot_params = 0x100; |
| |
| |
| gd->bd->bi_dram[0].start = 0x0; |
| gd->bd->bi_dram[0].size = 0x20000000; //512 MB |
| |
| #if 0 |
| c2k_zds_init(); |
| #endif |
| |
| #if (CONFIG_COMMANDS & CFG_CMD_NAND) |
| nand_hw_init(); |
| #endif |
| |
| return 0; |
| } |
| |