RTEMS 7.0-rc1
Loading...
Searching...
No Matches
common-types.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0+-with-RTEMS-exception */
2
11/*
12 * Copyright (c) 2014 Taller Technologies.
13 *
14 * @author Boretto Martin (martin.boretto@tallertechnologies.com)
15 * @author Diaz Marcos (marcos.diaz@tallertechnologies.com)
16 * @author Lenarduzzi Federico (federico.lenarduzzi@tallertechnologies.com)
17 * @author Daniel Chicco (daniel.chicco@tallertechnologies.com)
18 *
19 * The license and distribution terms for this file may be
20 * found in the file LICENSE in this distribution or at
21 * http://www.rtems.org/license/LICENSE.
22 */
23
24#ifndef LIBBSP_ARM_LPC176X_COMMON_TYPES_H
25#define LIBBSP_ARM_LPC176X_COMMON_TYPES_H
26
27#ifdef __cplusplus
28extern "C" {
29#endif /* __cplusplus */
30
34typedef uint32_t lpc176x_pin_number;
35
39typedef uint32_t lpc176x_microseconds;
40
46typedef enum {
47 LPC176X_MODULE_WD,
48 LPC176X_MODULE_ADC,
49 LPC176X_MODULE_CAN_0,
50 LPC176X_MODULE_CAN_1,
51 LPC176X_MODULE_ACCF,
52 LPC176X_MODULE_DAC,
53 LPC176X_MODULE_GPDMA,
54 LPC176X_MODULE_GPIO,
55 LPC176X_MODULE_I2S,
56 LPC176X_MODULE_MCI,
57 LPC176X_MODULE_MCPWM,
58 LPC176X_MODULE_PCB,
59 LPC176X_MODULE_PWM_0,
60 LPC176X_MODULE_PWM_1,
61 LPC176X_MODULE_QEI,
62 LPC176X_MODULE_RTC,
63 LPC176X_MODULE_SYSCON,
64 LPC176X_MODULE_TIMER_0,
65 LPC176X_MODULE_TIMER_1,
66 LPC176X_MODULE_TIMER_2,
67 LPC176X_MODULE_TIMER_3,
68 LPC176X_MODULE_UART_0,
69 LPC176X_MODULE_UART_1,
70 LPC176X_MODULE_UART_2,
71 LPC176X_MODULE_UART_3,
72 LPC176X_MODULE_USB
74
80typedef enum {
81 LPC176X_MODULE_PCLK_DEFAULT = 0x4U,
82 LPC176X_MODULE_CCLK = 0x1U,
83 LPC176X_MODULE_CCLK_2 = 0x2U,
84 LPC176X_MODULE_CCLK_4 = 0x0U,
85 LPC176X_MODULE_CCLK_6 = 0x3U,
86 LPC176X_MODULE_CCLK_8 = 0x3U
88
92typedef struct {
96 uint32_t dir;
97 uint32_t reserved[ 3U ];
101 uint32_t mask;
105 uint32_t pin;
109 uint32_t set;
113 uint32_t clr;
115
116#ifdef __cplusplus
117}
118#endif /* __cplusplus */
119
120#endif /* LIBBSP_ARM_LPC176X_COMMON_TYPES_H */
uint32_t lpc176x_microseconds
Microseconds representation.
Definition: common-types.h:39
lpc176x_module
lpc176x module representation.
Definition: common-types.h:46
uint32_t lpc176x_pin_number
A pin of the board.
Definition: common-types.h:34
lpc176x_module_clock
Defines all the clock modules.
Definition: common-types.h:80
Fast Input/Output registers representation.
Definition: common-types.h:92
uint32_t dir
Direction control register.
Definition: common-types.h:96
uint32_t pin
Pinvalue register using 'mask'.
Definition: common-types.h:105
uint32_t set
Output Set register using 'mask'.
Definition: common-types.h:109
uint32_t clr
Output Clear register using 'maks'.
Definition: common-types.h:113
uint32_t mask
Mask register for port.
Definition: common-types.h:101