RTEMS: bsps/arm/lpc176x/include/bsp/common-types.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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
26extern "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
71} lpc176x_module;
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
85} lpc176x_module_clock;
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 */
lpc176x_microseconds
uint32_t lpc176x_microseconds
Microseconds representation.
Definition: common-types.h:37
lpc176x_module
lpc176x_module
lpc176x module representation.
Definition: common-types.h:44
lpc176x_pin_number
uint32_t lpc176x_pin_number
A pin of the board.
Definition: common-types.h:32
lpc176x_module_clock
lpc176x_module_clock
Defines all the clock modules.
Definition: common-types.h:78
lpc176x_fio
Fast Input/Output registers representation.
Definition: common-types.h:90
lpc176x_fio::dir
uint32_t dir
Direction control register.
Definition: common-types.h:94
lpc176x_fio::pin
uint32_t pin
Pinvalue register using 'mask'.
Definition: common-types.h:103
lpc176x_fio::set
uint32_t set
Output Set register using 'mask'.
Definition: common-types.h:107
lpc176x_fio::clr
uint32_t clr
Output Clear register using 'maks'.
Definition: common-types.h:111
lpc176x_fio::mask
uint32_t mask
Mask register for port.
Definition: common-types.h:99