Skip to contentSkip to conversation

gpio: tca642x: Add the tca642x gpio expander driver

PATCH Superseded Dan Murphy 2 participants 4 messages Jul 9, 2013 – Jul 22, 2013 GPIO

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Dan Murphy

author
#0 lore raw

PATCH v2 1/2 gpio: tca642x: Add the tca642x gpio expander driver

Add the tca642x gpio expander driver

Datasheet:
http://www.ti.com/product/tca6424a

---

v2 - Updated per comments- http://patchwork.ozlabs.org/patch/257602/

 drivers/gpio/Makefile  |    1 +
 drivers/gpio/tca642x.c |  321 ++++++++++++++++++++++++++++++++++++++++++++++++
 include/tca642x.h      |   65 ++++++++++
 3 files changed, 387 insertions(+)
 create mode 100644 drivers/gpio/tca642x.c
 create mode 100644 include/tca642x.h
drivers/gpio/Makefile +1 -0
index f77c1ec..7e74dfe 100644
@@ -49,6 +49,7 @@ COBJS-$(CONFIG_BCM2835_GPIO)	+= bcm2835_gpio.o
 COBJS-$(CONFIG_S3C2440_GPIO)	+= s3c2440_gpio.o
 COBJS-$(CONFIG_XILINX_GPIO)	+= xilinx_gpio.o
 COBJS-$(CONFIG_ADI_GPIO2)	+= adi_gpio2.o
+COBJS-$(CONFIG_TCA642X)		+= tca642x.o
 
 COBJS	:= $(COBJS-y)
 SRCS 	:= $(COBJS:.o=.c)
drivers/gpio/tca642x.c new file +321 -0

321 lines not on this page · raw message

include/tca642x.h new file +65 -0

65 lines not on this page · raw message

Signature · 1 line
1.7.9.5
author
#1 lore raw

PATCH v2 2/2 gpio: omap5-uevm: Configure the tca6424 gpio expander

Configure the tca6424 gpio expander
This allows use of the debug and tri color LEDs.

---

v2 - Updated per comments- http://patchwork.ozlabs.org/patch/257603

 board/ti/omap5_uevm/evm.c      |   21 +++++++++++++++++++++
 board/ti/omap5_uevm/mux_data.h |    2 ++
 include/configs/omap5_uevm.h   |    5 +++++
 3 files changed, 28 insertions(+)
board/ti/omap5_uevm/evm.c +21 -0
index 90046e8..0e9a559 100644
@@ -26,6 +26,7 @@
 #include <palmas.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mmc_host_def.h>
+#include <tca642x.h>
 
 #include "mux_data.h"
 
@@ -35,6 +36,24 @@ const struct omap_sysinfo sysinfo = {
 	"Board: OMAP5430 EVM\n"
 };
 
+/* @brief tca642x_init - Initial states 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
  *
@@ -46,6 +65,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;
 }
 
board/ti/omap5_uevm/mux_data.h +2 -0
index a82795d..7e6415e 100644
@@ -56,6 +56,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 */
 
 };
 
include/configs/omap5_uevm.h +5 -0
index 46dacc2..bee1278 100644
@@ -53,6 +53,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"
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v2 2/2 gpio: omap5-uevm: Configure the tca6424 gpio expander

Quoted 4 lines · Dan Murphy

Configure the tca6424 gpio expander
This allows use of the debug and tri color LEDs.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130722/84413c12/attachment.pgp>
#3 lore raw

PATCH v2 1/2 gpio: tca642x: Add the tca642x gpio expander driver

In reply to Dan Murphy
Quoted 6 lines · Dan Murphy

Add the tca642x gpio expander driver

Datasheet:
http://www.ti.com/product/tca6424a

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130722/782ec37e/attachment.pgp>