pac.h 4.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /**
  2. * \file
  3. *
  4. * \brief Instance description for PAC
  5. *
  6. * Copyright (c) 2018 Microchip Technology Inc.
  7. *
  8. * \license_start
  9. *
  10. * \page License
  11. *
  12. * SPDX-License-Identifier: Apache-2.0
  13. *
  14. * Licensed under the Apache License, Version 2.0 (the "License");
  15. * you may not use this file except in compliance with the License.
  16. * You may obtain a copy of the License at
  17. *
  18. * http://www.apache.org/licenses/LICENSE-2.0
  19. *
  20. * Unless required by applicable law or agreed to in writing, software
  21. * distributed under the License is distributed on an "AS IS" BASIS,
  22. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  23. * See the License for the specific language governing permissions and
  24. * limitations under the License.
  25. *
  26. * \license_stop
  27. *
  28. */
  29. /* file generated from device description version 2018-05-30T11:07:17Z */
  30. #ifndef _SAML11_PAC_INSTANCE_H_
  31. #define _SAML11_PAC_INSTANCE_H_
  32. /* ========== Register definition for PAC peripheral ========== */
  33. #if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  34. #define REG_PAC_WRCTRL (0x40000000) /**< (PAC) Write control */
  35. #define REG_PAC_EVCTRL (0x40000004) /**< (PAC) Event control */
  36. #define REG_PAC_INTENCLR (0x40000008) /**< (PAC) Interrupt enable clear */
  37. #define REG_PAC_INTENSET (0x40000009) /**< (PAC) Interrupt enable set */
  38. #define REG_PAC_INTFLAGAHB (0x40000010) /**< (PAC) Bridge interrupt flag status */
  39. #define REG_PAC_INTFLAGA (0x40000014) /**< (PAC) Peripheral interrupt flag status - Bridge A */
  40. #define REG_PAC_INTFLAGB (0x40000018) /**< (PAC) Peripheral interrupt flag status - Bridge B */
  41. #define REG_PAC_INTFLAGC (0x4000001C) /**< (PAC) Peripheral interrupt flag status - Bridge C */
  42. #define REG_PAC_STATUSA (0x40000034) /**< (PAC) Peripheral write protection status - Bridge A */
  43. #define REG_PAC_STATUSB (0x40000038) /**< (PAC) Peripheral write protection status - Bridge B */
  44. #define REG_PAC_STATUSC (0x4000003C) /**< (PAC) Peripheral write protection status - Bridge C */
  45. #define REG_PAC_NONSECA (0x40000054) /**< (PAC) Peripheral non-secure status - Bridge A */
  46. #define REG_PAC_NONSECB (0x40000058) /**< (PAC) Peripheral non-secure status - Bridge B */
  47. #define REG_PAC_NONSECC (0x4000005C) /**< (PAC) Peripheral non-secure status - Bridge C */
  48. #define REG_PAC_SECLOCKA (0x40000074) /**< (PAC) Peripheral secure status locked - Bridge A */
  49. #define REG_PAC_SECLOCKB (0x40000078) /**< (PAC) Peripheral secure status locked - Bridge B */
  50. #define REG_PAC_SECLOCKC (0x4000007C) /**< (PAC) Peripheral secure status locked - Bridge C */
  51. #else
  52. #define REG_PAC_WRCTRL (*(__IO uint32_t*)0x40000000U) /**< (PAC) Write control */
  53. #define REG_PAC_EVCTRL (*(__IO uint8_t*)0x40000004U) /**< (PAC) Event control */
  54. #define REG_PAC_INTENCLR (*(__IO uint8_t*)0x40000008U) /**< (PAC) Interrupt enable clear */
  55. #define REG_PAC_INTENSET (*(__IO uint8_t*)0x40000009U) /**< (PAC) Interrupt enable set */
  56. #define REG_PAC_INTFLAGAHB (*(__IO uint32_t*)0x40000010U) /**< (PAC) Bridge interrupt flag status */
  57. #define REG_PAC_INTFLAGA (*(__IO uint32_t*)0x40000014U) /**< (PAC) Peripheral interrupt flag status - Bridge A */
  58. #define REG_PAC_INTFLAGB (*(__IO uint32_t*)0x40000018U) /**< (PAC) Peripheral interrupt flag status - Bridge B */
  59. #define REG_PAC_INTFLAGC (*(__IO uint32_t*)0x4000001CU) /**< (PAC) Peripheral interrupt flag status - Bridge C */
  60. #define REG_PAC_STATUSA (*(__I uint32_t*)0x40000034U) /**< (PAC) Peripheral write protection status - Bridge A */
  61. #define REG_PAC_STATUSB (*(__I uint32_t*)0x40000038U) /**< (PAC) Peripheral write protection status - Bridge B */
  62. #define REG_PAC_STATUSC (*(__I uint32_t*)0x4000003CU) /**< (PAC) Peripheral write protection status - Bridge C */
  63. #define REG_PAC_NONSECA (*(__I uint32_t*)0x40000054U) /**< (PAC) Peripheral non-secure status - Bridge A */
  64. #define REG_PAC_NONSECB (*(__I uint32_t*)0x40000058U) /**< (PAC) Peripheral non-secure status - Bridge B */
  65. #define REG_PAC_NONSECC (*(__I uint32_t*)0x4000005CU) /**< (PAC) Peripheral non-secure status - Bridge C */
  66. #define REG_PAC_SECLOCKA (*(__I uint32_t*)0x40000074U) /**< (PAC) Peripheral secure status locked - Bridge A */
  67. #define REG_PAC_SECLOCKB (*(__I uint32_t*)0x40000078U) /**< (PAC) Peripheral secure status locked - Bridge B */
  68. #define REG_PAC_SECLOCKC (*(__I uint32_t*)0x4000007CU) /**< (PAC) Peripheral secure status locked - Bridge C */
  69. #endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  70. /* ========== Instance Parameter definitions for PAC peripheral ========== */
  71. #define PAC_HPB_NUM 3 /* Number of bridges AHB/APB */
  72. #define PAC_SECURE_IMPLEMENTED 1 /* Security Configuration implemented? */
  73. #define PAC_INSTANCE_ID 0
  74. #endif /* _SAML11_PAC_INSTANCE_ */