libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
pio_common_3n3s.h
Go to the documentation of this file.
1/*
2 * This file is part of the libopencm3 project.
3 *
4 * COpyright (C) 2014 Felix Held <felix-libopencm3@felixheld.de>
5 *
6 * This library is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this library. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20/* THIS FILE SHOULD NOT BE INCLUDED DIRECTLY, BUT ONLY VIA PIO.H
21The order of header inclusion is important. pio.h includes the device
22specific memorymap.h header before including this header file.*/
23
24#if defined(LIBOPENCM3_PIO_H)
25
26#ifndef LIBOPENCM3_PIO_COMMON_3N3S_H
27#define LIBOPENCM3_PIO_COMMON_3N3S_H
28
30
31/* --- PIO registers ----------------------------------------------------- */
32
33/* Peripheral Select Register 1 */
34#define PIO_ABCDSR1(port) MMIO32((port) + 0x0070)
35
36/* Peripheral Select Register 2 */
37#define PIO_ABCDSR2(port) MMIO32((port) + 0x0074)
38
39/* Input Filter Slow Clock Disable Register */
40#define PIO_IFSCDR(port) MMIO32((port) + 0x0080)
41
42/* Input Filter Slow Clock Enable Register */
43#define PIO_IFSCER(port) MMIO32((port) + 0x0084)
44
45/* Input Filter Slow Clock Status Register */
46#define PIO_IFSCSR(port) MMIO32((port) + 0x0088)
47
48/* Pad Pull-down Disable Register */
49#define PIO_PPDDR(port) MMIO32((port) + 0x0090)
50
51/* Pad Pull-down Enable Register */
52#define PIO_PPDER(port) MMIO32((port) + 0x0094)
53
54/* Pad Pull-down Status Register */
55#define PIO_PPDSR(port) MMIO32((port) + 0x0098)
56
57/* Schmitt Trigger Register */
58#define PIO_SCHMITT(port) MMIO32((port) + 0x0100)
59
60
61#endif
62
63#else
64#warning "pio_common_3n3s.h should not be included explicitly, only via pio.h"
65#endif