From 8450f3119e6c92ab8020721736b1f7cb84823d32 Mon Sep 17 00:00:00 2001 From: Darian Leung Date: Fri, 30 Jun 2023 13:26:14 +0100 Subject: [PATCH] soc: Move revision MAX/MIN static assert to esp_hw_support Previously, "soc/chip_revision.h" contained a static assert to check that the CONFIG_ESP_REV_MIN_FULL <= CONFIG_ESP_REV_MAX_FULL. There are two issues with this assert: - Contained in a header file, so it is only compiled if the "chip_revision.h" is included somewhere - CONFIG_ESP_REV_MIN_FULL and CONFIG_ESP_REV_MAX_FULL are defined in "esp_hw_support", which is a G0 component. This creates a reverse dependency of G0 on G1. This commit moves the static assert "revision.c" in "esp_hw_support". --- components/esp_hw_support/CMakeLists.txt | 1 + components/esp_hw_support/revision.c | 16 ++++++++++++++++ components/soc/include/soc/chip_revision.h | 7 +------ 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 components/esp_hw_support/revision.c diff --git a/components/esp_hw_support/CMakeLists.txt b/components/esp_hw_support/CMakeLists.txt index 223d91e716c..80b5c5ec0dc 100644 --- a/components/esp_hw_support/CMakeLists.txt +++ b/components/esp_hw_support/CMakeLists.txt @@ -24,6 +24,7 @@ if(NOT BOOTLOADER_BUILD) "intr_alloc.c" "mac_addr.c" "periph_ctrl.c" + "revision.c" "rtc_module.c" "sleep_modes.c" "sleep_gpio.c" diff --git a/components/esp_hw_support/revision.c b/components/esp_hw_support/revision.c new file mode 100644 index 00000000000..723eddcab90 --- /dev/null +++ b/components/esp_hw_support/revision.c @@ -0,0 +1,16 @@ +/* + * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "sdkconfig.h" +#include "esp_assert.h" + +/* +Source used to store ESP chip revision and ESP-IDF minimum supported revision in the future. +Currently only used to hold static assert to check that the configured minimum and maximum supported chip revisions of +ESP-IDF are valid. +*/ + +ESP_STATIC_ASSERT(CONFIG_ESP_REV_MIN_FULL <= CONFIG_ESP_REV_MAX_FULL); diff --git a/components/soc/include/soc/chip_revision.h b/components/soc/include/soc/chip_revision.h index 868bb1f58cf..fbdc94a02c5 100644 --- a/components/soc/include/soc/chip_revision.h +++ b/components/soc/include/soc/chip_revision.h @@ -1,14 +1,11 @@ /* - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once -#include "esp_assert.h" -#include "sdkconfig.h" - #ifdef __cplusplus extern "C" { #endif @@ -34,8 +31,6 @@ extern "C" { #define ESP_CHIP_REV_ABOVE(rev, min_rev) ((min_rev) <= (rev)) #define ESP_CHIP_REV_MAJOR_AND_ABOVE(rev, min_rev) (((rev) / 100 == (min_rev) / 100) && ((rev) >= (min_rev))) -ESP_STATIC_ASSERT(CONFIG_ESP_REV_MIN_FULL <= CONFIG_ESP_REV_MAX_FULL); - #ifdef __cplusplus } #endif