]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M0+_Atmel_SAMD20_XPlained/RTOSDemo/src/ASF/sam0/utils/cmsis/samd20/include/instance/instance_port.h
Starting point for the SAMD20 demo.
[freertos] / FreeRTOS / Demo / CORTEX_M0+_Atmel_SAMD20_XPlained / RTOSDemo / src / ASF / sam0 / utils / cmsis / samd20 / include / instance / instance_port.h
1 /**\r
2  * \file\r
3  *\r
4  * \brief Instance description for PORT\r
5  *\r
6  * Copyright (c) 2013 Atmel Corporation. All rights reserved.\r
7  *\r
8  * \asf_license_start\r
9  *\r
10  * \page License\r
11  *\r
12  * Redistribution and use in source and binary forms, with or without\r
13  * modification, are permitted provided that the following conditions are met:\r
14  *\r
15  * 1. Redistributions of source code must retain the above copyright notice,\r
16  *    this list of conditions and the following disclaimer.\r
17  *\r
18  * 2. Redistributions in binary form must reproduce the above copyright notice,\r
19  *    this list of conditions and the following disclaimer in the documentation\r
20  *    and/or other materials provided with the distribution.\r
21  *\r
22  * 3. The name of Atmel may not be used to endorse or promote products derived\r
23  *    from this software without specific prior written permission.\r
24  *\r
25  * 4. This software may only be redistributed and used in connection with an\r
26  *    Atmel microcontroller product.\r
27  *\r
28  * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED\r
29  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
30  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
31  * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR\r
32  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
33  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
34  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
35  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r
36  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r
37  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
38  * POSSIBILITY OF SUCH DAMAGE.\r
39  *\r
40  * \asf_license_stop\r
41  *\r
42  */\r
43 \r
44 #ifndef _SAMD20_PORT_INSTANCE_\r
45 #define _SAMD20_PORT_INSTANCE_\r
46 \r
47 /* ========== Register definition for PORT peripheral ========== */\r
48 #if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))\r
49 #define REG_PORT_DIR0              (0x41004400U) /**< \brief (PORT) Data Direction Register 0 */\r
50 #define REG_PORT_DIRCLR0           (0x41004404U) /**< \brief (PORT) Data Direction Clear Register 0 */\r
51 #define REG_PORT_DIRSET0           (0x41004408U) /**< \brief (PORT) Data Direction Set Register 0 */\r
52 #define REG_PORT_DIRTGL0           (0x4100440CU) /**< \brief (PORT) Data Direction Toggle Register 0 */\r
53 #define REG_PORT_OUT0              (0x41004410U) /**< \brief (PORT) Data Output Value Register 0 */\r
54 #define REG_PORT_OUTCLR0           (0x41004414U) /**< \brief (PORT) Data Output Value Clear Register 0 */\r
55 #define REG_PORT_OUTSET0           (0x41004418U) /**< \brief (PORT) Data Output Value Set Register 0 */\r
56 #define REG_PORT_OUTTGL0           (0x4100441CU) /**< \brief (PORT) Data Output Value Toggle Register 0 */\r
57 #define REG_PORT_IN0               (0x41004420U) /**< \brief (PORT) Data Input Value Register 0 */\r
58 #define REG_PORT_CTRL0             (0x41004424U) /**< \brief (PORT) Control Register 0 */\r
59 #define REG_PORT_WRCONFIG0         (0x41004428U) /**< \brief (PORT) Write Configuration Register 0 */\r
60 #define REG_PORT_PMUX0             (0x41004430U) /**< \brief (PORT) Peripheral Multiplexing Register 0 */\r
61 #define REG_PORT_PINCFG0           (0x41004440U) /**< \brief (PORT) Pin Configuration Register 0 */\r
62 #define REG_PORT_DIR1              (0x41004480U) /**< \brief (PORT) Data Direction Register 1 */\r
63 #define REG_PORT_DIRCLR1           (0x41004484U) /**< \brief (PORT) Data Direction Clear Register 1 */\r
64 #define REG_PORT_DIRSET1           (0x41004488U) /**< \brief (PORT) Data Direction Set Register 1 */\r
65 #define REG_PORT_DIRTGL1           (0x4100448CU) /**< \brief (PORT) Data Direction Toggle Register 1 */\r
66 #define REG_PORT_OUT1              (0x41004490U) /**< \brief (PORT) Data Output Value Register 1 */\r
67 #define REG_PORT_OUTCLR1           (0x41004494U) /**< \brief (PORT) Data Output Value Clear Register 1 */\r
68 #define REG_PORT_OUTSET1           (0x41004498U) /**< \brief (PORT) Data Output Value Set Register 1 */\r
69 #define REG_PORT_OUTTGL1           (0x4100449CU) /**< \brief (PORT) Data Output Value Toggle Register 1 */\r
70 #define REG_PORT_IN1               (0x410044A0U) /**< \brief (PORT) Data Input Value Register 1 */\r
71 #define REG_PORT_CTRL1             (0x410044A4U) /**< \brief (PORT) Control Register 1 */\r
72 #define REG_PORT_WRCONFIG1         (0x410044A8U) /**< \brief (PORT) Write Configuration Register 1 */\r
73 #define REG_PORT_PMUX1             (0x410044B0U) /**< \brief (PORT) Peripheral Multiplexing Register 1 */\r
74 #define REG_PORT_PINCFG1           (0x410044C0U) /**< \brief (PORT) Pin Configuration Register 1 */\r
75 #else\r
76 #define REG_PORT_DIR0              (*(RwReg  *)0x41004400U) /**< \brief (PORT) Data Direction Register 0 */\r
77 #define REG_PORT_DIRCLR0           (*(RwReg  *)0x41004404U) /**< \brief (PORT) Data Direction Clear Register 0 */\r
78 #define REG_PORT_DIRSET0           (*(RwReg  *)0x41004408U) /**< \brief (PORT) Data Direction Set Register 0 */\r
79 #define REG_PORT_DIRTGL0           (*(RwReg  *)0x4100440CU) /**< \brief (PORT) Data Direction Toggle Register 0 */\r
80 #define REG_PORT_OUT0              (*(RwReg  *)0x41004410U) /**< \brief (PORT) Data Output Value Register 0 */\r
81 #define REG_PORT_OUTCLR0           (*(RwReg  *)0x41004414U) /**< \brief (PORT) Data Output Value Clear Register 0 */\r
82 #define REG_PORT_OUTSET0           (*(RwReg  *)0x41004418U) /**< \brief (PORT) Data Output Value Set Register 0 */\r
83 #define REG_PORT_OUTTGL0           (*(RwReg  *)0x4100441CU) /**< \brief (PORT) Data Output Value Toggle Register 0 */\r
84 #define REG_PORT_IN0               (*(RoReg  *)0x41004420U) /**< \brief (PORT) Data Input Value Register 0 */\r
85 #define REG_PORT_CTRL0             (*(RwReg  *)0x41004424U) /**< \brief (PORT) Control Register 0 */\r
86 #define REG_PORT_WRCONFIG0         (*(WoReg  *)0x41004428U) /**< \brief (PORT) Write Configuration Register 0 */\r
87 #define REG_PORT_PMUX0             (*(RwReg  *)0x41004430U) /**< \brief (PORT) Peripheral Multiplexing Register 0 */\r
88 #define REG_PORT_PINCFG0           (*(RwReg  *)0x41004440U) /**< \brief (PORT) Pin Configuration Register 0 */\r
89 #define REG_PORT_DIR1              (*(RwReg  *)0x41004480U) /**< \brief (PORT) Data Direction Register 1 */\r
90 #define REG_PORT_DIRCLR1           (*(RwReg  *)0x41004484U) /**< \brief (PORT) Data Direction Clear Register 1 */\r
91 #define REG_PORT_DIRSET1           (*(RwReg  *)0x41004488U) /**< \brief (PORT) Data Direction Set Register 1 */\r
92 #define REG_PORT_DIRTGL1           (*(RwReg  *)0x4100448CU) /**< \brief (PORT) Data Direction Toggle Register 1 */\r
93 #define REG_PORT_OUT1              (*(RwReg  *)0x41004490U) /**< \brief (PORT) Data Output Value Register 1 */\r
94 #define REG_PORT_OUTCLR1           (*(RwReg  *)0x41004494U) /**< \brief (PORT) Data Output Value Clear Register 1 */\r
95 #define REG_PORT_OUTSET1           (*(RwReg  *)0x41004498U) /**< \brief (PORT) Data Output Value Set Register 1 */\r
96 #define REG_PORT_OUTTGL1           (*(RwReg  *)0x4100449CU) /**< \brief (PORT) Data Output Value Toggle Register 1 */\r
97 #define REG_PORT_IN1               (*(RoReg  *)0x410044A0U) /**< \brief (PORT) Data Input Value Register 1 */\r
98 #define REG_PORT_CTRL1             (*(RwReg  *)0x410044A4U) /**< \brief (PORT) Control Register 1 */\r
99 #define REG_PORT_WRCONFIG1         (*(WoReg  *)0x410044A8U) /**< \brief (PORT) Write Configuration Register 1 */\r
100 #define REG_PORT_PMUX1             (*(RwReg  *)0x410044B0U) /**< \brief (PORT) Peripheral Multiplexing Register 1 */\r
101 #define REG_PORT_PINCFG1           (*(RwReg  *)0x410044C0U) /**< \brief (PORT) Pin Configuration Register 1 */\r
102 #endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */\r
103 \r
104 /* ========== Instance parameters for PORT peripheral ========== */\r
105 #define PORT_BITS                   64\r
106 #define PORT_DIR_DEFAULT_VAL        { 0x00000000, 0x00000000 }\r
107 #define PORT_DIR_IMPLEMENTED        { 0xDBFFFFFF, 0xC0C3FFFF }\r
108 #define PORT_DRVSTR_DEFAULT_VAL     { 0x00000000, 0x00000000 }\r
109 #define PORT_DRVSTR_IMPLEMENTED     { 0x00000000, 0x00000000 }\r
110 #define PORT_GROUPS                 2\r
111 #define PORT_INEN_DEFAULT_VAL       { 0x00000000, 0x00000000 }\r
112 #define PORT_INEN_IMPLEMENTED       { 0xDBFFFFFF, 0xC0C3FFFF }\r
113 #define PORT_ODRAIN_DEFAULT_VAL     { 0x00000000, 0x00000000 }\r
114 #define PORT_ODRAIN_IMPLEMENTED     { 0x00000000, 0x00000000 }\r
115 #define PORT_OUT_DEFAULT_VAL        { 0x00000000, 0x00000000 }\r
116 #define PORT_OUT_IMPLEMENTED        { 0xDBFFFFFF, 0xC0C3FFFF }\r
117 #define PORT_PIN_IMPLEMENTED        { 0xDBFFFFFF, 0xC0C3FFFF }\r
118 #define PORT_PMUXBIT0_DEFAULT_VAL   { 0x00000000, 0x00000000 }\r
119 #define PORT_PMUXBIT0_IMPLEMENTED   { 0xDBFFFFFF, 0xC0C3FFFF }\r
120 #define PORT_PMUXBIT1_DEFAULT_VAL   { 0x40000000, 0x00000000 }\r
121 #define PORT_PMUXBIT1_IMPLEMENTED   { 0xDBFFFFF3, 0xC0C3FF0F }\r
122 #define PORT_PMUXBIT2_DEFAULT_VAL   { 0x40000000, 0x00000000 }\r
123 #define PORT_PMUXBIT2_IMPLEMENTED   { 0xDBFFFFF3, 0xC0C3FF0F }\r
124 #define PORT_PMUXBIT3_DEFAULT_VAL   { 0x00000000, 0x00000000 }\r
125 #define PORT_PMUXBIT3_IMPLEMENTED   { 0x00000000, 0x00000000 }\r
126 #define PORT_PMUXEN_DEFAULT_VAL     { 0x64000000, 0x3F3C0000 }\r
127 #define PORT_PMUXEN_IMPLEMENTED     { 0xDBFFFFFF, 0xC0C3FFFF }\r
128 #define PORT_PULLEN_DEFAULT_VAL     { 0x00000000, 0x00000000 }\r
129 #define PORT_PULLEN_IMPLEMENTED     { 0xDBFFFFFF, 0xC0C3FFFF }\r
130 #define PORT_SLEWLIM_DEFAULT_VAL    { 0x00000000, 0x00000000 }\r
131 #define PORT_SLEWLIM_IMPLEMENTED    { 0x00000000, 0x00000000 }\r
132 \r
133 #endif /* _SAMD20_PORT_INSTANCE_ */\r