mirror of
https://github.com/espressif/esp-idf.git
synced 2025-10-06 13:18:07 +00:00
refactor(pcnt): clean up the soc_caps.h file for PCNT
This commit is contained in:
@@ -839,22 +839,6 @@ config SOC_MMU_DI_VADDR_SHARED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_PCNT_GROUPS
|
||||
int
|
||||
default 1
|
||||
|
||||
config SOC_PCNT_UNITS_PER_GROUP
|
||||
int
|
||||
default 4
|
||||
|
||||
config SOC_PCNT_CHANNELS_PER_UNIT
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_PCNT_THRES_POINT_PER_UNIT
|
||||
int
|
||||
default 2
|
||||
|
||||
config SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE
|
||||
bool
|
||||
default y
|
||||
|
@@ -339,10 +339,6 @@
|
||||
// #define SOC_MPU_REGION_WO_SUPPORTED 0
|
||||
|
||||
/*-------------------------- PCNT CAPS ---------------------------------------*/
|
||||
#define SOC_PCNT_GROUPS 1U
|
||||
#define SOC_PCNT_UNITS_PER_GROUP 4
|
||||
#define SOC_PCNT_CHANNELS_PER_UNIT 2
|
||||
#define SOC_PCNT_THRES_POINT_PER_UNIT 2
|
||||
#define SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE 1
|
||||
#define SOC_PCNT_SUPPORT_CLEAR_SIGNAL 1
|
||||
#define SOC_PCNT_SUPPORT_STEP_NOTIFY 1
|
||||
|
@@ -24,6 +24,12 @@
|
||||
#define _SOC_CAPS_SDM_INST_NUM 1 // Number of SDM instances
|
||||
#define _SOC_CAPS_SDM_CHANS_PER_INST 4 // Number of channels in each SDM instance
|
||||
|
||||
/*--------------------------- PCNT (Pulse Counter) ------------------------*/
|
||||
#define _SOC_CAPS_PCNT_INST_NUM 1 // Number of PCNT instances
|
||||
#define _SOC_CAPS_PCNT_UNITS_PER_INST 4 // Number of units in each PCNT instance
|
||||
#define _SOC_CAPS_PCNT_CHANS_PER_UNIT 2 // Number of channels in each PCNT unit
|
||||
#define _SOC_CAPS_PCNT_THRES_POINT_PER_UNIT 2 // Number of threshold points in each PCNT unit
|
||||
|
||||
/*--------------------------- ETM (Event Task Matrix) ----------------------------*/
|
||||
#define _SOC_CAPS_ETM_INST_NUM 1 // Number of ETM instances
|
||||
#define _SOC_CAPS_ETM_CHANS_PER_INST 50 // Number of channels in each ETM instance
|
||||
|
@@ -8,64 +8,62 @@
|
||||
#include "soc/gpio_sig_map.h"
|
||||
#include "soc/pcnt_reg.h"
|
||||
|
||||
const pcnt_signal_conn_t pcnt_periph_signals = {
|
||||
.groups = {
|
||||
[0] = {
|
||||
.irq = ETS_PCNT_INTR_SOURCE,
|
||||
.module_name = "pcnt0",
|
||||
.units = {
|
||||
[0] = {
|
||||
.channels = {
|
||||
[0] = {
|
||||
.control_sig = PCNT_CTRL_CH0_IN0_IDX,
|
||||
.pulse_sig = PCNT_SIG_CH0_IN0_IDX
|
||||
},
|
||||
[1] = {
|
||||
.control_sig = PCNT_CTRL_CH1_IN0_IDX,
|
||||
.pulse_sig = PCNT_SIG_CH1_IN0_IDX
|
||||
}
|
||||
const soc_pcnt_signal_desc_t soc_pcnt_signals[1] = {
|
||||
[0] = {
|
||||
.irq_id = ETS_PCNT_INTR_SOURCE,
|
||||
.module_name = "pcnt0",
|
||||
.units = {
|
||||
[0] = {
|
||||
.channels = {
|
||||
[0] = {
|
||||
.ctl_sig_id_matrix = PCNT_CTRL_CH0_IN0_IDX,
|
||||
.pulse_sig_id_matrix = PCNT_SIG_CH0_IN0_IDX
|
||||
},
|
||||
.clear_sig = PCNT_RST_IN0_IDX
|
||||
[1] = {
|
||||
.ctl_sig_id_matrix = PCNT_CTRL_CH1_IN0_IDX,
|
||||
.pulse_sig_id_matrix = PCNT_SIG_CH1_IN0_IDX
|
||||
}
|
||||
},
|
||||
[1] = {
|
||||
.channels = {
|
||||
[0] = {
|
||||
.control_sig = PCNT_CTRL_CH0_IN1_IDX,
|
||||
.pulse_sig = PCNT_SIG_CH0_IN1_IDX,
|
||||
},
|
||||
[1] = {
|
||||
.control_sig = PCNT_CTRL_CH1_IN1_IDX,
|
||||
.pulse_sig = PCNT_SIG_CH1_IN1_IDX
|
||||
}
|
||||
.clear_sig_id_matrix = PCNT_RST_IN0_IDX
|
||||
},
|
||||
[1] = {
|
||||
.channels = {
|
||||
[0] = {
|
||||
.ctl_sig_id_matrix = PCNT_CTRL_CH0_IN1_IDX,
|
||||
.pulse_sig_id_matrix = PCNT_SIG_CH0_IN1_IDX,
|
||||
},
|
||||
.clear_sig = PCNT_RST_IN1_IDX
|
||||
[1] = {
|
||||
.ctl_sig_id_matrix = PCNT_CTRL_CH1_IN1_IDX,
|
||||
.pulse_sig_id_matrix = PCNT_SIG_CH1_IN1_IDX
|
||||
}
|
||||
},
|
||||
[2] = {
|
||||
.channels = {
|
||||
[0] = {
|
||||
.control_sig = PCNT_CTRL_CH0_IN2_IDX,
|
||||
.pulse_sig = PCNT_SIG_CH0_IN2_IDX,
|
||||
},
|
||||
[1] = {
|
||||
.control_sig = PCNT_CTRL_CH1_IN2_IDX,
|
||||
.pulse_sig = PCNT_SIG_CH1_IN2_IDX
|
||||
}
|
||||
.clear_sig_id_matrix = PCNT_RST_IN1_IDX
|
||||
},
|
||||
[2] = {
|
||||
.channels = {
|
||||
[0] = {
|
||||
.ctl_sig_id_matrix = PCNT_CTRL_CH0_IN2_IDX,
|
||||
.pulse_sig_id_matrix = PCNT_SIG_CH0_IN2_IDX,
|
||||
},
|
||||
.clear_sig = PCNT_RST_IN2_IDX
|
||||
[1] = {
|
||||
.ctl_sig_id_matrix = PCNT_CTRL_CH1_IN2_IDX,
|
||||
.pulse_sig_id_matrix = PCNT_SIG_CH1_IN2_IDX
|
||||
}
|
||||
},
|
||||
[3] = {
|
||||
.channels = {
|
||||
[0] = {
|
||||
.control_sig = PCNT_CTRL_CH0_IN3_IDX,
|
||||
.pulse_sig = PCNT_SIG_CH0_IN3_IDX,
|
||||
},
|
||||
[1] = {
|
||||
.control_sig = PCNT_CTRL_CH1_IN3_IDX,
|
||||
.pulse_sig = PCNT_SIG_CH1_IN3_IDX
|
||||
}
|
||||
.clear_sig_id_matrix = PCNT_RST_IN2_IDX
|
||||
},
|
||||
[3] = {
|
||||
.channels = {
|
||||
[0] = {
|
||||
.ctl_sig_id_matrix = PCNT_CTRL_CH0_IN3_IDX,
|
||||
.pulse_sig_id_matrix = PCNT_SIG_CH0_IN3_IDX,
|
||||
},
|
||||
.clear_sig = PCNT_RST_IN3_IDX
|
||||
}
|
||||
[1] = {
|
||||
.ctl_sig_id_matrix = PCNT_CTRL_CH1_IN3_IDX,
|
||||
.pulse_sig_id_matrix = PCNT_SIG_CH1_IN3_IDX
|
||||
}
|
||||
},
|
||||
.clear_sig_id_matrix = PCNT_RST_IN3_IDX
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user