RTEMS  5.0.0
common-types.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2014 Taller Technologies.
11  *
12  * @author Boretto Martin (martin.boretto@tallertechnologies.com)
13  * @author Diaz Marcos (marcos.diaz@tallertechnologies.com)
14  * @author Lenarduzzi Federico (federico.lenarduzzi@tallertechnologies.com)
15  * @author Daniel Chicco (daniel.chicco@tallertechnologies.com)
16  *
17  * The license and distribution terms for this file may be
18  * found in the file LICENSE in this distribution or at
19  * http://www.rtems.org/license/LICENSE.
20  */
21 
22 #ifndef LIBBSP_ARM_LPC176X_COMMON_TYPES_H
23 #define LIBBSP_ARM_LPC176X_COMMON_TYPES_H
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif /* __cplusplus */
28 
32 typedef uint32_t lpc176x_pin_number;
33 
37 typedef uint32_t lpc176x_microseconds;
38 
44 typedef enum {
45  LPC176X_MODULE_WD,
46  LPC176X_MODULE_ADC,
47  LPC176X_MODULE_CAN_0,
48  LPC176X_MODULE_CAN_1,
49  LPC176X_MODULE_ACCF,
50  LPC176X_MODULE_DAC,
51  LPC176X_MODULE_GPDMA,
52  LPC176X_MODULE_GPIO,
53  LPC176X_MODULE_I2S,
54  LPC176X_MODULE_MCI,
55  LPC176X_MODULE_MCPWM,
56  LPC176X_MODULE_PCB,
57  LPC176X_MODULE_PWM_0,
58  LPC176X_MODULE_PWM_1,
59  LPC176X_MODULE_QEI,
60  LPC176X_MODULE_RTC,
61  LPC176X_MODULE_SYSCON,
62  LPC176X_MODULE_TIMER_0,
63  LPC176X_MODULE_TIMER_1,
64  LPC176X_MODULE_TIMER_2,
65  LPC176X_MODULE_TIMER_3,
66  LPC176X_MODULE_UART_0,
67  LPC176X_MODULE_UART_1,
68  LPC176X_MODULE_UART_2,
69  LPC176X_MODULE_UART_3,
70  LPC176X_MODULE_USB
72 
78 typedef enum {
79  LPC176X_MODULE_PCLK_DEFAULT = 0x4U,
80  LPC176X_MODULE_CCLK = 0x1U,
81  LPC176X_MODULE_CCLK_2 = 0x2U,
82  LPC176X_MODULE_CCLK_4 = 0x0U,
83  LPC176X_MODULE_CCLK_6 = 0x3U,
84  LPC176X_MODULE_CCLK_8 = 0x3U
86 
90 typedef struct {
94  uint32_t dir;
95  uint32_t reserved[ 3U ];
99  uint32_t mask;
103  uint32_t pin;
107  uint32_t set;
111  uint32_t clr;
112 } lpc176x_fio;
113 
114 #ifdef __cplusplus
115 }
116 #endif /* __cplusplus */
117 
118 #endif /* LIBBSP_ARM_LPC176X_COMMON_TYPES_H */
Fast Input/Output registers representation.
Definition: common-types.h:90
uint32_t clr
Output Clear register using 'maks'.
Definition: common-types.h:111
uint32_t lpc176x_microseconds
Microseconds representation.
Definition: common-types.h:37
uint32_t mask
Mask register for port.
Definition: common-types.h:99
uint32_t dir
Direction control register.
Definition: common-types.h:94
uint32_t pin
Pinvalue register using 'mask'.
Definition: common-types.h:103
lpc176x_module
lpc176x module representation.
Definition: common-types.h:44
lpc176x_module_clock
Defines all the clock modules.
Definition: common-types.h:78
uint32_t lpc176x_pin_number
A pin of the board.
Definition: common-types.h:32