soc: added SOC_TOUCH_SENSE_SUPPORTED macro

This commit is contained in:
morris
2022-07-21 13:42:25 +08:00
parent 5dbae0c2cd
commit 741b031e83
28 changed files with 61 additions and 99 deletions

View File

@@ -84,28 +84,22 @@ if(CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2)
list(APPEND srcs "spi_slave_hd.c") list(APPEND srcs "spi_slave_hd.c")
endif() endif()
if(CONFIG_SOC_TOUCH_SENSOR_SUPPORTED)
list(APPEND srcs "touch_sensor_common.c" "${target}/touch_sensor.c")
endif()
if(${target} STREQUAL "esp32") if(${target} STREQUAL "esp32")
list(APPEND srcs "dac_common.c" list(APPEND srcs "dac_common.c"
"sdio_slave.c" "sdio_slave.c"
"touch_sensor_common.c"
"esp32/touch_sensor.c"
"deprecated/adc_i2s_deprecated.c" "deprecated/adc_i2s_deprecated.c"
"esp32/dac.c") "esp32/dac.c")
endif() endif()
if(${target} STREQUAL "esp32s2") if(${target} STREQUAL "esp32s2")
list(APPEND srcs "dac_common.c" list(APPEND srcs "dac_common.c"
"touch_sensor_common.c"
"esp32s2/touch_sensor.c"
"esp32s2/dac.c") "esp32s2/dac.c")
endif() endif()
if(${target} STREQUAL "esp32s3")
list(APPEND srcs "touch_sensor_common.c"
"esp32s3/touch_sensor.c")
endif()
if(BOOTLOADER_BUILD) if(BOOTLOADER_BUILD)
# Bootloader shall NOT depend on the drivers # Bootloader shall NOT depend on the drivers
idf_component_register() idf_component_register()

View File

@@ -6,4 +6,8 @@
#pragma once #pragma once
#include "soc/soc_caps.h"
#if SOC_TOUCH_SENSOR_SUPPORTED
#include "driver/touch_sensor.h" #include "driver/touch_sensor.h"
#endif

View File

@@ -129,8 +129,7 @@ esp_err_t esp_sleep_enable_ulp_wakeup(void);
*/ */
esp_err_t esp_sleep_enable_timer_wakeup(uint64_t time_in_us); esp_err_t esp_sleep_enable_timer_wakeup(uint64_t time_in_us);
#if SOC_TOUCH_SENSOR_NUM > 0 #if SOC_TOUCH_SENSOR_SUPPORTED
/** /**
* @brief Enable wakeup by touch sensor * @brief Enable wakeup by touch sensor
* *
@@ -157,8 +156,7 @@ esp_err_t esp_sleep_enable_touchpad_wakeup(void);
* @return touch pad which caused wakeup * @return touch pad which caused wakeup
*/ */
touch_pad_t esp_sleep_get_touchpad_wakeup_status(void); touch_pad_t esp_sleep_get_touchpad_wakeup_status(void);
#endif // SOC_TOUCH_SENSOR_SUPPORTED
#endif // SOC_TOUCH_SENSOR_NUM > 0
/** /**
* @brief Returns true if a GPIO number is valid for use as wakeup source. * @brief Returns true if a GPIO number is valid for use as wakeup source.

View File

@@ -32,7 +32,7 @@
#include "hal/wdt_hal.h" #include "hal/wdt_hal.h"
#include "hal/rtc_hal.h" #include "hal/rtc_hal.h"
#include "hal/uart_hal.h" #include "hal/uart_hal.h"
#if SOC_TOUCH_SENSOR_NUM > 0 #if SOC_TOUCH_SENSOR_SUPPORTED
#include "hal/touch_sensor_hal.h" #include "hal/touch_sensor_hal.h"
#include "driver/touch_sensor.h" #include "driver/touch_sensor.h"
#include "driver/touch_sensor_common.h" #include "driver/touch_sensor_common.h"
@@ -899,7 +899,7 @@ static void touch_wakeup_prepare(void)
} }
#endif #endif
#if SOC_TOUCH_SENSOR_NUM > 0 #if SOC_TOUCH_SENSOR_SUPPORTED
esp_err_t esp_sleep_enable_touchpad_wakeup(void) esp_err_t esp_sleep_enable_touchpad_wakeup(void)
{ {
@@ -926,7 +926,7 @@ touch_pad_t esp_sleep_get_touchpad_wakeup_status(void)
return (ret == ESP_OK) ? pad_num : TOUCH_PAD_MAX; return (ret == ESP_OK) ? pad_num : TOUCH_PAD_MAX;
} }
#endif // SOC_TOUCH_SENSOR_NUM > 0 #endif // SOC_TOUCH_SENSOR_SUPPORTED
bool esp_sleep_is_valid_wakeup_gpio(gpio_num_t gpio_num) bool esp_sleep_is_valid_wakeup_gpio(gpio_num_t gpio_num)
{ {

View File

@@ -119,6 +119,10 @@ config SOC_SECURE_BOOT_SUPPORTED
bool bool
default y default y
config SOC_TOUCH_SENSOR_SUPPORTED
bool
default y
config SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL config SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL
int int
default 5 default 5

View File

@@ -89,6 +89,7 @@
#define SOC_SHA_SUPPORTED 1 #define SOC_SHA_SUPPORTED 1
#define SOC_FLASH_ENC_SUPPORTED 1 #define SOC_FLASH_ENC_SUPPORTED 1
#define SOC_SECURE_BOOT_SUPPORTED 1 #define SOC_SECURE_BOOT_SUPPORTED 1
#define SOC_TOUCH_SENSOR_SUPPORTED 1
#if SOC_CAPS_ECO_VER < 2 #if SOC_CAPS_ECO_VER < 2
#define SOC_DPORT_WORKAROUND 1 #define SOC_DPORT_WORKAROUND 1

View File

@@ -1,21 +1,13 @@
// Copyright 2015-2019 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
//
// 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/touch_sensor_periph.h" #include "soc/touch_sensor_periph.h"
/* Store IO number corresponding to the Touch Sensor channel number. */ /* Store IO number corresponding to the Touch Sensor channel number. */
const int touch_sensor_channel_io_map[SOC_TOUCH_SENSOR_NUM] = { const int touch_sensor_channel_io_map[] = {
TOUCH_PAD_NUM0_GPIO_NUM, TOUCH_PAD_NUM0_GPIO_NUM,
TOUCH_PAD_NUM1_GPIO_NUM, TOUCH_PAD_NUM1_GPIO_NUM,
TOUCH_PAD_NUM2_GPIO_NUM, TOUCH_PAD_NUM2_GPIO_NUM,

View File

@@ -447,10 +447,6 @@ config SOC_TIMER_GROUP_TOTAL_TIMERS
int int
default 1 default 1
config SOC_TOUCH_SENSOR_NUM
int
default 0
config SOC_SECURE_BOOT_V2_ECC config SOC_SECURE_BOOT_V2_ECC
bool bool
default y default y

View File

@@ -220,9 +220,6 @@
#define SOC_TIMER_GROUP_SUPPORT_PLL_F40M (1) #define SOC_TIMER_GROUP_SUPPORT_PLL_F40M (1)
#define SOC_TIMER_GROUP_TOTAL_TIMERS (1U) #define SOC_TIMER_GROUP_TOTAL_TIMERS (1U)
/*-------------------------- TOUCH SENSOR CAPS -------------------------------*/
#define SOC_TOUCH_SENSOR_NUM (0U) /*! No touch sensors on ESP32-C2 */
/*-------------------------- Secure Boot CAPS----------------------------*/ /*-------------------------- Secure Boot CAPS----------------------------*/
#define SOC_SECURE_BOOT_V2_ECC 1 #define SOC_SECURE_BOOT_V2_ECC 1
#define SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS (1U) #define SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS (1U)

View File

@@ -659,10 +659,6 @@ config SOC_TIMER_GROUP_TOTAL_TIMERS
int int
default 2 default 2
config SOC_TOUCH_SENSOR_NUM
bool
default n
config SOC_TWAI_BRP_MIN config SOC_TWAI_BRP_MIN
int int
default 2 default 2

View File

@@ -305,9 +305,6 @@
#define SOC_TIMER_GROUP_SUPPORT_APB (1) #define SOC_TIMER_GROUP_SUPPORT_APB (1)
#define SOC_TIMER_GROUP_TOTAL_TIMERS (2) #define SOC_TIMER_GROUP_TOTAL_TIMERS (2)
/*-------------------------- TOUCH SENSOR CAPS -------------------------------*/
#define SOC_TOUCH_SENSOR_NUM (0) /*! No touch sensors on ESP32-C3 */
/*-------------------------- TWAI CAPS ---------------------------------------*/ /*-------------------------- TWAI CAPS ---------------------------------------*/
#define SOC_TWAI_BRP_MIN 2 #define SOC_TWAI_BRP_MIN 2
#define SOC_TWAI_BRP_MAX 16384 #define SOC_TWAI_BRP_MAX 16384

View File

@@ -635,10 +635,6 @@ config SOC_TIMER_GROUP_TOTAL_TIMERS
int int
default 2 default 2
config SOC_TOUCH_SENSOR_NUM
bool
default n
config SOC_TWAI_BRP_MIN config SOC_TWAI_BRP_MIN
int int
default 2 default 2

View File

@@ -310,9 +310,6 @@
#define SOC_TIMER_GROUP_SUPPORT_AHB (1) #define SOC_TIMER_GROUP_SUPPORT_AHB (1)
#define SOC_TIMER_GROUP_TOTAL_TIMERS (2) #define SOC_TIMER_GROUP_TOTAL_TIMERS (2)
/*-------------------------- TOUCH SENSOR CAPS -------------------------------*/
#define SOC_TOUCH_SENSOR_NUM (0) /*! No touch sensors on ESP32-H2 */
/*-------------------------- TWAI CAPS ---------------------------------------*/ /*-------------------------- TWAI CAPS ---------------------------------------*/
#define SOC_TWAI_BRP_MIN 2 #define SOC_TWAI_BRP_MIN 2
#define SOC_TWAI_BRP_MAX 16384 #define SOC_TWAI_BRP_MAX 16384

View File

@@ -135,6 +135,10 @@ config SOC_MEMPROT_SUPPORTED
bool bool
default y default y
config SOC_TOUCH_SENSOR_SUPPORTED
bool
default y
config SOC_ADC_RTC_CTRL_SUPPORTED config SOC_ADC_RTC_CTRL_SUPPORTED
bool bool
default y default y

View File

@@ -72,6 +72,7 @@
#define SOC_FLASH_ENC_SUPPORTED 1 #define SOC_FLASH_ENC_SUPPORTED 1
#define SOC_SECURE_BOOT_SUPPORTED 1 #define SOC_SECURE_BOOT_SUPPORTED 1
#define SOC_MEMPROT_SUPPORTED 1 #define SOC_MEMPROT_SUPPORTED 1
#define SOC_TOUCH_SENSOR_SUPPORTED 1
/*-------------------------- ADC CAPS ----------------------------------------*/ /*-------------------------- ADC CAPS ----------------------------------------*/

View File

@@ -1,22 +1,14 @@
// Copyright 2015-2019 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
//
// 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/touch_sensor_periph.h" #include "soc/touch_sensor_periph.h"
/* Store IO number corresponding to the Touch Sensor channel number. */ /* Store IO number corresponding to the Touch Sensor channel number. */
/* Note: T0 is an internal channel that does not have a corresponding external GPIO. */ /* Note: T0 is an internal channel that does not have a corresponding external GPIO. */
const int touch_sensor_channel_io_map[SOC_TOUCH_SENSOR_NUM] = { const int touch_sensor_channel_io_map[] = {
-1, -1,
TOUCH_PAD_NUM1_GPIO_NUM, TOUCH_PAD_NUM1_GPIO_NUM,
TOUCH_PAD_NUM2_GPIO_NUM, TOUCH_PAD_NUM2_GPIO_NUM,

View File

@@ -191,6 +191,10 @@ config SOC_MEMPROT_SUPPORTED
bool bool
default y default y
config SOC_TOUCH_SENSOR_SUPPORTED
bool
default y
config SOC_APPCPU_HAS_CLOCK_GATING_BUG config SOC_APPCPU_HAS_CLOCK_GATING_BUG
bool bool
default y default y

View File

@@ -62,7 +62,7 @@
#define SOC_FLASH_ENC_SUPPORTED 1 #define SOC_FLASH_ENC_SUPPORTED 1
#define SOC_SECURE_BOOT_SUPPORTED 1 #define SOC_SECURE_BOOT_SUPPORTED 1
#define SOC_MEMPROT_SUPPORTED 1 #define SOC_MEMPROT_SUPPORTED 1
#define SOC_TOUCH_SENSOR_SUPPORTED 1
/*-------------------------- SOC CAPS ----------------------------------------*/ /*-------------------------- SOC CAPS ----------------------------------------*/
#define SOC_APPCPU_HAS_CLOCK_GATING_BUG (1) #define SOC_APPCPU_HAS_CLOCK_GATING_BUG (1)

View File

@@ -8,7 +8,7 @@
/* Store IO number corresponding to the Touch Sensor channel number. */ /* Store IO number corresponding to the Touch Sensor channel number. */
/* Note: T0 is an internal channel that does not have a corresponding external GPIO. */ /* Note: T0 is an internal channel that does not have a corresponding external GPIO. */
const int touch_sensor_channel_io_map[SOC_TOUCH_SENSOR_NUM] = { const int touch_sensor_channel_io_map[] = {
-1, -1,
TOUCH_PAD_NUM1_GPIO_NUM, TOUCH_PAD_NUM1_GPIO_NUM,
TOUCH_PAD_NUM2_GPIO_NUM, TOUCH_PAD_NUM2_GPIO_NUM,

View File

@@ -1,16 +1,8 @@
// Copyright 2019 Espressif Systems (Shanghai) PTE LTD /*
// * SPDX-FileCopyrightText: 2019-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.
#pragma once #pragma once
@@ -28,7 +20,7 @@
extern "C" { extern "C" {
#endif #endif
extern const int touch_sensor_channel_io_map[SOC_TOUCH_SENSOR_NUM]; extern const int touch_sensor_channel_io_map[];
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@@ -156,7 +156,7 @@ conditional_include_dict = {'SOC_BT_SUPPORTED':BT_DOCS,
'SOC_PCNT_SUPPORTED':PCNT_DOCS, 'SOC_PCNT_SUPPORTED':PCNT_DOCS,
'SOC_RMT_SUPPORTED':RMT_DOCS, 'SOC_RMT_SUPPORTED':RMT_DOCS,
'SOC_DAC_SUPPORTED':DAC_DOCS, 'SOC_DAC_SUPPORTED':DAC_DOCS,
'SOC_TOUCH_SENSOR_NUM':TOUCH_SENSOR_DOCS, 'SOC_TOUCH_SENSOR_SUPPORTED':TOUCH_SENSOR_DOCS,
'SOC_ULP_SUPPORTED':ULP_DOCS, 'SOC_ULP_SUPPORTED':ULP_DOCS,
'SOC_RISCV_COPROC_SUPPORTED':RISCV_COPROC_DOCS, 'SOC_RISCV_COPROC_SUPPORTED':RISCV_COPROC_DOCS,
'SOC_DIG_SIGN_SUPPORTED':['api-reference/peripherals/ds.rst'], 'SOC_DIG_SIGN_SUPPORTED':['api-reference/peripherals/ds.rst'],

View File

@@ -33,7 +33,7 @@ Peripherals API
:esp32: secure_element :esp32: secure_element
:esp32s2: spi_slave_hd :esp32s2: spi_slave_hd
:SOC_TEMP_SENSOR_SUPPORTED: temp_sensor :SOC_TEMP_SENSOR_SUPPORTED: temp_sensor
:SOC_TOUCH_SENSOR_NUM: touch_pad :SOC_TOUCH_SENSOR_SUPPORTED: touch_pad
:esp32s2: touch_element :esp32s2: touch_element
:SOC_TWAI_SUPPORTED: twai :SOC_TWAI_SUPPORTED: twai
uart uart

View File

@@ -243,7 +243,7 @@ Checking Sleep Wakeup Cause
:cpp:func:`esp_sleep_get_wakeup_cause` function can be used to check which wakeup source has triggered wakeup from sleep mode. :cpp:func:`esp_sleep_get_wakeup_cause` function can be used to check which wakeup source has triggered wakeup from sleep mode.
.. only:: SOC_TOUCH_SENSOR_NUM .. only:: SOC_TOUCH_SENSOR_SUPPORTED
For touchpad, it is possible to identify which touch pin has caused wakeup using :cpp:func:`esp_sleep_get_touchpad_wakeup_status` functions. For touchpad, it is possible to identify which touch pin has caused wakeup using :cpp:func:`esp_sleep_get_touchpad_wakeup_status` functions.

View File

@@ -33,7 +33,7 @@
:esp32: secure_element :esp32: secure_element
:esp32s2: spi_slave_hd :esp32s2: spi_slave_hd
:SOC_TEMP_SENSOR_SUPPORTED: temp_sensor :SOC_TEMP_SENSOR_SUPPORTED: temp_sensor
:SOC_TOUCH_SENSOR_NUM: touch_pad :SOC_TOUCH_SENSOR_SUPPORTED: touch_pad
:esp32s2: touch_element :esp32s2: touch_element
:SOC_TWAI_SUPPORTED: twai :SOC_TWAI_SUPPORTED: twai
uart uart

View File

@@ -241,7 +241,7 @@ UART 输出处理
:cpp:func:`esp_sleep_get_wakeup_cause` 函数可用于检测是何种唤醒源在睡眠期间被触发。 :cpp:func:`esp_sleep_get_wakeup_cause` 函数可用于检测是何种唤醒源在睡眠期间被触发。
.. only:: SOC_TOUCH_SENSOR_NUM .. only:: SOC_TOUCH_SENSOR_SUPPORTED
对于触摸传感器唤醒源,可以调用函数 :cpp:func:`esp_sleep_get_touchpad_wakeup_status` 来确认触发唤醒的触摸管脚。 对于触摸传感器唤醒源,可以调用函数 :cpp:func:`esp_sleep_get_touchpad_wakeup_status` 来确认触发唤醒的触摸管脚。

View File

@@ -166,7 +166,7 @@ examples/peripherals/temp_sensor:
examples/peripherals/touch_sensor: examples/peripherals/touch_sensor:
disable: disable:
- if: SOC_TOUCH_SENSOR_NUM == 0 - if: SOC_TOUCH_SENSOR_SUPPORTED != 1
examples/peripherals/touch_sensor/touch_element: examples/peripherals/touch_sensor/touch_element:
enable: enable:

View File

@@ -21,7 +21,7 @@
#include "driver/rtc_io.h" #include "driver/rtc_io.h"
#include "soc/rtc.h" #include "soc/rtc.h"
#if SOC_TOUCH_SENSOR_NUM > 0 #if SOC_TOUCH_SENSOR_SUPPORTED
#include "soc/sens_periph.h" #include "soc/sens_periph.h"
#include "driver/touch_pad.h" #include "driver/touch_pad.h"
#endif #endif

View File

@@ -1055,7 +1055,6 @@ 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/spi_periph.c components/soc/esp32/spi_periph.c
components/soc/esp32/touch_sensor_periph.c
components/soc/esp32/uart_periph.c components/soc/esp32/uart_periph.c
components/soc/esp32c3/i2c_bbpll.h components/soc/esp32c3/i2c_bbpll.h
components/soc/esp32c3/i2c_periph.c components/soc/esp32c3/i2c_periph.c
@@ -1218,7 +1217,6 @@ 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/spi_periph.c components/soc/esp32s2/spi_periph.c
components/soc/esp32s2/touch_sensor_periph.c
components/soc/esp32s2/uart_periph.c components/soc/esp32s2/uart_periph.c
components/soc/esp32s2/usb_periph.c components/soc/esp32s2/usb_periph.c
components/soc/esp32s3/dedic_gpio_periph.c components/soc/esp32s3/dedic_gpio_periph.c
@@ -1326,7 +1324,6 @@ 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/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/twai_periph.h components/soc/include/soc/twai_periph.h
components/soc/include/soc/uart_periph.h components/soc/include/soc/uart_periph.h
components/soc/include/soc/uhci_periph.h components/soc/include/soc/uhci_periph.h