Skip to content
Snippets Groups Projects
Commit e5ee9125 authored by Bastian Ruppert's avatar Bastian Ruppert Committed by Albert ARIBAUD
Browse files

Davinci: ea20: add gpio for keeping power on in board_late_init


The pin called HALTEN drives a transistor to operate the supply
voltage. After HALTEN is high, the user can release the power
switch button and the device will stay powered on.

Signed-off-by: default avatarBastian Ruppert <Bastian.Ruppert@Sewerin.de>
CC: sbabic@denx.de
CC: dzu@denx.de
Signed-off-by: default avatarSandeep Paulraj <s-paulraj@ti.com>
parent 2084f21b
No related branches found
No related tags found
No related merge requests found
...@@ -98,6 +98,10 @@ const struct pinmux_config gpio_pins[] = { ...@@ -98,6 +98,10 @@ const struct pinmux_config gpio_pins[] = {
{ pinmux(13), 8, 3 } /* GPIO6[12] U0_SW1 on EA20-00101_2*/ { pinmux(13), 8, 3 } /* GPIO6[12] U0_SW1 on EA20-00101_2*/
}; };
const struct pinmux_config halten_pin[] = {
{ pinmux(3), 4, 2 } /* GPIO8[6] HALTEN */
};
static const struct pinmux_resource pinmuxes[] = { static const struct pinmux_resource pinmuxes[] = {
#ifdef CONFIG_SPI_FLASH #ifdef CONFIG_SPI_FLASH
PINMUX_ITEM(spi1_pins), PINMUX_ITEM(spi1_pins),
...@@ -205,6 +209,27 @@ int board_init(void) ...@@ -205,6 +209,27 @@ int board_init(void)
return 0; return 0;
} }
#ifdef BOARD_LATE_INIT
int board_late_init(void)
{
struct davinci_gpio *gpio8_base =
(struct davinci_gpio *)DAVINCI_GPIO_BANK8;
/* PinMux for HALTEN */
if (davinci_configure_pin_mux(halten_pin, ARRAY_SIZE(halten_pin)) != 0)
return 1;
/* Set HALTEN to high */
writel((readl(&gpio8_base->set_data) | (1 << 6)),
&gpio8_base->set_data);
writel((readl(&gpio8_base->dir) & ~(1 << 6)), &gpio8_base->dir);
return 0;
}
#endif /* BOARD_LATE_INIT */
#ifdef CONFIG_DRIVER_TI_EMAC #ifdef CONFIG_DRIVER_TI_EMAC
/* /*
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#define CONFIG_SYS_USE_NAND #define CONFIG_SYS_USE_NAND
#define CONFIG_DRIVER_TI_EMAC_USE_RMII #define CONFIG_DRIVER_TI_EMAC_USE_RMII
#define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_BOARD_EARLY_INIT_F
#define BOARD_LATE_INIT
/* /*
* SoC Configuration * SoC Configuration
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment