arm_stm32f4: added new doxygen

This commit is contained in:
Daniel Ramirez
2013-12-22 15:55:40 -06:00
committed by Gedare Bloom
parent b7212b9f1f
commit 8224d2af2b
14 changed files with 319 additions and 8 deletions

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup arm_stm34f4
* @brief Global BSP definitions.
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*
@@ -12,6 +18,13 @@
* http://www.rtems.com/license/LICENSE.
*/
/**
* @defgroup arm_stm32f4 STM32F4 Support
* @ingroup bsp_arm
* @brief STM32f4 Support Package
* @{
*/
#ifndef LIBBSP_ARM_STM32F4_BSP_H
#define LIBBSP_ARM_STM32F4_BSP_H
@@ -34,6 +47,8 @@ extern "C" {
#define BSP_ARMV7M_SYSTICK_FREQUENCY STM32F4_HCLK
/** @} */
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_i2c I2C Support
* @brief I2C-module.
*/
/*
* Copyright (c) 2013 Christian Mauderer. All rights reserved.
*
@@ -29,15 +35,24 @@
extern "C" {
#endif /* __cplusplus */
/**
* @defgroup stm32f4_i2c I2C Support
* @ingroup arm_stm32f4
* @brief I2C Module
* @{
*/
typedef struct {
/* The address of the slave without the read write bit. A 7-Bit address should
* be placed in the bits [6..0] */
/**
* @brief The address of the slave without the read write bit.
* A 7-Bit address should be placed in the bits [6..0]
*/
uint16_t addr;
/* Read (true) or write (false) data */
/** @brief Read (true) or write (false) data */
bool read;
/* Size of data to read or write */
/** @brief Size of data to read or write */
size_t len;
/* Buffer for data */
/** @brief Buffer for data */
uint8_t *buf;
} stm32f4_i2c_message;
@@ -54,16 +69,16 @@ typedef struct {
uint8_t addr_with_rw;
} stm32f4_i2c_bus_entry;
/* Initialise the i2c module. */
/** @brief Initialise the i2c module. */
rtems_status_code stm32f4_i2c_init(stm32f4_i2c_bus_entry *e);
/* Process a i2c message */
/** @brief Process a i2c message */
rtems_status_code stm32f4_i2c_process_message(
stm32f4_i2c_bus_entry *e,
stm32f4_i2c_message *msg
);
/* Set another baud rate than the default one */
/** @brief Set another baud rate than the default one */
rtems_status_code stm32f4_i2c_set_bitrate(
stm32f4_i2c_bus_entry *e,
uint32_t br
@@ -72,6 +87,8 @@ rtems_status_code stm32f4_i2c_set_bitrate(
extern stm32f4_i2c_bus_entry *const stm32f4_i2c1;
extern stm32f4_i2c_bus_entry *const stm32f4_i2c2;
/** @} */
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_io
* @brief IO support.
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*
@@ -23,6 +29,13 @@
extern "C" {
#endif /* __cplusplus */
/**
* @defgroup stm32f4_io IO Support
* @ingroup arm_stm32f4
* @brief IO Support
* @{
*/
#define STM32F4_GPIO_PIN(port, index) ((((port) << 4) | (index)) & 0xff)
#define STM32F4_GPIO_PORT_OF_PIN(pin) (((pin) >> 4) & 0xf)
@@ -31,6 +44,11 @@ extern "C" {
#ifdef STM32F4_FAMILY_F4XXXX
/**
* @name Family F4XXXX
* @{
*/
typedef enum {
STM32F4_GPIO_MODE_INPUT,
STM32F4_GPIO_MODE_OUTPUT,
@@ -113,9 +131,16 @@ typedef union {
#define STM32F4_GPIO_CONFIG_TERMINAL \
{ { 0xff, 0xff, 0x3, 0x1, 0x3, 0x3, 0x1, 0xf, 0xf } }
/** @} */
#endif /* STM32F4_FAMILY_F4XXXX */
#ifdef STM32F4_FAMILY_F10XXX
/**
* @name Family F10XXX
* @{
*/
typedef enum {
STM32F4_GPIO_MODE_INPUT,
STM32F4_GPIO_MODE_OUTPUT_10MHz,
@@ -237,6 +262,8 @@ typedef union {
#define STM32F4_GPIO_CONFIG_TERMINAL \
{ { 0xff, 0xff, 0x3, 0x3, 0x1, 0xff, 0x7 } }
/** @} */
#endif /* STM32F4_FAMILY_F10XXX */
extern const stm32f4_gpio_config stm32f4_start_config_gpio [];
@@ -257,6 +284,11 @@ bool stm32f4_gpio_get_input(int pin);
#ifdef STM32F4_FAMILY_F4XXXX
/**
* @name Family F4XXXX
* @{
*/
#define STM32F4_PIN_USART(port, idx, altfunc) \
{ \
{ \
@@ -296,9 +328,16 @@ bool stm32f4_gpio_get_input(int pin);
#define STM32F4_PIN_USART6_TX_PC6 STM32F4_PIN_USART(2, 6, STM32F4_GPIO_AF_USART6)
#define STM32F4_PIN_USART6_RX_PC7 STM32F4_PIN_USART(2, 7, STM32F4_GPIO_AF_USART6)
/** @} */
#endif /* STM32F4_FAMILY_F4XXXX */
#ifdef STM32F4_FAMILY_F10XXX
/**
* @name Family F10XXX
* @{
*/
#define STM32F4_PIN_USART_TX(port, idx, remapvalue) \
{ \
{ \
@@ -366,6 +405,8 @@ bool stm32f4_gpio_get_input(int pin);
#define STM32F4_PIN_I2C2_SCL STM32F4_PIN_I2C(1, 10, STM32F4_GPIO_REMAP_DONT_CHANGE)
#define STM32F4_PIN_I2C2_SDA STM32F4_PIN_I2C(1, 11, STM32F4_GPIO_REMAP_DONT_CHANGE)
/** @} */
#endif /* STM32F4_FAMILY_F10XXX */
#ifdef __cplusplus

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_interrupt
* @brief Interrupt definitions.
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*
@@ -31,6 +37,13 @@ extern "C" {
#endif /* ASM */
/**
* @defgroup stm32f4_interrupt Interrupt Support
* @ingroup arm_stm32f4
* @brief Interrupt Support
* @{
*/
#define STM32F4_IRQ_WWDG 0
#define STM32F4_IRQ_PVD 1
#define STM32F4_IRQ_TAMP_STAMP 2
@@ -123,4 +136,6 @@ extern "C" {
#define BSP_INTERRUPT_VECTOR_MIN 0
#define BSP_INTERRUPT_VECTOR_MAX 81
/** @} */
#endif /* LIBBSP_ARM_STM32F4_IRQ_H */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_rcc
* @brief RCC support.
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*
@@ -22,10 +28,23 @@
extern "C" {
#endif /* __cplusplus */
/**
* @defgroup stm32f4_rcc RCC Support
* @ingroup arm_stm32f4
* @brief RCC Support
* @{
*/
#define STM32F4_RCC_INDEX(reg, idx) (((reg) << 5) | (idx))
typedef enum {
#ifdef STM32F4_FAMILY_F4XXXX
/**
* @name Family F4XXXX
* @{
*/
STM32F4_RCC_OTGHS = STM32F4_RCC_INDEX(0, 29),
STM32F4_RCC_ETHMAC = STM32F4_RCC_INDEX(0, 25),
STM32F4_RCC_DMA2 = STM32F4_RCC_INDEX(0, 22),
@@ -86,8 +105,17 @@ typedef enum {
STM32F4_RCC_USART1 = STM32F4_RCC_INDEX(5, 4),
STM32F4_RCC_TIM8 = STM32F4_RCC_INDEX(5, 1),
STM32F4_RCC_TIM1 = STM32F4_RCC_INDEX(5, 0),
/** @} */
#endif /* STM32F4_FAMILY_F4XXXX */
#ifdef STM32F4_FAMILY_F10XXX
/**
* @name Family F10
* @{
*/
STM32F4_RCC_DMA1 = STM32F4_RCC_INDEX(0, 0),
STM32F4_RCC_DMA2 = STM32F4_RCC_INDEX(0, 1),
STM32F4_RCC_SRAM = STM32F4_RCC_INDEX(0, 2),
@@ -143,6 +171,9 @@ typedef enum {
STM32F4_RCC_BKP = STM32F4_RCC_INDEX(2, 27),
STM32F4_RCC_PWR = STM32F4_RCC_INDEX(2, 28),
STM32F4_RCC_DAC = STM32F4_RCC_INDEX(2, 29),
/** @} */
#endif /* STM32F4_FAMILY_F10XXX */
} stm32f4_rcc_index;
@@ -156,6 +187,8 @@ void stm32f4_rcc_set_clock(stm32f4_rcc_index index, bool set);
void stm32f4_rcc_set_low_power_clock(stm32f4_rcc_index index, bool set);
#endif /* STM32F4_FAMILY_F4XXXX */
/** @} */
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32_i2c
* @brief STM32 I2C support.
*/
/*
* Copyright (c) 2013 Christian Mauderer. All rights reserved.
*
@@ -17,6 +23,13 @@
#include <bsp/utility.h>
/**
* @defgroup stm32_i2c STM32 I2C Support
* @ingroup stm32f4_i2c
* @brief STM32 I2C Support
* @{
*/
typedef struct {
uint32_t cr1;
#define STM32F4_I2C_CR1_SWRST BSP_BIT32(15)
@@ -95,4 +108,6 @@ typedef struct {
#define STM32F4_I2C_TRISE_SET(reg, val) BSP_FLD32SET(reg, val, 0, 5)
} stm32f4_i2c;
/** @} */
#endif /* LIBBSP_ARM_STM32F4_STM32_I2C_H */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32_usart
* @brief STM32 USART support
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*
@@ -17,6 +23,13 @@
#include <bsp/utility.h>
/**
* @defgroup stm32_usart STM32 USART Support
* @ingroup stm32f4_usart
* @brief STM32 USART Support
* @{
*/
typedef struct {
uint32_t sr;
#define STM32F4_USART_SR_CTS BSP_BIT32(9)
@@ -92,4 +105,6 @@ typedef struct {
#define STM32F4_USART_GTPR_PSC_SET(reg, val) BSP_FLD32SET(reg, val, 0, 7)
} stm32f4_usart;
/** @} */
#endif /* LIBBSP_ARM_STM32F4_STM32_USART_H */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_exti
* @brief STM32F10XXX EXTI support
*/
/*
* Copyright (c) 2013 Christian Mauderer. All rights reserved.
*
@@ -17,6 +23,13 @@
#include <bsp/utility.h>
/**
* @defgroup stm32f4_exti EXTI Support
* @ingroup arm_stm32f4
* @brief STM32F10XXX EXTI Support
* @{
*/
typedef struct {
uint32_t imr;
#define STM32F4_EXTI_IMR(line) BSP_BIT32(line)
@@ -32,4 +45,6 @@ typedef struct {
#define STM32F4_EXTI_PR(line) BSP_BIT32(line)
} stm32f4_exti;
/** @} */
#endif /* LIBBSP_ARM_STM32F4_STM32F10XXX_EXTI_H */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_gpio
* @brief STM32F10XXX GPIO support.
*/
/*
* Copyright (c) 2013 Christian Mauderer. All rights reserved.
*
@@ -17,6 +23,13 @@
#include <bsp/utility.h>
/**
* @defgroup stm32f4_gpio GPIO Support
* @ingroup stm32f4_io
* @brief GPIO Support
* @{
*/
typedef struct {
uint32_t cr[2];
uint32_t idr;
@@ -33,4 +46,6 @@ typedef struct {
uint32_t mapr2;
} stm32f4_afio;
/** @} */
#endif /* LIBBSP_ARM_STM32F4_STM32F10XXX_GPIO_H */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f10xxx_rcc
* @brief STM32F10XXX RCC support.
*/
/*
* Copyright (c) 2013 Christian Mauderer. All rights reserved.
*
@@ -17,6 +23,13 @@
#include <bsp/utility.h>
/**
* @defgroup stm32f10xxx_rcc STM32F10XXX RCC Support
* @ingroup stm32f4_rcc
* @brief STM32F10XXX RCC Support
* @{
*/
typedef struct {
uint32_t cr;
uint32_t cfgr;
@@ -30,4 +43,6 @@ typedef struct {
uint32_t cfgr2;
} stm32f4_rcc;
/** @} */
#endif /* LIBBSP_ARM_STM32F4_STM32F10XXX_RCC_H */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_reg
* @brief Register definitions.
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*
@@ -22,17 +28,51 @@
#ifdef STM32F4_FAMILY_F4XXXX
/**
* @defgroup stm32f4_reg Register Defintions
* @ingroup arm_stm32f4
* @brief Register Definitions
* @{
*/
/**
* @name STM32f4XXXX GPIO
* @{
*/
#include <bsp/stm32f4xxxx_gpio.h>
#define STM32F4_GPIO(i) ((volatile stm32f4_gpio *) (STM32F4_BASE + 0x40020000) + (i))
/** @} */
/**
* @name STM32F4XXXX RCC
* @{
*/
#include <bsp/stm32f4xxxx_rcc.h>
#define STM32F4_RCC ((volatile stm32f4_rcc *) (STM32F4_BASE + 0x40023800))
/** @} */
#include <bsp/stm32_i2c.h>
/**
* @name STM32 I2C
* @{
*/
#define STM32F4_I2C3 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005C00))
#define STM32F4_I2C2 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005800))
#define STM32F4_I2C1 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005400))
/** @} */
/**
* @name STM32 USART
* @{
*/
#include <bsp/stm32_usart.h>
#define STM32F4_USART_1 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40011000))
#define STM32F4_USART_2 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004400))
@@ -41,24 +81,59 @@
#define STM32F4_USART_5 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40005000))
#define STM32F4_USART_6 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40011400))
/** @} */
#endif /* STM32F4_FAMILY_F4XXXX */
#ifdef STM32F4_FAMILY_F10XXX
/**
* @name STM32F10 EXTI
* @{
*/
#include <bsp/stm32f10xxx_exti.h>
#define STM32F4_EXTI ((volatile stm32f4_exti *) (STM32F4_BASE + 0x40010400))
/** @} */
/**
* @name STM32F10XXX GPIO
* @{
*/
#include <bsp/stm32f10xxx_gpio.h>
#define STM32F4_GPIO(i) ((volatile stm32f4_gpio *) (STM32F4_BASE + 0x40010800 + i * 0x400))
#define STM32F4_AFIO ((volatile stm32f4_afio *) (STM32F4_BASE + 0x40010000))
/** @} */
/**
* @name STM32F10XXX RCC
* @{
*/
#include <bsp/stm32f10xxx_rcc.h>
#define STM32F4_RCC ((volatile stm32f4_rcc *) (STM32F4_BASE + 0x40021000))
/** @} */
/**
* @name STM32 I2C
* @{
*/
#include <bsp/stm32_i2c.h>
#define STM32F4_I2C2 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005800))
#define STM32F4_I2C1 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005400))
/** @} */
/**
* @name STM32 USART
* @{
*/
#include <bsp/stm32_usart.h>
#define STM32F4_USART_1 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40013800))
#define STM32F4_USART_2 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004400))
@@ -66,6 +141,10 @@
#define STM32F4_USART_4 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004c00))
#define STM32F4_USART_5 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40005000))
/** @} */
/** @} */
#endif /* STM32F4_FAMILY_F10XXX */
#endif /* LIBBSP_ARM_STM32F4_STM32F4_H */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_gpio
* @brief STM32F4XXXX GPIO support.
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4xxxx_rcc
* @brief STM32F4XXXX RCC support.
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*
@@ -17,6 +23,13 @@
#include <bsp/utility.h>
/**
* @defgroup stm32f4xxxx_rcc STM32F4XXXX RCC Support
* @ingroup stm32f4_rcc
* @brief STM32F4XXXX RCC Support
* @{
*/
typedef struct {
uint32_t cr;
uint32_t pllcfgr;
@@ -41,4 +54,6 @@ typedef struct {
uint32_t plli2scfgr;
} stm32f4_rcc;
/** @} */
#endif /* LIBBSP_ARM_STM32F4_STM32F4XXXX_RCC_H */

View File

@@ -1,3 +1,9 @@
/**
* @file
* @ingroup stm32f4_usart
* @brief USART (universal synchronous/asynchronous receiver/transmitter) support.
*/
/*
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
*
@@ -17,12 +23,21 @@
#include <libchip/serial.h>
/**
* @defgroup stm32f4_usart USART Support
* @ingroup arm_stm32f4
* @brief USART Support
* @{
*/
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
extern const console_fns stm32f4_usart_fns;
/** @} */
#ifdef __cplusplus
}
#endif /* __cplusplus */