esp32_clock.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * Copyright (c) 2020 Mohamed ElShahawi
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_
  7. #define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_
  8. /* System Clock Source */
  9. #define ESP32_CLK_SRC_XTAL 0U
  10. #define ESP32_CLK_SRC_PLL 1U
  11. #define ESP32_CLK_SRC_RTC8M 2U
  12. /* Supported CPU Frequencies */
  13. #define ESP32_CLK_CPU_26M 26U
  14. #define ESP32_CLK_CPU_40M 40U
  15. #define ESP32_CLK_CPU_80M 80U
  16. #define ESP32_CLK_CPU_160M 160U
  17. #define ESP32_CLK_CPU_240M 240U
  18. /* Supported XTAL Frequencies */
  19. #define ESP32_CLK_XTAL_40M 0U
  20. #define ESP32_CLK_XTAL_26M 1U
  21. /* Modules IDs
  22. * These IDs are actually offsets in CLK and RST Control registers.
  23. * These IDs shouldn't be changed unless there is a Hardware change
  24. * from Espressif.
  25. *
  26. * Basic Modules
  27. * Registers: DPORT_PERIP_CLK_EN_REG, DPORT_PERIP_RST_EN_REG
  28. */
  29. #define ESP32_TIMERS_MODULE 0
  30. #define ESP32_SPI1_MODULE 1
  31. #define ESP32_UART0_MODULE 2
  32. #define ESP32_WDG_MODULE 3
  33. #define ESP32_I2S0_MODULE 4
  34. #define ESP32_UART1_MODULE 5
  35. #define ESP32_SPI2_MODULE 6
  36. #define ESP32_I2C_EXT0_MODULE 7
  37. #define ESP32_UHCI0_MODULE 8
  38. #define ESP32_RMT_MODULE 9
  39. #define ESP32_PCNT_MODULE 10
  40. #define ESP32_LEDC_MODULE 11
  41. #define ESP32_UHCI1_MODULE 12
  42. #define ESP32_TIMERGROUP_MODULE 13
  43. #define ESP32_EFUSE_MODULE 14
  44. #define ESP32_TIMERGROUP1_MODULE 15
  45. #define ESP32_SPI3_MODULE 16
  46. #define ESP32_PWM0_MODULE 17
  47. #define ESP32_I2C_EXT1_MODULE 18
  48. #define ESP32_CAN_MODULE 19
  49. #define ESP32_PWM1_MODULE 20
  50. #define ESP32_I2S1_MODULE 21
  51. #define ESP32_SPI_DMA_MODULE 22
  52. #define ESP32_UART2_MODULE 23
  53. #define ESP32_UART_MEM_MODULE 24
  54. #define ESP32_PWM2_MODULE 25
  55. #define ESP32_PWM3_MODULE 26
  56. /* HW Security Modules
  57. * Registers: DPORT_PERI_CLK_EN_REG, DPORT_PERI_RST_EN_REG
  58. */
  59. #define ESP32_AES_MODULE 32
  60. #define ESP32_SHA_MODULE 33
  61. #define ESP32_RSA_MODULE 34
  62. #define ESP32_SECUREBOOT_MODULE 35 /* Secure boot reset will hold SHA & AES in reset */
  63. #define ESP32_DIGITAL_SIGNATURE_MODULE 36 /* Digital signature reset will hold AES & RSA in reset */
  64. /* WiFi/BT
  65. * Registers: DPORT_WIFI_CLK_EN_REG, DPORT_CORE_RST_EN_REG
  66. */
  67. #define ESP32_SDMMC_MODULE 64
  68. #define ESP32_SDIO_SLAVE_MODULE 65
  69. #define ESP32_EMAC_MODULE 66
  70. #define ESP32_RNG_MODULE 67
  71. #define ESP32_WIFI_MODULE 68
  72. #define ESP32_BT_MODULE 69
  73. #define ESP32_WIFI_BT_COMMON_MODULE 70
  74. #define ESP32_BT_BASEBAND_MODULE 71
  75. #define ESP32_BT_LC_MODULE 72
  76. #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ESP32_H_ */