Commit Graph

299 Commits

Author SHA1 Message Date
chaijie
eea76d14bb ESP32C3: auto adjust voltage dbias storing in efuse and open glitch reset for ECO3
1. add some efuse api to get rtc & digital voltage
2. set dig_rtc voltage to a fix value storing in efuse no mater which cpu frequency
3. modify hardware code in bootloader to fit all c3 ECO3 version
2021-05-08 17:56:54 +08:00
KonstantinKondrashov
9490d78f49 efuse/esp32s3: Update efuse table 2021-05-04 14:40:15 +08:00
Angus Gratton
7bb5c8cc82 esp32c3 espefuse: Fix efuse programming timing on ESP32-C3 ECO3
Without this timing change, efuse programming occasionally appears to fail
(although the efuse is programmed correctly).
2021-04-23 13:42:23 +10:00
Armando
c05fde2cbf efuse: revert ESP_LOG to ESP_EARLY_LOG in src/esp_efuse_utility.c
Closes https://github.com/espressif/esp-idf/issues/6660
2021-03-24 11:28:45 +00:00
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
Angus Gratton
501af6dfa2 Merge branch 'feature/secure_boot_revoke_check' into 'master'
secure_boot: Checks secure boot efuses

Closes IDF-2609

See merge request espressif/esp-idf!12148
2021-02-25 22:38:42 +00:00
Michael (XIAO Xufeng)
db1c635db4 Merge branch 'feature/esp32c3_rtc_temp_calibration' into 'master'
temperature_sensor: calibration for esp32c3

Closes IDF-2502

See merge request espressif/esp-idf!12158
2021-02-24 03:27:49 +00:00
Cao Sen Miao
85855ad8a6 temp_sensor: add calibration for esp32c3 2021-02-23 10:48:17 +08:00
KonstantinKondrashov
90f2d3199a secure_boot: Checks secure boot efuses
ESP32 V1 and V2 - protection bits.
ESP32xx V2: revoke bits, protection bits

- refactor efuse component
- adds some APIs for esp32 chips as well as for esp32xx chips
2021-02-23 03:56:21 +08:00
morris
bf2480f62d efuse: can disable boot ROM log from Kconfig 2021-02-22 20:56:43 +08:00
KonstantinKondrashov
43ebb8ea61 efuse: Updates description of uart_print_control efuse 2021-02-08 18:02:55 +08:00
Angus Gratton
018d7c2551 Merge branch 'feature/add_pkg_and_revision_for_c3' into 'master'
efuse(esp32c3): Adds getting chip_revision and chip_pkg

See merge request espressif/esp-idf!12060
2021-02-04 16:04:36 +08:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
KonstantinKondrashov
3ed226c362 efuse(esp32c3): Adds getting chip_revision and chip_pkg 2021-01-25 19:37:40 +08:00
Armando
f5f0461264 tmpsensor: add temp_sensor.h for c3 2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
d7d1dee208 system: reset dma when soft reset 2021-01-25 04:51:40 +00:00
Mahavir Jain
2cdc1fcdbf efuse: change prints to ESP_EARLY_LOG for function called from startup code 2021-01-22 18:00:03 +05:30
Angus Gratton
fe8a891de9 Merge branch 'feature/support_esp32c3_master_cmake_secure_boot' into 'master'
bootloader/esp32c3: Support secure boot

Closes IDF-2115

See merge request espressif/esp-idf!11797
2021-01-21 08:42:49 +08:00
KonstantinKondrashov
98f726fa4b bootloader/esp32c3: Adds secure boot (not yet supported) 2021-01-19 20:51:13 +08:00
Krzysztof
90c0876b8a docs: Update typos in 'esp_efuse.h' header file to show function descriptions 2021-01-08 15:29:52 +08:00
Michael (XIAO Xufeng)
707b1bd9b1 efuse: revert EARLY_LOGD to LOGD
introduced in 5cc329b9d0
2020-12-30 12:37:44 +08:00
jiangguangming
867255bbab efuse: Add support ESP32-C3
Updated:
- CSV eFuse table
- Kconfig
- efuse_table_gen.py
- UTs
- espefuse.py

efuse/c3: Fix the burn order of BLOCKs (MAX->0)

efuse/c3: Support efuse API with keys, protection, purpose bits

tool/ci: Adds test_efuse_table_on_host for esp32s3 and esp32c3
2020-12-23 18:39:18 +08:00
Konstantin Kondrashov
4a487af43a efuse: Add new APIs for keys, purposes, wr/rd protection
- the batch mode can be called recursively
2020-12-04 10:42:57 +08:00
Wu Bo Wen
5cc329b9d0 driver/adc: support for esp32s2 adc calibration scheme V2
notice that the o_code is now pulled from efuse instead of automatically calibrated. This may influence other parts of the system.

Closes https://github.com/espressif/esp-idf/issues/5455
2020-12-03 20:08:59 +08:00
martin.gano
f4ea2dcb74 Tools: add Python 2 deprecation warning 2020-12-02 11:08:48 +01:00
Angus Gratton
5228d9f9ce esp32c3: Apply one-liner/small changes for ESP32-C3 2020-12-01 10:58:50 +11:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
e82eac4354 cmake: Apply cmakelint fixes 2020-11-11 07:36:35 +00:00
KonstantinKondrashov
f2c9c1e4ab efuse: Fix the order of writing in batch mode for esp32s2 and s3 2020-11-06 07:25:35 +00:00
KonstantinKondrashov
66b9b589cb efuse: Adds support for esp32-s2 chip 2020-10-14 16:26:51 +08:00
morris
9fa06719fa global: enable build uinit test for esp32-s3 2020-09-22 15:15:03 +08:00
morris
61f89b97c6 bringup esp32-s3 on FPGA 2020-09-22 15:15:03 +08:00
Marius Vikhammer
ae0931be06 CI: Increase stack size for efuse unit test
"Batch mode is thread-safe" case would occasionally cause a stackoverflow.
Increased stack size.
2020-09-21 12:23:14 +08:00
Michael (XIAO Xufeng)
3b2e8648eb bootloader: create public bootloader_flash.h header
Move non-public functions into bootloader_flash_priv.h header
2020-09-19 10:52:02 +08:00
KonstantinKondrashov
2373f115fc efuse/esp32: Expands PKG_VER from 3 bit to 4 bits
Closes: IDF-1919
2020-09-17 07:44:37 +00:00
Jakob Hasse
20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Sachin Billore
f1dae0d6e1 ESP32 SecureBoot V2: eFuse write operations are updated to use the eFuse Manager APIs
Closes IDF-2034

Closes https://github.com/espressif/esp-idf/issues/5771
2020-08-27 04:24:04 +00:00
morris
458b14a8ea esp_rom: extract common efuse apis into esp_rom_efuse.h 2020-07-15 10:40:50 +08:00
Renz Christian Bagaporo
362d7b8f71 efuse: spelling fix 2020-06-19 18:40:10 +10:00
Angus Gratton
a5683f2263 Merge branch 'bugfix/efuse_logs' into 'master'
esp32/esp32s2: Reduce using ESP_EARLY_LOGx and move some code after the stdout initialization in startup code

Closes IDFGH-3367

See merge request espressif/esp-idf!8904
2020-06-16 13:47:02 +08:00
KonstantinKondrashov
5cfdf1aa70 efuse: Add some fields in efuse_table and update esp_efuse_get_pkg_ver()
Closes: IDF-1077
2020-06-08 22:35:08 +08:00
KonstantinKondrashov
3bb2d581c6 esp32: Reduce using ESP_EARLY_LOGx and move some code after the stdout initialization
After setting _GLOBAL_REENT, ESP_LOGIx can be used instead of ESP_EARLY_LOGx.

Closes: https://github.com/espressif/esp-idf/issues/5343
2020-06-01 20:36:08 +08:00
Angus Gratton
f4edc52fa0 efuse: Have support for secure DL mode depend on a soc_caps flag 2020-05-28 18:02:02 +10:00
Angus Gratton
f64ae4fa99 efuse: Add 'disable Download Mode' & ESP32-S2 'Secure Download Mode' functionality 2020-05-28 17:50:45 +10:00
Angus Gratton
48d9c14c28 efuse: Add new esp_efuse_read_field_bit() convenience function 2020-05-28 17:45:09 +10:00
Angus Gratton
1dd5a4dba4 efuse: Add new esp_efuse_write_field_bit() convenience function 2020-05-28 17:45:09 +10:00
Angus Gratton
158ab5a9b9 Remove "disable ROM BASIC boot mode" from ESP32-S2
Feature removed from ESP32-S2 ROM (was present in S2 Beta ROM)
2020-05-01 16:16:47 +10:00
Angus Gratton
9300f0e7b0 Merge branch 'bugfix/logging_compilation_fix_anti_rollback' into 'master'
Minor fix logging issue hindering compilation on anti rollback.

See merge request espressif/esp-idf!8105
2020-04-08 15:53:48 +08:00
Angus Gratton
16ad24dd00 efuse: Add an API to return the efuse descriptor for a key block's purpose field 2020-04-06 18:33:11 +10:00
Supreet Deshpande
0a52f2db50 Fixes logging issue hindering compilation on anti rollback. 2020-03-31 11:19:27 +05:30
Angus Gratton
62426a6c90 Merge branch 'refactor/use_new_component_registration_functions' into 'master'
CMake: Use new component registration function

See merge request espressif/esp-idf!8068
2020-03-25 08:02:42 +08:00
Renz Bagaporo
3d0967a58a test: declare requirements and include dirs private 2020-03-23 10:58:50 +08:00
Ivan Grokhotkov
a5bf40b495 efuse: don't include esp_efuse_utility_debug_dump_blocks in bootloader 2020-03-20 12:31:10 +01:00
KonstantinKondrashov
912028273d efuse: Using IDF_ENV_FPGA in UTs 2020-03-11 18:22:07 +08:00
KonstantinKondrashov
4c5d26085f efuse/esp32s2: Fix get_coding_scheme() when CONFIG_SECURE_FLASH_ENC_ENABLED and LOG_LEVEL is Debug 2020-03-11 18:22:07 +08:00
KonstantinKondrashov
ae90d5f39f efuse/esp32: Fix get_coding_scheme() when CONFIG_SECURE_FLASH_ENC_ENABLED and LOG_LEVEL is Debug
Closes: https://github.com/espressif/esp-idf/issues/4862
2020-03-11 18:22:07 +08:00
KonstantinKondrashov
146c788bd4 (S2) efuse: Using a ROM function for set_timing
Closes: IDF-990
2020-02-18 01:10:57 +00:00
morris
e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
morris
1c2cc5430e global: bring up esp32s2(not beta) 2020-01-16 17:41:31 +08:00
michael
4220752aed ut: Move tests back from "esp32" subfolder
DISABLED_FOR_TARGETS macros are used

Partly revert "ci: disable unavailable tests for esp32s2beta"

This partly reverts commit 76a3a5fb48.

Partly revert "ci: disable UTs for esp32s2beta without runners"

This partly reverts commit eb158e9a22.

Partly revert "fix unit test and examples for s2beta"

This partly reverts commit 9baa7826be.

Partly revert "efuse: Add support for esp32s2beta"

This partly reverts commit db84ba868c.
2020-01-06 17:13:53 +08:00
morris
01ca687caa esp32s2beta: only support unicore 2019-12-09 09:48:37 +08:00
KonstantinKondrashov
cf762d91c2 efuse: Add the batch writing mode
This mode should be used when burning several efuses at one time.
2019-10-30 15:43:40 +08:00
Ivan Grokhotkov
5830f529d8 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-02 19:01:39 +02:00
suda-morris
cbab3c34f8 bootloader: shrink bin size
1. write a bootloader version of "getting chip revision" function.
2. reduce wordy log.
2019-09-27 10:58:30 +08:00
Roland Dobai
833822c10b Fix Kconfig issues discovered by upstream Kconfiglib 2019-09-23 16:10:57 +02:00
KonstantinKondrashov
db84ba868c efuse: Add support for esp32s2beta
Updated:
- CI test_esp32s2beta_efuse_table_on_host.
- efuse_table_gen.py.
- esp_efuse_table.csv file and generated headers files.
- splitted esp32 and esp32s2beta parts.
- unit tests and api efuse.
2019-09-20 16:59:46 +10:00
Michael (XIAO Xufeng)
9baa7826be fix unit test and examples for s2beta 2019-09-04 10:53:25 +10:00
Angus Gratton
6990a7cd54 Merge branch 'master' into feature/esp32s2beta_update 2019-08-19 15:03:43 +10:00
suda-morris
f86e82cb63 efuse: update the scheme of getting chip revision 2019-08-13 10:59:02 +08:00
Jiang Jiang Jian
2b71eff25f Merge branch 'bugfix/efuse_write_config' into 'master'
efuse: set timing configuration before writing

See merge request espressif/esp-idf!4750
2019-08-09 14:25:45 +08:00
Angus Gratton
04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Anton Maklakov
afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
Ivan Grokhotkov
8cd04c80f6 efuse: set timing configuration before writing 2019-07-18 15:08:56 +10:00
KonstantinKondrashov
09ee721932 efuse: Fix mode EFUSE_SECURE_VERSION_EMULATE 2019-07-04 13:34:35 +00:00
Hemal Gujarathi
a68c7c21e1 Improve flash encryption documentation and add Development & Release modes
This MR improves existing flash encryption document to provide simplified steps
Adds two new modes for user: Development & Release
Adds a simple example
Supports encrypted write through make command
2019-06-25 23:41:18 +00:00
Renz Christian Bagaporo
9b350f9ecc cmake: some formatting fixes
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY
variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
9eccd7c082 components: use new component registration api 2019-06-21 19:53:29 +08:00
suda-morris
84b2f9f14d build and link hello-world for esp32s2beta 2019-06-11 13:07:37 +08:00
suda-morris
61ce868396 make bootloader_support support esp32s2beta 2019-06-11 13:07:02 +08:00
Konstantin Kondrashov
399d2d2605 all: Using xxx_periph.h
Using xxx_periph.h in whole IDF instead of xxx_reg.h, xxx_struct.h, xxx_channel.h ... .

Cleaned up header files from unnecessary headers (releated to soc/... headers).
2019-06-03 14:15:08 +08:00
Roland Dobai
1ad2283641 Rename Kconfig options (components/bootloader) 2019-05-21 09:32:55 +02:00
Angus Gratton
907471ce41 Merge branch 'feature/cmake_changes_for_4.0' into 'master'
CMake for 4.0

See merge request idf/esp-idf!4452
2019-05-17 14:21:48 +08:00
Renz Christian Bagaporo
ffec9d4947 components: update with build system changes 2019-05-13 19:59:17 +08:00
V.Dudnik
7822484aaa efuse: Fix unused variable warning when NDEBUG
Merges: https://github.com/espressif/esp-idf/pull/3429
Closes: https://github.com/espressif/esp-idf/issues/3432
2019-05-08 09:14:24 +08:00
Michael (XIAO Xufeng)
562af8f65e global: move the soc component out of the common list
This MR removes the common dependency from every IDF components to the SOC component.

Currently, in the ``idf_functions.cmake`` script, we include the header path of SOC component by default for all components.
But for better code organization (or maybe also benifits to the compiling speed), we may remove the dependency to SOC components for most components except the driver and kernel related components.

In CMAKE, we have two kinds of header visibilities (set by include path visibility):

(Assume component A --(depends on)--> B, B is the current component)

1. public (``COMPONENT_ADD_INCLUDEDIRS``): means this path is visible to other depending components (A) (visible to A and B)
2. private (``COMPONENT_PRIV_INCLUDEDIRS``): means this path is only visible to source files inside the component (visible to B only)

and we have two kinds of depending ways:

(Assume component A --(depends on)--> B --(depends on)--> C, B is the current component)

1. public (```COMPONENT_REQUIRES```): means B can access to public include path of C. All other components rely on you (A) will also be available for the public headers. (visible to A, B)
2. private (``COMPONENT_PRIV_REQUIRES``): means B can access to public include path of C, but don't propagate this relation to other components (A). (visible to B)

1. remove the common requirement in ``idf_functions.cmake``, this makes the SOC components invisible to all other components by default.
2. if a component (for example, DRIVER) really needs the dependency to SOC, add a private dependency to SOC for it.
3. some other components that don't really depends on the SOC may still meet some errors saying "can't find header soc/...", this is because it's depended component (DRIVER) incorrectly include the header of SOC in its public headers. Moving all this kind of #include into source files, or private headers
4. Fix the include requirements for some file which miss sufficient #include directives. (Previously they include some headers by the long long long header include link)

This is a breaking change. Previous code may depends on the long include chain.
You may need to include the following headers for some files after this commit:

- soc/soc.h
- soc/soc_memory_layout.h
- driver/gpio.h
- esp_sleep.h

The major broken include chain includes:

1. esp_system.h no longer includes esp_sleep.h. The latter includes driver/gpio.h and driver/touch_pad.h.
2. ets_sys.h no longer includes soc/soc.h
3. freertos/portmacro.h no longer includes soc/soc_memory_layout.h

some peripheral headers no longer includes their hw related headers, e.g. rom/gpio.h no longer includes soc/gpio_pins.h and soc/gpio_reg.h

BREAKING CHANGE
2019-04-16 13:21:15 +08:00
GOPTIONS\pfrost
0e69a7efc2 efuse: Fix excess data coming from uninitialized variable
Fixed esp_efuse_get_pkg_ver() function

Closes: https://github.com/espressif/esp-idf/pull/3309
Closes: IDFGH-976
2019-04-15 12:32:26 +00:00
Angus Gratton
4b4cd7fb51 efuse/flash encryption: Reduce FLASH_CRYPT_CNT to a 7 bit efuse field
8th bit is not used by hardware.

As reported https://esp32.com/viewtopic.php?f=2&t=7800&p=40895#p40894
2019-04-03 14:07:20 +11:00
morris
c159984264 separate rom from esp32 component to esp_rom
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2019-03-21 18:51:45 +08:00
Angus Gratton
af1ea9b1b9 efuse: When Virtual eFuses are enabled, seed the virtual values as part of startup code 2019-03-11 15:20:40 +11:00
Konstantin Kondrashov
509e1264b9 efuse: Fix to pass CI tests 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
c9cd06c886 efuse: Reduce the size of esp_efuse_desc_t to 4 bytes 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
1d7b901aeb efuse: Add MAX_BLK_LEN define for changing len of field
Added docs, improved efuse_table_gen.py, and minor fixes

Checking the generated files for compliance with the coding scheme.
2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
95b6273c7c efuse: Fix docs and script 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
cc094ba789 efuse: Fix python coding style
Set python's scripts attribute chmod
Add compatibility with Python3 for efuse_table_gen.py
2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
303d17792a efuse: Add a write/read protection 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
b8141f3ad8 efuse: Fix make/cmake build systems and docs 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
9822055851 efuse: Add support coding scheme to script
Added support using BLK1 and BLK2 in custom table.
Added change size key in BLK1 and BLK2 if coding scheme was changed.
2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
693a5c209b efuse: Add API efuse
Added support 3/4 coding scheme
2019-02-28 07:31:29 +00:00