mirror of
https://github.com/espressif/esp-idf.git
synced 2024-09-19 14:26:01 -04:00
sdm: clean up soc/hal/ll code
This commit is contained in:
parent
9e532696f4
commit
4154eaec93
@ -21,7 +21,6 @@ extern "C" {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Define memory space of each RMT channel (in words = 4 bytes)
|
* @brief Define memory space of each RMT channel (in words = 4 bytes)
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
#define RMT_MEM_ITEM_NUM SOC_RMT_MEM_WORDS_PER_CHANNEL
|
#define RMT_MEM_ITEM_NUM SOC_RMT_MEM_WORDS_PER_CHANNEL
|
||||||
|
|
||||||
@ -40,6 +39,8 @@ typedef struct {
|
|||||||
};
|
};
|
||||||
} rmt_item32_t;
|
} rmt_item32_t;
|
||||||
|
|
||||||
|
|
||||||
|
#if SOC_RMT_SUPPORTED
|
||||||
/**
|
/**
|
||||||
* @brief RMT hardware memory layout
|
* @brief RMT hardware memory layout
|
||||||
*/
|
*/
|
||||||
@ -48,11 +49,11 @@ typedef struct {
|
|||||||
volatile rmt_item32_t data32[SOC_RMT_MEM_WORDS_PER_CHANNEL];
|
volatile rmt_item32_t data32[SOC_RMT_MEM_WORDS_PER_CHANNEL];
|
||||||
} chan[SOC_RMT_CHANNELS_PER_GROUP];
|
} chan[SOC_RMT_CHANNELS_PER_GROUP];
|
||||||
} rmt_mem_t;
|
} rmt_mem_t;
|
||||||
|
#endif // SOC_RMT_SUPPORTED
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief RMT channel ID
|
* @brief RMT channel ID
|
||||||
*
|
*/
|
||||||
*/
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_CHANNEL_0, /*!< RMT channel number 0 */
|
RMT_CHANNEL_0, /*!< RMT channel number 0 */
|
||||||
RMT_CHANNEL_1, /*!< RMT channel number 1 */
|
RMT_CHANNEL_1, /*!< RMT channel number 1 */
|
||||||
@ -69,7 +70,6 @@ typedef enum {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief RMT Internal Memory Owner
|
* @brief RMT Internal Memory Owner
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_MEM_OWNER_TX, /*!< RMT RX mode, RMT transmitter owns the memory block*/
|
RMT_MEM_OWNER_TX, /*!< RMT RX mode, RMT transmitter owns the memory block*/
|
||||||
@ -79,15 +79,17 @@ typedef enum {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Clock Source of RMT Channel
|
* @brief Clock Source of RMT Channel
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
#if SOC_RMT_SUPPORTED
|
||||||
typedef soc_periph_rmt_clk_src_legacy_t rmt_source_clk_t;
|
typedef soc_periph_rmt_clk_src_legacy_t rmt_source_clk_t;
|
||||||
|
#else
|
||||||
|
typedef int rmt_source_clk_t;
|
||||||
|
#endif // SOC_RMT_SUPPORTED
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief RMT Data Mode
|
* @brief RMT Data Mode
|
||||||
*
|
*
|
||||||
* @note We highly recommended to use MEM mode not FIFO mode since there will be some gotcha in FIFO mode.
|
* @note We highly recommended to use MEM mode not FIFO mode since there will be some gotcha in FIFO mode.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_DATA_MODE_FIFO, /*<! RMT memory access in FIFO mode */
|
RMT_DATA_MODE_FIFO, /*<! RMT memory access in FIFO mode */
|
||||||
@ -97,7 +99,6 @@ typedef enum {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief RMT Channel Working Mode (TX or RX)
|
* @brief RMT Channel Working Mode (TX or RX)
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_MODE_TX, /*!< RMT TX mode */
|
RMT_MODE_TX, /*!< RMT TX mode */
|
||||||
@ -117,7 +118,6 @@ typedef enum {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief RMT Carrier Level
|
* @brief RMT Carrier Level
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_CARRIER_LEVEL_LOW, /*!< RMT carrier wave is modulated for low Level output */
|
RMT_CARRIER_LEVEL_LOW, /*!< RMT carrier wave is modulated for low Level output */
|
||||||
@ -127,7 +127,6 @@ typedef enum {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief RMT Channel Status
|
* @brief RMT Channel Status
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_CHANNEL_UNINIT, /*!< RMT channel uninitialized */
|
RMT_CHANNEL_UNINIT, /*!< RMT channel uninitialized */
|
||||||
@ -136,15 +135,15 @@ typedef enum {
|
|||||||
} rmt_channel_status_t;
|
} rmt_channel_status_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Data struct of RMT channel status
|
* @brief Data struct of RMT channel status
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rmt_channel_status_t status[RMT_CHANNEL_MAX]; /*!< Store the current status of each channel */
|
rmt_channel_status_t status[RMT_CHANNEL_MAX]; /*!< Store the current status of each channel */
|
||||||
} rmt_channel_status_result_t;
|
} rmt_channel_status_result_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Data struct of RMT TX configure parameters
|
* @brief Data struct of RMT TX configure parameters
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t carrier_freq_hz; /*!< RMT carrier frequency */
|
uint32_t carrier_freq_hz; /*!< RMT carrier frequency */
|
||||||
rmt_carrier_level_t carrier_level; /*!< Level of the RMT output, when the carrier is applied */
|
rmt_carrier_level_t carrier_level; /*!< Level of the RMT output, when the carrier is applied */
|
||||||
@ -159,8 +158,8 @@ typedef struct {
|
|||||||
} rmt_tx_config_t;
|
} rmt_tx_config_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Data struct of RMT RX configure parameters
|
* @brief Data struct of RMT RX configure parameters
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint16_t idle_threshold; /*!< RMT RX idle threshold */
|
uint16_t idle_threshold; /*!< RMT RX idle threshold */
|
||||||
uint8_t filter_ticks_thresh; /*!< RMT filter tick number */
|
uint8_t filter_ticks_thresh; /*!< RMT filter tick number */
|
||||||
@ -174,8 +173,8 @@ typedef struct {
|
|||||||
} rmt_rx_config_t;
|
} rmt_rx_config_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Data struct of RMT configure parameters
|
* @brief Data struct of RMT configure parameters
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rmt_mode_t rmt_mode; /*!< RMT mode: transmitter or receiver */
|
rmt_mode_t rmt_mode; /*!< RMT mode: transmitter or receiver */
|
||||||
rmt_channel_t channel; /*!< RMT channel */
|
rmt_channel_t channel; /*!< RMT channel */
|
||||||
@ -232,45 +231,43 @@ typedef struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief RMT interrupt handle
|
* @brief RMT interrupt handle
|
||||||
*
|
*/
|
||||||
*/
|
|
||||||
typedef intr_handle_t rmt_isr_handle_t;
|
typedef intr_handle_t rmt_isr_handle_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Type of RMT Tx End callback function
|
* @brief Type of RMT Tx End callback function
|
||||||
*
|
*/
|
||||||
*/
|
|
||||||
typedef void (*rmt_tx_end_fn_t)(rmt_channel_t channel, void *arg);
|
typedef void (*rmt_tx_end_fn_t)(rmt_channel_t channel, void *arg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Structure encapsulating a RMT TX end callback
|
* @brief Structure encapsulating a RMT TX end callback
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rmt_tx_end_fn_t function; /*!< Function which is called on RMT TX end */
|
rmt_tx_end_fn_t function; /*!< Function which is called on RMT TX end */
|
||||||
void *arg; /*!< Optional argument passed to function */
|
void *arg; /*!< Optional argument passed to function */
|
||||||
} rmt_tx_end_callback_t;
|
} rmt_tx_end_callback_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief User callback function to convert uint8_t type data to rmt format(rmt_item32_t).
|
* @brief User callback function to convert uint8_t type data to rmt format(rmt_item32_t).
|
||||||
*
|
*
|
||||||
* This function may be called from an ISR, so, the code should be short and efficient.
|
* This function may be called from an ISR, so, the code should be short and efficient.
|
||||||
*
|
*
|
||||||
* @param src Pointer to the buffer storing the raw data that needs to be converted to rmt format.
|
* @param src Pointer to the buffer storing the raw data that needs to be converted to rmt format.
|
||||||
* @param[out] dest Pointer to the buffer storing the rmt format data.
|
* @param[out] dest Pointer to the buffer storing the rmt format data.
|
||||||
* @param src_size The raw data size.
|
* @param src_size The raw data size.
|
||||||
* @param wanted_num The number of rmt format data that wanted to get.
|
* @param wanted_num The number of rmt format data that wanted to get.
|
||||||
* @param[out] translated_size The size of the raw data that has been converted to rmt format,
|
* @param[out] translated_size The size of the raw data that has been converted to rmt format,
|
||||||
* it should return 0 if no data is converted in user callback.
|
* it should return 0 if no data is converted in user callback.
|
||||||
* @param[out] item_num The number of the rmt format data that actually converted to,
|
* @param[out] item_num The number of the rmt format data that actually converted to,
|
||||||
* it can be less than wanted_num if there is not enough raw data, but cannot exceed wanted_num.
|
* it can be less than wanted_num if there is not enough raw data, but cannot exceed wanted_num.
|
||||||
* it should return 0 if no data was converted.
|
* it should return 0 if no data was converted.
|
||||||
*
|
*
|
||||||
* @note
|
* @note
|
||||||
* In fact, item_num should be a multiple of translated_size, e.g. :
|
* In fact, item_num should be a multiple of translated_size, e.g. :
|
||||||
* When we convert each byte of uint8_t type data to rmt format data,
|
* When we convert each byte of uint8_t type data to rmt format data,
|
||||||
* the relation between item_num and translated_size should be `item_num = translated_size*8`.
|
* the relation between item_num and translated_size should be `item_num = translated_size*8`.
|
||||||
*/
|
*/
|
||||||
typedef void (*sample_to_rmt_t)(const void *src, rmt_item32_t *dest, size_t src_size, size_t wanted_num, size_t *translated_size, size_t *item_num);
|
typedef void (*sample_to_rmt_t)(const void *src, rmt_item32_t *dest, size_t src_size, size_t wanted_num, size_t *translated_size, size_t *item_num);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -74,8 +74,8 @@ if(NOT BOOTLOADER_BUILD)
|
|||||||
list(APPEND srcs "i2s_hal.c")
|
list(APPEND srcs "i2s_hal.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_SOC_SIGMADELTA_SUPPORTED)
|
if(CONFIG_SOC_SDM_SUPPORTED)
|
||||||
list(APPEND srcs "sigmadelta_hal.c")
|
list(APPEND srcs "sdm_hal.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_ETH_USE_ESP32_EMAC)
|
if(CONFIG_ETH_USE_ESP32_EMAC)
|
||||||
|
58
components/hal/esp32/include/hal/sdm_ll.h
Normal file
58
components/hal/esp32/include/hal/sdm_ll.h
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "hal/misc.h"
|
||||||
|
#include "hal/assert.h"
|
||||||
|
#include "soc/gpio_sd_struct.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta enable
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param en Sigma-delta enable value
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_enable_clock(gpio_sd_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
// The clk enable register does not exist on ESP32.
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel duty.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
||||||
|
* The waveform is more like a random one in this range.
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void sdm_ll_set_duty(gpio_sd_dev_t *hw, int channel, int8_t duty)
|
||||||
|
{
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel's clock pre-scale value.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param prescale The divider of source clock, ranges from 1 to 256
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_set_prescale(gpio_sd_dev_t *hw, int channel, uint32_t prescale)
|
||||||
|
{
|
||||||
|
HAL_ASSERT(prescale && prescale <= 256);
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,75 +0,0 @@
|
|||||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*******************************************************************************
|
|
||||||
* NOTICE
|
|
||||||
* The hal is not public api, don't use in application code.
|
|
||||||
* See readme.md in hal/include/hal/readme.md
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
// The LL layer for ESP32 SIGMADELTA register operations
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include "hal/misc.h"
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sd_struct.h"
|
|
||||||
#include "hal/sigmadelta_types.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Get SIGMADELTA hardware instance with giving sigmadelta num
|
|
||||||
#define SIGMADELTA_LL_GET_HW(num) (((num) == 0) ? (&SIGMADELTA) : NULL)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta enable
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param en Sigma-delta enable value
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_en(gpio_sd_dev_t *hw, bool en)
|
|
||||||
{
|
|
||||||
// The clk enable register does not exist on ESP32.
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel duty.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
|
||||||
* The waveform is more like a random one in this range.
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_duty(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, int8_t duty)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel's clock pre-scale value.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param val The divider of source clock, ranges from 0 to 255
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_prescale(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, uint8_t prescale)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
58
components/hal/esp32c3/include/hal/sdm_ll.h
Normal file
58
components/hal/esp32c3/include/hal/sdm_ll.h
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "hal/misc.h"
|
||||||
|
#include "hal/assert.h"
|
||||||
|
#include "soc/gpio_sd_struct.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta enable
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param en Sigma-delta enable value
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_enable_clock(gpio_sd_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
hw->misc.function_clk_en = en;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel duty.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
||||||
|
* The waveform is more like a random one in this range.
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void sdm_ll_set_duty(gpio_sd_dev_t *hw, int channel, int8_t duty)
|
||||||
|
{
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel's clock pre-scale value.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param prescale The divider of source clock, ranges from 1 to 256
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_set_prescale(gpio_sd_dev_t *hw, int channel, uint32_t prescale)
|
||||||
|
{
|
||||||
|
HAL_ASSERT(prescale && prescale <= 256);
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,75 +0,0 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*******************************************************************************
|
|
||||||
* NOTICE
|
|
||||||
* The hal is not public api, don't use in application code.
|
|
||||||
* See readme.md in soc/include/hal/readme.md
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
// The LL layer for ESP32 SIGMADELTA register operations
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include "hal/misc.h"
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sd_struct.h"
|
|
||||||
#include "hal/sigmadelta_types.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Get SIGMADELTA hardware instance with giving sigmadelta num
|
|
||||||
#define SIGMADELTA_LL_GET_HW(num) (((num) == 0) ? (&SIGMADELTA) : NULL)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta enable
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param en Sigma-delta enable value
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_en(gpio_sd_dev_t *hw, bool en)
|
|
||||||
{
|
|
||||||
hw->misc.function_clk_en = en;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel duty.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
|
||||||
* The waveform is more like a random one in this range.
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_duty(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, int8_t duty)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel's clock pre-scale value.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param val The divider of source clock, ranges from 0 to 255
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_prescale(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, uint8_t prescale)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
58
components/hal/esp32h2/include/hal/sdm_ll.h
Normal file
58
components/hal/esp32h2/include/hal/sdm_ll.h
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "hal/misc.h"
|
||||||
|
#include "hal/assert.h"
|
||||||
|
#include "soc/gpio_sd_struct.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta enable
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param en Sigma-delta enable value
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_enable_clock(gpio_sd_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
hw->misc.function_clk_en = en;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel duty.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
||||||
|
* The waveform is more like a random one in this range.
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void sdm_ll_set_duty(gpio_sd_dev_t *hw, int channel, int8_t duty)
|
||||||
|
{
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel's clock pre-scale value.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param prescale The divider of source clock, ranges from 1 to 256
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_set_prescale(gpio_sd_dev_t *hw, int channel, uint32_t prescale)
|
||||||
|
{
|
||||||
|
HAL_ASSERT(prescale && prescale <= 256);
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,75 +0,0 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*******************************************************************************
|
|
||||||
* NOTICE
|
|
||||||
* The hal is not public api, don't use in application code.
|
|
||||||
* See readme.md in soc/include/hal/readme.md
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
// The LL layer for ESP32 SIGMADELTA register operations
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include "hal/misc.h"
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sd_struct.h"
|
|
||||||
#include "hal/sigmadelta_types.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Get SIGMADELTA hardware instance with giving sigmadelta num
|
|
||||||
#define SIGMADELTA_LL_GET_HW(num) (((num) == 0) ? (&SIGMADELTA) : NULL)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta enable
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param en Sigma-delta enable value
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_en(gpio_sd_dev_t *hw, bool en)
|
|
||||||
{
|
|
||||||
hw->misc.function_clk_en = en;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel duty.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
|
||||||
* The waveform is more like a random one in this range.
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_duty(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, int8_t duty)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel's clock pre-scale value.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param val The divider of source clock, ranges from 0 to 255
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_prescale(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, uint8_t prescale)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
58
components/hal/esp32s2/include/hal/sdm_ll.h
Normal file
58
components/hal/esp32s2/include/hal/sdm_ll.h
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "hal/misc.h"
|
||||||
|
#include "hal/assert.h"
|
||||||
|
#include "soc/gpio_sd_struct.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta enable
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param en Sigma-delta enable value
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_enable_clock(gpio_sd_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
hw->misc.function_clk_en = en;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel duty.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
||||||
|
* The waveform is more like a random one in this range.
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void sdm_ll_set_duty(gpio_sd_dev_t *hw, int channel, int8_t duty)
|
||||||
|
{
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel's clock pre-scale value.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param prescale The divider of source clock, ranges from 1 to 256
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_set_prescale(gpio_sd_dev_t *hw, int channel, uint32_t prescale)
|
||||||
|
{
|
||||||
|
HAL_ASSERT(prescale && prescale <= 256);
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,75 +0,0 @@
|
|||||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*******************************************************************************
|
|
||||||
* NOTICE
|
|
||||||
* The hal is not public api, don't use in application code.
|
|
||||||
* See readme.md in hal/include/hal/readme.md
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
// The LL layer for ESP32-S2 SIGMADELTA register operations
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include "hal/misc.h"
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sd_struct.h"
|
|
||||||
#include "hal/sigmadelta_types.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Get SIGMADELTA hardware instance with giving sigmadelta num
|
|
||||||
#define SIGMADELTA_LL_GET_HW(num) (((num) == 0) ? (&SIGMADELTA) : NULL)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta enable
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param en Sigma-delta enable value
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_en(gpio_sd_dev_t *hw, bool en)
|
|
||||||
{
|
|
||||||
hw->misc.function_clk_en = en;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel duty.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
|
||||||
* The waveform is more like a random one in this range.
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_duty(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, int8_t duty)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel's clock pre-scale value.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param prescale The divider of source clock, ranges from 0 to 255
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_prescale(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, uint8_t prescale)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
58
components/hal/esp32s3/include/hal/sdm_ll.h
Normal file
58
components/hal/esp32s3/include/hal/sdm_ll.h
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "hal/assert.h"
|
||||||
|
#include "hal/misc.h"
|
||||||
|
#include "soc/gpio_sd_struct.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta enable
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param en Sigma-delta enable value
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_enable_clock(gpio_sd_dev_t *hw, bool en)
|
||||||
|
{
|
||||||
|
hw->misc.function_clk_en = en;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel duty.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
||||||
|
* The waveform is more like a random one in this range.
|
||||||
|
*/
|
||||||
|
__attribute__((always_inline))
|
||||||
|
static inline void sdm_ll_set_duty(gpio_sd_dev_t *hw, int channel, int8_t duty)
|
||||||
|
{
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint32_t)duty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set Sigma-delta channel's clock pre-scale value.
|
||||||
|
*
|
||||||
|
* @param hw Peripheral SIGMADELTA hardware instance address.
|
||||||
|
* @param channel Sigma-delta channel number
|
||||||
|
* @param prescale The divider of source clock, ranges from 1 to 256
|
||||||
|
*/
|
||||||
|
static inline void sdm_ll_set_prescale(gpio_sd_dev_t *hw, int channel, uint32_t prescale)
|
||||||
|
{
|
||||||
|
HAL_ASSERT(prescale && prescale <= 256);
|
||||||
|
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,75 +0,0 @@
|
|||||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*******************************************************************************
|
|
||||||
* NOTICE
|
|
||||||
* The hal is not public api, don't use in application code.
|
|
||||||
* See readme.md in hal/include/hal/readme.md
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
// The LL layer for ESP32 SIGMADELTA register operations
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sd_struct.h"
|
|
||||||
#include "hal/sigmadelta_types.h"
|
|
||||||
#include "hal/misc.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Get SIGMADELTA hardware instance with giving sigmadelta num
|
|
||||||
#define SIGMADELTA_LL_GET_HW(num) (((num) == 0) ? (&SIGMADELTA) : NULL)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta enable
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param en Sigma-delta enable value
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_en(gpio_sd_dev_t *hw, bool en)
|
|
||||||
{
|
|
||||||
hw->misc.function_clk_en = en;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel duty.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
|
||||||
* The waveform is more like a random one in this range.
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_duty(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, int8_t duty)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], duty, (uint8_t)duty);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel's clock pre-scale value.
|
|
||||||
*
|
|
||||||
* @param hw Peripheral SIGMADELTA hardware instance address.
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param val The divider of source clock, ranges from 0 to 255
|
|
||||||
*/
|
|
||||||
static inline void sigmadelta_ll_set_prescale(gpio_sd_dev_t *hw, sigmadelta_channel_t channel, uint8_t prescale)
|
|
||||||
{
|
|
||||||
HAL_FORCE_MODIFY_U32_REG_FIELD(hw->channel[channel], prescale, prescale);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -7,6 +7,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "soc/clk_tree_defs.h"
|
#include "soc/clk_tree_defs.h"
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -16,7 +17,11 @@ extern "C" {
|
|||||||
* @brief RMT group clock source
|
* @brief RMT group clock source
|
||||||
* @note User should select the clock source based on the power and resolution requirement
|
* @note User should select the clock source based on the power and resolution requirement
|
||||||
*/
|
*/
|
||||||
|
#if SOC_RMT_SUPPORTED
|
||||||
typedef soc_periph_rmt_clk_src_t rmt_clock_source_t;
|
typedef soc_periph_rmt_clk_src_t rmt_clock_source_t;
|
||||||
|
#else
|
||||||
|
typedef int rmt_clock_source_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The layout of RMT symbol stored in memory, which is decided by the hardware design
|
* @brief The layout of RMT symbol stored in memory, which is decided by the hardware design
|
||||||
|
41
components/hal/include/hal/sdm_hal.h
Normal file
41
components/hal/include/hal/sdm_hal.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* NOTICE
|
||||||
|
* The hal is not public api, don't use in application code.
|
||||||
|
* See readme.md in hal/include/hal/readme.md
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
// The HAL layer for sigma delta modulator.
|
||||||
|
// There is no parameter check in the hal layer, so the caller must ensure the correctness of the parameters.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct gpio_sd_dev_t *sdm_soc_handle_t; // Sigma-Delta SOC layer handle
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HAL context type of Sigma-Delta driver
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
sdm_soc_handle_t dev;
|
||||||
|
} sdm_hal_context_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initialize Sigma-Delta hal driver
|
||||||
|
*
|
||||||
|
* @param hal Context of the HAL layer
|
||||||
|
* @param group_id Sigma-Delta group number
|
||||||
|
*/
|
||||||
|
void sdm_hal_init(sdm_hal_context_t *hal, int group_id);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
24
components/hal/include/hal/sdm_types.h
Normal file
24
components/hal/include/hal/sdm_types.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "soc/clk_tree_defs.h"
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if SOC_SDM_SUPPORTED
|
||||||
|
typedef soc_periph_sdm_clk_src_t sdm_clock_source_t; // sigma delta modulator clock source
|
||||||
|
#else
|
||||||
|
typedef int sdm_clock_source_t; // sigma delta modulator clock source, fallback to integer type
|
||||||
|
#endif // SOC_SDM_SUPPORTED
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,71 +0,0 @@
|
|||||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
/*******************************************************************************
|
|
||||||
* NOTICE
|
|
||||||
* The hal is not public api, don't use in application code.
|
|
||||||
* See readme.md in hal/include/hal/readme.md
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
// The HAL layer for SIGMADELTA.
|
|
||||||
// There is no parameter check in the hal layer, so the caller must ensure the correctness of the parameters.
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "hal/sigmadelta_types.h"
|
|
||||||
#include "hal/sigmadelta_ll.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Context that should be maintained by both the driver and the HAL
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
gpio_sd_dev_t *dev;
|
|
||||||
} sigmadelta_hal_context_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel duty.
|
|
||||||
*
|
|
||||||
* @param hal Context of the HAL layer
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param duty Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90.
|
|
||||||
* The waveform is more like a random one in this range.
|
|
||||||
*/
|
|
||||||
#define sigmadelta_hal_set_duty(hal, channel, duty) sigmadelta_ll_set_duty((hal)->dev, channel, duty)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set Sigma-delta channel's clock pre-scale value.
|
|
||||||
*
|
|
||||||
* @param hal Context of the HAL layer
|
|
||||||
* @param channel Sigma-delta channel number
|
|
||||||
* @param prescale The divider of source clock, ranges from 0 to 255
|
|
||||||
*/
|
|
||||||
#define sigmadelta_hal_set_prescale(hal, channel, prescale) sigmadelta_ll_set_prescale((hal)->dev, channel, prescale)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Init the SIGMADELTA hal and set the SIGMADELTA to the default configuration. This function should be called first before other hal layer function is called
|
|
||||||
*
|
|
||||||
* @param hal Context of the HAL layer
|
|
||||||
* @param sigmadelta_num The uart port number, the max port number is (SIGMADELTA_NUM_MAX -1)
|
|
||||||
*/
|
|
||||||
void sigmadelta_hal_init(sigmadelta_hal_context_t *hal, int sigmadelta_num);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -1,44 +0,0 @@
|
|||||||
/*
|
|
||||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "soc/soc_caps.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief SIGMADELTA port number, the max port number is (SIGMADELTA_NUM_MAX -1).
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
SIGMADELTA_PORT_0, /*!< SIGMADELTA port 0 */
|
|
||||||
SIGMADELTA_PORT_MAX, /*!< SIGMADELTA port max */
|
|
||||||
} sigmadelta_port_t;
|
|
||||||
|
|
||||||
_Static_assert(SIGMADELTA_PORT_MAX == SOC_SIGMADELTA_NUM, "Sigma-delta port num incorrect.");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sigma-delta channel list
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
SIGMADELTA_CHANNEL_0, /*!< Sigma-delta channel 0 */
|
|
||||||
SIGMADELTA_CHANNEL_1, /*!< Sigma-delta channel 1 */
|
|
||||||
SIGMADELTA_CHANNEL_2, /*!< Sigma-delta channel 2 */
|
|
||||||
SIGMADELTA_CHANNEL_3, /*!< Sigma-delta channel 3 */
|
|
||||||
#if SOC_SIGMADELTA_CHANNEL_NUM > 4
|
|
||||||
SIGMADELTA_CHANNEL_4, /*!< Sigma-delta channel 4 */
|
|
||||||
SIGMADELTA_CHANNEL_5, /*!< Sigma-delta channel 5 */
|
|
||||||
SIGMADELTA_CHANNEL_6, /*!< Sigma-delta channel 6 */
|
|
||||||
SIGMADELTA_CHANNEL_7, /*!< Sigma-delta channel 7 */
|
|
||||||
#endif
|
|
||||||
SIGMADELTA_CHANNEL_MAX, /*!< Sigma-delta channel max */
|
|
||||||
} sigmadelta_channel_t;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -7,6 +7,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "soc/clk_tree_defs.h"
|
#include "soc/clk_tree_defs.h"
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -15,7 +16,11 @@ extern "C" {
|
|||||||
/**
|
/**
|
||||||
* @brief temperature sensor clock source
|
* @brief temperature sensor clock source
|
||||||
*/
|
*/
|
||||||
|
#if SOC_TEMP_SENSOR_SUPPORTED
|
||||||
typedef soc_periph_temperature_sensor_clk_src_t temperature_sensor_clk_src_t;
|
typedef soc_periph_temperature_sensor_clk_src_t temperature_sensor_clk_src_t;
|
||||||
|
#else
|
||||||
|
typedef int temperature_sensor_clk_src_t;
|
||||||
|
#endif // SOC_TEMP_SENSOR_SUPPORTED
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
16
components/hal/sdm_hal.c
Normal file
16
components/hal/sdm_hal.c
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
// The HAL layer for sigma delta modulator (common part)
|
||||||
|
|
||||||
|
#include "hal/sdm_ll.h"
|
||||||
|
#include "hal/sdm_hal.h"
|
||||||
|
|
||||||
|
void sdm_hal_init(sdm_hal_context_t *hal, int group_id)
|
||||||
|
{
|
||||||
|
(void) group_id;
|
||||||
|
hal->dev = &SDM;
|
||||||
|
}
|
@ -1,26 +0,0 @@
|
|||||||
// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
// The HAL layer for SIGMADELTA (common part)
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "soc/soc.h"
|
|
||||||
#include "hal/sigmadelta_hal.h"
|
|
||||||
|
|
||||||
void sigmadelta_hal_init(sigmadelta_hal_context_t *hal, int sigmadelta_num)
|
|
||||||
{
|
|
||||||
//Get hardware instance.
|
|
||||||
hal->dev = SIGMADELTA_LL_GET_HW(sigmadelta_num);
|
|
||||||
sigmadelta_ll_set_en(hal->dev, 1);
|
|
||||||
}
|
|
@ -3,6 +3,7 @@ set(srcs
|
|||||||
"dac_periph.c"
|
"dac_periph.c"
|
||||||
"dport_access.c"
|
"dport_access.c"
|
||||||
"gpio_periph.c"
|
"gpio_periph.c"
|
||||||
|
"sdm_periph.c"
|
||||||
"i2c_periph.c"
|
"i2c_periph.c"
|
||||||
"i2s_periph.c"
|
"i2s_periph.c"
|
||||||
"interrupts.c"
|
"interrupts.c"
|
||||||
@ -14,7 +15,6 @@ set(srcs
|
|||||||
"rtc_io_periph.c"
|
"rtc_io_periph.c"
|
||||||
"sdio_slave_periph.c"
|
"sdio_slave_periph.c"
|
||||||
"sdmmc_periph.c"
|
"sdmmc_periph.c"
|
||||||
"sigmadelta_periph.c"
|
|
||||||
"spi_periph.c"
|
"spi_periph.c"
|
||||||
"timer_periph.c"
|
"timer_periph.c"
|
||||||
"touch_sensor_periph.c"
|
"touch_sensor_periph.c"
|
||||||
|
@ -91,7 +91,7 @@ config SOC_RMT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_SUPPORTED
|
config SOC_SDM_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
@ -487,11 +487,11 @@ config SOC_RTCIO_WAKE_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_NUM
|
config SOC_SDM_GROUPS
|
||||||
int
|
int
|
||||||
default 1
|
default 1
|
||||||
|
|
||||||
config SOC_SIGMADELTA_CHANNEL_NUM
|
config SOC_SDM_CHANNELS_PER_GROUP
|
||||||
int
|
int
|
||||||
default 8
|
default 8
|
||||||
|
|
||||||
|
@ -177,7 +177,6 @@ typedef enum {
|
|||||||
* @brief Type of RMT clock source
|
* @brief Type of RMT clock source
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_CLK_SRC_NONE = 0, /*!< No clock source is selected */
|
|
||||||
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
RMT_CLK_SRC_REF_TICK = SOC_MOD_CLK_REF_TICK, /*!< Select REF_TICK as the source clock */
|
RMT_CLK_SRC_REF_TICK = SOC_MOD_CLK_REF_TICK, /*!< Select REF_TICK as the source clock */
|
||||||
RMT_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default choice */
|
RMT_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default choice */
|
||||||
@ -192,16 +191,6 @@ typedef enum {
|
|||||||
RMT_BASECLK_DEFAULT = SOC_MOD_CLK_APB, /*!< RMT source clock default choice is APB */
|
RMT_BASECLK_DEFAULT = SOC_MOD_CLK_APB, /*!< RMT source clock default choice is APB */
|
||||||
} soc_periph_rmt_clk_src_legacy_t;
|
} soc_periph_rmt_clk_src_legacy_t;
|
||||||
|
|
||||||
//////////////////////////////////////////////////Temp Sensor///////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Type of Temp Sensor clock source
|
|
||||||
* @note ESP32 does not support temperature sensor
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
TEMPERATURE_SENSOR_SRC_NA,
|
|
||||||
} soc_periph_temperature_sensor_clk_src_t;
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////UART/////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////UART/////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -243,7 +232,7 @@ typedef enum {
|
|||||||
|
|
||||||
///////////////////////////////////////////////////I2S//////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////I2S//////////////////////////////////////////////////////////////////
|
||||||
/**
|
/**
|
||||||
* @brief Array initializer for all supported clock sources of
|
* @brief Array initializer for all supported clock sources of I2S
|
||||||
*/
|
*/
|
||||||
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_D2, SOC_MOD_CLK_APLL}
|
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_D2, SOC_MOD_CLK_APLL}
|
||||||
|
|
||||||
@ -272,6 +261,21 @@ typedef enum {
|
|||||||
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB,
|
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB,
|
||||||
} soc_periph_i2c_clk_src_t;
|
} soc_periph_i2c_clk_src_t;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////SDM//////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Array initializer for all supported clock sources of SDM
|
||||||
|
*/
|
||||||
|
#define SOC_SDM_CLKS {SOC_MOD_CLK_APB}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Sigma Delta Modulator clock source
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
SDM_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
|
SDM_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default clock choice */
|
||||||
|
} soc_periph_sdm_clk_src_t;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,20 +1,13 @@
|
|||||||
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
#pragma once
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_REG_H_
|
|
||||||
#define _SOC_GPIO_SD_REG_H_
|
|
||||||
|
|
||||||
#include "soc.h"
|
#include "soc.h"
|
||||||
|
|
||||||
#define GPIO_SIGMADELTA0_REG (DR_REG_GPIO_SD_BASE + 0x0000)
|
#define GPIO_SIGMADELTA0_REG (DR_REG_GPIO_SD_BASE + 0x0000)
|
||||||
/* GPIO_SD0_PRESCALE : R/W ;bitpos:[15:8] ;default: 8'hff ; */
|
/* GPIO_SD0_PRESCALE : R/W ;bitpos:[15:8] ;default: 8'hff ; */
|
||||||
/*description: */
|
/*description: */
|
||||||
@ -151,8 +144,3 @@
|
|||||||
#define GPIO_SD_DATE_V 0xFFFFFFF
|
#define GPIO_SD_DATE_V 0xFFFFFFF
|
||||||
#define GPIO_SD_DATE_S 0
|
#define GPIO_SD_DATE_S 0
|
||||||
#define SIGMADELTA_GPIO_SD_DATE_VERSION 0x1506190
|
#define SIGMADELTA_GPIO_SD_DATE_VERSION 0x1506190
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*_SOC_GPIO_SD_REG_H_ */
|
|
||||||
|
@ -1,18 +1,10 @@
|
|||||||
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
#pragma once
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
#define _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
@ -20,8 +12,8 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef volatile struct gpio_sd_dev_s {
|
typedef struct gpio_sd_dev_t {
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t duty: 8;
|
uint32_t duty: 8;
|
||||||
uint32_t prescale: 8;
|
uint32_t prescale: 8;
|
||||||
@ -29,21 +21,21 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} channel[8];
|
} channel[8];
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0: 31;
|
uint32_t reserved0: 31;
|
||||||
uint32_t clk_en: 1;
|
uint32_t clk_en: 1;
|
||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} cg;
|
} cg;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0: 31;
|
uint32_t reserved0: 31;
|
||||||
uint32_t spi_swap: 1;
|
uint32_t spi_swap: 1;
|
||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} misc;
|
} misc;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t date: 28;
|
uint32_t date: 28;
|
||||||
uint32_t reserved28: 4;
|
uint32_t reserved28: 4;
|
||||||
@ -51,10 +43,9 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
uint32_t val;
|
uint32_t val;
|
||||||
} version;
|
} version;
|
||||||
} gpio_sd_dev_t;
|
} gpio_sd_dev_t;
|
||||||
extern gpio_sd_dev_t SIGMADELTA;
|
|
||||||
|
extern gpio_sd_dev_t SDM;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _SOC_GPIO_SD_STRUCT_H_ */
|
|
||||||
|
@ -82,7 +82,7 @@
|
|||||||
#define SOC_RTC_MEM_SUPPORTED 1
|
#define SOC_RTC_MEM_SUPPORTED 1
|
||||||
#define SOC_I2S_SUPPORTED 1
|
#define SOC_I2S_SUPPORTED 1
|
||||||
#define SOC_RMT_SUPPORTED 1
|
#define SOC_RMT_SUPPORTED 1
|
||||||
#define SOC_SIGMADELTA_SUPPORTED 1
|
#define SOC_SDM_SUPPORTED 1
|
||||||
#define SOC_SUPPORT_COEXISTENCE 1
|
#define SOC_SUPPORT_COEXISTENCE 1
|
||||||
#define SOC_AES_SUPPORTED 1
|
#define SOC_AES_SUPPORTED 1
|
||||||
#define SOC_MPI_SUPPORTED 1
|
#define SOC_MPI_SUPPORTED 1
|
||||||
@ -247,9 +247,9 @@
|
|||||||
#define SOC_RTCIO_HOLD_SUPPORTED 1
|
#define SOC_RTCIO_HOLD_SUPPORTED 1
|
||||||
#define SOC_RTCIO_WAKE_SUPPORTED 1
|
#define SOC_RTCIO_WAKE_SUPPORTED 1
|
||||||
|
|
||||||
/*-------------------------- SIGMA DELTA CAPS --------------------------------*/
|
/*-------------------------- Sigma Delta Modulator CAPS -----------------*/
|
||||||
#define SOC_SIGMADELTA_NUM 1U
|
#define SOC_SDM_GROUPS 1U
|
||||||
#define SOC_SIGMADELTA_CHANNEL_NUM (8) // 8 channels
|
#define SOC_SDM_CHANNELS_PER_GROUP 8
|
||||||
|
|
||||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||||
#define SOC_SPI_HD_BOTH_INOUT_SUPPORTED 1 //Support enabling MOSI and MISO phases together under Halfduplex mode
|
#define SOC_SPI_HD_BOTH_INOUT_SUPPORTED 1 //Support enabling MOSI and MISO phases together under Halfduplex mode
|
||||||
|
@ -7,7 +7,7 @@ PROVIDE ( UART0 = 0x3ff40000 );
|
|||||||
PROVIDE ( SPI1 = 0x3ff42000 );
|
PROVIDE ( SPI1 = 0x3ff42000 );
|
||||||
PROVIDE ( SPI0 = 0x3ff43000 );
|
PROVIDE ( SPI0 = 0x3ff43000 );
|
||||||
PROVIDE ( GPIO = 0x3ff44000 );
|
PROVIDE ( GPIO = 0x3ff44000 );
|
||||||
PROVIDE ( SIGMADELTA = 0x3ff44f00 );
|
PROVIDE ( SDM = 0x3ff44f00 );
|
||||||
PROVIDE ( RTCCNTL = 0x3ff48000 );
|
PROVIDE ( RTCCNTL = 0x3ff48000 );
|
||||||
PROVIDE ( RTCIO = 0x3ff48400 );
|
PROVIDE ( RTCIO = 0x3ff48400 );
|
||||||
PROVIDE ( SENS = 0x3ff48800 );
|
PROVIDE ( SENS = 0x3ff48800 );
|
||||||
|
37
components/soc/esp32/sdm_periph.c
Normal file
37
components/soc/esp32/sdm_periph.c
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "soc/sdm_periph.h"
|
||||||
|
#include "soc/gpio_sig_map.h"
|
||||||
|
|
||||||
|
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
||||||
|
.channels = {
|
||||||
|
[0] = {
|
||||||
|
GPIO_SD0_OUT_IDX
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
GPIO_SD1_OUT_IDX
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
GPIO_SD2_OUT_IDX
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
GPIO_SD3_OUT_IDX
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
GPIO_SD4_OUT_IDX
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
GPIO_SD5_OUT_IDX
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
GPIO_SD6_OUT_IDX
|
||||||
|
},
|
||||||
|
[7] = {
|
||||||
|
GPIO_SD7_OUT_IDX
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
@ -1,45 +0,0 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sig_map.h"
|
|
||||||
|
|
||||||
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
|
||||||
.channels = {
|
|
||||||
[0] = {
|
|
||||||
GPIO_SD0_OUT_IDX
|
|
||||||
},
|
|
||||||
[1] = {
|
|
||||||
GPIO_SD1_OUT_IDX
|
|
||||||
},
|
|
||||||
[2] = {
|
|
||||||
GPIO_SD2_OUT_IDX
|
|
||||||
},
|
|
||||||
[3] = {
|
|
||||||
GPIO_SD3_OUT_IDX
|
|
||||||
},
|
|
||||||
[4] = {
|
|
||||||
GPIO_SD4_OUT_IDX
|
|
||||||
},
|
|
||||||
[5] = {
|
|
||||||
GPIO_SD5_OUT_IDX
|
|
||||||
},
|
|
||||||
[6] = {
|
|
||||||
GPIO_SD6_OUT_IDX
|
|
||||||
},
|
|
||||||
[7] = {
|
|
||||||
GPIO_SD7_OUT_IDX
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
@ -3,11 +3,11 @@ set(srcs
|
|||||||
"dedic_gpio_periph.c"
|
"dedic_gpio_periph.c"
|
||||||
"gdma_periph.c"
|
"gdma_periph.c"
|
||||||
"gpio_periph.c"
|
"gpio_periph.c"
|
||||||
|
"sdm_periph.c"
|
||||||
"interrupts.c"
|
"interrupts.c"
|
||||||
"spi_periph.c"
|
"spi_periph.c"
|
||||||
"ledc_periph.c"
|
"ledc_periph.c"
|
||||||
"rmt_periph.c"
|
"rmt_periph.c"
|
||||||
"sigmadelta_periph.c"
|
|
||||||
"i2s_periph.c"
|
"i2s_periph.c"
|
||||||
"i2c_periph.c"
|
"i2c_periph.c"
|
||||||
"uart_periph.c"
|
"uart_periph.c"
|
||||||
|
@ -71,7 +71,7 @@ config SOC_RMT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_SUPPORTED
|
config SOC_SDM_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
@ -511,11 +511,11 @@ config SOC_SHA_SUPPORT_SHA256
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_NUM
|
config SOC_SDM_GROUPS
|
||||||
int
|
int
|
||||||
default 1
|
default 1
|
||||||
|
|
||||||
config SOC_SIGMADELTA_CHANNEL_NUM
|
config SOC_SDM_CHANNELS_PER_GROUP
|
||||||
int
|
int
|
||||||
default 4
|
default 4
|
||||||
|
|
||||||
|
@ -158,7 +158,6 @@ typedef enum {
|
|||||||
* @brief Type of RMT clock source
|
* @brief Type of RMT clock source
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_CLK_SRC_NONE = 0, /*!< No clock source is selected */
|
|
||||||
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
RMT_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST, /*!< Select RC_FAST as the source clock */
|
RMT_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST, /*!< Select RC_FAST as the source clock */
|
||||||
RMT_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
RMT_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||||
@ -205,7 +204,7 @@ typedef enum {
|
|||||||
///////////////////////////////////////////////////// I2S //////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////// I2S //////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Array initializer for all supported clock sources of
|
* @brief Array initializer for all supported clock sources of I2S
|
||||||
*/
|
*/
|
||||||
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_F160M}
|
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_F160M}
|
||||||
|
|
||||||
@ -233,6 +232,21 @@ typedef enum {
|
|||||||
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
||||||
} soc_periph_i2c_clk_src_t;
|
} soc_periph_i2c_clk_src_t;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////SDM//////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Array initializer for all supported clock sources of SDM
|
||||||
|
*/
|
||||||
|
#define SOC_SDM_CLKS {SOC_MOD_CLK_APB}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Sigma Delta Modulator clock source
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
SDM_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
|
SDM_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default clock choice */
|
||||||
|
} soc_periph_sdm_clk_src_t;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,24 +1,16 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_REG_H_
|
|
||||||
#define _SOC_GPIO_SD_REG_H_
|
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "soc.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#include "soc.h"
|
|
||||||
#define GPIO_SIGMADELTA0_REG (DR_REG_GPIO_SD_BASE + 0x0000)
|
#define GPIO_SIGMADELTA0_REG (DR_REG_GPIO_SD_BASE + 0x0000)
|
||||||
/* GPIO_SD0_PRESCALE : R/W ;bitpos:[15:8] ;default: 8'hff ; */
|
/* GPIO_SD0_PRESCALE : R/W ;bitpos:[15:8] ;default: 8'hff ; */
|
||||||
/*description: */
|
/*description: */
|
||||||
@ -108,7 +100,3 @@ extern "C" {
|
|||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*_SOC_GPIO_SD_REG_H_ */
|
|
||||||
|
@ -1,24 +1,19 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
#pragma once
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
#include <stdint.h>
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
#define _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef volatile struct gpio_sd_dev_s {
|
typedef struct gpio_sd_dev_t {
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t duty: 8;
|
uint32_t duty: 8;
|
||||||
uint32_t prescale: 8;
|
uint32_t prescale: 8;
|
||||||
@ -30,14 +25,14 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
uint32_t reserved_14;
|
uint32_t reserved_14;
|
||||||
uint32_t reserved_18;
|
uint32_t reserved_18;
|
||||||
uint32_t reserved_1c;
|
uint32_t reserved_1c;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0: 31;
|
uint32_t reserved0: 31;
|
||||||
uint32_t clk_en: 1;
|
uint32_t clk_en: 1;
|
||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} cg;
|
} cg;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0: 30;
|
uint32_t reserved0: 30;
|
||||||
uint32_t function_clk_en: 1;
|
uint32_t function_clk_en: 1;
|
||||||
@ -45,7 +40,7 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} misc;
|
} misc;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t date: 28;
|
uint32_t date: 28;
|
||||||
uint32_t reserved28: 4;
|
uint32_t reserved28: 4;
|
||||||
@ -53,9 +48,9 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
uint32_t val;
|
uint32_t val;
|
||||||
} version;
|
} version;
|
||||||
} gpio_sd_dev_t;
|
} gpio_sd_dev_t;
|
||||||
extern gpio_sd_dev_t SIGMADELTA;
|
|
||||||
|
extern gpio_sd_dev_t SDM;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _SOC_GPIO_SD_STRUCT_H_ */
|
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
#define SOC_RTC_MEM_SUPPORTED 1
|
#define SOC_RTC_MEM_SUPPORTED 1
|
||||||
#define SOC_I2S_SUPPORTED 1
|
#define SOC_I2S_SUPPORTED 1
|
||||||
#define SOC_RMT_SUPPORTED 1
|
#define SOC_RMT_SUPPORTED 1
|
||||||
#define SOC_SIGMADELTA_SUPPORTED 1
|
#define SOC_SDM_SUPPORTED 1
|
||||||
#define SOC_SUPPORT_COEXISTENCE 1
|
#define SOC_SUPPORT_COEXISTENCE 1
|
||||||
#define SOC_AES_SUPPORTED 1
|
#define SOC_AES_SUPPORTED 1
|
||||||
#define SOC_MPI_SUPPORTED 1
|
#define SOC_MPI_SUPPORTED 1
|
||||||
@ -247,9 +247,9 @@
|
|||||||
#define SOC_SHA_SUPPORT_SHA224 (1)
|
#define SOC_SHA_SUPPORT_SHA224 (1)
|
||||||
#define SOC_SHA_SUPPORT_SHA256 (1)
|
#define SOC_SHA_SUPPORT_SHA256 (1)
|
||||||
|
|
||||||
/*-------------------------- SIGMA DELTA CAPS --------------------------------*/
|
/*-------------------------- Sigma Delta Modulator CAPS -----------------*/
|
||||||
#define SOC_SIGMADELTA_NUM (1U) // 1 sigma-delta peripheral
|
#define SOC_SDM_GROUPS 1U
|
||||||
#define SOC_SIGMADELTA_CHANNEL_NUM (4) // 4 channels
|
#define SOC_SDM_CHANNELS_PER_GROUP 4
|
||||||
|
|
||||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||||
#define SOC_SPI_PERIPH_NUM 2
|
#define SOC_SPI_PERIPH_NUM 2
|
||||||
|
@ -8,7 +8,7 @@ PROVIDE ( UART1 = 0x60010000 );
|
|||||||
PROVIDE ( SPIMEM1 = 0x60002000 );
|
PROVIDE ( SPIMEM1 = 0x60002000 );
|
||||||
PROVIDE ( SPIMEM0 = 0x60003000 );
|
PROVIDE ( SPIMEM0 = 0x60003000 );
|
||||||
PROVIDE ( GPIO = 0x60004000 );
|
PROVIDE ( GPIO = 0x60004000 );
|
||||||
PROVIDE ( SIGMADELTA = 0x60004f00 );
|
PROVIDE ( SDM = 0x60004f00 );
|
||||||
PROVIDE ( RTCCNTL = 0x60008000 );
|
PROVIDE ( RTCCNTL = 0x60008000 );
|
||||||
PROVIDE ( RTCIO = 0x60008400 );
|
PROVIDE ( RTCIO = 0x60008400 );
|
||||||
PROVIDE ( EFUSE = 0x60008800 );
|
PROVIDE ( EFUSE = 0x60008800 );
|
||||||
|
25
components/soc/esp32c3/sdm_periph.c
Normal file
25
components/soc/esp32c3/sdm_periph.c
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "soc/sdm_periph.h"
|
||||||
|
#include "soc/gpio_sig_map.h"
|
||||||
|
|
||||||
|
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
||||||
|
.channels = {
|
||||||
|
[0] = {
|
||||||
|
GPIO_SD0_OUT_IDX
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
GPIO_SD1_OUT_IDX
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
GPIO_SD2_OUT_IDX
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
GPIO_SD3_OUT_IDX
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
@ -1,33 +0,0 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sig_map.h"
|
|
||||||
|
|
||||||
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
|
||||||
.channels = {
|
|
||||||
[0] = {
|
|
||||||
GPIO_SD0_OUT_IDX
|
|
||||||
},
|
|
||||||
[1] = {
|
|
||||||
GPIO_SD1_OUT_IDX
|
|
||||||
},
|
|
||||||
[2] = {
|
|
||||||
GPIO_SD2_OUT_IDX
|
|
||||||
},
|
|
||||||
[3] = {
|
|
||||||
GPIO_SD3_OUT_IDX
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
@ -3,11 +3,11 @@ set(srcs
|
|||||||
"dedic_gpio_periph.c"
|
"dedic_gpio_periph.c"
|
||||||
"gdma_periph.c"
|
"gdma_periph.c"
|
||||||
"gpio_periph.c"
|
"gpio_periph.c"
|
||||||
|
"sdm_periph.c"
|
||||||
"interrupts.c"
|
"interrupts.c"
|
||||||
"spi_periph.c"
|
"spi_periph.c"
|
||||||
"ledc_periph.c"
|
"ledc_periph.c"
|
||||||
"rmt_periph.c"
|
"rmt_periph.c"
|
||||||
"sigmadelta_periph.c"
|
|
||||||
"i2s_periph.c"
|
"i2s_periph.c"
|
||||||
"i2c_periph.c"
|
"i2c_periph.c"
|
||||||
"uart_periph.c"
|
"uart_periph.c"
|
||||||
|
@ -3,8 +3,7 @@
|
|||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
#ifndef _SOC_GPIO_SD_REG_H_
|
#pragma once
|
||||||
#define _SOC_GPIO_SD_REG_H_
|
|
||||||
|
|
||||||
#include "soc/soc.h"
|
#include "soc/soc.h"
|
||||||
|
|
||||||
@ -100,7 +99,3 @@ extern "C" {
|
|||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*_SOC_GPIO_SD_REG_H_ */
|
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include "soc/soc.h"
|
#include "soc/soc.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -63,7 +63,7 @@ config SOC_RMT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_SUPPORTED
|
config SOC_SDM_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
@ -487,11 +487,11 @@ config SOC_SHA_SUPPORT_SHA256
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_NUM
|
config SOC_SDM_GROUPS
|
||||||
int
|
int
|
||||||
default 1
|
default 1
|
||||||
|
|
||||||
config SOC_SIGMADELTA_CHANNEL_NUM
|
config SOC_SDM_CHANNELS_PER_GROUP
|
||||||
int
|
int
|
||||||
default 4
|
default 4
|
||||||
|
|
||||||
|
@ -111,6 +111,7 @@ typedef enum {
|
|||||||
SOC_MOD_CLK_RTC_SLOW, /*!< RTC_SLOW_CLK can be sourced from RC_SLOW, XTAL32K, or RC32K by configuring soc_rtc_slow_clk_src_t */
|
SOC_MOD_CLK_RTC_SLOW, /*!< RTC_SLOW_CLK can be sourced from RC_SLOW, XTAL32K, or RC32K by configuring soc_rtc_slow_clk_src_t */
|
||||||
// For digital domain: peripherals, WIFI, BLE
|
// For digital domain: peripherals, WIFI, BLE
|
||||||
SOC_MOD_CLK_AHB, /*< AHB_CLK sources from CPU with a configurable divider */
|
SOC_MOD_CLK_AHB, /*< AHB_CLK sources from CPU with a configurable divider */
|
||||||
|
SOC_MOD_CLK_APB, /*< APB_CLK source is derived from AHB clock */
|
||||||
SOC_MOD_CLK_XTAL32K, /*< XTAL32K_CLK comes from the external 32kHz crystal, passing a clock gating to the peripherals */
|
SOC_MOD_CLK_XTAL32K, /*< XTAL32K_CLK comes from the external 32kHz crystal, passing a clock gating to the peripherals */
|
||||||
SOC_MOD_CLK_RC_FAST, /*< RC_FAST_CLK comes from the internal 8MHz rc oscillator, passing a clock gating to the peripherals */
|
SOC_MOD_CLK_RC_FAST, /*< RC_FAST_CLK comes from the internal 8MHz rc oscillator, passing a clock gating to the peripherals */
|
||||||
SOC_MOD_CLK_XTAL, /*< XTAL_CLK comes from the external 32MHz crystal */
|
SOC_MOD_CLK_XTAL, /*< XTAL_CLK comes from the external 32MHz crystal */
|
||||||
@ -163,7 +164,6 @@ typedef enum {
|
|||||||
* @brief Type of RMT clock source
|
* @brief Type of RMT clock source
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_CLK_SRC_NONE = 0, /*!< No clock source is selected */
|
|
||||||
RMT_CLK_SRC_AHB = SOC_MOD_CLK_AHB, /*!< Select AHB clock as the source clock */
|
RMT_CLK_SRC_AHB = SOC_MOD_CLK_AHB, /*!< Select AHB clock as the source clock */
|
||||||
RMT_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST, /*!< Select RC_FAST as the source clock */
|
RMT_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST, /*!< Select RC_FAST as the source clock */
|
||||||
RMT_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
RMT_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||||
@ -218,7 +218,7 @@ typedef enum {
|
|||||||
* @brief I2S clock source enum
|
* @brief I2S clock source enum
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
I2S_CLK_SRC_DEFAULT = SOC_MOD_CLK_PLL, /*!< Select SOC_MOD_CLK_PLL as the default source clock */
|
I2S_CLK_SRC_DEFAULT = SOC_MOD_CLK_PLL, /*!< Select SOC_MOD_CLK_PLL as the default source clock */
|
||||||
I2S_CLK_SRC_PLL_96M = SOC_MOD_CLK_PLL, /*!< Select PLL as the source clock */
|
I2S_CLK_SRC_PLL_96M = SOC_MOD_CLK_PLL, /*!< Select PLL as the source clock */
|
||||||
} soc_periph_i2s_clk_src_t;
|
} soc_periph_i2s_clk_src_t;
|
||||||
|
|
||||||
@ -238,6 +238,21 @@ typedef enum {
|
|||||||
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
||||||
} soc_periph_i2c_clk_src_t;
|
} soc_periph_i2c_clk_src_t;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////SDM//////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Array initializer for all supported clock sources of SDM
|
||||||
|
*/
|
||||||
|
#define SOC_SDM_CLKS {SOC_MOD_CLK_APB}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Sigma Delta Modulator clock source
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
SDM_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
|
SDM_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default clock choice */
|
||||||
|
} soc_periph_sdm_clk_src_t;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,24 +1,19 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
#pragma once
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
#include <stdint.h>
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
#define _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef volatile struct gpio_sd_dev_s {
|
typedef struct gpio_sd_dev_t {
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t duty: 8;
|
uint32_t duty: 8;
|
||||||
uint32_t prescale: 8;
|
uint32_t prescale: 8;
|
||||||
@ -30,14 +25,14 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
uint32_t reserved_14;
|
uint32_t reserved_14;
|
||||||
uint32_t reserved_18;
|
uint32_t reserved_18;
|
||||||
uint32_t reserved_1c;
|
uint32_t reserved_1c;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0: 31;
|
uint32_t reserved0: 31;
|
||||||
uint32_t clk_en: 1;
|
uint32_t clk_en: 1;
|
||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} cg;
|
} cg;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0: 30;
|
uint32_t reserved0: 30;
|
||||||
uint32_t function_clk_en: 1;
|
uint32_t function_clk_en: 1;
|
||||||
@ -45,7 +40,7 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} misc;
|
} misc;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t date: 28;
|
uint32_t date: 28;
|
||||||
uint32_t reserved28: 4;
|
uint32_t reserved28: 4;
|
||||||
@ -53,9 +48,9 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
uint32_t val;
|
uint32_t val;
|
||||||
} version;
|
} version;
|
||||||
} gpio_sd_dev_t;
|
} gpio_sd_dev_t;
|
||||||
extern gpio_sd_dev_t SIGMADELTA;
|
|
||||||
|
extern gpio_sd_dev_t SDM;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _SOC_GPIO_SD_STRUCT_H_ */
|
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#define SOC_RTC_MEM_SUPPORTED 1
|
#define SOC_RTC_MEM_SUPPORTED 1
|
||||||
#define SOC_I2S_SUPPORTED 1
|
#define SOC_I2S_SUPPORTED 1
|
||||||
#define SOC_RMT_SUPPORTED 1
|
#define SOC_RMT_SUPPORTED 1
|
||||||
#define SOC_SIGMADELTA_SUPPORTED 1
|
#define SOC_SDM_SUPPORTED 1
|
||||||
#define SOC_AES_SUPPORTED 1
|
#define SOC_AES_SUPPORTED 1
|
||||||
#define SOC_MPI_SUPPORTED 1
|
#define SOC_MPI_SUPPORTED 1
|
||||||
#define SOC_SHA_SUPPORTED 1
|
#define SOC_SHA_SUPPORTED 1
|
||||||
@ -252,9 +252,9 @@
|
|||||||
#define SOC_SHA_SUPPORT_SHA224 (1)
|
#define SOC_SHA_SUPPORT_SHA224 (1)
|
||||||
#define SOC_SHA_SUPPORT_SHA256 (1)
|
#define SOC_SHA_SUPPORT_SHA256 (1)
|
||||||
|
|
||||||
/*-------------------------- SIGMA DELTA CAPS --------------------------------*/
|
/*-------------------------- Sigma Delta Modulator CAPS -----------------*/
|
||||||
#define SOC_SIGMADELTA_NUM (1U) // 1 sigma-delta peripheral
|
#define SOC_SDM_GROUPS 1U
|
||||||
#define SOC_SIGMADELTA_CHANNEL_NUM (4) // 4 channels
|
#define SOC_SDM_CHANNELS_PER_GROUP 4
|
||||||
|
|
||||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||||
#define SOC_SPI_PERIPH_NUM 2
|
#define SOC_SPI_PERIPH_NUM 2
|
||||||
|
@ -8,7 +8,7 @@ PROVIDE ( UART1 = 0x60010000 );
|
|||||||
PROVIDE ( SPIMEM1 = 0x60002000 );
|
PROVIDE ( SPIMEM1 = 0x60002000 );
|
||||||
PROVIDE ( SPIMEM0 = 0x60003000 );
|
PROVIDE ( SPIMEM0 = 0x60003000 );
|
||||||
PROVIDE ( GPIO = 0x60004000 );
|
PROVIDE ( GPIO = 0x60004000 );
|
||||||
PROVIDE ( SIGMADELTA = 0x60004f00 );
|
PROVIDE ( SDM = 0x60004f00 );
|
||||||
PROVIDE ( RTCCNTL = 0x60008000 );
|
PROVIDE ( RTCCNTL = 0x60008000 );
|
||||||
PROVIDE ( RTCIO = 0x60008400 );
|
PROVIDE ( RTCIO = 0x60008400 );
|
||||||
PROVIDE ( HINF = 0x6000B000 );
|
PROVIDE ( HINF = 0x6000B000 );
|
||||||
|
25
components/soc/esp32h2/sdm_periph.c
Normal file
25
components/soc/esp32h2/sdm_periph.c
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "soc/sdm_periph.h"
|
||||||
|
#include "soc/gpio_sig_map.h"
|
||||||
|
|
||||||
|
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
||||||
|
.channels = {
|
||||||
|
[0] = {
|
||||||
|
GPIO_SD0_OUT_IDX
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
GPIO_SD1_OUT_IDX
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
GPIO_SD2_OUT_IDX
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
GPIO_SD3_OUT_IDX
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
@ -1,33 +0,0 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sig_map.h"
|
|
||||||
|
|
||||||
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
|
||||||
.channels = {
|
|
||||||
[0] = {
|
|
||||||
GPIO_SD0_OUT_IDX
|
|
||||||
},
|
|
||||||
[1] = {
|
|
||||||
GPIO_SD1_OUT_IDX
|
|
||||||
},
|
|
||||||
[2] = {
|
|
||||||
GPIO_SD2_OUT_IDX
|
|
||||||
},
|
|
||||||
[3] = {
|
|
||||||
GPIO_SD3_OUT_IDX
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
@ -3,6 +3,7 @@ set(srcs
|
|||||||
"dac_periph.c"
|
"dac_periph.c"
|
||||||
"dedic_gpio_periph.c"
|
"dedic_gpio_periph.c"
|
||||||
"gpio_periph.c"
|
"gpio_periph.c"
|
||||||
|
"sdm_periph.c"
|
||||||
"i2c_periph.c"
|
"i2c_periph.c"
|
||||||
"i2s_periph.c"
|
"i2s_periph.c"
|
||||||
"interrupts.c"
|
"interrupts.c"
|
||||||
@ -11,7 +12,6 @@ set(srcs
|
|||||||
"pcnt_periph.c"
|
"pcnt_periph.c"
|
||||||
"rmt_periph.c"
|
"rmt_periph.c"
|
||||||
"rtc_io_periph.c"
|
"rtc_io_periph.c"
|
||||||
"sigmadelta_periph.c"
|
|
||||||
"spi_periph.c"
|
"spi_periph.c"
|
||||||
"timer_periph.c"
|
"timer_periph.c"
|
||||||
"touch_sensor_periph.c"
|
"touch_sensor_periph.c"
|
||||||
|
@ -95,7 +95,7 @@ config SOC_RMT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_SUPPORTED
|
config SOC_SDM_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
@ -523,11 +523,11 @@ config SOC_RTCIO_WAKE_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_NUM
|
config SOC_SDM_GROUPS
|
||||||
int
|
int
|
||||||
default 1
|
default 1
|
||||||
|
|
||||||
config SOC_SIGMADELTA_CHANNEL_NUM
|
config SOC_SDM_CHANNELS_PER_GROUP
|
||||||
int
|
int
|
||||||
default 8
|
default 8
|
||||||
|
|
||||||
|
@ -178,7 +178,6 @@ typedef enum {
|
|||||||
* @brief Type of RMT clock source
|
* @brief Type of RMT clock source
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_CLK_SRC_NONE = 0, /*!< No clock source is selected */
|
|
||||||
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
RMT_CLK_SRC_REF_TICK = SOC_MOD_CLK_REF_TICK, /*!< Select REF_TICK as the source clock */
|
RMT_CLK_SRC_REF_TICK = SOC_MOD_CLK_REF_TICK, /*!< Select REF_TICK as the source clock */
|
||||||
RMT_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default choice */
|
RMT_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default choice */
|
||||||
@ -222,7 +221,7 @@ typedef enum {
|
|||||||
///////////////////////////////////////////////////// I2S //////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////// I2S //////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Array initializer for all supported clock sources of
|
* @brief Array initializer for all supported clock sources of I2S
|
||||||
*/
|
*/
|
||||||
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_F160M, SOC_MOD_CLK_APLL}
|
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_F160M, SOC_MOD_CLK_APLL}
|
||||||
|
|
||||||
@ -251,6 +250,21 @@ typedef enum {
|
|||||||
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB,
|
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB,
|
||||||
} soc_periph_i2c_clk_src_t;
|
} soc_periph_i2c_clk_src_t;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////SDM//////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Array initializer for all supported clock sources of SDM
|
||||||
|
*/
|
||||||
|
#define SOC_SDM_CLKS {SOC_MOD_CLK_APB}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Sigma Delta Modulator clock source
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
SDM_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
|
SDM_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default clock choice */
|
||||||
|
} soc_periph_sdm_clk_src_t;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,24 +1,16 @@
|
|||||||
// Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_REG_H_
|
|
||||||
#define _SOC_GPIO_SD_REG_H_
|
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "soc.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#include "soc.h"
|
|
||||||
#define GPIO_SIGMADELTA0_REG (DR_REG_GPIO_SD_BASE + 0x0000)
|
#define GPIO_SIGMADELTA0_REG (DR_REG_GPIO_SD_BASE + 0x0000)
|
||||||
/* GPIO_SD0_PRESCALE : R/W ;bitpos:[15:8] ;default: 8'hff ; */
|
/* GPIO_SD0_PRESCALE : R/W ;bitpos:[15:8] ;default: 8'hff ; */
|
||||||
/*description: */
|
/*description: */
|
||||||
@ -164,7 +156,3 @@ extern "C" {
|
|||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*_SOC_GPIO_SD_REG_H_ */
|
|
||||||
|
@ -1,24 +1,19 @@
|
|||||||
// Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
#pragma once
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
#include <stdint.h>
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
#define _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef volatile struct gpio_sd_dev_s {
|
typedef struct gpio_sd_dev_t {
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t duty: 8;
|
uint32_t duty: 8;
|
||||||
uint32_t prescale: 8;
|
uint32_t prescale: 8;
|
||||||
@ -26,14 +21,14 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} channel[8];
|
} channel[8];
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0: 31;
|
uint32_t reserved0: 31;
|
||||||
uint32_t clk_en: 1;
|
uint32_t clk_en: 1;
|
||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} cg;
|
} cg;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0: 30;
|
uint32_t reserved0: 30;
|
||||||
uint32_t function_clk_en: 1;
|
uint32_t function_clk_en: 1;
|
||||||
@ -41,7 +36,7 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} misc;
|
} misc;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t date: 28;
|
uint32_t date: 28;
|
||||||
uint32_t reserved28: 4;
|
uint32_t reserved28: 4;
|
||||||
@ -49,9 +44,9 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
uint32_t val;
|
uint32_t val;
|
||||||
} version;
|
} version;
|
||||||
} gpio_sd_dev_t;
|
} gpio_sd_dev_t;
|
||||||
extern gpio_sd_dev_t SIGMADELTA;
|
|
||||||
|
extern gpio_sd_dev_t SDM;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _SOC_GPIO_SD_STRUCT_H_ */
|
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
#define SOC_XT_WDT_SUPPORTED 1
|
#define SOC_XT_WDT_SUPPORTED 1
|
||||||
#define SOC_I2S_SUPPORTED 1
|
#define SOC_I2S_SUPPORTED 1
|
||||||
#define SOC_RMT_SUPPORTED 1
|
#define SOC_RMT_SUPPORTED 1
|
||||||
#define SOC_SIGMADELTA_SUPPORTED 1
|
#define SOC_SDM_SUPPORTED 1
|
||||||
#define SOC_SUPPORT_COEXISTENCE 0
|
#define SOC_SUPPORT_COEXISTENCE 0
|
||||||
#define SOC_AES_SUPPORTED 1
|
#define SOC_AES_SUPPORTED 1
|
||||||
#define SOC_MPI_SUPPORTED 1
|
#define SOC_MPI_SUPPORTED 1
|
||||||
@ -235,9 +235,9 @@
|
|||||||
#define SOC_RTCIO_WAKE_SUPPORTED 1
|
#define SOC_RTCIO_WAKE_SUPPORTED 1
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------- SIGMA DELTA CAPS --------------------------------*/
|
/*-------------------------- Sigma Delta Modulator CAPS -----------------*/
|
||||||
#define SOC_SIGMADELTA_NUM 1U
|
#define SOC_SDM_GROUPS 1U
|
||||||
#define SOC_SIGMADELTA_CHANNEL_NUM (8) // 8 channels
|
#define SOC_SDM_CHANNELS_PER_GROUP 8
|
||||||
|
|
||||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||||
#define SOC_SPI_HD_BOTH_INOUT_SUPPORTED 1 //Support enabling MOSI and MISO phases together under Halfduplex mode
|
#define SOC_SPI_HD_BOTH_INOUT_SUPPORTED 1 //Support enabling MOSI and MISO phases together under Halfduplex mode
|
||||||
|
@ -7,7 +7,7 @@ PROVIDE ( UART0 = 0x3f400000 );
|
|||||||
PROVIDE ( SPIMEM1 = 0x3f402000 );
|
PROVIDE ( SPIMEM1 = 0x3f402000 );
|
||||||
PROVIDE ( SPIMEM0 = 0x3f403000 );
|
PROVIDE ( SPIMEM0 = 0x3f403000 );
|
||||||
PROVIDE ( GPIO = 0x3f404000 );
|
PROVIDE ( GPIO = 0x3f404000 );
|
||||||
PROVIDE ( SIGMADELTA = 0x3f404f00 );
|
PROVIDE ( SDM = 0x3f404f00 );
|
||||||
PROVIDE ( RTCCNTL = 0x3f408000 );
|
PROVIDE ( RTCCNTL = 0x3f408000 );
|
||||||
PROVIDE ( RTCIO = 0x3f408400 );
|
PROVIDE ( RTCIO = 0x3f408400 );
|
||||||
PROVIDE ( SENS = 0x3f408800 );
|
PROVIDE ( SENS = 0x3f408800 );
|
||||||
|
37
components/soc/esp32s2/sdm_periph.c
Normal file
37
components/soc/esp32s2/sdm_periph.c
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "soc/sdm_periph.h"
|
||||||
|
#include "soc/gpio_sig_map.h"
|
||||||
|
|
||||||
|
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
||||||
|
.channels = {
|
||||||
|
[0] = {
|
||||||
|
GPIO_SD0_OUT_IDX
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
GPIO_SD1_OUT_IDX
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
GPIO_SD2_OUT_IDX
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
GPIO_SD3_OUT_IDX
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
GPIO_SD4_OUT_IDX
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
GPIO_SD5_OUT_IDX
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
GPIO_SD6_OUT_IDX
|
||||||
|
},
|
||||||
|
[7] = {
|
||||||
|
GPIO_SD7_OUT_IDX
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
@ -1,45 +0,0 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sig_map.h"
|
|
||||||
|
|
||||||
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
|
||||||
.channels = {
|
|
||||||
[0] = {
|
|
||||||
GPIO_SD0_OUT_IDX
|
|
||||||
},
|
|
||||||
[1] = {
|
|
||||||
GPIO_SD1_OUT_IDX
|
|
||||||
},
|
|
||||||
[2] = {
|
|
||||||
GPIO_SD2_OUT_IDX
|
|
||||||
},
|
|
||||||
[3] = {
|
|
||||||
GPIO_SD3_OUT_IDX
|
|
||||||
},
|
|
||||||
[4] = {
|
|
||||||
GPIO_SD4_OUT_IDX
|
|
||||||
},
|
|
||||||
[5] = {
|
|
||||||
GPIO_SD5_OUT_IDX
|
|
||||||
},
|
|
||||||
[6] = {
|
|
||||||
GPIO_SD6_OUT_IDX
|
|
||||||
},
|
|
||||||
[7] = {
|
|
||||||
GPIO_SD7_OUT_IDX
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
@ -3,6 +3,7 @@ set(srcs
|
|||||||
"dedic_gpio_periph.c"
|
"dedic_gpio_periph.c"
|
||||||
"gdma_periph.c"
|
"gdma_periph.c"
|
||||||
"gpio_periph.c"
|
"gpio_periph.c"
|
||||||
|
"sdm_periph.c"
|
||||||
"i2c_periph.c"
|
"i2c_periph.c"
|
||||||
"i2s_periph.c"
|
"i2s_periph.c"
|
||||||
"interrupts.c"
|
"interrupts.c"
|
||||||
@ -14,7 +15,6 @@ set(srcs
|
|||||||
"rtc_io_periph.c"
|
"rtc_io_periph.c"
|
||||||
"sdio_slave_periph.c"
|
"sdio_slave_periph.c"
|
||||||
"sdmmc_periph.c"
|
"sdmmc_periph.c"
|
||||||
"sigmadelta_periph.c"
|
|
||||||
"spi_periph.c"
|
"spi_periph.c"
|
||||||
"timer_periph.c"
|
"timer_periph.c"
|
||||||
"touch_sensor_periph.c"
|
"touch_sensor_periph.c"
|
||||||
|
@ -147,7 +147,7 @@ config SOC_RMT_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_SUPPORTED
|
config SOC_SDM_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
@ -607,11 +607,11 @@ config SOC_RTCIO_WAKE_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_NUM
|
config SOC_SDM_GROUPS
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_SIGMADELTA_CHANNEL_NUM
|
config SOC_SDM_CHANNELS_PER_GROUP
|
||||||
int
|
int
|
||||||
default 8
|
default 8
|
||||||
|
|
||||||
|
@ -177,7 +177,6 @@ typedef enum {
|
|||||||
* @brief Type of RMT clock source
|
* @brief Type of RMT clock source
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RMT_CLK_SRC_NONE = 0, /*!< No clock source is selected */
|
|
||||||
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
RMT_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
RMT_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST, /*!< Select RC_FAST as the source clock */
|
RMT_CLK_SRC_RC_FAST = SOC_MOD_CLK_RC_FAST, /*!< Select RC_FAST as the source clock */
|
||||||
RMT_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
RMT_CLK_SRC_XTAL = SOC_MOD_CLK_XTAL, /*!< Select XTAL as the source clock */
|
||||||
@ -251,7 +250,7 @@ typedef enum {
|
|||||||
///////////////////////////////////////////////////// I2S //////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////// I2S //////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Array initializer for all supported clock sources of
|
* @brief Array initializer for all supported clock sources of I2S
|
||||||
*/
|
*/
|
||||||
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_F160M}
|
#define SOC_I2S_CLKS {SOC_MOD_CLK_PLL_F160M}
|
||||||
|
|
||||||
@ -279,6 +278,21 @@ typedef enum {
|
|||||||
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
||||||
} soc_periph_i2c_clk_src_t;
|
} soc_periph_i2c_clk_src_t;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////SDM//////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Array initializer for all supported clock sources of SDM
|
||||||
|
*/
|
||||||
|
#define SOC_SDM_CLKS {SOC_MOD_CLK_APB}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Sigma Delta Modulator clock source
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
SDM_CLK_SRC_APB = SOC_MOD_CLK_APB, /*!< Select APB as the source clock */
|
||||||
|
SDM_CLK_SRC_DEFAULT = SOC_MOD_CLK_APB, /*!< Select APB as the default clock choice */
|
||||||
|
} soc_periph_sdm_clk_src_t;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,21 +1,13 @@
|
|||||||
// Copyright 2017-2021 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_REG_H_
|
|
||||||
#define _SOC_GPIO_SD_REG_H_
|
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "soc.h"
|
#include "soc.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
@ -162,11 +154,6 @@ extern "C" {
|
|||||||
#define GPIO_SD_DATE_V 0xFFFFFFF
|
#define GPIO_SD_DATE_V 0xFFFFFFF
|
||||||
#define GPIO_SD_DATE_S 0
|
#define GPIO_SD_DATE_S 0
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*_SOC_GPIO_REG_H_ */
|
|
||||||
|
@ -1,27 +1,19 @@
|
|||||||
// Copyright 2017-2021 Espressif Systems (Shanghai) PTE LTD
|
/*
|
||||||
//
|
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
*
|
||||||
// you may not use this file except in compliance with the License.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
// You may obtain a copy of the License at
|
*/
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
#ifndef _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
#define _SOC_GPIO_SD_STRUCT_H_
|
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef volatile struct gpio_sd_dev_s {
|
typedef struct gpio_sd_dev_t {
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t duty : 8;
|
uint32_t duty : 8;
|
||||||
uint32_t prescale : 8;
|
uint32_t prescale : 8;
|
||||||
@ -29,14 +21,14 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} channel[8];
|
} channel[8];
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0 : 31;
|
uint32_t reserved0 : 31;
|
||||||
uint32_t clk_en : 1;
|
uint32_t clk_en : 1;
|
||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} cg;
|
} cg;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t reserved0 : 30;
|
uint32_t reserved0 : 30;
|
||||||
uint32_t function_clk_en : 1;
|
uint32_t function_clk_en : 1;
|
||||||
@ -44,7 +36,7 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
};
|
};
|
||||||
uint32_t val;
|
uint32_t val;
|
||||||
} misc;
|
} misc;
|
||||||
union {
|
volatile union {
|
||||||
struct {
|
struct {
|
||||||
uint32_t date : 28;
|
uint32_t date : 28;
|
||||||
uint32_t reserved28 : 4;
|
uint32_t reserved28 : 4;
|
||||||
@ -52,11 +44,9 @@ typedef volatile struct gpio_sd_dev_s {
|
|||||||
uint32_t val;
|
uint32_t val;
|
||||||
} version;
|
} version;
|
||||||
} gpio_sd_dev_t;
|
} gpio_sd_dev_t;
|
||||||
extern gpio_sd_dev_t SIGMADELTA;
|
|
||||||
|
extern gpio_sd_dev_t SDM;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*_SOC_GPIO_STRUCT_H_ */
|
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
#define SOC_XT_WDT_SUPPORTED 1
|
#define SOC_XT_WDT_SUPPORTED 1
|
||||||
#define SOC_I2S_SUPPORTED 1
|
#define SOC_I2S_SUPPORTED 1
|
||||||
#define SOC_RMT_SUPPORTED 1
|
#define SOC_RMT_SUPPORTED 1
|
||||||
#define SOC_SIGMADELTA_SUPPORTED 1
|
#define SOC_SDM_SUPPORTED 1
|
||||||
#define SOC_SUPPORT_COEXISTENCE 1
|
#define SOC_SUPPORT_COEXISTENCE 1
|
||||||
#define SOC_TEMP_SENSOR_SUPPORTED 1
|
#define SOC_TEMP_SENSOR_SUPPORTED 1
|
||||||
#define SOC_AES_SUPPORTED 1
|
#define SOC_AES_SUPPORTED 1
|
||||||
@ -250,9 +250,9 @@
|
|||||||
#define SOC_RTCIO_HOLD_SUPPORTED 1
|
#define SOC_RTCIO_HOLD_SUPPORTED 1
|
||||||
#define SOC_RTCIO_WAKE_SUPPORTED 1
|
#define SOC_RTCIO_WAKE_SUPPORTED 1
|
||||||
|
|
||||||
/*-------------------------- SIGMA DELTA CAPS --------------------------------*/
|
/*-------------------------- Sigma Delta Modulator CAPS -----------------*/
|
||||||
#define SOC_SIGMADELTA_NUM (1) // 1 sigma-delta peripheral
|
#define SOC_SDM_GROUPS 1
|
||||||
#define SOC_SIGMADELTA_CHANNEL_NUM (8) // 8 channels
|
#define SOC_SDM_CHANNELS_PER_GROUP 8
|
||||||
|
|
||||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||||
#define SOC_SPI_PERIPH_NUM 3
|
#define SOC_SPI_PERIPH_NUM 3
|
||||||
|
@ -7,7 +7,7 @@ PROVIDE ( UART0 = 0x60000000 );
|
|||||||
PROVIDE ( SPIMEM1 = 0x60002000 );
|
PROVIDE ( SPIMEM1 = 0x60002000 );
|
||||||
PROVIDE ( SPIMEM0 = 0x60003000 );
|
PROVIDE ( SPIMEM0 = 0x60003000 );
|
||||||
PROVIDE ( GPIO = 0x60004000 );
|
PROVIDE ( GPIO = 0x60004000 );
|
||||||
PROVIDE ( SIGMADELTA = 0x60004f00 );
|
PROVIDE ( SDM = 0x60004f00 );
|
||||||
PROVIDE ( EFUSE = 0x60007000 );
|
PROVIDE ( EFUSE = 0x60007000 );
|
||||||
PROVIDE ( RTCCNTL = 0x60008000 );
|
PROVIDE ( RTCCNTL = 0x60008000 );
|
||||||
PROVIDE ( RTCIO = 0x60008400 );
|
PROVIDE ( RTCIO = 0x60008400 );
|
||||||
|
37
components/soc/esp32s3/sdm_periph.c
Normal file
37
components/soc/esp32s3/sdm_periph.c
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "soc/sdm_periph.h"
|
||||||
|
#include "soc/gpio_sig_map.h"
|
||||||
|
|
||||||
|
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
||||||
|
.channels = {
|
||||||
|
[0] = {
|
||||||
|
GPIO_SD0_OUT_IDX
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
GPIO_SD1_OUT_IDX
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
GPIO_SD2_OUT_IDX
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
GPIO_SD3_OUT_IDX
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
|
GPIO_SD4_OUT_IDX
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
GPIO_SD5_OUT_IDX
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
GPIO_SD6_OUT_IDX
|
||||||
|
},
|
||||||
|
[7] = {
|
||||||
|
GPIO_SD7_OUT_IDX
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
@ -1,45 +0,0 @@
|
|||||||
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
#include "soc/sigmadelta_periph.h"
|
|
||||||
#include "soc/gpio_sig_map.h"
|
|
||||||
|
|
||||||
const sigma_delta_signal_conn_t sigma_delta_periph_signals = {
|
|
||||||
.channels = {
|
|
||||||
[0] = {
|
|
||||||
GPIO_SD0_OUT_IDX
|
|
||||||
},
|
|
||||||
[1] = {
|
|
||||||
GPIO_SD1_OUT_IDX
|
|
||||||
},
|
|
||||||
[2] = {
|
|
||||||
GPIO_SD2_OUT_IDX
|
|
||||||
},
|
|
||||||
[3] = {
|
|
||||||
GPIO_SD3_OUT_IDX
|
|
||||||
},
|
|
||||||
[4] = {
|
|
||||||
GPIO_SD4_OUT_IDX
|
|
||||||
},
|
|
||||||
[5] = {
|
|
||||||
GPIO_SD5_OUT_IDX
|
|
||||||
},
|
|
||||||
[6] = {
|
|
||||||
GPIO_SD6_OUT_IDX
|
|
||||||
},
|
|
||||||
[7] = {
|
|
||||||
GPIO_SD7_OUT_IDX
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
25
components/soc/include/soc/sdm_periph.h
Normal file
25
components/soc/include/soc/sdm_periph.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "soc/soc_caps.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
struct {
|
||||||
|
const int sd_sig;
|
||||||
|
} channels[SOC_SDM_CHANNELS_PER_GROUP];
|
||||||
|
} sigma_delta_signal_conn_t;
|
||||||
|
|
||||||
|
extern const sigma_delta_signal_conn_t sigma_delta_periph_signals;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@ -1,36 +0,0 @@
|
|||||||
// Copyright 2019 Espressif Systems (Shanghai) PTE LTD
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include "soc/soc_caps.h"
|
|
||||||
#include "soc/gpio_sd_reg.h"
|
|
||||||
#include "soc/gpio_sd_struct.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
struct {
|
|
||||||
const uint32_t sd_sig;
|
|
||||||
} channels[SOC_SIGMADELTA_CHANNEL_NUM];
|
|
||||||
} sigma_delta_signal_conn_t;
|
|
||||||
|
|
||||||
extern const sigma_delta_signal_conn_t sigma_delta_periph_signals;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -741,7 +741,6 @@ components/hal/esp32/include/hal/can_types.h
|
|||||||
components/hal/esp32/include/hal/mpu_ll.h
|
components/hal/esp32/include/hal/mpu_ll.h
|
||||||
components/hal/esp32/include/hal/rtc_io_ll.h
|
components/hal/esp32/include/hal/rtc_io_ll.h
|
||||||
components/hal/esp32/include/hal/rwdt_ll.h
|
components/hal/esp32/include/hal/rwdt_ll.h
|
||||||
components/hal/esp32/include/hal/sigmadelta_ll.h
|
|
||||||
components/hal/esp32/include/hal/spi_flash_encrypted_ll.h
|
components/hal/esp32/include/hal/spi_flash_encrypted_ll.h
|
||||||
components/hal/esp32/include/hal/touch_sensor_hal.h
|
components/hal/esp32/include/hal/touch_sensor_hal.h
|
||||||
components/hal/esp32/include/hal/trace_ll.h
|
components/hal/esp32/include/hal/trace_ll.h
|
||||||
@ -754,7 +753,6 @@ components/hal/esp32c3/include/hal/hmac_ll.h
|
|||||||
components/hal/esp32c3/include/hal/mpu_ll.h
|
components/hal/esp32c3/include/hal/mpu_ll.h
|
||||||
components/hal/esp32c3/include/hal/rtc_cntl_ll.h
|
components/hal/esp32c3/include/hal/rtc_cntl_ll.h
|
||||||
components/hal/esp32c3/include/hal/sha_ll.h
|
components/hal/esp32c3/include/hal/sha_ll.h
|
||||||
components/hal/esp32c3/include/hal/sigmadelta_ll.h
|
|
||||||
components/hal/esp32c3/include/hal/spi_flash_encrypted_ll.h
|
components/hal/esp32c3/include/hal/spi_flash_encrypted_ll.h
|
||||||
components/hal/esp32c3/include/hal/uhci_ll.h
|
components/hal/esp32c3/include/hal/uhci_ll.h
|
||||||
components/hal/esp32c3/include/hal/usb_serial_jtag_ll.h
|
components/hal/esp32c3/include/hal/usb_serial_jtag_ll.h
|
||||||
@ -767,7 +765,6 @@ components/hal/esp32h2/include/hal/hmac_ll.h
|
|||||||
components/hal/esp32h2/include/hal/mpu_ll.h
|
components/hal/esp32h2/include/hal/mpu_ll.h
|
||||||
components/hal/esp32h2/include/hal/rtc_cntl_ll.h
|
components/hal/esp32h2/include/hal/rtc_cntl_ll.h
|
||||||
components/hal/esp32h2/include/hal/sha_ll.h
|
components/hal/esp32h2/include/hal/sha_ll.h
|
||||||
components/hal/esp32h2/include/hal/sigmadelta_ll.h
|
|
||||||
components/hal/esp32h2/include/hal/spi_flash_encrypted_ll.h
|
components/hal/esp32h2/include/hal/spi_flash_encrypted_ll.h
|
||||||
components/hal/esp32h2/include/hal/uhci_ll.h
|
components/hal/esp32h2/include/hal/uhci_ll.h
|
||||||
components/hal/esp32h2/include/hal/uhci_types.h
|
components/hal/esp32h2/include/hal/uhci_types.h
|
||||||
@ -779,7 +776,6 @@ components/hal/esp32s2/include/hal/dedic_gpio_ll.h
|
|||||||
components/hal/esp32s2/include/hal/mpu_ll.h
|
components/hal/esp32s2/include/hal/mpu_ll.h
|
||||||
components/hal/esp32s2/include/hal/rtc_io_ll.h
|
components/hal/esp32s2/include/hal/rtc_io_ll.h
|
||||||
components/hal/esp32s2/include/hal/sha_ll.h
|
components/hal/esp32s2/include/hal/sha_ll.h
|
||||||
components/hal/esp32s2/include/hal/sigmadelta_ll.h
|
|
||||||
components/hal/esp32s2/include/hal/spi_flash_encrypted_ll.h
|
components/hal/esp32s2/include/hal/spi_flash_encrypted_ll.h
|
||||||
components/hal/esp32s2/include/hal/trace_ll.h
|
components/hal/esp32s2/include/hal/trace_ll.h
|
||||||
components/hal/esp32s2/include/hal/usb_ll.h
|
components/hal/esp32s2/include/hal/usb_ll.h
|
||||||
@ -788,7 +784,6 @@ components/hal/esp32s3/include/hal/aes_ll.h
|
|||||||
components/hal/esp32s3/include/hal/mpu_ll.h
|
components/hal/esp32s3/include/hal/mpu_ll.h
|
||||||
components/hal/esp32s3/include/hal/rwdt_ll.h
|
components/hal/esp32s3/include/hal/rwdt_ll.h
|
||||||
components/hal/esp32s3/include/hal/sha_ll.h
|
components/hal/esp32s3/include/hal/sha_ll.h
|
||||||
components/hal/esp32s3/include/hal/sigmadelta_ll.h
|
|
||||||
components/hal/esp32s3/include/hal/spi_flash_encrypted_ll.h
|
components/hal/esp32s3/include/hal/spi_flash_encrypted_ll.h
|
||||||
components/hal/esp32s3/include/hal/uhci_ll.h
|
components/hal/esp32s3/include/hal/uhci_ll.h
|
||||||
components/hal/esp32s3/include/hal/usb_ll.h
|
components/hal/esp32s3/include/hal/usb_ll.h
|
||||||
@ -805,7 +800,6 @@ components/hal/include/hal/rtc_io_types.h
|
|||||||
components/hal/include/hal/sdio_slave_hal.h
|
components/hal/include/hal/sdio_slave_hal.h
|
||||||
components/hal/include/hal/sdio_slave_ll.h
|
components/hal/include/hal/sdio_slave_ll.h
|
||||||
components/hal/include/hal/sha_hal.h
|
components/hal/include/hal/sha_hal.h
|
||||||
components/hal/include/hal/sigmadelta_hal.h
|
|
||||||
components/hal/include/hal/spi_flash_encrypt_hal.h
|
components/hal/include/hal/spi_flash_encrypt_hal.h
|
||||||
components/hal/include/hal/spi_slave_hal.h
|
components/hal/include/hal/spi_slave_hal.h
|
||||||
components/hal/include/hal/spi_slave_hd_hal.h
|
components/hal/include/hal/spi_slave_hd_hal.h
|
||||||
@ -821,7 +815,6 @@ components/hal/platform_port/include/hal/check.h
|
|||||||
components/hal/platform_port/include/hal/misc.h
|
components/hal/platform_port/include/hal/misc.h
|
||||||
components/hal/rtc_io_hal.c
|
components/hal/rtc_io_hal.c
|
||||||
components/hal/sha_hal.c
|
components/hal/sha_hal.c
|
||||||
components/hal/sigmadelta_hal.c
|
|
||||||
components/hal/spi_flash_encrypt_hal_iram.c
|
components/hal/spi_flash_encrypt_hal_iram.c
|
||||||
components/hal/spi_flash_hal_gpspi.c
|
components/hal/spi_flash_hal_gpspi.c
|
||||||
components/hal/spi_slave_hal.c
|
components/hal/spi_slave_hal.c
|
||||||
@ -1022,8 +1015,6 @@ components/soc/esp32/include/soc/fe_reg.h
|
|||||||
components/soc/esp32/include/soc/flash_encryption_reg.h
|
components/soc/esp32/include/soc/flash_encryption_reg.h
|
||||||
components/soc/esp32/include/soc/gpio_pins.h
|
components/soc/esp32/include/soc/gpio_pins.h
|
||||||
components/soc/esp32/include/soc/gpio_reg.h
|
components/soc/esp32/include/soc/gpio_reg.h
|
||||||
components/soc/esp32/include/soc/gpio_sd_reg.h
|
|
||||||
components/soc/esp32/include/soc/gpio_sd_struct.h
|
|
||||||
components/soc/esp32/include/soc/gpio_sig_map.h
|
components/soc/esp32/include/soc/gpio_sig_map.h
|
||||||
components/soc/esp32/include/soc/gpio_struct.h
|
components/soc/esp32/include/soc/gpio_struct.h
|
||||||
components/soc/esp32/include/soc/hinf_reg.h
|
components/soc/esp32/include/soc/hinf_reg.h
|
||||||
@ -1070,7 +1061,6 @@ components/soc/esp32/interrupts.c
|
|||||||
components/soc/esp32/ledc_periph.c
|
components/soc/esp32/ledc_periph.c
|
||||||
components/soc/esp32/sdio_slave_periph.c
|
components/soc/esp32/sdio_slave_periph.c
|
||||||
components/soc/esp32/sdmmc_periph.c
|
components/soc/esp32/sdmmc_periph.c
|
||||||
components/soc/esp32/sigmadelta_periph.c
|
|
||||||
components/soc/esp32/spi_periph.c
|
components/soc/esp32/spi_periph.c
|
||||||
components/soc/esp32/touch_sensor_periph.c
|
components/soc/esp32/touch_sensor_periph.c
|
||||||
components/soc/esp32/uart_periph.c
|
components/soc/esp32/uart_periph.c
|
||||||
@ -1088,8 +1078,6 @@ components/soc/esp32c3/include/soc/extmem_reg.h
|
|||||||
components/soc/esp32c3/include/soc/fe_reg.h
|
components/soc/esp32c3/include/soc/fe_reg.h
|
||||||
components/soc/esp32c3/include/soc/gpio_pins.h
|
components/soc/esp32c3/include/soc/gpio_pins.h
|
||||||
components/soc/esp32c3/include/soc/gpio_reg.h
|
components/soc/esp32c3/include/soc/gpio_reg.h
|
||||||
components/soc/esp32c3/include/soc/gpio_sd_reg.h
|
|
||||||
components/soc/esp32c3/include/soc/gpio_sd_struct.h
|
|
||||||
components/soc/esp32c3/include/soc/gpio_sig_map.h
|
components/soc/esp32c3/include/soc/gpio_sig_map.h
|
||||||
components/soc/esp32c3/include/soc/gpio_struct.h
|
components/soc/esp32c3/include/soc/gpio_struct.h
|
||||||
components/soc/esp32c3/include/soc/hwcrypto_reg.h
|
components/soc/esp32c3/include/soc/hwcrypto_reg.h
|
||||||
@ -1126,7 +1114,6 @@ components/soc/esp32c3/include/soc/usb_serial_jtag_struct.h
|
|||||||
components/soc/esp32c3/include/soc/wdev_reg.h
|
components/soc/esp32c3/include/soc/wdev_reg.h
|
||||||
components/soc/esp32c3/interrupts.c
|
components/soc/esp32c3/interrupts.c
|
||||||
components/soc/esp32c3/ledc_periph.c
|
components/soc/esp32c3/ledc_periph.c
|
||||||
components/soc/esp32c3/sigmadelta_periph.c
|
|
||||||
components/soc/esp32c3/spi_periph.c
|
components/soc/esp32c3/spi_periph.c
|
||||||
components/soc/esp32c3/uart_periph.c
|
components/soc/esp32c3/uart_periph.c
|
||||||
components/soc/esp32h2/i2c_periph.c
|
components/soc/esp32h2/i2c_periph.c
|
||||||
@ -1142,8 +1129,6 @@ components/soc/esp32h2/include/soc/efuse_reg.h
|
|||||||
components/soc/esp32h2/include/soc/efuse_struct.h
|
components/soc/esp32h2/include/soc/efuse_struct.h
|
||||||
components/soc/esp32h2/include/soc/extmem_reg.h
|
components/soc/esp32h2/include/soc/extmem_reg.h
|
||||||
components/soc/esp32h2/include/soc/fe_reg.h
|
components/soc/esp32h2/include/soc/fe_reg.h
|
||||||
components/soc/esp32h2/include/soc/gpio_sd_reg.h
|
|
||||||
components/soc/esp32h2/include/soc/gpio_sd_struct.h
|
|
||||||
components/soc/esp32h2/include/soc/hwcrypto_reg.h
|
components/soc/esp32h2/include/soc/hwcrypto_reg.h
|
||||||
components/soc/esp32h2/include/soc/interrupt_reg.h
|
components/soc/esp32h2/include/soc/interrupt_reg.h
|
||||||
components/soc/esp32h2/include/soc/ledc_reg.h
|
components/soc/esp32h2/include/soc/ledc_reg.h
|
||||||
@ -1168,7 +1153,6 @@ components/soc/esp32h2/include/soc/usb_serial_jtag_reg.h
|
|||||||
components/soc/esp32h2/include/soc/usb_serial_jtag_struct.h
|
components/soc/esp32h2/include/soc/usb_serial_jtag_struct.h
|
||||||
components/soc/esp32h2/include/soc/wdev_reg.h
|
components/soc/esp32h2/include/soc/wdev_reg.h
|
||||||
components/soc/esp32h2/ledc_periph.c
|
components/soc/esp32h2/ledc_periph.c
|
||||||
components/soc/esp32h2/sigmadelta_periph.c
|
|
||||||
components/soc/esp32h2/spi_periph.c
|
components/soc/esp32h2/spi_periph.c
|
||||||
components/soc/esp32h2/uart_periph.c
|
components/soc/esp32h2/uart_periph.c
|
||||||
components/soc/esp32s2/adc_periph.c
|
components/soc/esp32s2/adc_periph.c
|
||||||
@ -1191,8 +1175,6 @@ components/soc/esp32s2/include/soc/extmem_reg.h
|
|||||||
components/soc/esp32s2/include/soc/fe_reg.h
|
components/soc/esp32s2/include/soc/fe_reg.h
|
||||||
components/soc/esp32s2/include/soc/gpio_pins.h
|
components/soc/esp32s2/include/soc/gpio_pins.h
|
||||||
components/soc/esp32s2/include/soc/gpio_reg.h
|
components/soc/esp32s2/include/soc/gpio_reg.h
|
||||||
components/soc/esp32s2/include/soc/gpio_sd_reg.h
|
|
||||||
components/soc/esp32s2/include/soc/gpio_sd_struct.h
|
|
||||||
components/soc/esp32s2/include/soc/gpio_sig_map.h
|
components/soc/esp32s2/include/soc/gpio_sig_map.h
|
||||||
components/soc/esp32s2/include/soc/gpio_struct.h
|
components/soc/esp32s2/include/soc/gpio_struct.h
|
||||||
components/soc/esp32s2/include/soc/hwcrypto_reg.h
|
components/soc/esp32s2/include/soc/hwcrypto_reg.h
|
||||||
@ -1243,7 +1225,6 @@ components/soc/esp32s2/include/soc/usbh_struct.h
|
|||||||
components/soc/esp32s2/include/soc/wdev_reg.h
|
components/soc/esp32s2/include/soc/wdev_reg.h
|
||||||
components/soc/esp32s2/interrupts.c
|
components/soc/esp32s2/interrupts.c
|
||||||
components/soc/esp32s2/ledc_periph.c
|
components/soc/esp32s2/ledc_periph.c
|
||||||
components/soc/esp32s2/sigmadelta_periph.c
|
|
||||||
components/soc/esp32s2/spi_periph.c
|
components/soc/esp32s2/spi_periph.c
|
||||||
components/soc/esp32s2/touch_sensor_periph.c
|
components/soc/esp32s2/touch_sensor_periph.c
|
||||||
components/soc/esp32s2/uart_periph.c
|
components/soc/esp32s2/uart_periph.c
|
||||||
@ -1265,8 +1246,6 @@ components/soc/esp32s3/include/soc/extmem_struct.h
|
|||||||
components/soc/esp32s3/include/soc/fe_reg.h
|
components/soc/esp32s3/include/soc/fe_reg.h
|
||||||
components/soc/esp32s3/include/soc/gpio_pins.h
|
components/soc/esp32s3/include/soc/gpio_pins.h
|
||||||
components/soc/esp32s3/include/soc/gpio_reg.h
|
components/soc/esp32s3/include/soc/gpio_reg.h
|
||||||
components/soc/esp32s3/include/soc/gpio_sd_reg.h
|
|
||||||
components/soc/esp32s3/include/soc/gpio_sd_struct.h
|
|
||||||
components/soc/esp32s3/include/soc/gpio_sig_map.h
|
components/soc/esp32s3/include/soc/gpio_sig_map.h
|
||||||
components/soc/esp32s3/include/soc/hinf_reg.h
|
components/soc/esp32s3/include/soc/hinf_reg.h
|
||||||
components/soc/esp32s3/include/soc/hinf_struct.h
|
components/soc/esp32s3/include/soc/hinf_struct.h
|
||||||
@ -1336,7 +1315,6 @@ components/soc/esp32s3/ledc_periph.c
|
|||||||
components/soc/esp32s3/rtc_io_periph.c
|
components/soc/esp32s3/rtc_io_periph.c
|
||||||
components/soc/esp32s3/sdio_slave_periph.c
|
components/soc/esp32s3/sdio_slave_periph.c
|
||||||
components/soc/esp32s3/sdmmc_periph.c
|
components/soc/esp32s3/sdmmc_periph.c
|
||||||
components/soc/esp32s3/sigmadelta_periph.c
|
|
||||||
components/soc/esp32s3/spi_periph.c
|
components/soc/esp32s3/spi_periph.c
|
||||||
components/soc/esp32s3/uart_periph.c
|
components/soc/esp32s3/uart_periph.c
|
||||||
components/soc/esp32s3/usb_periph.c
|
components/soc/esp32s3/usb_periph.c
|
||||||
@ -1354,7 +1332,6 @@ components/soc/include/soc/rtc_periph.h
|
|||||||
components/soc/include/soc/sdio_slave_periph.h
|
components/soc/include/soc/sdio_slave_periph.h
|
||||||
components/soc/include/soc/sdmmc_periph.h
|
components/soc/include/soc/sdmmc_periph.h
|
||||||
components/soc/include/soc/sens_periph.h
|
components/soc/include/soc/sens_periph.h
|
||||||
components/soc/include/soc/sigmadelta_periph.h
|
|
||||||
components/soc/include/soc/spi_periph.h
|
components/soc/include/soc/spi_periph.h
|
||||||
components/soc/include/soc/syscon_periph.h
|
components/soc/include/soc/syscon_periph.h
|
||||||
components/soc/include/soc/touch_sensor_periph.h
|
components/soc/include/soc/touch_sensor_periph.h
|
||||||
|
@ -215,18 +215,10 @@ components/soc/esp32c3/include/soc/uhci_struct.h
|
|||||||
|
|
||||||
components/driver/deprecated/driver/i2s_types_legacy.h
|
components/driver/deprecated/driver/i2s_types_legacy.h
|
||||||
components/driver/deprecated/driver/i2s.h
|
components/driver/deprecated/driver/i2s.h
|
||||||
components/driver/deprecated/driver/rmt_types_legacy.h
|
|
||||||
components/driver/deprecated/driver/rmt.h
|
|
||||||
components/driver/include/driver/i2s_common.h
|
components/driver/include/driver/i2s_common.h
|
||||||
components/driver/include/driver/i2s_pdm.h
|
components/driver/include/driver/i2s_pdm.h
|
||||||
components/driver/include/driver/i2s_std.h
|
components/driver/include/driver/i2s_std.h
|
||||||
components/driver/include/driver/i2s_tdm.h
|
components/driver/include/driver/i2s_tdm.h
|
||||||
components/driver/include/driver/rmt_common.h
|
|
||||||
components/driver/include/driver/rmt_encoder.h
|
|
||||||
components/driver/include/driver/rmt_rx.h
|
|
||||||
components/driver/include/driver/rmt_tx.h
|
|
||||||
components/driver/include/driver/rmt_types.h
|
|
||||||
components/driver/include/driver/sigmadelta.h
|
|
||||||
components/efuse/esp32c2/include/esp_efuse_table.h
|
components/efuse/esp32c2/include/esp_efuse_table.h
|
||||||
components/soc/esp32c2/include/soc/rtc_cntl_struct.h
|
components/soc/esp32c2/include/soc/rtc_cntl_struct.h
|
||||||
components/soc/esp32c2/include/soc/spi_mem_struct.h
|
components/soc/esp32c2/include/soc/spi_mem_struct.h
|
||||||
|
Loading…
Reference in New Issue
Block a user