diff options
author | Pavel Pisa <ppisa@pikron.com> | 2014-02-21 14:05:01 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-03-14 08:56:33 +0100 |
commit | 810815c4b78631f4733fe6a524c15e3a701ab723 (patch) | |
tree | 26093bcd377d40dada42f2aeb3609790c76219d3 | |
parent | bsp/lpc24xx: Add lpc24xx_pin_get_first_index() (diff) | |
download | rtems-810815c4b78631f4733fe6a524c15e3a701ab723.tar.bz2 |
bsp/lpc24xx: Add LPC24XX_PIN_ETHERNET_POWER_DOWN
-rw-r--r-- | c/src/lib/libbsp/arm/lpc24xx/configure.ac | 3 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/lpc24xx/include/lpc-ethernet-config.h | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/configure.ac b/c/src/lib/libbsp/arm/lpc24xx/configure.ac index ed96563514..8e884a4ed1 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/configure.ac +++ b/c/src/lib/libbsp/arm/lpc24xx/configure.ac @@ -53,6 +53,9 @@ RTEMS_BSPOPTS_SET([LPC24XX_ETHERNET_RMII],[*_ea_*],[1]) RTEMS_BSPOPTS_SET([LPC24XX_ETHERNET_RMII],[*],[]) RTEMS_BSPOPTS_HELP([LPC24XX_ETHERNET_RMII],[enable RMII for Ethernet]) +RTEMS_BSPOPTS_SET([LPC24XX_PIN_ETHERNET_POWER_DOWN],[*],[]) +RTEMS_BSPOPTS_HELP([LPC24XX_PIN_ETHERNET_POWER_DOWN],[optional Ethernet power-down pin, output is set to high to enable power]) + RTEMS_BSPOPTS_SET([LPC24XX_EMC_MT48LC4M16A2],[lpc24xx_ncs_rom_*],[1]) RTEMS_BSPOPTS_HELP([LPC24XX_EMC_MT48LC4M16A2],[enable Micron MT48LC4M16A2 configuration for EMC]) diff --git a/c/src/lib/libbsp/arm/lpc24xx/include/lpc-ethernet-config.h b/c/src/lib/libbsp/arm/lpc24xx/include/lpc-ethernet-config.h index 26482bfcda..0af72564ad 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/include/lpc-ethernet-config.h +++ b/c/src/lib/libbsp/arm/lpc24xx/include/lpc-ethernet-config.h @@ -69,6 +69,9 @@ extern "C" { static void lpc_eth_config_module_enable(void) { static const lpc24xx_pin_range pins [] = { + #ifdef LPC24XX_PIN_ETHERNET_POWER_DOWN + LPC24XX_PIN_ETHERNET_POWER_DOWN, + #endif LPC24XX_PIN_ETHERNET_RMII_0, LPC24XX_PIN_ETHERNET_RMII_1, LPC24XX_PIN_ETHERNET_RMII_2, @@ -78,6 +81,15 @@ extern "C" { lpc24xx_module_enable(LPC24XX_MODULE_ETHERNET, LPC24XX_MODULE_PCLK_DEFAULT); lpc24xx_pin_config(&pins [0], LPC24XX_PIN_SET_FUNCTION); + + #ifdef LPC24XX_PIN_ETHERNET_POWER_DOWN + { + unsigned pin = lpc24xx_pin_get_first_index(&pins[0]); + + lpc24xx_gpio_config(pin, LPC24XX_GPIO_OUTPUT); + lpc24xx_gpio_set(pin); + } + #endif } #else static void lpc_eth_config_module_enable(void) |