diff --git a/components/bootloader_support/src/bootloader_init.c b/components/bootloader_support/src/bootloader_init.c index d757e796..77edb7e7 100644 --- a/components/bootloader_support/src/bootloader_init.c +++ b/components/bootloader_support/src/bootloader_init.c @@ -553,7 +553,6 @@ void __assert_func(const char *file, int line, const char *func, const char *exp #include "esp8266/pin_mux_register.h" #include "esp8266/rom_functions.h" -#define CONFIG_CONSOLE_UART_BAUDRATE 74880 #define BOOTLOADER_CONSOLE_CLK_FREQ 52 * 1000 * 1000 extern int _bss_start; @@ -575,8 +574,6 @@ static void uart_console_configure(void) CLEAR_PERI_REG_MASK(UART_CONF1(CONFIG_CONSOLE_UART_NUM), UART_RX_FLOW_EN); CLEAR_PERI_REG_MASK(UART_CONF0(CONFIG_CONSOLE_UART_NUM), UART_TX_FLOW_EN); - uart_div_modify(CONFIG_CONSOLE_UART_NUM, BOOTLOADER_CONSOLE_CLK_FREQ / CONFIG_CONSOLE_UART_BAUDRATE); - WRITE_PERI_REG(UART_CONF0(CONFIG_CONSOLE_UART_NUM), 0 // None parity | (1 << 4) // 1-bit stop @@ -587,6 +584,8 @@ static void uart_console_configure(void) SET_PERI_REG_MASK(UART_CONF0(CONFIG_CONSOLE_UART_NUM), UART_RXFIFO_RST | UART_TXFIFO_RST); CLEAR_PERI_REG_MASK(UART_CONF0(CONFIG_CONSOLE_UART_NUM), UART_RXFIFO_RST | UART_TXFIFO_RST); #endif + + uart_div_modify(CONFIG_CONSOLE_UART_NUM, BOOTLOADER_CONSOLE_CLK_FREQ / CONFIG_CONSOLE_UART_BAUDRATE); } esp_err_t bootloader_init() diff --git a/components/esp8266/Kconfig b/components/esp8266/Kconfig index 4985ade7..bf1a79f8 100644 --- a/components/esp8266/Kconfig +++ b/components/esp8266/Kconfig @@ -52,6 +52,11 @@ config CONSOLE_UART_NUM default 0 if CONSOLE_UART_CUSTOM_NUM_0 default 1 if CONSOLE_UART_CUSTOM_NUM_1 +config CONSOLE_UART_BAUDRATE + int "UART console baud rate" + default 74880 + range 1200 4000000 + endmenu menu WIFI diff --git a/components/esp8266/lib/VERSION b/components/esp8266/lib/VERSION index 104be2b8..9163a44a 100644 --- a/components/esp8266/lib/VERSION +++ b/components/esp8266/lib/VERSION @@ -1,5 +1,5 @@ gwen: - core: 8ee40dd + core: b9f2d3e net80211: eca7811 pp: eca7811 smartconfig:eca7811 diff --git a/components/esp8266/lib/libcore.a b/components/esp8266/lib/libcore.a index 47adf26d..7a8b7c4f 100644 Binary files a/components/esp8266/lib/libcore.a and b/components/esp8266/lib/libcore.a differ diff --git a/components/esp8266/source/phy.h b/components/esp8266/source/phy.h index 6c2d7a76..32c5376d 100644 --- a/components/esp8266/source/phy.h +++ b/components/esp8266/source/phy.h @@ -30,7 +30,7 @@ void write_data_to_rtc(uint8_t *); void get_data_from_rtc(uint8_t *); -uint8_t chip_init(uint8_t* init_data, uint8_t *mac); +uint8_t chip_init(uint8_t* init_data, uint8_t *mac, uint32_t uart_baudrate); #ifdef __cplusplus } diff --git a/components/esp8266/source/phy_init.c b/components/esp8266/source/phy_init.c index 544c7506..099fb45d 100644 --- a/components/esp8266/source/phy_init.c +++ b/components/esp8266/source/phy_init.c @@ -84,7 +84,7 @@ esp_err_t esp_phy_rf_init(const esp_phy_init_data_t *init_data, esp_phy_calibrat } esp_efuse_mac_get_default(sta_mac); - chip_init(local_init_data, sta_mac); + chip_init(local_init_data, sta_mac, CONFIG_CONSOLE_UART_BAUDRATE); get_data_from_rtc((uint8_t *)calibration_data); memcpy(rx_gain_dc_table, calibration_data->rx_gain_dc_table, 4 * 125);