at91_pio.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. #ifndef _ARCH_ARM_AT91_PIO_H_
  2. #define _ARCH_ARM_AT91_PIO_H_
  3. /*
  4. * Copyright (C) 2005-2006 by egnite Software GmbH. All rights reserved.
  5. *
  6. * Redistribution and use in source and binary forms, with or without
  7. * modification, are permitted provided that the following conditions
  8. * are met:
  9. *
  10. * 1. Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * 2. Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in the
  14. * documentation and/or other materials provided with the distribution.
  15. * 3. Neither the name of the copyright holders nor the names of
  16. * contributors may be used to endorse or promote products derived
  17. * from this software without specific prior written permission.
  18. *
  19. * THIS SOFTWARE IS PROVIDED BY EGNITE SOFTWARE GMBH AND CONTRIBUTORS
  20. * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  21. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  22. * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL EGNITE
  23. * SOFTWARE GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  24. * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  25. * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  26. * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  27. * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  28. * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
  29. * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  30. * SUCH DAMAGE.
  31. *
  32. * For additional information see http://www.ethernut.de/
  33. */
  34. /*!
  35. * \file arch/arm/at91_pio.h
  36. * \brief AT91 peripherals.
  37. *
  38. * \verbatim
  39. *
  40. * $Log: at91_pio.h,v $
  41. * Revision 1.3 2006/09/29 12:43:08 haraldkipp
  42. * Register offsets added, which are quite useful for assembler programming.
  43. * Added some special PIO features, which are available on the AT91SAM92xx
  44. * series.
  45. *
  46. * Revision 1.2 2006/08/31 19:11:18 haraldkipp
  47. * Added register definitions for PIOC.
  48. *
  49. * Revision 1.1 2006/07/05 07:45:28 haraldkipp
  50. * Split on-chip interface definitions.
  51. *
  52. *
  53. * \endverbatim
  54. */
  55. /*!
  56. * \addtogroup xgNutArchArmAt91Pio
  57. */
  58. /*@{*/
  59. /*! \name PIO Register Offsets */
  60. /*@{*/
  61. #define PIO_PER_OFF 0x00000000 /*!< \brief PIO enable register offset. */
  62. #define PIO_PDR_OFF 0x00000004 /*!< \brief PIO disable register offset. */
  63. #define PIO_PSR_OFF 0x00000008 /*!< \brief PIO status register offset. */
  64. #define PIO_OER_OFF 0x00000010 /*!< \brief Output enable register offset. */
  65. #define PIO_ODR_OFF 0x00000014 /*!< \brief Output disable register offset. */
  66. #define PIO_OSR_OFF 0x00000018 /*!< \brief Output status register offset. */
  67. #define PIO_IFER_OFF 0x00000020 /*!< \brief Input filter enable register offset. */
  68. #define PIO_IFDR_OFF 0x00000024 /*!< \brief Input filter disable register offset. */
  69. #define PIO_IFSR_OFF 0x00000028 /*!< \brief Input filter status register offset. */
  70. #define PIO_SODR_OFF 0x00000030 /*!< \brief Set output data register offset. */
  71. #define PIO_CODR_OFF 0x00000034 /*!< \brief Clear output data register offset. */
  72. #define PIO_ODSR_OFF 0x00000038 /*!< \brief Output data status register offset. */
  73. #define PIO_PDSR_OFF 0x0000003C /*!< \brief Pin data status register offset. */
  74. #define PIO_IER_OFF 0x00000040 /*!< \brief Interrupt enable register offset. */
  75. #define PIO_IDR_OFF 0x00000044 /*!< \brief Interrupt disable register offset. */
  76. #define PIO_IMR_OFF 0x00000048 /*!< \brief Interrupt mask register offset. */
  77. #define PIO_ISR_OFF 0x0000004C /*!< \brief Interrupt status register offset. */
  78. #if defined(PIO_HAS_MULTIDRIVER)
  79. #define PIO_MDER_OFF 0x00000050 /*!< \brief Multi-driver enable register offset. */
  80. #define PIO_MDDR_OFF 0x00000054 /*!< \brief Multi-driver disable register offset. */
  81. #define PIO_MDSR_OFF 0x00000058 /*!< \brief Multi-driver status register offset. */
  82. #endif /* PIO_HAS_MULTIDRIVER */
  83. #if defined(PIO_HAS_PULLUP)
  84. #define PIO_PUDR_OFF 0x00000060 /*!< \brief Pull-up disable register offset. */
  85. #define PIO_PUER_OFF 0x00000064 /*!< \brief Pull-up enable register offset. */
  86. #define PIO_PUSR_OFF 0x00000068 /*!< \brief Pull-up status register offset. */
  87. #endif /* PIO_HAS_PULLUP */
  88. #if defined(PIO_HAS_PERIPHERALSELECT)
  89. #define PIO_ASR_OFF 0x00000070 /*!< \brief PIO peripheral A select register offset. */
  90. #define PIO_BSR_OFF 0x00000074 /*!< \brief PIO peripheral B select register offset. */
  91. #define PIO_ABSR_OFF 0x00000078 /*!< \brief PIO peripheral AB status register offset. */
  92. #endif /* PIO_HAS_PERIPHERALSELECT */
  93. #if defined(PIO_HAS_OUTPUTWRITEENABLE)
  94. #define PIO_OWER_OFF 0x000000A0 /*!< \brief PIO output write enable register offset. */
  95. #define PIO_OWDR_OFF 0x000000A4 /*!< \brief PIO output write disable register offset. */
  96. #define PIO_OWSR_OFF 0x000000A8 /*!< \brief PIO output write status register offset. */
  97. #endif /* PIO_HAS_OUTPUTWRITEENABLE */
  98. /*@}*/
  99. /*! \name Single PIO Register Addresses */
  100. /*@{*/
  101. #if defined(PIO_BASE)
  102. #define PIO_PER (PIO_BASE + PIO_PER_OFF) /*!< \brief PIO enable register address. */
  103. #define PIO_PDR (PIO_BASE + PIO_PDR_OFF) /*!< \brief PIO disable register address. */
  104. #define PIO_PSR (PIO_BASE + PIO_PSR_OFF) /*!< \brief PIO status register address. */
  105. #define PIO_OER (PIO_BASE + PIO_OER_OFF) /*!< \brief Output enable register address. */
  106. #define PIO_ODR (PIO_BASE + PIO_ODR_OFF) /*!< \brief Output disable register address. */
  107. #define PIO_OSR (PIO_BASE + PIO_OSR_OFF) /*!< \brief Output status register address. */
  108. #define PIO_IFER (PIO_BASE + PIO_IFER_OFF) /*!< \brief Input filter enable register address. */
  109. #define PIO_IFDR (PIO_BASE + PIO_IFDR_OFF) /*!< \brief Input filter disable register address. */
  110. #define PIO_IFSR (PIO_BASE + PIO_IFSR_OFF) /*!< \brief Input filter status register address. */
  111. #define PIO_SODR (PIO_BASE + PIO_SODR_OFF) /*!< \brief Set output data register address. */
  112. #define PIO_CODR (PIO_BASE + PIO_CODR_OFF) /*!< \brief Clear output data register address. */
  113. #define PIO_ODSR (PIO_BASE + PIO_ODSR_OFF) /*!< \brief Output data status register address. */
  114. #define PIO_PDSR (PIO_BASE + PIO_PDSR_OFF) /*!< \brief Pin data status register address. */
  115. #define PIO_IER (PIO_BASE + PIO_IER_OFF) /*!< \brief Interrupt enable register address. */
  116. #define PIO_IDR (PIO_BASE + PIO_IDR_OFF) /*!< \brief Interrupt disable register address. */
  117. #define PIO_IMR (PIO_BASE + PIO_IMR_OFF) /*!< \brief Interrupt mask register address. */
  118. #define PIO_ISR (PIO_BASE + PIO_ISR_OFF) /*!< \brief Interrupt status register address. */
  119. #if defined(PIO_HAS_MULTIDRIVER)
  120. #define PIO_MDER (PIO_BASE + PIO_MDER_OFF) /*!< \brief Multi-driver enable register address. */
  121. #define PIO_MDDR (PIO_BASE + PIO_MDDR_OFF) /*!< \brief Multi-driver disable register address. */
  122. #define PIO_MDSR (PIO_BASE + PIO_MDSR_OFF) /*!< \brief Multi-driver status register address. */
  123. #endif /* PIO_HAS_MULTIDRIVER */
  124. #if defined(PIO_HAS_PULLUP)
  125. #define PIO_PUDR (PIO_BASE + PIO_PUDR_OFF) /*!< \brief Pull-up disable register address. */
  126. #define PIO_PUER (PIO_BASE + PIO_PUER_OFF) /*!< \brief Pull-up enable register address. */
  127. #define PIO_PUSR (PIO_BASE + PIO_PUSR_OFF) /*!< \brief Pull-up status register address. */
  128. #endif /* PIO_HAS_PULLUP */
  129. #if defined(PIO_HAS_PERIPHERALSELECT)
  130. #define PIO_ASR (PIO_BASE + PIO_ASR_OFF) /*!< \brief PIO peripheral A select register address. */
  131. #define PIO_BSR (PIO_BASE + PIO_BSR_OFF) /*!< \brief PIO peripheral B select register address. */
  132. #define PIO_ABSR (PIO_BASE + PIO_ABSR_OFF) /*!< \brief PIO peripheral AB status register address. */
  133. #endif /* PIO_HAS_PERIPHERALSELECT */
  134. #if defined(PIO_HAS_OUTPUTWRITEENABLE)
  135. #define PIO_OWER (PIO_BASE + PIO_OWER_OFF) /*!< \brief PIO output write enable register address. */
  136. #define PIO_OWDR (PIO_BASE + PIO_OWDR_OFF) /*!< \brief PIO output write disable register address. */
  137. #define PIO_OWSR (PIO_BASE + PIO_OWSR_OFF) /*!< \brief PIO output write status register address. */
  138. #endif /* PIO_HAS_OUTPUTWRITEENABLE */
  139. #endif /* PIO_BASE */
  140. /*@}*/
  141. /*! \name PIO A Register Addresses */
  142. /*@{*/
  143. #if defined(PIOA_BASE)
  144. #define PIOA_PER (PIOA_BASE + PIO_PER_OFF) /*!< \brief PIO enable register address. */
  145. #define PIOA_PDR (PIOA_BASE + PIO_PDR_OFF) /*!< \brief PIO disable register address. */
  146. #define PIOA_PSR (PIOA_BASE + PIO_PSR_OFF) /*!< \brief PIO status register address. */
  147. #define PIOA_OER (PIOA_BASE + PIO_OER_OFF) /*!< \brief Output enable register address. */
  148. #define PIOA_ODR (PIOA_BASE + PIO_ODR_OFF) /*!< \brief Output disable register address. */
  149. #define PIOA_OSR (PIOA_BASE + PIO_OSR_OFF) /*!< \brief Output status register address. */
  150. #define PIOA_IFER (PIOA_BASE + PIO_IFER_OFF) /*!< \brief Input filter enable register address. */
  151. #define PIOA_IFDR (PIOA_BASE + PIO_IFDR_OFF) /*!< \brief Input filter disable register address. */
  152. #define PIOA_IFSR (PIOA_BASE + PIO_IFSR_OFF) /*!< \brief Input filter status register address. */
  153. #define PIOA_SODR (PIOA_BASE + PIO_SODR_OFF) /*!< \brief Set output data register address. */
  154. #define PIOA_CODR (PIOA_BASE + PIO_CODR_OFF) /*!< \brief Clear output data register address. */
  155. #define PIOA_ODSR (PIOA_BASE + PIO_ODSR_OFF) /*!< \brief Output data status register address. */
  156. #define PIOA_PDSR (PIOA_BASE + PIO_PDSR_OFF) /*!< \brief Pin data status register address. */
  157. #define PIOA_IER (PIOA_BASE + PIO_IER_OFF) /*!< \brief Interrupt enable register address. */
  158. #define PIOA_IDR (PIOA_BASE + PIO_IDR_OFF) /*!< \brief Interrupt disable register address. */
  159. #define PIOA_IMR (PIOA_BASE + PIO_IMR_OFF) /*!< \brief Interrupt mask register address. */
  160. #define PIOA_ISR (PIOA_BASE + PIO_ISR_OFF) /*!< \brief Interrupt status register address. */
  161. #if defined(PIO_HAS_MULTIDRIVER)
  162. #define PIOA_MDER (PIOA_BASE + PIO_MDER_OFF) /*!< \brief Multi-driver enable register address. */
  163. #define PIOA_MDDR (PIOA_BASE + PIO_MDDR_OFF) /*!< \brief Multi-driver disable register address. */
  164. #define PIOA_MDSR (PIOA_BASE + PIO_MDSR_OFF) /*!< \brief Multi-driver status register address. */
  165. #endif /* PIO_HAS_MULTIDRIVER */
  166. #if defined(PIO_HAS_PULLUP)
  167. #define PIOA_PUDR (PIOA_BASE + PIO_PUDR_OFF) /*!< \brief Pull-up disable register address. */
  168. #define PIOA_PUER (PIOA_BASE + PIO_PUER_OFF) /*!< \brief Pull-up enable register address. */
  169. #define PIOA_PUSR (PIOA_BASE + PIO_PUSR_OFF) /*!< \brief Pull-up status register address. */
  170. #endif /* PIO_HAS_PULLUP */
  171. #if defined(PIO_HAS_PERIPHERALSELECT)
  172. #define PIOA_ASR (PIOA_BASE + PIO_ASR_OFF) /*!< \brief PIO peripheral A select register address. */
  173. #define PIOA_BSR (PIOA_BASE + PIO_BSR_OFF) /*!< \brief PIO peripheral B select register address. */
  174. #define PIOA_ABSR (PIOA_BASE + PIO_ABSR_OFF) /*!< \brief PIO peripheral AB status register address. */
  175. #endif /* PIO_HAS_PERIPHERALSELECT */
  176. #if defined(PIO_HAS_OUTPUTWRITEENABLE)
  177. #define PIOA_OWER (PIOA_BASE + PIO_OWER_OFF) /*!< \brief PIO output write enable register address. */
  178. #define PIOA_OWDR (PIOA_BASE + PIO_OWDR_OFF) /*!< \brief PIO output write disable register address. */
  179. #define PIOA_OWSR (PIOA_BASE + PIO_OWSR_OFF) /*!< \brief PIO output write status register address. */
  180. #endif /* PIO_HAS_OUTPUTWRITEENABLE */
  181. #endif /* PIOA_BASE */
  182. /*@}*/
  183. /*! \name PIO B Register Addresses */
  184. /*@{*/
  185. #if defined(PIOB_BASE)
  186. #define PIOB_PER (PIOB_BASE + PIO_PER_OFF) /*!< \brief PIO enable register address. */
  187. #define PIOB_PDR (PIOB_BASE + PIO_PDR_OFF) /*!< \brief PIO disable register address. */
  188. #define PIOB_PSR (PIOB_BASE + PIO_PSR_OFF) /*!< \brief PIO status register address. */
  189. #define PIOB_OER (PIOB_BASE + PIO_OER_OFF) /*!< \brief Output enable register address. */
  190. #define PIOB_ODR (PIOB_BASE + PIO_ODR_OFF) /*!< \brief Output disable register address. */
  191. #define PIOB_OSR (PIOB_BASE + PIO_OSR_OFF) /*!< \brief Output status register address. */
  192. #define PIOB_IFER (PIOB_BASE + PIO_IFER_OFF) /*!< \brief Input filter enable register address. */
  193. #define PIOB_IFDR (PIOB_BASE + PIO_IFDR_OFF) /*!< \brief Input filter disable register address. */
  194. #define PIOB_IFSR (PIOB_BASE + PIO_IFSR_OFF) /*!< \brief Input filter status register address. */
  195. #define PIOB_SODR (PIOB_BASE + PIO_SODR_OFF) /*!< \brief Set output data register address. */
  196. #define PIOB_CODR (PIOB_BASE + PIO_CODR_OFF) /*!< \brief Clear output data register address. */
  197. #define PIOB_ODSR (PIOB_BASE + PIO_ODSR_OFF) /*!< \brief Output data status register address. */
  198. #define PIOB_PDSR (PIOB_BASE + PIO_PDSR_OFF) /*!< \brief Pin data status register address. */
  199. #define PIOB_IER (PIOB_BASE + PIO_IER_OFF) /*!< \brief Interrupt enable register address. */
  200. #define PIOB_IDR (PIOB_BASE + PIO_IDR_OFF) /*!< \brief Interrupt disable register address. */
  201. #define PIOB_IMR (PIOB_BASE + PIO_IMR_OFF) /*!< \brief Interrupt mask register address. */
  202. #define PIOB_ISR (PIOB_BASE + PIO_ISR_OFF) /*!< \brief Interrupt status register address. */
  203. #if defined(PIO_HAS_MULTIDRIVER)
  204. #define PIOB_MDER (PIOB_BASE + PIO_MDER_OFF) /*!< \brief Multi-driver enable register address. */
  205. #define PIOB_MDDR (PIOB_BASE + PIO_MDDR_OFF) /*!< \brief Multi-driver disable register address. */
  206. #define PIOB_MDSR (PIOB_BASE + PIO_MDSR_OFF) /*!< \brief Multi-driver status register address. */
  207. #endif /* PIO_HAS_MULTIDRIVER */
  208. #if defined(PIO_HAS_PULLUP)
  209. #define PIOB_PUDR (PIOB_BASE + PIO_PUDR_OFF) /*!< \brief Pull-up disable register address. */
  210. #define PIOB_PUER (PIOB_BASE + PIO_PUER_OFF) /*!< \brief Pull-up enable register address. */
  211. #define PIOB_PUSR (PIOB_BASE + PIO_PUSR_OFF) /*!< \brief Pull-up status register address. */
  212. #endif /* PIO_HAS_PULLUP */
  213. #if defined(PIO_HAS_PERIPHERALSELECT)
  214. #define PIOB_ASR (PIOB_BASE + PIO_ASR_OFF) /*!< \brief PIO peripheral A select register address. */
  215. #define PIOB_BSR (PIOB_BASE + PIO_BSR_OFF) /*!< \brief PIO peripheral B select register address. */
  216. #define PIOB_ABSR (PIOB_BASE + PIO_ABSR_OFF) /*!< \brief PIO peripheral AB status register address. */
  217. #endif /* PIO_HAS_PERIPHERALSELECT */
  218. #if defined(PIO_HAS_OUTPUTWRITEENABLE)
  219. #define PIOB_OWER (PIOB_BASE + PIO_OWER_OFF) /*!< \brief PIO output write enable register address. */
  220. #define PIOB_OWDR (PIOB_BASE + PIO_OWDR_OFF) /*!< \brief PIO output write disable register address. */
  221. #define PIOB_OWSR (PIOB_BASE + PIO_OWSR_OFF) /*!< \brief PIO output write status register address. */
  222. #endif /* PIO_HAS_OUTPUTWRITEENABLE */
  223. #endif /* PIOB_BASE */
  224. /*@}*/
  225. /*! \name PIO C Register Addresses */
  226. /*@{*/
  227. #if defined(PIOC_BASE)
  228. #define PIOC_PER (PIOC_BASE + PIO_PER_OFF) /*!< \brief PIO enable register address. */
  229. #define PIOC_PDR (PIOC_BASE + PIO_PDR_OFF) /*!< \brief PIO disable register address. */
  230. #define PIOC_PSR (PIOC_BASE + PIO_PSR_OFF) /*!< \brief PIO status register address. */
  231. #define PIOC_OER (PIOC_BASE + PIO_OER_OFF) /*!< \brief Output enable register address. */
  232. #define PIOC_ODR (PIOC_BASE + PIO_ODR_OFF) /*!< \brief Output disable register address. */
  233. #define PIOC_OSR (PIOC_BASE + PIO_OSR_OFF) /*!< \brief Output status register address. */
  234. #define PIOC_IFER (PIOC_BASE + PIO_IFER_OFF) /*!< \brief Input filter enable register address. */
  235. #define PIOC_IFDR (PIOC_BASE + PIO_IFDR_OFF) /*!< \brief Input filter disable register address. */
  236. #define PIOC_IFSR (PIOC_BASE + PIO_IFSR_OFF) /*!< \brief Input filter status register address. */
  237. #define PIOC_SODR (PIOC_BASE + PIO_SODR_OFF) /*!< \brief Set output data register address. */
  238. #define PIOC_CODR (PIOC_BASE + PIO_CODR_OFF) /*!< \brief Clear output data register address. */
  239. #define PIOC_ODSR (PIOC_BASE + PIO_ODSR_OFF) /*!< \brief Output data status register address. */
  240. #define PIOC_PDSR (PIOC_BASE + PIO_PDSR_OFF) /*!< \brief Pin data status register address. */
  241. #define PIOC_IER (PIOC_BASE + PIO_IER_OFF) /*!< \brief Interrupt enable register address. */
  242. #define PIOC_IDR (PIOC_BASE + PIO_IDR_OFF) /*!< \brief Interrupt disable register address. */
  243. #define PIOC_IMR (PIOC_BASE + PIO_IMR_OFF) /*!< \brief Interrupt mask register address. */
  244. #define PIOC_ISR (PIOC_BASE + PIO_ISR_OFF) /*!< \brief Interrupt status register address. */
  245. #if defined(PIO_HAS_MULTIDRIVER)
  246. #define PIOC_MDER (PIOC_BASE + PIO_MDER_OFF) /*!< \brief Multi-driver enable register address. */
  247. #define PIOC_MDDR (PIOC_BASE + PIO_MDDR_OFF) /*!< \brief Multi-driver disable register address. */
  248. #define PIOC_MDSR (PIOC_BASE + PIO_MDSR_OFF) /*!< \brief Multi-driver status register address. */
  249. #endif /* PIO_HAS_MULTIDRIVER */
  250. #if defined(PIO_HAS_PULLUP)
  251. #define PIOC_PUDR (PIOC_BASE + PIO_PUDR_OFF) /*!< \brief Pull-up disable register address. */
  252. #define PIOC_PUER (PIOC_BASE + PIO_PUER_OFF) /*!< \brief Pull-up enable register address. */
  253. #define PIOC_PUSR (PIOC_BASE + PIO_PUSR_OFF) /*!< \brief Pull-up status register address. */
  254. #endif /* PIO_HAS_PULLUP */
  255. #if defined(PIO_HAS_PERIPHERALSELECT)
  256. #define PIOC_ASR (PIOC_BASE + PIO_ASR_OFF) /*!< \brief PIO peripheral A select register address. */
  257. #define PIOC_BSR (PIOC_BASE + PIO_BSR_OFF) /*!< \brief PIO peripheral B select register address. */
  258. #define PIOC_ABSR (PIOC_BASE + PIO_ABSR_OFF) /*!< \brief PIO peripheral AB status register address. */
  259. #endif /* PIO_HAS_PERIPHERALSELECT */
  260. #if defined(PIO_HAS_OUTPUTWRITEENABLE)
  261. #define PIOC_OWER (PIOC_BASE + PIO_OWER_OFF) /*!< \brief PIO output write enable register address. */
  262. #define PIOC_OWDR (PIOC_BASE + PIO_OWDR_OFF) /*!< \brief PIO output write disable register address. */
  263. #define PIOC_OWSR (PIOC_BASE + PIO_OWSR_OFF) /*!< \brief PIO output write status register address. */
  264. #endif /* PIO_HAS_OUTPUTWRITEENABLE */
  265. #endif /* PIOC_BASE */
  266. /*@}*/
  267. /*@} xgNutArchArmAt91Pio */
  268. #endif /* _ARCH_ARM_AT91_PIO_H_ */