1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

cpu/cc2538: doxgen fixes

- added missing documentation
- repaired doxygen groups
This commit is contained in:
Hauke Petersen 2016-01-26 22:48:12 +01:00
parent 9d6ff3d218
commit e1df626a9b
9 changed files with 178 additions and 119 deletions

View File

@ -1,10 +1,11 @@
/** /**
* @defgroup cpu_cc2538 Texas Instruments CC2538 * @defgroup cpu_cc2538 TI CC2538
* @ingroup cpu * @ingroup cpu
* @brief Texas Instruments CC2538 Cortex-M3 MCU specific code * @brief Texas Instruments CC2538 Cortex-M3 MCU specific code
*/ */
/** /**
* @defgroup cpu_cc2538_definitions Texas Instruments CC2538 Definitions * @defgroup cpu_cc2538_regs TI CC2538 CMSIS-style Headers
* @ingroup cpu_cc2538 * @ingroup cpu_cc2538
* @brief CMSIS-style register definitions for the TI CC2538
*/ */

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup cpu_cc2538_definitions * @ingroup cpu_cc2538_regs
* @{ * @{
* *
* @file * @file

View File

@ -7,7 +7,8 @@
*/ */
/** /**
* @addtogroup cpu_cc2538 * @defgroup cpu_cc2538_gpio CC2538 General-Purpose I/O
* @ingroup cpu_cc2538_regs
* @{ * @{
* *
* @file * @file
@ -17,7 +18,6 @@
* *
* @author Ian Martin <ian@locicontrols.com> * @author Ian Martin <ian@locicontrols.com>
* *
* @defgroup cc2538-gpio CC2538 General-Purpose I/O
* @{ * @{
*/ */
@ -216,14 +216,14 @@ typedef struct {
* @brief IOC port component registers * @brief IOC port component registers
*/ */
typedef struct { typedef struct {
cc2538_reg_t PA_SEL[8]; cc2538_reg_t PA_SEL[8]; /**< Port A SEL register */
cc2538_reg_t PB_SEL[8]; cc2538_reg_t PB_SEL[8]; /**< Port B SEL register */
cc2538_reg_t PC_SEL[8]; cc2538_reg_t PC_SEL[8]; /**< Port C SEL register */
cc2538_reg_t PD_SEL[8]; cc2538_reg_t PD_SEL[8]; /**< Port D SEL register */
cc2538_reg_t PA_OVER[8]; cc2538_reg_t PA_OVER[8]; /**< Port A OVER register */
cc2538_reg_t PB_OVER[8]; cc2538_reg_t PB_OVER[8]; /**< Port B OVER register */
cc2538_reg_t PC_OVER[8]; cc2538_reg_t PC_OVER[8]; /**< Port C OVER register */
cc2538_reg_t PD_OVER[8]; cc2538_reg_t PD_OVER[8]; /**< Port D OVER register */
} cc2538_ioc_t; } cc2538_ioc_t;
/** /**

View File

@ -7,7 +7,8 @@
*/ */
/** /**
* @addtogroup cpu_cc2538 * @defgroup cpu_cc2538_gptimer CC2538 General Purpose Timer
* @ingroup cpu_cc2538_regs
* @{ * @{
* *
* @file * @file
@ -27,108 +28,117 @@
extern "C" { extern "C" {
#endif #endif
#define GPTIMER_NUMOF 4 /**< The CC2538 has four general-purpose timer units. */ #define GPTIMER_NUMOF 4 /**< The CC2538 has four general-purpose timer units. */
#define NUM_CHANNELS_PER_GPTIMER 2 /**< Each G.P. timer unit has two channels: A and B. */ #define NUM_CHANNELS_PER_GPTIMER 2 /**< Each G.P. timer unit has two channels: A and B. */
enum { enum {
GPTIMER_ONE_SHOT_MODE = 1, /**< GPTIMER one-shot mode */ GPTIMER_ONE_SHOT_MODE = 1, /**< GPTIMER one-shot mode */
GPTIMER_PERIODIC_MODE = 2, /**< GPTIMER periodic mode */ GPTIMER_PERIODIC_MODE = 2, /**< GPTIMER periodic mode */
GPTIMER_CAPTURE_MODE = 3, /**< GPTIMER capture mode */ GPTIMER_CAPTURE_MODE = 3, /**< GPTIMER capture mode */
}; };
enum { enum {
GPTMCFG_32_BIT_TIMER = 0, /**< 32-bit timer configuration */ GPTMCFG_32_BIT_TIMER = 0, /**< 32-bit timer configuration */
GPTMCFG_32_BIT_REAL_TIME_CLOCK = 1, /**< 32-bit real-time clock */ GPTMCFG_32_BIT_REAL_TIME_CLOCK = 1, /**< 32-bit real-time clock */
GPTMCFG_16_BIT_TIMER = 4, /**< 16-bit timer configuration */ GPTMCFG_16_BIT_TIMER = 4, /**< 16-bit timer configuration */
}; };
/** /**
* @brief GPTIMER component registers * @brief GPTIMER component registers
*/ */
typedef struct { typedef struct {
cc2538_reg_t CFG; /**< GPTIMER Configuration */ cc2538_reg_t CFG; /**< GPTIMER Configuration */
/**
* @brief Timer A
*/
union { union {
cc2538_reg_t TAMR; /**< GPTIMER Timer A mode */ cc2538_reg_t TAMR; /**< GPTIMER Timer A mode */
struct { struct {
cc2538_reg_t TAMR2 : 2; /**< GPTM Timer A mode */ cc2538_reg_t TAMR2 : 2; /**< GPTM Timer A mode */
cc2538_reg_t TACRM : 1; /**< GPTM Timer A capture mode */ cc2538_reg_t TACRM : 1; /**< GPTM Timer A capture mode */
cc2538_reg_t TAAMS : 1; /**< GPTM Timer A alternate mode */ cc2538_reg_t TAAMS : 1; /**< GPTM Timer A alternate mode */
cc2538_reg_t TACDIR : 1; /**< GPTM Timer A count direction */ cc2538_reg_t TACDIR : 1; /**< GPTM Timer A count direction */
cc2538_reg_t TAMIE : 1; /**< GPTM Timer A match interrupt enable */ cc2538_reg_t TAMIE : 1; /**< GPTM Timer A match interrupt enable */
cc2538_reg_t TAWOT : 1; /**< GPTM Timer A wait-on-trigger */ cc2538_reg_t TAWOT : 1; /**< GPTM Timer A wait-on-trigger */
cc2538_reg_t TASNAPS : 1; /**< GPTM Timer A snap shot mode */ cc2538_reg_t TASNAPS : 1; /**< GPTM Timer A snap shot mode */
cc2538_reg_t TAILD : 1; /**< GPTM Timer A interval load write */ cc2538_reg_t TAILD : 1; /**< GPTM Timer A interval load write */
cc2538_reg_t TAPWMIE : 1; /**< GPTM Timer A PWM interrupt enable */ cc2538_reg_t TAPWMIE : 1; /**< GPTM Timer A PWM interrupt enable */
cc2538_reg_t TAMRSU : 1; /**< Timer A match register update mode */ cc2538_reg_t TAMRSU : 1; /**< Timer A match register update mode */
cc2538_reg_t TAPLO : 1; /**< Legacy PWM operation */ cc2538_reg_t TAPLO : 1; /**< Legacy PWM operation */
cc2538_reg_t RESERVED5 : 20; /**< Reserved bits */ cc2538_reg_t RESERVED5 : 20; /**< Reserved bits */
} TAMRbits; } TAMRbits;
} cc2538_gptimer_tamr; } cc2538_gptimer_tamr;
/**
* @brief Timer B
*/
union { union {
cc2538_reg_t TBMR; /**< GPTIMER Timer B mode */ cc2538_reg_t TBMR; /**< GPTIMER Timer B mode */
struct { struct {
cc2538_reg_t TBMR2 : 2; /**< GPTM Timer B mode */ cc2538_reg_t TBMR2 : 2; /**< GPTM Timer B mode */
cc2538_reg_t TBCRM : 1; /**< GPTM Timer B capture mode */ cc2538_reg_t TBCRM : 1; /**< GPTM Timer B capture mode */
cc2538_reg_t TBAMS : 1; /**< GPTM Timer B alternate mode */ cc2538_reg_t TBAMS : 1; /**< GPTM Timer B alternate mode */
cc2538_reg_t TBCDIR : 1; /**< GPTM Timer B count direction */ cc2538_reg_t TBCDIR : 1; /**< GPTM Timer B count direction */
cc2538_reg_t TBMIE : 1; /**< GPTM Timer B match interrupt enable */ cc2538_reg_t TBMIE : 1; /**< GPTM Timer B match interrupt enable */
cc2538_reg_t TBWOT : 1; /**< GPTM Timer B wait-on-trigger */ cc2538_reg_t TBWOT : 1; /**< GPTM Timer B wait-on-trigger */
cc2538_reg_t TBSNAPS : 1; /**< GPTM Timer B snap shot mode */ cc2538_reg_t TBSNAPS : 1; /**< GPTM Timer B snap shot mode */
cc2538_reg_t TBILD : 1; /**< GPTM Timer B interval load write */ cc2538_reg_t TBILD : 1; /**< GPTM Timer B interval load write */
cc2538_reg_t TBPWMIE : 1; /**< GPTM Timer B PWM interrupt enable */ cc2538_reg_t TBPWMIE : 1; /**< GPTM Timer B PWM interrupt enable */
cc2538_reg_t TBMRSU : 1; /**< Timer B match register update mode */ cc2538_reg_t TBMRSU : 1; /**< Timer B match register update mode */
cc2538_reg_t TBPLO : 1; /**< Legacy PWM operation */ cc2538_reg_t TBPLO : 1; /**< Legacy PWM operation */
cc2538_reg_t RESERVED6 : 20; /**< Reserved bits */ cc2538_reg_t RESERVED6 : 20; /**< Reserved bits */
} TBMRbits; } TBMRbits;
} cc2538_gptimer_tbmr; } cc2538_gptimer_tbmr;
/**
* @brief Timer Control
*/
union { union {
cc2538_reg_t CTL; /**< GPTIMER Control */ cc2538_reg_t CTL; /**< GPTIMER Control */
struct { struct {
cc2538_reg_t TAEN : 1; /**< GPTM Timer A enable */ cc2538_reg_t TAEN : 1; /**< GPTM Timer A enable */
cc2538_reg_t TASTALL : 1; /**< GPTM Timer A stall enable */ cc2538_reg_t TASTALL : 1; /**< GPTM Timer A stall enable */
cc2538_reg_t TAEVENT : 1; /**< GPTM Timer A event mode */ cc2538_reg_t TAEVENT : 1; /**< GPTM Timer A event mode */
cc2538_reg_t RESERVED1 : 1; /**< Reserved bits */ cc2538_reg_t RESERVED1 : 1; /**< Reserved bits */
cc2538_reg_t TAOTE : 1; /**< GPTM Timer A PWM output trigger enable */ cc2538_reg_t TAOTE : 1; /**< GPTM Timer A PWM output trigger enable */
cc2538_reg_t TAPWML : 1; /**< GPTM Timer A PWM output level */ cc2538_reg_t TAPWML : 1; /**< GPTM Timer A PWM output level */
cc2538_reg_t RESERVED2 : 1; /**< Reserved bits */ cc2538_reg_t RESERVED2 : 1; /**< Reserved bits */
cc2538_reg_t TBEN : 1; /**< GPTM Timer B enable */ cc2538_reg_t TBEN : 1; /**< GPTM Timer B enable */
cc2538_reg_t TBSTALL : 1; /**< GPTM Timer B stall enable */ cc2538_reg_t TBSTALL : 1; /**< GPTM Timer B stall enable */
cc2538_reg_t TBEVENT : 1; /**< GPTM Timer B event mode */ cc2538_reg_t TBEVENT : 1; /**< GPTM Timer B event mode */
cc2538_reg_t RESERVED3 : 1; /**< Reserved bits */ cc2538_reg_t RESERVED3 : 1; /**< Reserved bits */
cc2538_reg_t TBOTE : 1; /**< GPTM Timer B PWM output trigger enable */ cc2538_reg_t TBOTE : 1; /**< GPTM Timer B PWM output trigger enable */
cc2538_reg_t TBPWML : 1; /**< GPTM Timer B PWM output level */ cc2538_reg_t TBPWML : 1; /**< GPTM Timer B PWM output level */
cc2538_reg_t RESERVED4 : 17; /**< Reserved bits */ cc2538_reg_t RESERVED4 : 17; /**< Reserved bits */
} CTLbits; } CTLbits;
} cc2538_gptimer_ctl; } cc2538_gptimer_ctl;
cc2538_reg_t SYNC; /**< GPTIMER Synchronize */ cc2538_reg_t SYNC; /**< GPTIMER Synchronize */
cc2538_reg_t RESERVED2; /**< Reserved word */ cc2538_reg_t RESERVED2; /**< Reserved word */
cc2538_reg_t IMR; /**< GPTIMER Interrupt Mask */ cc2538_reg_t IMR; /**< GPTIMER Interrupt Mask */
cc2538_reg_t RIS; /**< GPTIMER Raw Interrupt Status */ cc2538_reg_t RIS; /**< GPTIMER Raw Interrupt Status */
cc2538_reg_t MIS; /**< GPTIMER Masked Interrupt Status */ cc2538_reg_t MIS; /**< GPTIMER Masked Interrupt Status */
cc2538_reg_t ICR; /**< GPTIMER Interrupt Clear */ cc2538_reg_t ICR; /**< GPTIMER Interrupt Clear */
cc2538_reg_t TAILR; /**< GPTIMER Timer A Interval Load */ cc2538_reg_t TAILR; /**< GPTIMER Timer A Interval Load */
cc2538_reg_t TBILR; /**< GPTIMER Timer B Interval Load */ cc2538_reg_t TBILR; /**< GPTIMER Timer B Interval Load */
cc2538_reg_t TAMATCHR; /**< GPTIMER Timer A Match */ cc2538_reg_t TAMATCHR; /**< GPTIMER Timer A Match */
cc2538_reg_t TBMATCHR; /**< GPTIMER Timer B Match */ cc2538_reg_t TBMATCHR; /**< GPTIMER Timer B Match */
cc2538_reg_t TAPR; /**< GPTIMER Timer A Prescale Register */ cc2538_reg_t TAPR; /**< GPTIMER Timer A Prescale Register */
cc2538_reg_t TBPR; /**< GPTIMER Timer B Prescale Register */ cc2538_reg_t TBPR; /**< GPTIMER Timer B Prescale Register */
cc2538_reg_t TAPMR; /**< GPTIMER Timer A Prescale Match Register */ cc2538_reg_t TAPMR; /**< GPTIMER Timer A Prescale Match Register */
cc2538_reg_t TBPMR; /**< GPTIMER Timer B Prescale Match Register */ cc2538_reg_t TBPMR; /**< GPTIMER Timer B Prescale Match Register */
cc2538_reg_t TAR; /**< GPTIMER Timer A */ cc2538_reg_t TAR; /**< GPTIMER Timer A */
cc2538_reg_t TBR; /**< GPTIMER Timer B */ cc2538_reg_t TBR; /**< GPTIMER Timer B */
cc2538_reg_t TAV; /**< GPTIMER Timer A Value */ cc2538_reg_t TAV; /**< GPTIMER Timer A Value */
cc2538_reg_t TBV; /**< GPTIMER Timer B Value */ cc2538_reg_t TBV; /**< GPTIMER Timer B Value */
cc2538_reg_t RESERVED3; /**< Reserved word */ cc2538_reg_t RESERVED3; /**< Reserved word */
cc2538_reg_t TAPS; /**< GPTIMER Timer A Prescale Snapshot */ cc2538_reg_t TAPS; /**< GPTIMER Timer A Prescale Snapshot */
cc2538_reg_t TBPS; /**< GPTIMER Timer B Prescale Snapshot */ cc2538_reg_t TBPS; /**< GPTIMER Timer B Prescale Snapshot */
cc2538_reg_t TAPV; /**< GPTIMER Timer A Prescale Value */ cc2538_reg_t TAPV; /**< GPTIMER Timer A Prescale Value */
cc2538_reg_t TBPV; /**< GPTIMER Timer B Prescale Value */ cc2538_reg_t TBPV; /**< GPTIMER Timer B Prescale Value */
cc2538_reg_t RESERVED[981]; cc2538_reg_t RESERVED[981]; /**< Reserved */
cc2538_reg_t PP; /**< GPTIMER Peripheral Properties */ cc2538_reg_t PP; /**< GPTIMER Peripheral Properties */
} cc2538_gptimer_t; } cc2538_gptimer_t;
#define GPTIMER0 ( (cc2538_gptimer_t*)0x40030000 ) /**< GPTIMER0 Instance */ #define GPTIMER0 ( (cc2538_gptimer_t*)0x40030000 ) /**< GPTIMER0 Instance */
@ -136,14 +146,14 @@ typedef struct {
#define GPTIMER2 ( (cc2538_gptimer_t*)0x40032000 ) /**< GPTIMER2 Instance */ #define GPTIMER2 ( (cc2538_gptimer_t*)0x40032000 ) /**< GPTIMER2 Instance */
#define GPTIMER3 ( (cc2538_gptimer_t*)0x40033000 ) /**< GPTIMER3 Instance */ #define GPTIMER3 ( (cc2538_gptimer_t*)0x40033000 ) /**< GPTIMER3 Instance */
void isr_timer0_chan0(void); /**< RIOT Timer 0 Channel 0 Interrupt Service Routine */ void isr_timer0_chan0(void); /**< RIOT Timer 0 Channel 0 Interrupt Service Routine */
void isr_timer0_chan1(void); /**< RIOT Timer 0 Channel 1 Interrupt Service Routine */ void isr_timer0_chan1(void); /**< RIOT Timer 0 Channel 1 Interrupt Service Routine */
void isr_timer1_chan0(void); /**< RIOT Timer 1 Channel 0 Interrupt Service Routine */ void isr_timer1_chan0(void); /**< RIOT Timer 1 Channel 0 Interrupt Service Routine */
void isr_timer1_chan1(void); /**< RIOT Timer 1 Channel 1 Interrupt Service Routine */ void isr_timer1_chan1(void); /**< RIOT Timer 1 Channel 1 Interrupt Service Routine */
void isr_timer2_chan0(void); /**< RIOT Timer 2 Channel 0 Interrupt Service Routine */ void isr_timer2_chan0(void); /**< RIOT Timer 2 Channel 0 Interrupt Service Routine */
void isr_timer2_chan1(void); /**< RIOT Timer 2 Channel 1 Interrupt Service Routine */ void isr_timer2_chan1(void); /**< RIOT Timer 2 Channel 1 Interrupt Service Routine */
void isr_timer3_chan0(void); /**< RIOT Timer 3 Channel 0 Interrupt Service Routine */ void isr_timer3_chan0(void); /**< RIOT Timer 3 Channel 0 Interrupt Service Routine */
void isr_timer3_chan1(void); /**< RIOT Timer 3 Channel 1 Interrupt Service Routine */ void isr_timer3_chan1(void); /**< RIOT Timer 3 Channel 1 Interrupt Service Routine */
#ifdef __cplusplus #ifdef __cplusplus
} /* end extern "C" */ } /* end extern "C" */

View File

@ -7,23 +7,21 @@
*/ */
/** /**
* @defgroup cpu_cc2538_ioc CC2538 I/O Control
* @ingroup cpu_cc2538_regs
* @{ * @{
* *
* @file * @file
* @brief CC2538 I/O Control driver * @brief CC2538 I/O Control driver
* *
* Header file with declarations for the I/O Control module
*
* @author Ian Martin <ian@locicontrols.com> * @author Ian Martin <ian@locicontrols.com>
* *
* @addtogroup cpu_cc2538
* @{
*
* @defgroup cc2538-ioc CC2538 I/O Control
*
* Header file with declarations for the I/O Control module
* @{
*/ */
#ifndef IOC_H_
#define IOC_H_ #ifndef CC2538_IOC_H_
#define CC2538_IOC_H_
#include <stdint.h> #include <stdint.h>
@ -33,8 +31,13 @@
extern "C" { extern "C" {
#endif #endif
/**
* @name Port control register addresses
* @{
*/
#define IOC_PXX_SEL ( (cc2538_reg_t*)0x400d4000 ) #define IOC_PXX_SEL ( (cc2538_reg_t*)0x400d4000 )
#define IOC_PXX_OVER ( (cc2538_reg_t*)0x400d4080 ) #define IOC_PXX_OVER ( (cc2538_reg_t*)0x400d4080 )
/** @} */
/** @name Peripheral Signal Select Values (for IOC_Pxx_SEL registers) /** @name Peripheral Signal Select Values (for IOC_Pxx_SEL registers)
* @{ * @{
@ -64,7 +67,8 @@ enum {
}; };
/** @} */ /** @} */
/** @name Values for IOC_PXX_OVER /**
* @name Values for IOC_PXX_OVER
* @{ * @{
*/ */
#define IOC_OVERRIDE_OE 0x00000008 /**< Output Enable */ #define IOC_OVERRIDE_OE 0x00000008 /**< Output Enable */
@ -78,8 +82,5 @@ enum {
} /* end extern "C" */ } /* end extern "C" */
#endif #endif
#endif /* IOC_H_ */ #endif /* CC2538_IOC_H_ */
/** @} */
/** @} */
/** @} */ /** @} */

View File

@ -7,6 +7,8 @@
*/ */
/** /**
* @defgroup cpu_cc2538_rfcore CC2538 RF core interface
* @ingroup cpu_cc2538_regs
* @{ * @{
* *
* @file * @file
@ -14,11 +16,6 @@
* *
* @author Ian Martin <ian@locicontrols.com> * @author Ian Martin <ian@locicontrols.com>
* *
* @addtogroup cpu_cc2538
* @{
*
* @defgroup cc2538-rfcore CC2538 RF core interface
* @{
*/ */
#ifndef CC2538_RFCORE_H #ifndef CC2538_RFCORE_H
@ -83,6 +80,9 @@ typedef struct {
cc2538_reg_t XREG_CCACTRL1; /**< RF Other CCA Options */ cc2538_reg_t XREG_CCACTRL1; /**< RF Other CCA Options */
cc2538_reg_t XREG_RSSI; /**< RF RSSI status register */ cc2538_reg_t XREG_RSSI; /**< RF RSSI status register */
/**
* @brief RSSI status register
*/
union { union {
cc2538_reg_t XREG_RSSISTAT; /**< RF RSSI valid status register */ cc2538_reg_t XREG_RSSISTAT; /**< RF RSSI valid status register */
struct { struct {
@ -105,6 +105,9 @@ typedef struct {
cc2538_reg_t XREG_RFERRM; /**< RF error interrupt mask */ cc2538_reg_t XREG_RFERRM; /**< RF error interrupt mask */
cc2538_reg_t RESERVED3; /**< Reserved bytes */ cc2538_reg_t RESERVED3; /**< Reserved bytes */
/**
* @brief RF random data register
*/
union { union {
cc2538_reg_t XREG_RFRND; /**< RF Random data */ cc2538_reg_t XREG_RFRND; /**< RF Random data */
struct { struct {

View File

@ -7,7 +7,8 @@
*/ */
/** /**
* @ingroup cpu_cc2538 * @defgroup cpu_cc2538_adc CC2538 ADC
* @ingroup cpu_cc2538_regs
* @{ * @{
* *
* @file * @file
@ -29,6 +30,10 @@ extern "C" {
* @brief SOC ADC component registers * @brief SOC ADC component registers
*/ */
typedef struct { typedef struct {
/**
* @brief ADC control register
*/
union { union {
cc2538_reg_t ADCCON1; /**< ADC Control Register 1 */ cc2538_reg_t ADCCON1; /**< ADC Control Register 1 */
struct { struct {

View File

@ -7,7 +7,8 @@
*/ */
/** /**
* @ingroup cpu_cc2538 * @defgroup cpu_cc2538_sysctrl CC2538 System Control
* @ingroup cpu_cc2538_regs
* @{ * @{
* *
* @file * @file
@ -29,6 +30,10 @@ extern "C" {
* @brief System Control component registers * @brief System Control component registers
*/ */
typedef struct { typedef struct {
/**
* @brief Clock control register
*/
union { union {
cc2538_reg_t CLOCK_CTRL; /**< Clock control register */ cc2538_reg_t CLOCK_CTRL; /**< Clock control register */
struct { struct {
@ -47,6 +52,9 @@ typedef struct {
} CLOCK_CTRLbits; } CLOCK_CTRLbits;
} cc2538_sys_ctrl_clk_ctrl; } cc2538_sys_ctrl_clk_ctrl;
/**
* @brief Clock status register
*/
union { union {
cc2538_reg_t CLOCK_STA; /**< Clock status register */ cc2538_reg_t CLOCK_STA; /**< Clock status register */
struct { struct {
@ -77,6 +85,9 @@ typedef struct {
cc2538_reg_t DCGCSSI; /**< Module clocks for SSI[1:0] when the CPU is in PM0 */ cc2538_reg_t DCGCSSI; /**< Module clocks for SSI[1:0] when the CPU is in PM0 */
cc2538_reg_t SRSSI; /**< Reset for SSI[1:0]. */ cc2538_reg_t SRSSI; /**< Reset for SSI[1:0]. */
/**
* @brief UART module clock register - active mode
*/
union { union {
cc2538_reg_t RCGCUART; /**< Module clocks for UART[1:0] when the CPU is in active (run) mode */ cc2538_reg_t RCGCUART; /**< Module clocks for UART[1:0] when the CPU is in active (run) mode */
struct { struct {
@ -86,6 +97,9 @@ typedef struct {
} RCGCUARTbits; } RCGCUARTbits;
} cc2538_sys_ctrl_unnamed1; } cc2538_sys_ctrl_unnamed1;
/**
* @brief UART module clock register - sleep mode
*/
union { union {
cc2538_reg_t SCGCUART; /**< Module clocks for UART[1:0] when the CPU is in sleep mode */ cc2538_reg_t SCGCUART; /**< Module clocks for UART[1:0] when the CPU is in sleep mode */
struct { struct {
@ -95,6 +109,9 @@ typedef struct {
} SCGCUARTbits; } SCGCUARTbits;
} cc2538_sys_ctrl_unnamed2; } cc2538_sys_ctrl_unnamed2;
/**
* @brief UART module clock register - PM0 mode
*/
union { union {
cc2538_reg_t DCGCUART; /**< Module clocks for UART[1:0] when the CPU is in PM0 */ cc2538_reg_t DCGCUART; /**< Module clocks for UART[1:0] when the CPU is in PM0 */
struct { struct {

View File

@ -7,7 +7,8 @@
*/ */
/** /**
* @addtogroup cpu_cc2538 * @defgroup cpu_cc2538_uart CC2538 UART
* @ingroup cpu_cc2538_regs
* @{ * @{
* *
* @file * @file
@ -31,6 +32,9 @@ extern "C" {
typedef struct { typedef struct {
cc2538_reg_t DR; /**< UART Data Register */ cc2538_reg_t DR; /**< UART Data Register */
/**
* @brief Status register
*/
union { union {
cc2538_reg_t RSR; /**< UART receive status and error clear */ cc2538_reg_t RSR; /**< UART receive status and error clear */
cc2538_reg_t ECR; /**< UART receive status and error clear */ cc2538_reg_t ECR; /**< UART receive status and error clear */
@ -38,6 +42,9 @@ typedef struct {
cc2538_reg_t RESERVED1[4]; /**< Reserved addresses */ cc2538_reg_t RESERVED1[4]; /**< Reserved addresses */
/**
* @brief Flag register
*/
union { union {
cc2538_reg_t FR; /**< UART Flag Register */ cc2538_reg_t FR; /**< UART Flag Register */
struct { struct {
@ -57,6 +64,9 @@ typedef struct {
cc2538_reg_t IBRD; /**< UART Integer Baud-Rate Divisor */ cc2538_reg_t IBRD; /**< UART Integer Baud-Rate Divisor */
cc2538_reg_t FBRD; /**< UART Fractional Baud-Rate Divisor */ cc2538_reg_t FBRD; /**< UART Fractional Baud-Rate Divisor */
/**
* @brief Line control register
*/
union { union {
cc2538_reg_t LCRH; /**< UART Line Control Register */ cc2538_reg_t LCRH; /**< UART Line Control Register */
struct { struct {
@ -71,6 +81,9 @@ typedef struct {
} LCRHbits; } LCRHbits;
} cc2538_uart_lcrh; } cc2538_uart_lcrh;
/**
* @brief Control register
*/
union { union {
cc2538_reg_t CTL; /**< UART Control */ cc2538_reg_t CTL; /**< UART Control */
struct { struct {
@ -91,6 +104,9 @@ typedef struct {
} CTLbits; } CTLbits;
} cc2538_uart_ctl; } cc2538_uart_ctl;
/**
* @brief Interrupt FIFO level select register
*/
union { union {
cc2538_reg_t IFLS; /**< UART interrupt FIFO Level Select */ cc2538_reg_t IFLS; /**< UART interrupt FIFO Level Select */
struct { struct {
@ -100,6 +116,9 @@ typedef struct {
} IFLSbits; } IFLSbits;
} cc2538_uart_ifls; } cc2538_uart_ifls;
/**
* @brief Interrupt mask register
*/
union { union {
cc2538_reg_t IM; /**< UART Interrupt Mask */ cc2538_reg_t IM; /**< UART Interrupt Mask */
struct { struct {
@ -122,6 +141,9 @@ typedef struct {
cc2538_reg_t RIS; /**< UART Raw Interrupt Status */ cc2538_reg_t RIS; /**< UART Raw Interrupt Status */
/**
* @brief Masked interrupt status register
*/
union { union {
cc2538_reg_t MIS; /**< UART Masked Interrupt Status */ cc2538_reg_t MIS; /**< UART Masked Interrupt Status */
struct { struct {