RTEMS 7.0-rc1
Loading...
Searching...
No Matches
stm32f4xxxx_syscfg.h
1/* SPDX-License-Identifier: GPL-2.0+-with-RTEMS-exception */
2
3/*
4 * Copyright (c) 2013 Chris Nott. All rights reserved.
5 *
6 * Virtual Logic
7 * 21-25 King St.
8 * Rockdale NSW 2216
9 * Australia
10 * <rtems@vl.com.au>
11 *
12 * The license and distribution terms for this file may be
13 * found in the file LICENSE in this distribution or at
14 * http://www.rtems.org/license/LICENSE.
15 */
16
17#ifndef LIBBSP_ARM_STM32F4_STM32F4XXXX_SYSCFG_H
18#define LIBBSP_ARM_STM32F4_STM32F4XXXX_SYSCFG_H
19
20#include <bsp/utility.h>
21
22#define EXTI_PORTA 0
23#define EXTI_PORTB 1
24#define EXTI_PORTC 2
25#define EXTI_PORTD 3
26#define EXTI_PORTE 4
27#define EXTI_PORTF 5
28#define EXTI_PORTG 6
29#define EXTI_PORTH 7
30#define EXTI_PORTI 8
31
33 uint32_t memrmp; // Memory remap
34#define STM32F4_SYSCFG_MEM_MODE(val) BSP_FLD32(val, 0, 1)
35#define STM32F4_SYSCFG_MEM_MODE_GET(reg) BSP_FLD32GET(reg, 0, 1)
36#define STM32F4_SYSCFG_MEM_MODE_SET(reg, val) BSP_FLD32SET(reg, val, 0, 1)
37 uint32_t pmc; // Peripheral mode configuration
38#define STM32F4_SYSCFG_RMII_SEL BSP_BIT32(23)
39 uint32_t exticr[4]; // External interrupt configuration
40#define STM32F4_SYSCFG_EXTI0_IDX 0
41#define STM32F4_SYSCFG_EXTI0(val) BSP_FLD32(val, 0, 3)
42#define STM32F4_SYSCFG_EXTI0_GET(reg) BSP_FLD32GET(reg, 0, 3)
43#define STM32F4_SYSCFG_EXTI0_SET(reg, val) BSP_FLD32SET(reg, val, 0, 3)
44#define STM32F4_SYSCFG_EXTI1_IDX 0
45#define STM32F4_SYSCFG_EXTI1(val) BSP_FLD32(val, 4, 7)
46#define STM32F4_SYSCFG_EXTI1_GET(reg) BSP_FLD32GET(reg, 4, 7)
47#define STM32F4_SYSCFG_EXTI1_SET(reg, val) BSP_FLD32SET(reg, val, 4, 7)
48#define STM32F4_SYSCFG_EXTI2_IDX 0
49#define STM32F4_SYSCFG_EXTI2(val) BSP_FLD32(val, 8, 11)
50#define STM32F4_SYSCFG_EXTI2_GET(reg) BSP_FLD32GET(reg, 8, 11)
51#define STM32F4_SYSCFG_EXTI2_SET(reg, val) BSP_FLD32SET(reg, val, 8, 11)
52#define STM32F4_SYSCFG_EXTI3_IDX 0
53#define STM32F4_SYSCFG_EXTI3(val) BSP_FLD32(val, 12, 15)
54#define STM32F4_SYSCFG_EXTI3_GET(reg) BSP_FLD32GET(reg, 12, 15)
55#define STM32F4_SYSCFG_EXTI3_SET(reg, val) BSP_FLD32SET(reg, val, 12, 15)
56#define STM32F4_SYSCFG_EXTI4_IDX 1
57#define STM32F4_SYSCFG_EXTI4(val) BSP_FLD32(val, 0, 3)
58#define STM32F4_SYSCFG_EXTI4_GET(reg) BSP_FLD32GET(reg, 0, 3)
59#define STM32F4_SYSCFG_EXTI4_SET(reg, val) BSP_FLD32SET(reg, val, 0, 3)
60#define STM32F4_SYSCFG_EXTI5_IDX 1
61#define STM32F4_SYSCFG_EXTI5(val) BSP_FLD32(val, 4, 7)
62#define STM32F4_SYSCFG_EXTI5_GET(reg) BSP_FLD32GET(reg, 4, 7)
63#define STM32F4_SYSCFG_EXTI5_SET(reg, val) BSP_FLD32SET(reg, val, 4, 7)
64#define STM32F4_SYSCFG_EXTI6_IDX 1
65#define STM32F4_SYSCFG_EXTI6(val) BSP_FLD32(val, 8, 11)
66#define STM32F4_SYSCFG_EXTI6_GET(reg) BSP_FLD32GET(reg, 8, 11)
67#define STM32F4_SYSCFG_EXTI6_SET(reg, val) BSP_FLD32SET(reg, val, 8, 11)
68#define STM32F4_SYSCFG_EXTI7_IDX 1
69#define STM32F4_SYSCFG_EXTI7(val) BSP_FLD32(val, 12, 15)
70#define STM32F4_SYSCFG_EXTI7_GET(reg) BSP_FLD32GET(reg, 12, 15)
71#define STM32F4_SYSCFG_EXTI7_SET(reg, val) BSP_FLD32SET(reg, val, 12, 15)
72#define STM32F4_SYSCFG_EXTI8_IDX 2
73#define STM32F4_SYSCFG_EXTI8(val) BSP_FLD32(val, 0, 3)
74#define STM32F4_SYSCFG_EXTI8_GET(reg) BSP_FLD32GET(reg, 0, 3)
75#define STM32F4_SYSCFG_EXTI8_SET(reg, val) BSP_FLD32SET(reg, val, 0, 3)
76#define STM32F4_SYSCFG_EXTI9_IDX 2
77#define STM32F4_SYSCFG_EXTI9(val) BSP_FLD32(val, 4, 7)
78#define STM32F4_SYSCFG_EXTI9_GET(reg) BSP_FLD32GET(reg, 4, 7)
79#define STM32F4_SYSCFG_EXTI9_SET(reg, val) BSP_FLD32SET(reg, val, 4, 7)
80#define STM32F4_SYSCFG_EXTI10_IDX 2
81#define STM32F4_SYSCFG_EXTI10(val) BSP_FLD32(val, 8, 11)
82#define STM32F4_SYSCFG_EXTI10_GET(reg) BSP_FLD32GET(reg, 8, 11)
83#define STM32F4_SYSCFG_EXTI10_SET(reg, val) BSP_FLD32SET(reg, val, 8, 11)
84#define STM32F4_SYSCFG_EXTI11_IDX 2
85#define STM32F4_SYSCFG_EXTI11(val) BSP_FLD32(val, 12, 15)
86#define STM32F4_SYSCFG_EXTI11_GET(reg) BSP_FLD32GET(reg, 12, 15)
87#define STM32F4_SYSCFG_EXTI11_SET(reg, val) BSP_FLD32SET(reg, val, 12, 15)
88#define STM32F4_SYSCFG_EXTI12_IDX 3
89#define STM32F4_SYSCFG_EXTI12(val) BSP_FLD32(val, 0, 3)
90#define STM32F4_SYSCFG_EXTI12_GET(reg) BSP_FLD32GET(reg, 0, 3)
91#define STM32F4_SYSCFG_EXTI12_SET(reg, val) BSP_FLD32SET(reg, val, 0, 3)
92#define STM32F4_SYSCFG_EXTI13_IDX 3
93#define STM32F4_SYSCFG_EXTI13(val) BSP_FLD32(val, 4, 7)
94#define STM32F4_SYSCFG_EXTI13_GET(reg) BSP_FLD32GET(reg, 4, 7)
95#define STM32F4_SYSCFG_EXTI13_SET(reg, val) BSP_FLD32SET(reg, val, 4, 7)
96#define STM32F4_SYSCFG_EXTI14_IDX 3
97#define STM32F4_SYSCFG_EXTI14(val) BSP_FLD32(val, 8, 11)
98#define STM32F4_SYSCFG_EXTI14_GET(reg) BSP_FLD32GET(reg, 8, 11)
99#define STM32F4_SYSCFG_EXTI14_SET(reg, val) BSP_FLD32SET(reg, val, 8, 11)
100#define STM32F4_SYSCFG_EXTI15_IDX 3
101#define STM32F4_SYSCFG_EXTI15(val) BSP_FLD32(val, 12, 15)
102#define STM32F4_SYSCFG_EXTI15_GET(reg) BSP_FLD32GET(reg, 12, 15)
103#define STM32F4_SYSCFG_EXTI15_SET(reg, val) BSP_FLD32SET(reg, val, 12, 15)
104 uint32_t cmpcr; // Compensation cell control register
105#define STM32F4_SYSCFG_CMPCR_READY BSP_BIT32(8)
106#define STM32F4_SYSCFG_CMPCR_PD BSP_BIT32(0)
107} __attribute__ ((packed));
108typedef struct stm32f4_syscfg_s stm32f4_syscfg;
109
110#endif /* LIBBSP_ARM_STM32F4_STM32F4XXXX_SYSCFG_H */
This header file provides utility macros for BSPs.
Definition: xnandpsu_onfi.h:185
Definition: stm32f4xxxx_syscfg.h:32