summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHebbar, Gururaja <gururaja.hebbar@ti.com>2012-05-08 18:47:39 +0530
committerVishveshwar Bhat <vishveshwar.bhat@ti.com>2012-05-30 15:30:35 +0530
commit5be5e0893754d2294b43e44e2fd5948dd7cf5d5b (patch)
treef258058d8f320b6bc98973af4d0bacdaa569e468
parent7d472a2a70afbf39b639cf7058a83dc71cced1c8 (diff)
downloadu-boot-beaglebone-5be5e0893754d2294b43e44e2fd5948dd7cf5d5b.tar.gz
am335x: add initial support for EVM-SK
This patch adds initial support new EVM-Starter Kit (EVM-SK). Only board detection support is added. Todo: Currently RTC code is causing board to hang. In order to move forward presently its been disabled. Need to debug and resolve this issue. Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
-rw-r--r--board/ti/am335x/common_def.h1
-rw-r--r--board/ti/am335x/evm.c6
-rw-r--r--board/ti/am335x/mux.c23
3 files changed, 28 insertions, 2 deletions
diff --git a/board/ti/am335x/common_def.h b/board/ti/am335x/common_def.h
index 57f66a95d..807e4b54e 100644
--- a/board/ti/am335x/common_def.h
+++ b/board/ti/am335x/common_def.h
@@ -21,6 +21,7 @@
#define IA_BOARD 2
#define IPP_BOARD 3
#define BASE_BOARD 4
+#define SK_BOARD 5
/* Profiles */
#define PROFILE_NONE 0x0
diff --git a/board/ti/am335x/evm.c b/board/ti/am335x/evm.c
index 8bb01b5e9..d19b5b78a 100644
--- a/board/ti/am335x/evm.c
+++ b/board/ti/am335x/evm.c
@@ -189,7 +189,7 @@ static struct am335x_baseboard_id __attribute__((section (".data"))) header;
extern void cpsw_eth_set_mac_addr(const u_int8_t *addr);
static
unsigned char __attribute__((section (".data"))) daughter_board_connected = 1;
-static volatile int __attribute__((section (".data"))) board_id = BASE_BOARD;
+static volatile int __attribute__((section (".data"))) board_id = SK_BOARD;
/*
* dram_init:
@@ -843,6 +843,10 @@ int board_init(void)
board_id = BONE_BOARD;
profile = 1; /* profile 0 is internally considered as 1 */
daughter_board_connected = 0;
+ } else if (!strncmp("A335X_SK", header.name, 8)) {
+ board_id = SK_BOARD;
+ profile = 1; /* profile 0 is internally considered as 1 */
+ daughter_board_connected = 0;
} else {
printf("Did not find a recognized configuration, "
"assuming General purpose EVM in Profile 0 with "
diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c
index aaf0737e8..2466e7ee9 100644
--- a/board/ti/am335x/mux.c
+++ b/board/ti/am335x/mux.c
@@ -444,6 +444,17 @@ static struct module_pin_mux mmc0_pin_mux[] = {
{-1},
};
+static struct module_pin_mux mmc0_sk_pin_mux[] = {
+ {OFFSET(mmc0_dat3), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_DAT3 */
+ {OFFSET(mmc0_dat2), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_DAT2 */
+ {OFFSET(mmc0_dat1), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_DAT1 */
+ {OFFSET(mmc0_dat0), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_DAT0 */
+ {OFFSET(mmc0_clk), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_CLK */
+ {OFFSET(mmc0_cmd), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_CMD */
+ {OFFSET(spi0_cs1), (MODE(5) | RXACTIVE | PULLUP_EN)}, /* MMC0_CD */
+ {-1},
+};
+
static struct module_pin_mux mmc1_pin_mux[] = {
{OFFSET(gpmc_ad3), (MODE(1) | RXACTIVE)}, /* MMC1_DAT3 */
{OFFSET(gpmc_ad2), (MODE(1) | RXACTIVE)}, /* MMC1_DAT2 */
@@ -566,6 +577,15 @@ static struct evm_pin_mux low_cost_evm_pin_mux[] = {
{0},
};
+static struct evm_pin_mux sk_evm_pin_mux[] = {
+ {uart0_pin_mux, PROFILE_ALL, DEV_ON_BASEBOARD},
+#ifdef CONFIG_MMC
+ {mmc0_sk_pin_mux, PROFILE_ALL, DEV_ON_BASEBOARD},
+#endif
+
+ {0},
+};
+
static struct evm_pin_mux beaglebone_pin_mux[] = {
{uart0_pin_mux, PROFILE_ALL, DEV_ON_BASEBOARD},
{i2c1_pin_mux, PROFILE_ALL & ~PROFILE_2 & ~PROFILE_4, DEV_ON_BASEBOARD},
@@ -610,6 +630,7 @@ static struct evm_pin_mux *am335x_evm_pin_mux[] = {
ia_motor_control_evm_pin_mux,
ip_phone_evm_pin_mux,
low_cost_evm_pin_mux,
+ sk_evm_pin_mux,
};
/*
@@ -666,7 +687,7 @@ static void set_evm_pin_mux(struct evm_pin_mux *pin_mux,
void configure_evm_pin_mux(unsigned char dghtr_brd_id, char version[4], unsigned short
profile, unsigned int daughter_board_flag)
{
- if (dghtr_brd_id > BASE_BOARD)
+ if (dghtr_brd_id > SK_BOARD)
return;
/* Setup correct evm pinmux for older bone boards (Rev < A2) */