summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Murphy <dmurphy@ti.com>2013-07-11 13:10:28 -0500
committerTom Rini <trini@ti.com>2013-07-30 09:21:42 -0400
commitfdce7b633a1de24456226b18527cc7900c34282a (patch)
treee7c96da11da04efd0db7ae1bb4ac2399f84829e8
parent61c1775f16ed122a07168545afbc1a04ece2bc22 (diff)
downloadu-boot-imx-fdce7b633a1de24456226b18527cc7900c34282a.zip
u-boot-imx-fdce7b633a1de24456226b18527cc7900c34282a.tar.gz
u-boot-imx-fdce7b633a1de24456226b18527cc7900c34282a.tar.bz2
gpio: omap5-uevm: Configure the tca6424 gpio expander
Configure the tca6424 gpio expander This allows use of the debug and tri color LEDs. Signed-off-by: Dan Murphy <dmurphy@ti.com>
-rw-r--r--board/ti/omap5_uevm/evm.c22
-rw-r--r--board/ti/omap5_uevm/mux_data.h2
-rw-r--r--include/configs/omap5_uevm.h5
3 files changed, 29 insertions, 0 deletions
diff --git a/board/ti/omap5_uevm/evm.c b/board/ti/omap5_uevm/evm.c
index ea83e6c..2c00648 100644
--- a/board/ti/omap5_uevm/evm.c
+++ b/board/ti/omap5_uevm/evm.c
@@ -10,6 +10,7 @@
#include <palmas.h>
#include <asm/arch/sys_proto.h>
#include <asm/arch/mmc_host_def.h>
+#include <tca642x.h>
#include "mux_data.h"
@@ -20,6 +21,25 @@ const struct omap_sysinfo sysinfo = {
};
/**
+ * @brief tca642x_init - uEVM default values for the GPIO expander
+ * input reg, output reg, polarity reg, configuration reg
+ */
+struct tca642x_bank_info tca642x_init[] = {
+ { .input_reg = 0x00,
+ .output_reg = 0x04,
+ .polarity_reg = 0x00,
+ .configuration_reg = 0x80 },
+ { .input_reg = 0x00,
+ .output_reg = 0x00,
+ .polarity_reg = 0x00,
+ .configuration_reg = 0xff },
+ { .input_reg = 0x00,
+ .output_reg = 0x00,
+ .polarity_reg = 0x00,
+ .configuration_reg = 0x40 },
+};
+
+/**
* @brief board_init
*
* @return 0
@@ -30,6 +50,8 @@ int board_init(void)
gd->bd->bi_arch_number = MACH_TYPE_OMAP5_SEVM;
gd->bd->bi_boot_params = (0x80000000 + 0x100); /* boot param addr */
+ tca642x_set_inital_state(CONFIG_SYS_I2C_TCA642X_ADDR, tca642x_init);
+
return 0;
}
diff --git a/board/ti/omap5_uevm/mux_data.h b/board/ti/omap5_uevm/mux_data.h
index 36b723e..612c13e 100644
--- a/board/ti/omap5_uevm/mux_data.h
+++ b/board/ti/omap5_uevm/mux_data.h
@@ -40,6 +40,8 @@ const struct pad_conf_entry core_padconf_array_essential[] = {
{USBD0_HS_DP, (IEN | M0)}, /* USBD0_HS_DP */
{USBD0_HS_DM, (IEN | M0)}, /* USBD0_HS_DM */
{USBD0_SS_RX, (IEN | M0)}, /* USBD0_SS_RX */
+ {I2C5_SCL, (IEN | M0)}, /* I2C5_SCL */
+ {I2C5_SDA, (IEN | M0)}, /* I2C5_SDA */
};
diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h
index 9c045d3..47568e9 100644
--- a/include/configs/omap5_uevm.h
+++ b/include/configs/omap5_uevm.h
@@ -37,6 +37,11 @@
#define CONFIG_PARTITION_UUIDS
#define CONFIG_CMD_PART
+#define CONFIG_TCA642X
+#define CONFIG_CMD_TCA642X
+#define CONFIG_SYS_I2C_TCA642X_BUS_NUM 4
+#define CONFIG_SYS_I2C_TCA642X_ADDR 0x22
+
#define CONFIG_SYS_PROMPT "OMAP5432 uEVM # "
#define CONSOLEDEV "ttyO2"