Commit Graph

641 Commits

Author SHA1 Message Date
Song Ruo Jing
2557e24a28 ci: Enable esp32c6 example, test_apps, and unit tests CI build stage 2022-11-01 11:23:21 +08:00
Cao Sen Miao
b4964279d4 spi_flash: Fix issue that cannot get accurate flash size when encounter large size memory,
Closes https://github.com/espressif/esp-idf/pull/9566
2022-10-31 11:05:36 +08:00
Cao Sen Miao
2c9bb4eb7d spi_flash: Support select flash mode automatically at run time(Quad flash or Octal flash) 2022-10-18 11:25:35 +08:00
Ivan Grokhotkov
0a352a6ff2
vfs, spi_flash: re-enable unit tests for C2 2022-10-12 11:09:36 +02:00
wuzhenghui
ff8dd1e1a8 esp32c6: add spi_flash support 2022-09-26 20:32:13 +08:00
Gao Xu
1005c3b9d5 Merge branch 'feature/add_flash_copy_to_psram_example' into 'master'
system: add an example showing moving Flash content to PSRAM feature

Closes IDF-5156

See merge request espressif/esp-idf!19340
2022-09-21 12:15:19 +08:00
gaoxu
0909f5b230 system: don't disable cache if Flash .text and .rodata are moved to PSRAM 2022-09-19 12:23:23 +08:00
Cao Sen Miao
421e77d773 spi_flash: Add several flash chips HPM(120M) support 2022-09-13 17:06:43 +08:00
KonstantinKondrashov
aea2fe0816 freertos: Adds new APIs to set/get and restore base priority
Closes https://github.com/espressif/esp-idf/issues/7580
2022-09-01 07:07:08 +00:00
Simon
949ddc3501 Merge branch 'test/add_c2_extflash_test' into 'master'
esp_flash: Add EXT flash test on ESP32-C2

See merge request espressif/esp-idf!19700
2022-08-29 11:42:58 +08:00
Cao Sen Miao
0313d2a5b4 esp_flash: Add ext flash on ESP32-C2 2022-08-26 12:53:56 +08:00
Armando
dc5cab7730 esp_psram: rename esp_private/mmu.h to mmu_psram_flash.h
Prior to this commit, esp_psram/include/esp_private/mmu.h contains some
APIs that is used for:
- copy flash content to psram
- necessary sync APIs used by flash_mmap.c, due to above feature

This commit rename it to mmu_psram_flash.h, therefore mmu.h can be used
for real mmu related APIs.

This commit also moves above mention funcitons in `mmu.c` and
`mmu_psram.c` to `mmu_psram_flash.c`, leaving `mmu.c` to be used for
real mmu driver.
2022-08-25 20:35:20 +08:00
Ivan Grokhotkov
d5973b8b14
build system: add 'linux' component to common requirements
'linux' component provides some of the common header files, such as
'sys/queue.h' and 'sys/lock.h'. For chip targets, it is possible to
include these files without having to add any extra requirements.
With this change, the same behavior will apply for the linux target.
2022-08-22 14:50:19 +02:00
songruojing
304a8f142d esp32c6: introduce the target
Add esp32c6 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32c6`
2022-08-19 11:13:02 +08:00
Laukik Hase
85d00a4dac
ci: Fix host-test failures 2022-08-17 10:59:32 +05:30
Ivan Grokhotkov
ab02e15601
spi_flash: use Unity fixture in the partition API test 2022-08-15 18:15:19 +02:00
Ivan Grokhotkov
91d0e016a1
spi_flash: fix build for Linux target
CONFIG_MMU_PAGE_SIZE is not defined for the Linux target, add a
fallback definition.
2022-08-15 18:15:19 +02:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Shubham Kulkarni
b6d69840e8 partition_table: Support registering custom subtypes 2022-08-03 05:18:37 +00:00
wangyuanze
8781a50abe spi_flash: fix hpm dummy error when using 80m flash and psram 2022-07-28 14:32:30 +08:00
Darian
c8ee369a7c Merge branch 'feature/deprecate-old-cpu-api' into 'master'
HAL: Deprecate old CPU/SoC/Interrupt Controller HAL API

Closes IDF-4919 and IDF-5032

See merge request espressif/esp-idf!18987
2022-07-23 00:37:33 +08:00
Cao Sen Miao
ec6a56ed0c spi_flash: re-enable the HPM mode on several XMC chips 2022-07-22 09:54:56 +08:00
Guillaume Souchere
6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
Darian Leung
781d06af73 esp_hw_support: Remove compare_set.h API
This function removes the following legacy atomic CAS functions:

From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()

From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()

Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.

Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
Jiang Jiang Jian
cf5b097c88 Merge branch 'bugfix/further_fix_for_mspi_current_leakage' into 'master'
system/sleep: further fix spi flash/ram current leakage

Closes IDF-4720

See merge request espressif/esp-idf!18566
2022-07-21 19:14:26 +08:00
Jing Li
66395a5c00 system/sleep: further fix spi flash/ram current leakage 2022-07-21 19:14:26 +08:00
Cao Sen Miao
e69f658ac6 flash_encryption: Add several test environments for flash encryption test 2022-07-20 12:49:42 +08:00
Fu Hanxi
05d2357062 feat: use standalone project idf-build-apps for find/build apps utils 2022-07-14 08:26:31 +08:00
Cao Sen Miao
683d92bc88 flash_encryption: Fix issue that flash encryption cannot work when 8-line psram enabled,
Closes https://github.com/espressif/esp-idf/issues/9244,
                  Closes https://github.com/espressif/esp-idf/issues/9287
2022-07-12 16:08:57 +08:00
Cao Sen Miao
a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
Cao Sen Miao
d9b4b82edc spi_flash: Modify documentations 2022-07-01 10:59:34 +08:00
Cao Sen Miao
64147c3794 CXX: Make spi_flash related part works 2022-07-01 10:59:34 +08:00
Cao Sen Miao
435bbb444c spi_flash: move cache stuff to private 2022-07-01 10:59:34 +08:00
Sudeep Mohanty
3cd2b67f84 Revert "hal: Fix incorrect spi_hal log usage"
This reverts commit a65165dd52.
2022-06-29 14:52:28 +00:00
Armando
f31d88e3fe spi: move spi_common_internal to esp_private 2022-06-24 19:12:13 +08:00
Zim Kalinowski
c414d7b292 freertos: increase timeout for multi flash test cases 2022-06-20 10:25:39 +00:00
Armando (Dou Yiwen)
0b80546f8e Merge branch 'feature/new_esp_psram_component' into 'master'
esp_psram: new esp psram component

Closes IDF-4318, IDF-4382, IDF-4841, and IDFGH-7192

See merge request espressif/esp-idf!18050
2022-06-15 19:16:56 +08:00
Armando
38e5043ae8 esp_psram: new psram component 2022-06-14 15:44:27 +08:00
Darian
135480396a Merge branch 'bugfix/spi_should_use_early_log' into 'master'
SPI: Fix incorrect log usage

See merge request espressif/esp-idf!17017
2022-06-14 15:24:37 +08:00
Armando
44f771c713 psram: support s3 copy flash to psram 2022-06-10 10:39:29 +08:00
Cao Sen Miao
6589daabb9 MMU: Add configurable mmu page size support on ESP32C2 2022-06-08 19:34:31 +08:00
Darian Leung
a65165dd52 hal: Fix incorrect spi_hal log usage
esp_flash_init_main() can be during startup before the OS has started, thus should use
the EARLY version of logging.
2022-06-08 19:19:44 +08:00
Michael (XIAO Xufeng)
773715d900 Merge branch 'feature/support_refresh_brownout_v1' into 'master'
spi_flash: send reset when brownout detected on XMC flash

Closes IDF-3882

See merge request espressif/esp-idf!16873
2022-06-06 16:27:58 +08:00
Michael (XIAO Xufeng)
6a8aed12ee ci: partially enable ut tests for esp32c2
Disabled test cases are tracked in:

 IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131

- test_fatfs: IDF-5136

- test_pm: IDF-5053

- test_cache_mmu: IDF-5138

- test_partitions: IDF-5137

- test_vfs: IDF-5139

- test_freertos: IDF-5140

- test_wpa_supplicant: IDF-5046

- test_mbedtls: IDF-5141

- test_pthread: IDF-5142

- test_protocomm: IDF-5143

- test_lightsleep: IDF-5053

- test_taskwdt: IDF-5055

- test_tcp_transport: IDF-5144

- test_app_update: IDF-5145

- test_timer: IDF-5052

- test_spi: IDF-5146

- test_rtc_clk: IDF-5060

- test_heap: IDF-5167

ci: fixed issues for tests of libgcc, ets_timer, newlib

test_pm: support on C2
2022-06-02 14:23:35 +08:00
Cao Sen Miao
6a2d3509dc spi_flash: Making XMC flash works more stable when brownout detected 2022-06-02 10:38:55 +08:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
morris
4352c39e3e Merge branch 'feature/cache_c2_support' into 'master'
cache: access error & illegal error ll functions

Closes IDF-3820

See merge request espressif/esp-idf!18203
2022-05-30 11:40:11 +08:00
Jiang Jiang Jian
f3922f1b7f Merge branch 'feature/flash_mmap_refactor' into 'master'
flash mmap: abstract R/W of MMU table instead of reg access

See merge request espressif/esp-idf!16882
2022-05-29 13:56:37 +08:00
Marius Vikhammer
0687daf2c8 kconfig: move remaining kconfig options out of target component
The kconfig options are moved to the component where they are used,
mostly esp_hw_support and esp_system.
2022-05-23 17:57:45 +08:00
Armando
8532d09259 cache: access error & illegal error ll functions 2022-05-23 15:00:47 +08:00
jiangguangming
9719979e4f UT: add a timeout-tag to make the esp_flash UT ci pass 2022-05-20 16:46:28 +08:00
jiangguangming
9c6afee12f flash mmap: abstract R/W MMU table instead of reg access 2022-05-20 16:46:27 +08:00
wuzhenghui
d8de64bff8 Kconfig: add depends 2022-05-06 15:26:43 +08:00
jiangguangming
a9f8b20431 spi_flash: enable ESP32C2 SPI_FLASH_ROM_IMPL 2022-05-05 17:41:11 +08:00
Simon
e4d85807ea Merge branch 'feature/spi_flash_esp8684_support' into 'master'
spi_flash: refactor spi_flash clock configuration logic and support esp32c2

Closes IDF-4474, IDF-4025, and IDF-4066

See merge request espressif/esp-idf!16602
2022-04-27 11:05:45 +08:00
Cao Sen Miao
4418a855ba spi_flash: refactor the spi_flash clock configuration, and add support for esp32c2 2022-04-26 15:22:37 +08:00
Ivan Grokhotkov
708e99497b
global: add dependency on esp_timer component and include esp_timer.h
Some components were including esp_timer.h without declaring a
dependency on esp_timer component. This used to work due to a
transitive public dependency on esp_timer from freertos component.
Add explicit dependencies where needed.
Also some source files were using esp_timer functions without
including the header file. This used to work because esp_timer.h was
included from freertos port header file. This commit adds esp_timer.h
includes where needed.
2022-04-25 18:39:23 +02:00
Michael (XIAO Xufeng)
46b5363e39 spi_flash: forbid writing to main flash when using invalid init arguments
Also refactored the init code to make the logic of device (CS) acquiring
more centralized.

Resolves: https://github.com/espressif/esp-idf/issues/8556
2022-04-13 18:02:34 +08:00
Armando
a8a47a61f5 spi_flash: move buffer check from hal layer to driver layer
Prior to this change, `spi_flash_hal_supports_direct_write` and
`spi_flash_hal_supports_direct_read` will check the buffer pointer
place, which should be done in driver layer, instead of HAL layer.
2022-04-08 11:46:10 +08:00
Michael (XIAO Xufeng)
c01d29a184 Merge branch 'feat/opi_mxic_header_def' into 'master'
spi_flash: update def header of MXIC

See merge request espressif/esp-idf!17533
2022-04-07 11:59:00 +08:00
Anton Maklakov
a2c8a676a0 Merge branch 'bugfix/explicit_use_bsd_string_in_linux_target' into 'master'
docs, spi_flash: explicit use bsd string in linux target

Closes IDF-3267

See merge request espressif/esp-idf!17635
2022-04-06 14:00:36 +08:00
Song Ruo Jing
e13bb580c7 Merge branch 'refactor/gpio_unit_test' into 'master'
gpio: Clean up unit tests and enable ci ut on some previously disabled test cases

Closes IDF-4620

See merge request espressif/esp-idf!17417
2022-04-01 18:38:19 +08:00
songruojing
bdb5b11b39 unit test: move unit-test_app test_utils_task_delete API to be a utils API (unity_utils_task_delete) in unity component 2022-03-30 15:11:08 +08:00
Anton Maklakov
ed1c1f1903 spi_flash, linux target: explicit use strlcpy/strlcat from BSD string.h 2022-03-30 10:37:32 +07:00
Michael (XIAO Xufeng)
e2ecdfc0a7 spi_flash: update def header of MXIC 2022-03-28 16:40:02 +00:00
Marius Vikhammer
a6543f0d21 docs: fix broken references to misc API functions and types. 2022-03-27 16:46:57 +08:00
Ivan Grokhotkov
c70a69b1dd Merge branch 'bugfix/remove_ref_non_ex_options' into 'master'
config: removed references to non-existing kconfig options

See merge request espressif/esp-idf!17495
2022-03-25 18:02:54 +08:00
Anton Maklakov
68e5d9d585 Remove IRAM_ATTR from any function declarations
IRAM_ATTR expands to a unique section attribute. Applying it to both
declaration and definition results in a section conflict.
2022-03-22 09:58:50 +00:00
Marius Vikhammer
453516fbbe Merge branch 'bugfix/replace_deprecated_options' into 'master'
kconfig: replace deprecated options with new values

See merge request espressif/esp-idf!17494
2022-03-16 09:32:55 +08:00
Marius Vikhammer
0fbae992dd config: removed references to non-existing kconfig options 2022-03-15 18:32:22 +08:00
Marius Vikhammer
ca3c056ac9 kconfig: replace deprecated options with new values 2022-03-15 16:28:53 +08:00
Cao Sen Miao
880ce3c25a spi_flash: remove xmc hpm support, because there is some compatible issue with ROM,
Closes https://github.com/espressif/esp-idf/issues/8560
2022-03-15 11:17:58 +08:00
Ivan Grokhotkov
4aa2719e13
spi_flash, newlib: fix NULL pointer dereference on OOM
https://pvs-studio.com/en/blog/posts/cpp/0790/#ID88049D3FA2
Reported in https://github.com/espressif/esp-idf/issues/6440
2022-03-14 18:16:42 +01:00
Armando (Dou Yiwen)
6ed3ffbbf1 Merge branch 'refactor/remove_redundant_rom_cache_dependency' into 'master'
cache: remove redundant rom cache dependency in bootloader

Closes IDF-4523

See merge request espressif/esp-idf!17077
2022-03-12 10:11:39 +08:00
Armando
c1cbd7bbf6 cache/mmu: implememnt cache and mmu hal APIs in bootloader 2022-03-11 22:43:11 +08:00
Cao Sen Miao
85dd785d8d spi_flash: Building a framework to enable HPM when flash works under high speed mode 2022-03-09 18:49:34 +08:00
Marius Vikhammer
934a3951b8 Merge branch 'feature/s2_s3_support_ext_mem_stack' into 'master'
soc: support placing task stacks in external memory for S2 and S3

Closes IDF-2797 and IDF-1805

See merge request espressif/esp-idf!16186
2022-03-09 11:57:31 +08:00
Darian
8b902739ac Merge branch 'feature/freertos_smp_base_master_483237711' into 'master'
Add baseline SMP FreeRTOS

Closes IDF-3420, IDF-3348, IDF-3331, IDF-3333, IDF-3701, IDF-3341, IDF-3346, IDF-3339, IDF-3685, IDF-3338, and IDF-3342

See merge request espressif/esp-idf!17016
2022-03-08 19:58:11 +08:00
Darian Leung
27f5c90e2e freertos: Fix usage of vTaskSuspendAll()/xTaskResumeAll()
IDF FreeRTOS uses vTaskSuspendAll()/xTaskResumeAll() to stop preemption
on a particular core. However, those functions behave differently in FreeRTOS SMP.
This commit replaces all calls of vTaskSuspendAll()/xTaskResumeAll() with
vTaskPreemptionDisable()/vTaskPreemptionEnable() when compiling with SMP FreeRTOS.
2022-03-08 14:59:18 +08:00
Cao Sen Miao
12e050b38c opi_flash: Add new 16MB opi flash (MXIC25UW12345G) support,
Closes https://github.com/espressif/esp-idf/issues/7996
2022-03-08 11:02:49 +08:00
Martin Vychodil
9a5f39ec2c spi_flash: Linux target emulation of Partition API
Emulator of Partition API layer for Linux OS
2022-03-04 14:36:46 +00:00
Marius Vikhammer
374712921a CI: add configs for running S2, S3 unit tests with PSRAM
Fixed various minor failures detected with these configs.
2022-03-04 15:29:17 +08:00
songruojing
c8c137f2b7 esp32h2: support GPIO peripheral, IO_MUX, GPIO matrix.
Generic GPIO example is supported as well.
2022-03-04 11:25:05 +08:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Mahavir Jain
98a74e431c spi_flash: fix unused variable warning with SPI_FLASH_DANGEROUS_WRITE_ALLOWED
Closes https://github.com/espressif/esp-idf/issues/8329
Closes IDFGH-6700
2022-02-03 09:52:06 +05:30
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
Cao Sen Miao
5bf739aef3 spi_flash: Add hint for explaining erase yield 2022-01-17 09:52:54 +08:00
Michael (XIAO Xufeng)
1cbf9506b2 spi_flash_test: remove threshold from unit test 2022-01-16 19:19:14 +00:00
Armando
7240ad2b3a psram: refactor spiram.c on esp32s2 2022-01-13 11:07:57 +08:00
morris
705788a13f unit_tests: replace legacy timer group with gptimer 2022-01-07 14:59:09 +08:00
Cao Sen Miao
d397464fc4 spi_flash: refactor spi_flash.h to esp_rom_spiflash.h but keep the content in spi_flash.h 2021-12-30 14:12:31 +08:00
Cao Sen Miao
b0decda1e3 bootloader: move bootloader flash support to isolate folders 2021-12-30 14:05:12 +08:00
Cao Sen Miao
3a4db97cec spi_flash: move patch files to common rom patch folder 2021-12-30 14:05:12 +08:00
Cao Sen Miao
3dd1cfea18 spi_flash: refactor spi_flash.h to decline duplicated code 2021-12-30 14:05:12 +08:00
Sudeep Mohanty
e22b4007d3 esp_hw_support: Removed deprecated CPU util functions
The following files were deleted:
- components/esp_hw_support/include/soc/cpu.h
- components/soc/esp32s3/include/soc/cpu.h

The following functions are deprecated:
- get_sp()

The following functions declared in soc/cpu.h are now moved to esp_cpu.h:
- esp_cpu_configure_region_protection()

The following functions declared in soc/cpu.h are now moved to components/xtensa/include/esp_cpu_utils.h:
- esp_cpu_process_stack_pc()

All files with soc/cpu.h inclusion are updated to include esp_cpu.h instead.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-12-28 16:58:37 +05:30
Simon
1c82e6eac7 Merge branch 'ci/8684_build_ci' into 'master'
CI: Enable ESP8684 build (2nd stage) CI on master (except example build)

Closes IDF-4388

See merge request espressif/esp-idf!16197
2021-12-14 11:12:10 +00:00
Cao Sen Miao
e81841318f CI: Enable ESP8684 build stage CI on master 2021-12-13 19:18:47 +08:00
Cao Sen Miao
56edc81b5d spi_flash: add support for th 1M flash 2021-12-13 11:47:48 +08:00
Simon
9a0e902045 Merge branch 'refactor/fun_pointer_opi' into 'master'
opi_flash: Add a function pointer for opi required registers

See merge request espressif/esp-idf!16322
2021-12-09 16:16:30 +00:00
Mahavir Jain
203f82cc49 Fix various warnings generated from Coverity scan
esp_timer:
Control flow issues  (DEADCODE)
    Execution cannot reach this statement: "break;".

protocomm_httpd:
(UNUSED_VALUE)
    Assigning value from "cookie_session_id" to "cur_cookie_session_id" here, but that stored value is overwritten before it can be used.

esp_flash_api:
Null pointer dereferences  (REVERSE_INULL)
    Null-checking "chip" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
2021-12-09 09:38:53 +05:30