at91pioreg.h revision 1.3 1 1.3 andvar /* $Id: at91pioreg.h,v 1.3 2023/05/06 22:17:28 andvar Exp $ */
2 1.3 andvar /* $NetBSD: at91pioreg.h,v 1.3 2023/05/06 22:17:28 andvar Exp $ */
3 1.2 matt
4 1.2 matt /*
5 1.2 matt * Copyright (c) 2007 Embedtronics Oy. All rights reserved.
6 1.2 matt *
7 1.2 matt * Redistribution and use in source and binary forms, with or without
8 1.2 matt * modification, are permitted provided that the following conditions
9 1.2 matt * are met:
10 1.2 matt * 1. Redistributions of source code must retain the above copyright
11 1.2 matt * notice, this list of conditions and the following disclaimer.
12 1.2 matt * 2. Redistributions in binary form must reproduce the above copyright
13 1.2 matt * notice, this list of conditions and the following disclaimer in the
14 1.2 matt * documentation and/or other materials provided with the distribution.
15 1.2 matt *
16 1.2 matt * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 1.2 matt * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 1.2 matt * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 1.2 matt * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 1.2 matt * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 1.2 matt * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 1.2 matt * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 1.2 matt * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 1.2 matt * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 1.2 matt * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 1.2 matt * SUCH DAMAGE.
27 1.2 matt */
28 1.2 matt
29 1.2 matt #ifndef _AT91GPIOREG_H_
30 1.2 matt #define _AT91GPIOREG_H_
31 1.2 matt
32 1.2 matt #define PIO_PER 0x00U /* 00: PIO Enable Register */
33 1.2 matt #define PIO_PDR 0x04U /* 04: PIO Disable Register */
34 1.2 matt #define PIO_PSR 0x08U /* 08: PIO Status Register */
35 1.2 matt #define PIO_OER 0x10U /* 10: PIO Output Enable Register */
36 1.2 matt #define PIO_ODR 0x14U /* 14: PIO Output Disable Register */
37 1.2 matt #define PIO_OSR 0x18U /* 18: PIO Output Status Register */
38 1.2 matt #define PIO_IFER 0x20U /* 20: PIO Glitch Inp. Filter Ena. Reg */
39 1.2 matt #define PIO_IFDR 0x24U /* 24: PIO Glitch Inp. Filter Dis. Reg */
40 1.2 matt #define PIO_IFSR 0x28U /* 28: PIO Glitch Inp. Filter Sta. Reg */
41 1.2 matt #define PIO_SODR 0x30U /* 30: PIO Set Output Data Reg */
42 1.2 matt #define PIO_CODR 0x34U /* 34: PIO Clr Output Data Reg */
43 1.2 matt #define PIO_ODSR 0x38U /* 38: PIO Output Data Status Reg */
44 1.2 matt #define PIO_PDSR 0x3CU /* 3C: PIO Pin Data Status Reg */
45 1.2 matt #define PIO_IER 0x40U /* 40: PIO Interrupt Enable Reg */
46 1.2 matt #define PIO_IDR 0x44U /* 44: PIO Interrupt Disable Reg */
47 1.2 matt #define PIO_IMR 0x48U /* 48: PIO Interrupt Mask Reg */
48 1.2 matt #define PIO_ISR 0x4CU /* 4C: PIO Interrupt Status Reg */
49 1.2 matt #define PIO_MDER 0x50U /* 50: PIO Multi-driver Enable Reg */
50 1.2 matt #define PIO_MDDR 0x54U /* 54: PIO Multi-driver Disable Reg */
51 1.2 matt #define PIO_MDSR 0x58U /* 58: PIO Multi-driver Status Reg */
52 1.2 matt #define PIO_PUDR 0x60U /* 60: PIO Pull-up Disable Reg */
53 1.2 matt #define PIO_PUER 0x64U /* 64: PIO Pull-up Enable Reg */
54 1.2 matt #define PIO_PUSR 0x68U /* 68: PIO Pull-up Status Reg */
55 1.2 matt #define PIO_ASR 0x70U /* 70: PIO Peripheral A Select Reg */
56 1.2 matt #define PIO_BSR 0x74U /* 74: PIO Peripheral B Select Reg */
57 1.2 matt #define PIO_ABSR 0x78U /* 78: PIO AB Status Reg */
58 1.2 matt #define PIO_OWER 0xA0U /* A0: PIO Output Write Enable */
59 1.2 matt #define PIO_OWDR 0xA4U /* A4: PIO Output Write Disable */
60 1.2 matt #define PIO_OWSR 0xA8U /* A8: PIO Output Write Status Reg */
61 1.3 andvar #define PIO_VERSION 0xFCU /* FC: version register (AT91SAM92xx) */
62 1.2 matt
63 1.2 matt #endif /* _AT91GPIOREG_H_ */
64