diff options
author | Hebbar, Gururaja <gururaja.hebbar@ti.com> | 2012-05-08 18:47:39 +0530 |
---|---|---|
committer | Vishveshwar Bhat <vishveshwar.bhat@ti.com> | 2012-05-30 15:30:35 +0530 |
commit | 5be5e0893754d2294b43e44e2fd5948dd7cf5d5b (patch) | |
tree | f258058d8f320b6bc98973af4d0bacdaa569e468 | |
parent | 7d472a2a70afbf39b639cf7058a83dc71cced1c8 (diff) | |
download | u-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.h | 1 | ||||
-rw-r--r-- | board/ti/am335x/evm.c | 6 | ||||
-rw-r--r-- | board/ti/am335x/mux.c | 23 |
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) */ |