summaryrefslogtreecommitdiff
path: root/board/toradex/apalis_t30
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2015-04-18 02:19:33 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2015-04-18 02:36:07 +0200
commit81a38df0631cfa6b3a85c97e631abf73dc0a2226 (patch)
tree2afc049ea3dc36c17d51f1dda766a60dbaf4faa3 /board/toradex/apalis_t30
parent81bfc51c3032d5ee4e52552ae261773f66acf3f9 (diff)
apalis/colibri_t30: migrate
Migrate Apalis/Colibri T30 to U-Boot 2015.04.
Diffstat (limited to 'board/toradex/apalis_t30')
-rw-r--r--board/toradex/apalis_t30/Kconfig16
-rw-r--r--board/toradex/apalis_t30/Makefile2
-rw-r--r--board/toradex/apalis_t30/apalis_t30.c79
-rw-r--r--board/toradex/apalis_t30/pinmux-config-apalis_t30.h2
4 files changed, 94 insertions, 5 deletions
diff --git a/board/toradex/apalis_t30/Kconfig b/board/toradex/apalis_t30/Kconfig
index f1dcda5927..1abcdf29f5 100644
--- a/board/toradex/apalis_t30/Kconfig
+++ b/board/toradex/apalis_t30/Kconfig
@@ -9,4 +9,20 @@ config SYS_VENDOR
config SYS_CONFIG_NAME
default "apalis_t30"
+config TRDX_CFG_BLOCK
+ default y
+
+config TRDX_HAVE_MMC
+ default y
+
+config TRDX_CFG_BLOCK_DEV
+ default "0"
+
+config TRDX_CFG_BLOCK_PART
+ default "1"
+
+# Toradex Configblock in eMMC, at the end of 1st "boot sector"
+config TRDX_CFG_BLOCK_OFFSET
+ default "-512"
+
endif
diff --git a/board/toradex/apalis_t30/Makefile b/board/toradex/apalis_t30/Makefile
index a968e6b79e..d38872a71a 100644
--- a/board/toradex/apalis_t30/Makefile
+++ b/board/toradex/apalis_t30/Makefile
@@ -1,4 +1,4 @@
-# Copyright (c) 2014 Marcel Ziswiler
+# Copyright (c) 2012-2015 Toradex, Inc.
# SPDX-License-Identifier: GPL-2.0+
include $(srctree)/board/nvidia/common/common.mk
diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c
index 624421496a..aedbbb43e6 100644
--- a/board/toradex/apalis_t30/apalis_t30.c
+++ b/board/toradex/apalis_t30/apalis_t30.c
@@ -1,23 +1,96 @@
/*
- * (C) Copyright 2014
- * Marcel Ziswiler <marcel@ziswiler.com>
+ * Copyright (c) 2012-2015 Toradex, Inc.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
-#include <dm.h>
#include <asm/arch/gp_padctrl.h>
#include <asm/arch/pinmux.h>
+#include <asm/arch-tegra/ap.h>
+#include <asm/arch-tegra/tegra.h>
#include <asm/gpio.h>
+#include <asm/io.h>
+#include <dm.h>
+#include <g_dnl.h>
#include <i2c.h>
#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");
+ }
+ }
+
+ if (readl(NV_PA_BASE_SRAM + NVBOOTINFOTABLE_BOOTTYPE) ==
+ NVBOOTTYPE_RECOVERY) {
+ printf("USB recovery mode, disabled autoboot\n");
+ setenv("bootdelay", "-1");
+ }
+
+ return 0;
+}
+
+int checkboard(void)
+{
+#ifdef CONFIG_TRDX_CFG_BLOCK
+ if (read_trdx_cfg_block())
+ printf("Missing Toradex config block\n");
+ else {
+ display_board_info();
+ return 0;
+ }
+#endif
+ printf("Model: Toradex Apalis T30 %dGB\n", (gd->ram_size == 0x40000000)?1:2);
+
+ return 0;
+}
+
+int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
+{
+ unsigned short prodnr = 0;
+ unsigned short usb_pid;
+
+ get_board_product_number(&prodnr);
+
+ put_unaligned(CONFIG_TRDX_VID, &dev->idVendor);
+
+ if (prodnr != 31)
+ if (gd->ram_size == 0x40000000)
+ usb_pid = CONFIG_TRDX_PID_APALIS_T30_1G;
+ else
+ usb_pid = CONFIG_TRDX_PID_APALIS_T30_2G;
+ else
+ usb_pid = CONFIG_TRDX_PID_APALIS_T30_1G_IT;
+
+ put_unaligned(usb_pid, &dev->idProduct);
+
+ return 0;
+}
+
/*
* Routine: pinmux_init
* Description: Do individual peripheral pinmux configs
diff --git a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h
index c988d395c1..bc4094d69e 100644
--- a/board/toradex/apalis_t30/pinmux-config-apalis_t30.h
+++ b/board/toradex/apalis_t30/pinmux-config-apalis_t30.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Marcel Ziswiler
+ * Copyright (c) 2012-2015, Toradex, Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,