pal_gpio.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /**
  2. * \copyright
  3. * Copyright (c) 2018, Infineon Technologies AG
  4. * All rights reserved.
  5. *
  6. * This software is provided with terms and conditions as specified in OPTIGA(TM) Trust X Evaluation Kit License Agreement.
  7. * \endcopyright
  8. *
  9. * \author Infineon AG
  10. *
  11. * \file
  12. *
  13. * \brief This file implements the prototype declarations of pal gpio
  14. *
  15. * \addtogroup grPAL
  16. * @{
  17. */
  18. #ifndef _PAL_GPIO_H_
  19. #define _PAL_GPIO_H_
  20. /**********************************************************************************************************************
  21. * HEADER FILES
  22. *********************************************************************************************************************/
  23. #include "pal.h"
  24. /**********************************************************************************************************************
  25. * MACROS
  26. *********************************************************************************************************************/
  27. /**********************************************************************************************************************
  28. * ENUMS
  29. *********************************************************************************************************************/
  30. /**********************************************************************************************************************
  31. * DATA STRUCTURES
  32. *********************************************************************************************************************/
  33. /**
  34. * \brief Structure defines the PAL GPIO configuration.
  35. */
  36. typedef struct pal_gpio
  37. {
  38. /// Pointer to gpio platform specific context/structure
  39. void* p_gpio_hw;
  40. } pal_gpio_t;
  41. /**********************************************************************************************************************
  42. * API Prototypes
  43. *********************************************************************************************************************/
  44. #ifdef __cplusplus
  45. extern "C" {
  46. #endif
  47. /**
  48. * \brief Initializes the GPIO PAL.
  49. */
  50. void pal_gpio_init(void);
  51. /**
  52. * \brief Sets the gpio pin to high state.
  53. */
  54. void pal_gpio_set_high(const pal_gpio_t* p_gpio_context);
  55. /**
  56. * \brief Sets the gpio pin to Low state.
  57. */
  58. void pal_gpio_set_low(const pal_gpio_t* p_gpio_context);
  59. #ifdef __cplusplus
  60. }
  61. #endif
  62. #endif /* _PAL_GPIO_H_ */
  63. /**
  64. * @}
  65. */