Add STM32F4Discovery configuration with the STM32F4DIS-BB base board

This commit is contained in:
Gregory Nutt 2014-09-13 07:28:14 -06:00
parent 87031fd3a4
commit 70c33928d8
3 changed files with 70 additions and 14 deletions

View File

@ -5,8 +5,15 @@
if ARCH_BOARD_STM32F4_DISCOVERY if ARCH_BOARD_STM32F4_DISCOVERY
config STM32F4DISBB
bool "STM32F4DIS-BB base board"
default n
---help---
Select if you are using the STM32F4DIS-BB base board with the
STM32F4Discovery.
config PM_BUTTONS config PM_BUTTONS
bool "PM Button support" bool "PM button support"
default n default n
depends on PM && ARCH_IRQBUTTONS depends on PM && ARCH_IRQBUTTONS
---help--- ---help---
@ -17,21 +24,24 @@ config PM_BUTTON_ACTIVITY
default 10 default 10
depends on PM_BUTTONS depends on PM_BUTTONS
---help--- ---help---
The activity weight to report to the power management subsystem when a button is pressed. The activity weight to report to the power management subsystem when
a button is pressed.
config PM_ALARM_SEC config PM_ALARM_SEC
int "PM_STANDBY delay (seconds)" int "PM_STANDBY delay (seconds)"
default 15 default 15
depends on PM && RTC_ALARM depends on PM && RTC_ALARM
---help--- ---help---
Number of seconds to wait in PM_STANDBY before going to PM_STANDBY mode. Number of seconds to wait in PM_STANDBY before going to PM_STANDBY
mode.
config PM_ALARM_NSEC config PM_ALARM_NSEC
int "PM_STANDBY delay (nanoseconds)" int "PM_STANDBY delay (nanoseconds)"
default 0 default 0
depends on PM && RTC_ALARM depends on PM && RTC_ALARM
---help--- ---help---
Number of additional nanoseconds to wait in PM_STANDBY before going to PM_STANDBY mode. Number of additional nanoseconds to wait in PM_STANDBY before going
to PM_STANDBY mode.
config PM_SLEEP_WAKEUP config PM_SLEEP_WAKEUP
bool "PM_SLEEP wake-up alarm" bool "PM_SLEEP wake-up alarm"
@ -52,6 +62,7 @@ config PM_SLEEP_WAKEUP_NSEC
default 0 default 0
depends on PM && RTC_ALARM depends on PM && RTC_ALARM
---help--- ---help---
Number of additional nanoseconds to wait in PM_SLEEP before going to PM_STANDBY mode. Number of additional nanoseconds to wait in PM_SLEEP before going to
PM_STANDBY mode.
endif endif

View File

@ -356,9 +356,14 @@ USART6
Default USART/UART Configuration Default USART/UART Configuration
-------------------------------- --------------------------------
USART2 is enabled in all configurations (see */defconfig). RX and TX are USART2 is enabled in most configurations (see */defconfig). RX and TX are
configured on pins PA3 and PA2, respectively (see include/board.h). configured on pins PA3 and PA2, respectively (see include/board.h).
These pins selections, however, conflict with Ethernet pin usage on the
STM32F4DIS-BB base board. The STM32F4DIS-BB base board provides RS-232
drivers and a DB9 connector for USART6. USART6 is the preferred serial
console for use with the STM32F4DIS-BB.
Timer Inputs/Outputs Timer Inputs/Outputs
==================== ====================

View File

@ -1,8 +1,7 @@
/************************************************************************************ /************************************************************************************
* configs/stm32f4discovery/include/board.h * configs/stm32f4discovery/include/board.h
* include/arch/board/board.h
* *
* Copyright (C) 2012 Gregory Nutt. All rights reserved. * Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -209,12 +208,27 @@
/* UART2: /* UART2:
* *
* The STM32F4 Discovery has no on-board serial devices, but the console is * The STM32F4 Discovery has no on-board serial devices, but the console is
* brought out to PA2 (TX) and PA3 (RX) for connection to an external serial device. * brought out to PA2 (TX) and PA3 (RX) for connection to an external serial
* (See the README.txt file for other options) * device. (See the README.txt file for other options)
*
* These pins selections, however, conflict with pin usage on the STM32F4DIS-BB.
*/ */
#define GPIO_USART2_RX GPIO_USART2_RX_1 #ifdef CONFIG_STM32F4DISBB
#define GPIO_USART2_TX GPIO_USART2_TX_1 # define GPIO_USART2_RX GPIO_USART2_RX_1
# define GPIO_USART2_TX GPIO_USART2_TX_1
#endif
/* UART6:
*
* The STM32F4DIS-BB base board provides RS-232 drivers and a DB9 connector
* for USART6. This is the preferred serial console for use with the STM32F4DIS-BB.
*/
#ifdef CONFIG_STM32F4DISBB
# define GPIO_USART6_RX GPIO_USART6_RX_1
# define GPIO_USART6_TX GPIO_USART6_TX_1
#endif
/* PWM /* PWM
* *
@ -238,6 +252,31 @@
#define GPIO_TIM8_CH1IN GPIO_TIM8_CH1IN_1 #define GPIO_TIM8_CH1IN GPIO_TIM8_CH1IN_1
#define GPIO_TIM8_CH2IN GPIO_TIM8_CH2IN_1 #define GPIO_TIM8_CH2IN GPIO_TIM8_CH2IN_1
/* Ethernet *************************************************************************/
#if defined(CONFIG_STM32F4DISBB) && defined(CONFIG_STM32_ETHMAC)
/* RMII interface to the LAN8720 PHY */
# ifndef CONFIG_STM32_RMII
# error CONFIG_STM32_RMII must be defined
# endif
/* Clocking is provided by an external 25Mhz XTAL */
# ifndef CONFIG_STM32_RMII_EXTCLK
# error CONFIG_STM32_RMII_EXTCLK must be defined
# endif
/* Pin disambiguation */
# define GPIO_ETH_RMII_TX_EN GPIO_ETH_RMII_TX_EN_1
# define GPIO_ETH_RMII_TXD0 GPIO_ETH_RMII_TXD0_1
# define GPIO_ETH_RMII_TXD1 GPIO_ETH_RMII_TXD1_1
# define GPIO_ETH_PPS_OUT GPIO_ETH_PPS_OUT_1
#endif
/************************************************************************************ /************************************************************************************
* Public Data * Public Data
************************************************************************************/ ************************************************************************************/
@ -247,7 +286,8 @@
#undef EXTERN #undef EXTERN
#if defined(__cplusplus) #if defined(__cplusplus)
#define EXTERN extern "C" #define EXTERN extern "C"
extern "C" { extern "C"
{
#else #else
#define EXTERN extern #define EXTERN extern
#endif #endif
@ -260,7 +300,7 @@ extern "C" {
* *
* Description: * Description:
* All STM32 architectures must provide the following entry point. This entry point * All STM32 architectures must provide the following entry point. This entry point
* is called early in the intitialization -- after all memory has been configured * is called early in the initialization -- after all memory has been configured
* and mapped but before any devices have been initialized. * and mapped but before any devices have been initialized.
* *
************************************************************************************/ ************************************************************************************/