pin_data.c 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /* generated pin source file - do not edit */
  2. #include "bsp_api.h"
  3. #include "r_ioport.h"
  4. const ioport_pin_cfg_t g_bsp_pin_cfg_data[] = {
  5. {
  6. .pin = BSP_IO_PORT_00_PIN_04,
  7. .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE)
  8. },
  9. {
  10. .pin = BSP_IO_PORT_00_PIN_10,
  11. .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE)
  12. },
  13. {
  14. .pin = BSP_IO_PORT_00_PIN_11,
  15. .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE)
  16. },
  17. {
  18. .pin = BSP_IO_PORT_00_PIN_14,
  19. .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE)
  20. },
  21. {
  22. .pin = BSP_IO_PORT_01_PIN_00,
  23. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SPI)
  24. },
  25. {
  26. .pin = BSP_IO_PORT_01_PIN_01,
  27. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SPI)
  28. },
  29. {
  30. .pin = BSP_IO_PORT_01_PIN_02,
  31. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SPI)
  32. },
  33. {
  34. .pin = BSP_IO_PORT_01_PIN_04,
  35. .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT)
  36. },
  37. {
  38. .pin = BSP_IO_PORT_01_PIN_05,
  39. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_GPT1)
  40. },
  41. {
  42. .pin = BSP_IO_PORT_01_PIN_06,
  43. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_GPT1)
  44. },
  45. {
  46. .pin = BSP_IO_PORT_01_PIN_08,
  47. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_DEBUG)
  48. },
  49. {
  50. .pin = BSP_IO_PORT_01_PIN_09,
  51. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_DEBUG)
  52. },
  53. {
  54. .pin = BSP_IO_PORT_01_PIN_10,
  55. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_DEBUG)
  56. },
  57. {
  58. .pin = BSP_IO_PORT_01_PIN_15,
  59. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_CTSU)
  60. },
  61. {
  62. .pin = BSP_IO_PORT_02_PIN_05,
  63. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_CTSU)
  64. },
  65. {
  66. .pin = BSP_IO_PORT_03_PIN_00,
  67. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_DEBUG)
  68. },
  69. {
  70. .pin = BSP_IO_PORT_04_PIN_00,
  71. .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_MID | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_IIC)
  72. },
  73. {
  74. .pin = BSP_IO_PORT_04_PIN_01,
  75. .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_MID | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_IIC)
  76. },
  77. {
  78. .pin = BSP_IO_PORT_04_PIN_03,
  79. .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW)
  80. },
  81. {
  82. .pin = BSP_IO_PORT_04_PIN_07,
  83. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_USB_FS)
  84. },
  85. {
  86. .pin = BSP_IO_PORT_04_PIN_10,
  87. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SCI0_2_4_6_8)
  88. },
  89. {
  90. .pin = BSP_IO_PORT_04_PIN_11,
  91. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SCI0_2_4_6_8)
  92. },
  93. {
  94. .pin = BSP_IO_PORT_05_PIN_01,
  95. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SCI1_3_5_7_9)
  96. },
  97. {
  98. .pin = BSP_IO_PORT_05_PIN_02,
  99. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SCI1_3_5_7_9)
  100. },
  101. {
  102. .pin = BSP_IO_PORT_09_PIN_14,
  103. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_USB_FS)
  104. },
  105. {
  106. .pin = BSP_IO_PORT_09_PIN_15,
  107. .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_USB_FS)
  108. },
  109. };
  110. const ioport_cfg_t g_bsp_pin_cfg = {
  111. .number_of_pins = sizeof(g_bsp_pin_cfg_data)/sizeof(ioport_pin_cfg_t),
  112. .p_pin_cfg_data = &g_bsp_pin_cfg_data[0],
  113. };
  114. #if BSP_TZ_SECURE_BUILD
  115. void R_BSP_PinCfgSecurityInit(void);
  116. /* Initialize SAR registers for secure pins. */
  117. void R_BSP_PinCfgSecurityInit(void)
  118. {
  119. #if (2U == BSP_FEATURE_IOPORT_VERSION)
  120. uint32_t pmsar[BSP_FEATURE_BSP_NUM_PMSAR];
  121. #else
  122. uint16_t pmsar[BSP_FEATURE_BSP_NUM_PMSAR];
  123. #endif
  124. memset(pmsar, 0xFF, BSP_FEATURE_BSP_NUM_PMSAR * sizeof(R_PMISC->PMSAR[0]));
  125. for(uint32_t i = 0; i < g_bsp_pin_cfg.number_of_pins; i++)
  126. {
  127. uint32_t port_pin = g_bsp_pin_cfg.p_pin_cfg_data[i].pin;
  128. uint32_t port = port_pin >> 8U;
  129. uint32_t pin = port_pin & 0xFFU;
  130. pmsar[port] &= (uint16_t) ~(1U << pin);
  131. }
  132. for(uint32_t i = 0; i < BSP_FEATURE_BSP_NUM_PMSAR; i++)
  133. {
  134. #if (2U == BSP_FEATURE_IOPORT_VERSION)
  135. #if BSP_SECONDARY_CORE_BUILD
  136. R_PMISC->PMSAR[i].PMSAR &= (uint16_t) pmsar[i];
  137. #else
  138. R_PMISC->PMSAR[i].PMSAR = (uint16_t) pmsar[i];
  139. #endif
  140. #else
  141. R_PMISC->PMSAR[i].PMSAR = pmsar[i];
  142. #endif
  143. }
  144. }
  145. #endif