OVMS3-idf/components/esp32
Wangjialin b1dcb52fec feature(psram): configure flash and psram speed during runtime
1. Bootloader reads SPI configuration from bin header, so that the burning configuration can be different with compiling configuration.
2. Psram mode init will overwrite original flash speed mode, so that users can change psram and flash speed after OTA.
3. Flash read mode(QIO/DIO…) will not be changed in app bin. It is decided by bootloader, OTA can not change this mode.
4. Add read flash ID function, and save flash ID in g_rom_flashchip
5. Set drive ability for all related GPIOs
6. Check raise VDDSDIO voltage in 80Mhz mode
7. Add check flash ID and update settings in bootloader
8. Read flash ID once and keep in global variable
9. Read flash image header once and reuse the result

Tested cases:
1. Test new and old version of bootloader
boot Flash 20M —> app Flash 80M + Psram 80M
boot Flash 40M —> app Flash 80M + Psram 80M
boot Flash 80M —> app Flash 80M + Psram 80M
boot Flash 20M —> app Flash 80M + Psram 40M
boot Flash 40M —> app Flash 80M + Psram 40M
boot Flash 80M —> app Flash 80M + Psram 40M
boot Flash 20M —> app Flash 40M + Psram 40M
boot Flash 40M —> app Flash 40M + Psram 40M
boot Flash 80M —> app Flash 40M + Psram 40M
2. Working after esp_restart reboot.
2018-04-20 20:51:44 +08:00
..
hwcrypto hwcrypto: Fix bug with concurrent SHA access 2017-08-25 16:08:03 +10:00
include feature(psram): configure flash and psram speed during runtime 2018-04-20 20:51:44 +08:00
ld freertos: Adds C11 TLS support 2018-02-07 18:46:57 +03:00
lib@04299f48a7 mesh: update mesh libs 2018-04-17 11:49:54 +00:00
test Merge branch 'bugfix/rtc_clk_fixes' into 'master' 2018-04-10 18:17:02 +08:00
brownout.c brownout detector: enable by default 2017-07-10 17:25:55 +08:00
cache_err_int.c esp32: fix cache error interrupt handler 2017-09-08 09:59:09 +08:00
clk.c bugfix/rtc_clk_32k_bootstrap: Fix starting 32k RTC 2018-03-21 13:27:56 +05:00
coexist.c component/esp32 : clear some minor thingsw about PM and coexistence 2018-04-03 20:13:49 +08:00
coexist_internal.h component/esp32 : clear some minor thingsw about PM and coexistence 2018-04-03 20:13:49 +08:00
component.mk add mesh feature 2018-04-04 22:57:45 +08:00
core_dump.c freertos: deprecate XT_CLOCK_FREQ 2017-10-18 14:19:19 +08:00
cpu_start.c esp32: fix few components with dependency on networking stack 2018-04-19 18:28:55 +05:30
crosscore_int.c crosscore_int: use _ISR version of portENTER/EXIT_CRITICAL in ISR 2018-04-19 18:28:55 +05:30
dport_access.c esp32: exclude DPORT-related code in single core mode 2017-09-22 12:07:05 +08:00
dport_panic_highint_hdl.S esp32: exclude DPORT-related code in single core mode 2017-09-22 12:07:05 +08:00
esp_clk_internal.h bugfix/rtc_clk_32k_bootstrap: Fix starting 32k RTC 2018-03-21 13:27:56 +05:00
esp_err_to_name.c add mesh feature 2018-04-04 22:57:45 +08:00
esp_err_to_name.c.in ESP32: Optionally disable lookup-tables for esp_err_to_name 2018-03-13 14:26:54 +01:00
esp_timer.c esp_timer: fix for the case when timer is deleted in callback 2017-11-29 11:44:46 +08:00
esp_timer_esp32.c esp_timer: use _ISR version of port{ENTER,EXIT}_CRITICAL from ISR 2018-04-19 18:28:55 +05:30
esp_timer_impl.h esp_timer: add support for frequency scaling 2017-10-18 14:19:18 +08:00
ets_timer_legacy.c wifi/bt coexistence: Fix disabled cache access race when writing to flash 2017-10-16 19:47:33 +08:00
event_default_handlers.c Make error codes looks like literals in the code of them (easy for searching). Minor fixes, typos 2018-04-09 13:54:18 +10:00
event_loop.c add mesh feature 2018-04-04 22:57:45 +08:00
fast_crypto_ops.c add mesh feature 2018-04-04 22:57:45 +08:00
freertos_hooks.c New Task Watchdog API (Revert of Revert) 2017-11-02 16:47:51 +08:00
gdbstub.c Resolve problems found by enabling -Wwrite-strings compilation flag 2018-04-10 08:53:43 +02:00
hw_random.c freertos: deprecate XT_CLOCK_FREQ 2017-10-18 14:19:19 +08:00
int_wdt.c Dump the frame of the other core when interrupt watchdog happens 2018-01-18 23:10:29 +00:00
intr_alloc.c Add esp_intr_set_in_iram 2017-12-08 05:46:34 +03:00
ipc.c fix buffer overflow in ipc.c 2017-11-27 18:47:40 +08:00
Kconfig support wifi&bt coexist (v0.9.1) 2018-04-02 13:44:48 +08:00
lib_printf.c component/esp32 : clear some minor thingsw about PM and coexistence 2018-04-03 20:13:49 +08:00
libhal.a Initial public version 2016-08-17 23:08:22 +08:00
Makefile.projbuild build: Remove explict -lstdc++-psram-workaround 2018-01-11 10:32:02 +11:00
panic.c Dump the frame of the other core when interrupt watchdog happens 2018-01-18 23:10:29 +00:00
phy.h soc: add source code of rtc_clk, rtc_pm 2017-04-11 15:45:54 +08:00
phy_init.c component/esp32 : remove pm gpio dbg 2018-04-09 14:33:48 +08:00
phy_init_data.h component/esp32 : update phy & rtc 2017-10-17 18:02:42 +08:00
pm_esp32.c pm: handle the case of 2MHz frequency 2018-03-27 11:20:55 +08:00
pm_impl.h pm: initial implementation for ESP32 2017-10-18 14:19:16 +08:00
pm_locks.c pm: initial version of power management APIs 2017-10-18 14:19:16 +08:00
pm_trace.c pm: support for tracing using GPIOs 2017-10-18 14:19:18 +08:00
pm_trace.h pm: support for tracing using GPIOs 2017-10-18 14:19:18 +08:00
restore.c esp_system: remove link time dependency on WiFi stack 2017-06-15 18:15:36 +08:00
sleep_modes.c esp32: Deactivate wakeup trigger after first wakeup 2018-03-20 12:23:32 +05:00
spiram.c Add option to continue running (with less ram) if psram is enabled but not detected 2018-02-12 13:44:11 +08:00
spiram_psram.c feature(psram): configure flash and psram speed during runtime 2018-04-20 20:51:44 +08:00
spiram_psram.h Add initial SPI RAM support. This adds support for an ESP-PSRAM32 chip connected to the default flash pins and GPIO 16 and 17. The RAM is mapped to address 0x3F800000, but otherwise ignored by esp-idf as of yet. 2017-09-04 12:05:49 +08:00
stack_check.c esp32: Adds Stack Smashing Protection Feature 2017-11-17 12:08:36 +03:00
system_api.c esp32: get_chip_info_esp32() return correct model number 2018-04-09 12:28:23 +10:00
task_wdt.c watchdogs: make sure timer group peripherals are enabled 2017-12-01 20:10:26 +08:00
wifi_init.c add mesh feature 2018-04-04 22:57:45 +08:00
wifi_internal.c Allocate some memories in SPIRAM first. 2017-10-13 10:11:24 +08:00