#define LIMO_UNIVERSAL_FEATURE 0x400
#define FEATURE_MASK 0xF00
+static int machine_is_aquila(void)
+{
+ int board;
+
+ if (cpu_is_s5pc100())
+ return 0;
+
+ board = gd->bd->bi_arch_number - C110_MACH_START;
+
+ return board == MACH_AQUILA;
+}
+
static int machine_is_limo_universal(void)
{
int board;
"Aquila",
};
+enum {
+ MEM_4G1G1G,
+ MEM_4G2G1G,
+ MEM_4G3G1G,
+};
+
static char feature_buffer[32];
static char *display_features(int board_rev)
{
unsigned int board = MACH_UNIVERSAL; /* Default is Universal */
unsigned long pin;
+ unsigned int mem_type = MEM_4G1G1G;
if (cpu_is_s5pc110())
pin = S5PC110_GPIO_BASE(S5PC110_GPIO_J0_OFFSET);
board_rev >>= 2;
board_rev &= 0x7;
switch (board_rev) {
+ case 0:
+ if (cpu_is_s5pc100())
+ break;
+ mem_type = MEM_4G2G1G;
case 1:
if (cpu_is_s5pc100())
break;
gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
gd->bd->bi_dram[1].start = S5PC110_PHYS_SDRAM_2;
gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
- setenv("meminfo", "mem=80M mem=128M@0x40000000");
+ switch (mem_type) {
+ case MEM_4G2G1G:
+ setenv("meminfo", "mem=80M mem=256M@0x40000000");
+ gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE + SZ_128M;
+ break;
+ case MEM_4G3G1G:
+ setenv("meminfo", "mem=80M mem=384M@0x40000000");
+ gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE + SZ_256M;
+ break;
+ case MEM_4G1G1G:
+ default:
+ setenv("meminfo", "mem=80M mem=128M@0x40000000");
+ break;
+ }
setenv("mtdparts", MTDPARTS_DEFAULT_4KB);
} else {
setenv("meminfo", "mem=80M mem=128M@0x38000000");
enable_t_flash();
/* To usbdown automatically */
- check_keypad();
+ if (!machine_is_aquila())
+ check_keypad();
if (machine_is_limo_universal()) {
/* check max17040 */