From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nishanth Menon Date: Wed, 10 Jul 2013 18:56:15 -0500 Subject: [U-Boot] [[PATCH v3 2/2] gpio: omap5-uevm: Configure the tca6424 gpio expander In-Reply-To: <1373486763-13091-2-git-send-email-dmurphy@ti.com> References: <1373486763-13091-1-git-send-email-dmurphy@ti.com> <1373486763-13091-2-git-send-email-dmurphy@ti.com> Message-ID: <51DDF49F.2050805@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 07/10/2013 03:06 PM, Dan Murphy wrote: > Configure the tca6424 gpio expander > This allows use of the debug and tri color LEDs. > > Signed-off-by: Dan Murphy > --- > 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(+) > > diff --git a/board/ti/omap5_uevm/evm.c b/board/ti/omap5_uevm/evm.c > index 90046e8..0e9a559 100644 > --- a/board/ti/omap5_uevm/evm.c > +++ b/board/ti/omap5_uevm/evm.c > @@ -26,6 +26,7 @@ > #include > #include > #include > +#include > > #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 documentation style? /* * @brief ? > + * 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; > } > > diff --git a/board/ti/omap5_uevm/mux_data.h b/board/ti/omap5_uevm/mux_data.h > index a82795d..7e6415e 100644 > --- a/board/ti/omap5_uevm/mux_data.h > +++ b/board/ti/omap5_uevm/mux_data.h > @@ -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 */ nit pick -> SCL (or i2c clk) is out put from master - always. IEN enables full duplex, but anyways.. just a nitpick :) > + {I2C5_SDA, (IEN | M0)}, /* I2C5_SDA */ > > }; > > diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h > index 46dacc2..bee1278 100644 > --- a/include/configs/omap5_uevm.h > +++ b/include/configs/omap5_uevm.h > @@ -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" > Else, no further comments from me. -- Regards, Nishanth Menon