diff options
Diffstat (limited to 'board/toradex/apalis_t30/apalis_t30.c')
-rw-r--r-- | board/toradex/apalis_t30/apalis_t30.c | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c index b9d694a268..dde1b63952 100644 --- a/board/toradex/apalis_t30/apalis_t30.c +++ b/board/toradex/apalis_t30/apalis_t30.c @@ -1,6 +1,5 @@ /* - * (C) Copyright 2014 - * Marcel Ziswiler <marcel@ziswiler.com> + * Copyright (c) 2012-2014 Toradex, Inc. * * SPDX-License-Identifier: GPL-2.0+ */ @@ -14,10 +13,42 @@ #include <netdev.h> #include "pinmux-config-apalis_t30.h" +#include "../common/configblock.h" + +DECLARE_GLOBAL_DATA_PTR; #define PMU_I2C_ADDRESS 0x2D #define MAX_I2C_RETRY 3 +int arch_misc_init(void) +{ + /* Default memory arguments */ + if (!getenv("memargs")) { + switch (gd->ram_size) { + case 0x40000000: + /* 1 GB */ + setenv("memargs", "vmalloc=128M mem=1012M@2048M " + "fbmem=12M@3060M"); + break; + case 0x7ff00000: + case 0x80000000: + /* 2 GB */ + setenv("memargs", "vmalloc=256M mem=2035M@2048M " + "fbmem=12M@4083M"); + break; + default: + printf("Failed detecting RAM size.\n"); + } + } + +#ifdef CONFIG_TRDX_CFG_BLOCK + if (read_trdx_cfg_block()) + printf("Missing Apalis config block\n"); +#endif + + return 0; +} + /* * Routine: pinmux_init * Description: Do individual peripheral pinmux configs |