diff --git a/components/esp_phy/esp32c61/include/phy_init_data.h b/components/esp_phy/esp32c61/include/phy_init_data.h index 8a0eb240168..011632fa74f 100644 --- a/components/esp_phy/esp32c61/include/phy_init_data.h +++ b/components/esp_phy/esp32c61/include/phy_init_data.h @@ -26,8 +26,8 @@ extern "C" { #if CONFIG_ESP_PHY_MULTIPLE_INIT_DATA_BIN #define PHY_CRC_ALGORITHM 1 #define PHY_COUNTRY_CODE_LEN 2 -#define PHY_INIT_DATA_TYPE_OFFSET 254 -#define PHY_SUPPORT_MULTIPLE_BIN_OFFSET 253 +#define PHY_INIT_DATA_TYPE_OFFSET 126 +#define PHY_SUPPORT_MULTIPLE_BIN_OFFSET 125 #endif extern const char phy_init_magic_pre[]; diff --git a/components/esp_phy/src/phy_init.c b/components/esp_phy/src/phy_init.c index 0c8ef30e6e3..9ebf4905e46 100644 --- a/components/esp_phy/src/phy_init.c +++ b/components/esp_phy/src/phy_init.c @@ -118,6 +118,13 @@ static uint8_t s_phy_modem_init_ref = 0; extern uint8_t multi_phy_init_data_bin_start[] asm("_binary_phy_multiple_init_data_bin_start"); extern uint8_t multi_phy_init_data_bin_end[] asm("_binary_phy_multiple_init_data_bin_end"); #endif + +/* Both flags live in the last bytes of an init data entry */ +_Static_assert(PHY_INIT_DATA_TYPE_OFFSET == sizeof(esp_phy_init_data_t) - 2, + "PHY_INIT_DATA_TYPE_OFFSET does not match the PHY init data of this target"); +_Static_assert(PHY_SUPPORT_MULTIPLE_BIN_OFFSET == sizeof(esp_phy_init_data_t) - 3, + "PHY_SUPPORT_MULTIPLE_BIN_OFFSET does not match the PHY init data of this target"); + /* The following static variables are only used by Wi-Fi tasks, so they can be handled without lock */ static phy_init_data_type_t s_phy_init_data_type = 0;