mirror of
https://github.com/espressif/esp-idf.git
synced 2025-12-05 08:27:30 +00:00
sdm: clean up soc/hal/ll code
This commit is contained in:
@@ -3,6 +3,7 @@ set(srcs
|
||||
"dedic_gpio_periph.c"
|
||||
"gdma_periph.c"
|
||||
"gpio_periph.c"
|
||||
"sdm_periph.c"
|
||||
"i2c_periph.c"
|
||||
"i2s_periph.c"
|
||||
"interrupts.c"
|
||||
@@ -14,7 +15,6 @@ set(srcs
|
||||
"rtc_io_periph.c"
|
||||
"sdio_slave_periph.c"
|
||||
"sdmmc_periph.c"
|
||||
"sigmadelta_periph.c"
|
||||
"spi_periph.c"
|
||||
"timer_periph.c"
|
||||
"touch_sensor_periph.c"
|
||||
|
||||
@@ -147,7 +147,7 @@ config SOC_RMT_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SIGMADELTA_SUPPORTED
|
||||
config SOC_SDM_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -607,11 +607,11 @@ config SOC_RTCIO_WAKE_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SIGMADELTA_NUM
|
||||
config SOC_SDM_GROUPS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SIGMADELTA_CHANNEL_NUM
|
||||
config SOC_SDM_CHANNELS_PER_GROUP
|
||||
int
|
||||
default 8
|
||||
|
||||
|
||||
@@ -177,7 +177,6 @@ typedef enum {
|
||||
* @brief Type of RMT clock source
|
||||
*/
|
||||
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_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 */
|
||||
@@ -251,7 +250,7 @@ typedef enum {
|
||||
///////////////////////////////////////////////////// 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}
|
||||
|
||||
@@ -279,6 +278,21 @@ typedef enum {
|
||||
I2C_CLK_SRC_DEFAULT = SOC_MOD_CLK_XTAL,
|
||||
} 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
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,21 +1,13 @@
|
||||
// Copyright 2017-2021 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.
|
||||
#ifndef _SOC_GPIO_SD_REG_H_
|
||||
#define _SOC_GPIO_SD_REG_H_
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "soc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -162,11 +154,6 @@ extern "C" {
|
||||
#define GPIO_SD_DATE_V 0xFFFFFFF
|
||||
#define GPIO_SD_DATE_S 0
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif /*_SOC_GPIO_REG_H_ */
|
||||
|
||||
@@ -1,27 +1,19 @@
|
||||
// Copyright 2017-2021 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.
|
||||
#ifndef _SOC_GPIO_SD_STRUCT_H_
|
||||
#define _SOC_GPIO_SD_STRUCT_H_
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef volatile struct gpio_sd_dev_s {
|
||||
union {
|
||||
typedef struct gpio_sd_dev_t {
|
||||
volatile union {
|
||||
struct {
|
||||
uint32_t duty : 8;
|
||||
uint32_t prescale : 8;
|
||||
@@ -29,14 +21,14 @@ typedef volatile struct gpio_sd_dev_s {
|
||||
};
|
||||
uint32_t val;
|
||||
} channel[8];
|
||||
union {
|
||||
volatile union {
|
||||
struct {
|
||||
uint32_t reserved0 : 31;
|
||||
uint32_t clk_en : 1;
|
||||
};
|
||||
uint32_t val;
|
||||
} cg;
|
||||
union {
|
||||
volatile union {
|
||||
struct {
|
||||
uint32_t reserved0 : 30;
|
||||
uint32_t function_clk_en : 1;
|
||||
@@ -44,7 +36,7 @@ typedef volatile struct gpio_sd_dev_s {
|
||||
};
|
||||
uint32_t val;
|
||||
} misc;
|
||||
union {
|
||||
volatile union {
|
||||
struct {
|
||||
uint32_t date : 28;
|
||||
uint32_t reserved28 : 4;
|
||||
@@ -52,11 +44,9 @@ typedef volatile struct gpio_sd_dev_s {
|
||||
uint32_t val;
|
||||
} version;
|
||||
} gpio_sd_dev_t;
|
||||
extern gpio_sd_dev_t SIGMADELTA;
|
||||
|
||||
extern gpio_sd_dev_t SDM;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif /*_SOC_GPIO_STRUCT_H_ */
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
#define SOC_XT_WDT_SUPPORTED 1
|
||||
#define SOC_I2S_SUPPORTED 1
|
||||
#define SOC_RMT_SUPPORTED 1
|
||||
#define SOC_SIGMADELTA_SUPPORTED 1
|
||||
#define SOC_SDM_SUPPORTED 1
|
||||
#define SOC_SUPPORT_COEXISTENCE 1
|
||||
#define SOC_TEMP_SENSOR_SUPPORTED 1
|
||||
#define SOC_AES_SUPPORTED 1
|
||||
@@ -250,9 +250,9 @@
|
||||
#define SOC_RTCIO_HOLD_SUPPORTED 1
|
||||
#define SOC_RTCIO_WAKE_SUPPORTED 1
|
||||
|
||||
/*-------------------------- SIGMA DELTA CAPS --------------------------------*/
|
||||
#define SOC_SIGMADELTA_NUM (1) // 1 sigma-delta peripheral
|
||||
#define SOC_SIGMADELTA_CHANNEL_NUM (8) // 8 channels
|
||||
/*-------------------------- Sigma Delta Modulator CAPS -----------------*/
|
||||
#define SOC_SDM_GROUPS 1
|
||||
#define SOC_SDM_CHANNELS_PER_GROUP 8
|
||||
|
||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||
#define SOC_SPI_PERIPH_NUM 3
|
||||
|
||||
@@ -7,7 +7,7 @@ PROVIDE ( UART0 = 0x60000000 );
|
||||
PROVIDE ( SPIMEM1 = 0x60002000 );
|
||||
PROVIDE ( SPIMEM0 = 0x60003000 );
|
||||
PROVIDE ( GPIO = 0x60004000 );
|
||||
PROVIDE ( SIGMADELTA = 0x60004f00 );
|
||||
PROVIDE ( SDM = 0x60004f00 );
|
||||
PROVIDE ( EFUSE = 0x60007000 );
|
||||
PROVIDE ( RTCCNTL = 0x60008000 );
|
||||
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
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user