gpio_periph.c 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. * SPDX-FileCopyrightText: 2018-2022 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, // This corresponding pin is only available on ESP32-PICO-V3 chip package
  29. IO_MUX_GPIO21_REG,
  30. IO_MUX_GPIO22_REG,
  31. IO_MUX_GPIO23_REG,
  32. 0,
  33. IO_MUX_GPIO25_REG,
  34. IO_MUX_GPIO26_REG,
  35. IO_MUX_GPIO27_REG,
  36. 0,
  37. 0,
  38. 0,
  39. 0,
  40. IO_MUX_GPIO32_REG,
  41. IO_MUX_GPIO33_REG,
  42. IO_MUX_GPIO34_REG,
  43. IO_MUX_GPIO35_REG,
  44. IO_MUX_GPIO36_REG,
  45. IO_MUX_GPIO37_REG,
  46. IO_MUX_GPIO38_REG,
  47. IO_MUX_GPIO39_REG,
  48. };
  49. _Static_assert(sizeof(GPIO_PIN_MUX_REG) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_PIN_MUX_REG");
  50. const uint32_t GPIO_HOLD_MASK[] = {
  51. 0,
  52. BIT(1),
  53. 0,
  54. BIT(0),
  55. 0,
  56. BIT(8),
  57. BIT(2),
  58. BIT(3),
  59. BIT(4),
  60. BIT(5),
  61. BIT(6),
  62. BIT(7),
  63. 0,
  64. 0,
  65. 0,
  66. 0,
  67. BIT(9),
  68. BIT(10),
  69. BIT(11),
  70. BIT(12),
  71. 0,
  72. BIT(14),
  73. BIT(15),
  74. BIT(16),
  75. 0,
  76. 0,
  77. 0,
  78. 0,
  79. 0,
  80. 0,
  81. 0,
  82. 0,
  83. 0,
  84. 0,
  85. 0,
  86. 0,
  87. 0,
  88. 0,
  89. 0,
  90. 0,
  91. };
  92. _Static_assert(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK");