From 9a8a82e857920ba57811795f15aba3c55b1a4380 Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Thu, 19 Jan 2017 11:18:44 +1100 Subject: [PATCH] phyinit: Use PHY config to enable, don't need phy_get_romfunc_addr to init --- components/esp32/component.mk | 8 +++----- components/esp32/cpu_freq.c | 2 -- components/esp32/phy.h | 3 +-- components/esp32/phy_init.c | 7 +++---- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/components/esp32/component.mk b/components/esp32/component.mk index e1cd2c6524..a8109a0f5e 100644 --- a/components/esp32/component.mk +++ b/components/esp32/component.mk @@ -3,16 +3,14 @@ # COMPONENT_SRCDIRS := . hwcrypto -LIBS := core rtc phy -ifdef CONFIG_BT_ENABLED -LIBS += coexist +LIBS := core rtc +ifdef CONFIG_PHY_ENABLED # BT || WIFI +LIBS += phy coexist endif ifdef CONFIG_WIFI_ENABLED LIBS += net80211 pp wpa smartconfig coexist wps wpa2 endif -LIBS := $(sort $(LIBS)) # de-duplicate, we can handle different orders here - LINKER_SCRIPTS += esp32.common.ld esp32.rom.ld esp32.peripherals.ld ifeq ("$(CONFIG_NEWLIB_NANO_FORMAT)","y") diff --git a/components/esp32/cpu_freq.c b/components/esp32/cpu_freq.c index 7618f147af..f5ccd13df7 100644 --- a/components/esp32/cpu_freq.c +++ b/components/esp32/cpu_freq.c @@ -17,7 +17,6 @@ #include "rom/ets_sys.h" #include "rom/uart.h" #include "sdkconfig.h" -#include "phy.h" #include "rtc.h" #include "soc/soc.h" #include "soc/rtc_cntl_reg.h" @@ -32,7 +31,6 @@ void esp_set_cpu_freq(void) { uint32_t freq_mhz = CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ; - phy_get_romfunc_addr(); // freq will be changed to 40MHz in rtc_init_lite, // wait uart tx finish, otherwise some uart output will be lost diff --git a/components/esp32/phy.h b/components/esp32/phy.h index 81990f2e36..c0affb36ef 100644 --- a/components/esp32/phy.h +++ b/components/esp32/phy.h @@ -25,8 +25,7 @@ extern "C" { */ /** - * @brief Initialize function pointer table in PHY library. - * @note This function should be called before register_chipv7_phy. + * @brief Return ROM function pointer table from PHY library. */ void phy_get_romfunc_addr(void); diff --git a/components/esp32/phy_init.c b/components/esp32/phy_init.c index 07a455d501..5b130eaf7a 100644 --- a/components/esp32/phy_init.c +++ b/components/esp32/phy_init.c @@ -27,7 +27,7 @@ #include "nvs.h" #include "sdkconfig.h" -#ifdef CONFIG_WIFI_ENABLED +#ifdef CONFIG_PHY_ENABLED #include "phy.h" #include "phy_init_data.h" @@ -39,8 +39,7 @@ esp_err_t esp_phy_init(const esp_phy_init_data_t* init_data, { assert(init_data); assert(calibration_data); - // Initialize PHY pointer table - phy_get_romfunc_addr(); + REG_SET_BIT(DPORT_CORE_RST_EN_REG, DPORT_MAC_RST); REG_CLR_BIT(DPORT_CORE_RST_EN_REG, DPORT_MAC_RST); // Enable WiFi peripheral clock @@ -221,4 +220,4 @@ static esp_err_t store_cal_data_to_nvs_handle(nvs_handle handle, return err; } -#endif // CONFIG_WIFI_ENABLED +#endif // CONFIG_PHY_ENABLED