gpio_periph.c 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /*
  2. * SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include "soc/gpio_periph.h"
  7. const uint32_t GPIO_PIN_MUX_REG[] = {
  8. IO_MUX_GPIO0_REG,
  9. IO_MUX_GPIO1_REG,
  10. IO_MUX_GPIO2_REG,
  11. IO_MUX_GPIO3_REG,
  12. IO_MUX_GPIO4_REG,
  13. IO_MUX_GPIO5_REG,
  14. IO_MUX_GPIO6_REG,
  15. IO_MUX_GPIO7_REG,
  16. IO_MUX_GPIO8_REG,
  17. IO_MUX_GPIO9_REG,
  18. IO_MUX_GPIO10_REG,
  19. IO_MUX_GPIO11_REG,
  20. IO_MUX_GPIO12_REG,
  21. IO_MUX_GPIO13_REG,
  22. IO_MUX_GPIO14_REG,
  23. IO_MUX_GPIO15_REG,
  24. IO_MUX_GPIO16_REG,
  25. IO_MUX_GPIO17_REG,
  26. IO_MUX_GPIO18_REG,
  27. IO_MUX_GPIO19_REG,
  28. IO_MUX_GPIO20_REG,
  29. IO_MUX_GPIO21_REG,
  30. IO_MUX_GPIO22_REG,
  31. IO_MUX_GPIO23_REG,
  32. IO_MUX_GPIO24_REG,
  33. IO_MUX_GPIO25_REG,
  34. #if CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_1
  35. IO_MUX_GPIO26_REG,
  36. IO_MUX_GPIO27_REG,
  37. IO_MUX_GPIO28_REG,
  38. IO_MUX_GPIO29_REG,
  39. IO_MUX_GPIO30_REG,
  40. IO_MUX_GPIO31_REG,
  41. IO_MUX_GPIO32_REG,
  42. IO_MUX_GPIO33_REG,
  43. IO_MUX_GPIO34_REG,
  44. IO_MUX_GPIO35_REG,
  45. IO_MUX_GPIO36_REG,
  46. IO_MUX_GPIO37_REG,
  47. IO_MUX_GPIO38_REG,
  48. IO_MUX_GPIO39_REG,
  49. IO_MUX_GPIO40_REG,
  50. #endif
  51. };
  52. _Static_assert(sizeof(GPIO_PIN_MUX_REG) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_PIN_MUX_REG");
  53. const uint32_t GPIO_HOLD_MASK[] = {
  54. #if CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_1
  55. BIT(0), //GPIO0
  56. BIT(1), //GPIO1
  57. BIT(2), //GPIO2
  58. BIT(3), //GPIO3
  59. BIT(4), //GPIO4
  60. BIT(5), //GPIO5
  61. BIT(6), //GPIO6
  62. BIT(7), //GPIO7
  63. BIT(8), //GPIO8
  64. BIT(9), //GPIO9
  65. BIT(10), //GPIO10
  66. BIT(11), //GPIO11
  67. BIT(12), //GPIO12
  68. BIT(13), //GPIO13
  69. BIT(14), //GPIO14
  70. BIT(15), //GPIO15
  71. BIT(16), //GPIO16
  72. BIT(17), //GPIO17
  73. BIT(18), //GPIO18
  74. BIT(19), //GPIO19
  75. BIT(20), //GPIO20
  76. BIT(21), //GPIO21
  77. BIT(22), //GPIO22
  78. BIT(23), //GPIO23
  79. BIT(24), //GPIO24
  80. BIT(25), //GPIO25
  81. BIT(26), //GPIO26
  82. BIT(27), //GPIO27
  83. BIT(28), //GPIO28
  84. BIT(29), //GPIO29
  85. BIT(30), //GPIO30
  86. BIT(31), //GPIO31
  87. BIT(0), //GPIO32
  88. BIT(1), //GPIO33
  89. BIT(2), //GPIO34
  90. BIT(3), //GPIO35
  91. BIT(4), //GPIO36
  92. BIT(5), //GPIO37
  93. BIT(6), //GPIO38
  94. BIT(7), //GPIO39
  95. BIT(8), //GPIO40
  96. #elif CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_2
  97. BIT(0), //GPIO0
  98. BIT(1), //GPIO1
  99. BIT(2), //GPIO2
  100. BIT(3), //GPIO3
  101. BIT(4), //GPIO4
  102. BIT(5), //GPIO5
  103. BIT(6), //GPIO6
  104. BIT(0), //GPIO7
  105. BIT(1), //GPIO8
  106. BIT(2), //GPIO9
  107. BIT(4), //GPIO10
  108. BIT(3), //GPIO11
  109. BIT(5), //GPIO12
  110. BIT(13), //GPIO13
  111. BIT(14), //GPIO14
  112. BIT(15), //GPIO15
  113. BIT(16), //GPIO16
  114. BIT(17), //GPIO17
  115. BIT(18), //GPIO18
  116. BIT(19), //GPIO19
  117. BIT(20), //GPIO20
  118. BIT(21), //GPIO21
  119. BIT(22), //GPIO22
  120. BIT(23), //GPIO23
  121. BIT(24), //GPIO24
  122. BIT(25), //GPIO25
  123. #endif
  124. };
  125. _Static_assert(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK");