pac.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**
  2. * \brief Component description for PAC
  3. *
  4. * Copyright (c) 2021 Microchip Technology Inc. and its subsidiaries.
  5. *
  6. * Subject to your compliance with these terms, you may use Microchip software and any derivatives
  7. * exclusively with Microchip products. It is your responsibility to comply with third party license
  8. * terms applicable to your use of third party software (including open source software) that may
  9. * accompany Microchip software.
  10. *
  11. * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY,
  12. * APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND
  13. * FITNESS FOR A PARTICULAR PURPOSE.
  14. *
  15. * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
  16. * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF
  17. * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
  18. * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT
  19. * EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
  20. *
  21. */
  22. /* file generated from device description version 2019-11-25T06:52:33Z */
  23. #ifndef _SAMD21_PAC_COMPONENT_H_
  24. #define _SAMD21_PAC_COMPONENT_H_
  25. /* ************************************************************************** */
  26. /* SOFTWARE API DEFINITION FOR PAC */
  27. /* ************************************************************************** */
  28. /* -------- PAC_WPCLR : (PAC Offset: 0x00) (R/W 32) Write Protection Clear -------- */
  29. #define PAC_WPCLR_RESETVALUE _U_(0x00) /**< (PAC_WPCLR) Write Protection Clear Reset Value */
  30. #define PAC_WPCLR_WP_Pos _U_(1) /**< (PAC_WPCLR) Write Protection Clear Position */
  31. #define PAC_WPCLR_WP_Msk (_U_(0x7FFFFFFF) << PAC_WPCLR_WP_Pos) /**< (PAC_WPCLR) Write Protection Clear Mask */
  32. #define PAC_WPCLR_WP(value) (PAC_WPCLR_WP_Msk & ((value) << PAC_WPCLR_WP_Pos))
  33. #define PAC_WPCLR_Msk _U_(0xFFFFFFFE) /**< (PAC_WPCLR) Register Mask */
  34. /* -------- PAC_WPSET : (PAC Offset: 0x04) (R/W 32) Write Protection Set -------- */
  35. #define PAC_WPSET_RESETVALUE _U_(0x00) /**< (PAC_WPSET) Write Protection Set Reset Value */
  36. #define PAC_WPSET_WP_Pos _U_(1) /**< (PAC_WPSET) Write Protection Set Position */
  37. #define PAC_WPSET_WP_Msk (_U_(0x7FFFFFFF) << PAC_WPSET_WP_Pos) /**< (PAC_WPSET) Write Protection Set Mask */
  38. #define PAC_WPSET_WP(value) (PAC_WPSET_WP_Msk & ((value) << PAC_WPSET_WP_Pos))
  39. #define PAC_WPSET_Msk _U_(0xFFFFFFFE) /**< (PAC_WPSET) Register Mask */
  40. /** \brief PAC register offsets definitions */
  41. #define PAC_WPCLR_REG_OFST (0x00) /**< (PAC_WPCLR) Write Protection Clear Offset */
  42. #define PAC_WPSET_REG_OFST (0x04) /**< (PAC_WPSET) Write Protection Set Offset */
  43. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  44. /** \brief PAC register API structure */
  45. typedef struct
  46. { /* Peripheral Access Controller */
  47. __IO uint32_t PAC_WPCLR; /**< Offset: 0x00 (R/W 32) Write Protection Clear */
  48. __IO uint32_t PAC_WPSET; /**< Offset: 0x04 (R/W 32) Write Protection Set */
  49. } pac_registers_t;
  50. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  51. #endif /* _SAMD21_PAC_COMPONENT_H_ */