SoC Capabilities
This section lists definitions of the ESP32-C2’s SoC hardware capabilities. These definitions are commonly used in IDF to control which hardware dependent features are supported and thus compiled into the binary.
Note
These defines are currently not considered to be part of the public API, and may be changed at any time.
API Reference
Header File
Macros
- 
SOC_ADC_SUPPORTED
 
- 
SOC_DEDICATED_GPIO_SUPPORTED
 
- 
SOC_GDMA_SUPPORTED
 
- 
SOC_BT_SUPPORTED
 
- 
SOC_WIFI_SUPPORTED
 
- 
SOC_ASYNC_MEMCPY_SUPPORTED
 
- 
SOC_SUPPORTS_SECURE_DL_MODE
 
- 
SOC_EFUSE_KEY_PURPOSE_FIELD
 
- 
SOC_EFUSE_CONSISTS_OF_ONE_KEY_BLOCK
 
- 
SOC_TEMP_SENSOR_SUPPORTED
 
- 
SOC_SHA_SUPPORTED
 
- 
SOC_ECC_SUPPORTED
 
- 
SOC_FLASH_ENC_SUPPORTED
 
- 
SOC_SECURE_BOOT_SUPPORTED
 
- 
SOC_SYSTIMER_SUPPORTED
 
- 
SOC_XTAL_SUPPORT_26M
 
- 
SOC_XTAL_SUPPORT_40M
 
- 
SOC_ADC_DIG_CTRL_SUPPORTED
 < SAR ADC Module
- 
SOC_ADC_FILTER_SUPPORTED
 
- 
SOC_ADC_MONITOR_SUPPORTED
 
- 
SOC_ADC_PERIPH_NUM
 
- 
SOC_ADC_CHANNEL_NUM(PERIPH_NUM)
 
- 
SOC_ADC_MAX_CHANNEL_NUM
 
- 
SOC_ADC_ATTEN_NUM
 Digital
- 
SOC_ADC_DIGI_CONTROLLER_NUM
 
- 
SOC_ADC_PATT_LEN_MAX
 One pattern table, each contains 8 items. Each item takes 1 byte
- 
SOC_ADC_DIGI_MIN_BITWIDTH
 
- 
SOC_ADC_DIGI_MAX_BITWIDTH
 
- 
SOC_ADC_DIGI_FILTER_NUM
 
- 
SOC_ADC_DIGI_MONITOR_NUM
 F_sample = F_digi_con / 2 / interval. F_digi_con = 5M for now. 30 <= interva <= 4095
- 
SOC_ADC_SAMPLE_FREQ_THRES_HIGH
 
- 
SOC_ADC_SAMPLE_FREQ_THRES_LOW
 RTC
- 
SOC_ADC_RTC_MIN_BITWIDTH
 
- 
SOC_ADC_RTC_MAX_BITWIDTH
 
- 
SOC_RTC_SLOW_CLOCK_SUPPORT_8MD256
 
- 
SOC_BROWNOUT_RESET_SUPPORTED
 
- 
SOC_SHARED_IDCACHE_SUPPORTED
 
- 
SOC_CPU_CORES_NUM
 
- 
SOC_CPU_INTR_NUM
 
- 
SOC_CPU_HAS_FLEXIBLE_INTC
 
- 
SOC_CPU_BREAKPOINTS_NUM
 
- 
SOC_CPU_WATCHPOINTS_NUM
 
- 
SOC_CPU_WATCHPOINT_SIZE
 
- 
SOC_CPU_IDRAM_SPLIT_USING_PMP
 
- 
SOC_GDMA_GROUPS
 
- 
SOC_GDMA_PAIRS_PER_GROUP
 
- 
SOC_GDMA_TX_RX_SHARE_INTERRUPT
 
- 
SOC_GPIO_PORT
 
- 
SOC_GPIO_PIN_COUNT
 
- 
SOC_GPIO_SUPPORTS_RTC_INDEPENDENT
 
- 
SOC_GPIO_SUPPORT_FORCE_HOLD
 
- 
SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
 
- 
SOC_GPIO_VALID_GPIO_MASK
 
- 
SOC_GPIO_VALID_OUTPUT_GPIO_MASK
 
- 
SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK
 
- 
SOC_GPIO_SUPPORT_SLP_SWITCH
 
- 
SOC_DEDIC_GPIO_OUT_CHANNELS_NUM
 8 outward channels on each CPU core
- 
SOC_DEDIC_GPIO_IN_CHANNELS_NUM
 8 inward channels on each CPU core
- 
SOC_DEDIC_PERIPH_ALWAYS_ENABLE
 The dedicated GPIO (a.k.a. fast GPIO) is featured by some customized CPU instructions, which is always enabled
- 
SOC_I2C_NUM
 
- 
SOC_I2C_FIFO_LEN
 I2C hardware FIFO depth
- 
SOC_I2C_SUPPORT_HW_CLR_BUS
 
- 
SOC_I2C_SUPPORT_XTAL
 
- 
SOC_I2C_SUPPORT_RTC
 
- 
SOC_LEDC_SUPPORT_PLL_DIV_CLOCK
 
- 
SOC_LEDC_SUPPORT_XTAL_CLOCK
 
- 
SOC_LEDC_CHANNEL_NUM
 
- 
SOC_LEDC_TIMER_BIT_WIDE_NUM
 
- 
SOC_LEDC_SUPPORT_FADE_STOP
 
- 
SOC_MPU_CONFIGURABLE_REGIONS_SUPPORTED
 
- 
SOC_MPU_MIN_REGION_SIZE
 
- 
SOC_MPU_REGIONS_MAX_NUM
 
- 
SOC_MPU_REGION_RO_SUPPORTED
 
- 
SOC_MPU_REGION_WO_SUPPORTED
 
- 
SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH
 
- 
SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM
 
- 
SOC_RTC_CNTL_CPU_PD_DMA_ADDR_ALIGN
 
- 
SOC_RTC_CNTL_CPU_PD_DMA_BLOCK_SIZE
 
- 
SOC_RTC_CNTL_CPU_PD_RETENTION_MEM_SIZE
 
- 
SOC_RTCIO_PIN_COUNT
 
- 
SOC_RSA_MAX_BIT_LEN
 
- 
SOC_SHA_SUPPORT_RESUME
 
- 
SOC_SHA_SUPPORT_SHA1
 
- 
SOC_SHA_SUPPORT_SHA224
 
- 
SOC_SHA_SUPPORT_SHA256
 
- 
SOC_SPI_PERIPH_NUM
 
- 
SOC_SPI_PERIPH_CS_NUM(i)
 
- 
SOC_SPI_MAX_CS_NUM
 
- 
SOC_SPI_MAXIMUM_BUFFER_SIZE
 
- 
SOC_SPI_SUPPORT_DDRCLK
 
- 
SOC_SPI_SLAVE_SUPPORT_SEG_TRANS
 
- 
SOC_SPI_SUPPORT_CD_SIG
 
- 
SOC_SPI_SUPPORT_CONTINUOUS_TRANS
 
- 
SOC_SPI_SUPPORT_SLAVE_HD_VER2
 
- 
SOC_SPI_PERIPH_SUPPORT_MULTILINE_MODE(host_id)
 
- 
SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT
 
- 
SOC_MEMSPI_IS_INDEPENDENT
 
- 
SOC_SPI_MAX_PRE_DIVIDER
 
- 
SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE
 
- 
SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND
 
- 
SOC_SPI_MEM_SUPPORT_AUTO_RESUME
 
- 
SOC_SPI_MEM_SUPPORT_IDLE_INTR
 
- 
SOC_SPI_MEM_SUPPORT_SW_SUSPEND
 
- 
SOC_SPI_MEM_SUPPORT_CHECK_SUS
 
- 
SOC_MEMSPI_SRC_FREQ_60M_SUPPORTED
 
- 
SOC_MEMSPI_SRC_FREQ_30M_SUPPORTED
 
- 
SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED
 
- 
SOC_MEMSPI_SRC_FREQ_15M_SUPPORTED
 
- 
SOC_SYSTIMER_COUNTER_NUM
 
- 
SOC_SYSTIMER_ALARM_NUM
 
- 
SOC_SYSTIMER_BIT_WIDTH_LO
 
- 
SOC_SYSTIMER_BIT_WIDTH_HI
 
- 
SOC_SYSTIMER_FIXED_DIVIDER
 
- 
SOC_SYSTIMER_INT_LEVEL
 
- 
SOC_SYSTIMER_ALARM_MISS_COMPENSATE
 
- 
SOC_TIMER_GROUPS
 
- 
SOC_TIMER_GROUP_TIMERS_PER_GROUP
 
- 
SOC_TIMER_GROUP_COUNTER_BIT_WIDTH
 
- 
SOC_TIMER_GROUP_SUPPORT_XTAL
 
- 
SOC_TIMER_GROUP_SUPPORT_PLL_F40M
 
- 
SOC_TIMER_GROUP_TOTAL_TIMERS
 
- 
SOC_SECURE_BOOT_V2_ECC
 
- 
SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS
 
- 
SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX
 
- 
SOC_FLASH_ENCRYPTION_XTS_AES
 
- 
SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS
 
- 
SOC_FLASH_ENCRYPTION_XTS_AES_128
 
- 
SOC_FLASH_ENCRYPTION_XTS_AES_128_DERIVED
 
- 
SOC_UART_NUM
 
- 
SOC_UART_FIFO_LEN
 The UART hardware FIFO length
- 
SOC_UART_BITRATE_MAX
 Max bit rate supported by UART
- 
SOC_UART_SUPPORT_WAKEUP_INT
 Support UART wakeup interrupt
- 
SOC_UART_SUPPORT_PLL_F40M_CLK
 Support APB as the clock source
- 
SOC_UART_SUPPORT_RTC_CLK
 Support RTC clock as the clock source
- 
SOC_UART_SUPPORT_XTAL_CLK
 Support XTAL clock as the clock source
- 
SOC_UART_SUPPORT_FSM_TX_WAIT_SEND
 
- 
SOC_COEX_HW_PTI
 
- 
SOC_PHY_DIG_REGS_MEM_SIZE
 
- 
SOC_MAC_BB_PD_MEM_SIZE
 
- 
SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH
 
- 
SOC_PM_SUPPORT_WIFI_WAKEUP
 
- 
SOC_PM_SUPPORT_BT_WAKEUP
 
- 
SOC_MMU_PAGE_SIZE_CONFIGURABLE
 
- 
SOC_PM_SUPPORT_CPU_PD
 
- 
SOC_PM_SUPPORT_WIFI_PD
 
- 
SOC_PM_SUPPORT_BT_PD
 
- 
SOC_WIFI_HW_TSF
 Support hardware TSF
- 
SOC_WIFI_FTM_SUPPORT
 FTM is not supported
- 
SOC_WIFI_GCMP_SUPPORT
 GCMP is not supported(GCMP128 and GCMP256)
- 
SOC_WIFI_WAPI_SUPPORT
 WAPI is not supported
- 
SOC_WIFI_CSI_SUPPORT
 CSI is not supported
- 
SOC_WIFI_MESH_SUPPORT
 WIFI MESH is not supported
- 
SOC_BLE_SUPPORTED
 Support Bluetooth Low Energy hardware
- 
SOC_BLE_MESH_SUPPORTED
 Support BLE MESH
- 
SOC_ESP_NIMBLE_CONTROLLER
 Support BLE EMBEDDED controller V1