Wykres commitów

84 Commity (b684730da29d9261fa31798c6f1f7becf19840ee)

Autor SHA1 Wiadomość Data
laokaiyao 4ab8f00b47 ci: setup 26mhz esp32c2 runner 2022-07-29 17:10:34 +08:00
morris d94432fea8 systimer: refactor hal to accomodate more xtal choices 2022-07-25 16:08:52 +08:00
Jakob Hasse 1f75fc0aa1 bugfix (esp_timer): made os spinlock static 2022-07-19 15:35:32 +08:00
Ivan Grokhotkov bb771fb7c4
esp_timer: perform initialization using ESP_SYSTEM_INIT_FN
(startup.c still calls esp_timer_early_init directly)
2022-07-12 16:58:15 +02:00
Ivan Grokhotkov 5b54ae76d4 esp_timer, hal: add support for non-integer systimer frequency
When ESP32-C2 is paired with a 26 MHz XTAL, the systimer tick
frequency becomes equal to 26 / 2.5 = 10.4 MHz. Previously we always
assumed that systimer tick frequency is integer (and 1 MHz * power of
two, above that!).
This commit introduces a new LL macro, SYSTIMER_LL_TICKS_PER_US_DIV.
It should be set in such a way that:

1. SYSTIMER_LL_TICKS_PER_US / SYSTIMER_LL_TICKS_PER_US_DIV equals the
   actual systimer tick frequency,
2. and SYSTIMER_LL_TICKS_PER_US is integer.

For ESP32-C2 this means that SYSTIMER_LL_TICKS_PER_US = 52 and
SYSTIMER_LL_TICKS_PER_US_DIV = 5.

This introduced two possible issues:

1. Overflow when multiplying systimer counter by 5
   - Should not be an issue, since systimer counter is 52-bit, so
     counter * 5 is no more than 55-bit.
2. The code needs to perform:
   - divide by 5: when converting from microseconds to ticks
   - divide by 52: when converting from ticks to microseconds
   The latter potentially introduces a performance issue for the
   esp_timer_get_time function.
2022-07-11 12:24:37 +08:00
Cao Sen Miao a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
jingli 30e7af2ffb system/sleep: simplify code for time compensation when wakeup from light sleep 2022-06-14 14:49:26 +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
KonstantinKondrashov ac4c7d99fe dport: Move DPORT workaround to G0 2022-05-31 13:44:18 +08:00
Marius Vikhammer cf1b222cac build system: removed target component
After refactoring the target components (e.g. esp32) no longer contained any real functionality.
What remained in these components have been moved elsewhere and the component itself deleted from the
build system.
2022-05-24 09:12:59 +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
Anton Maklakov bbe2bb9994 components: correct abs() use for 64-bit argument 2022-04-21 12:22:15 +07:00
songruo 60bb5c913d clk_tree: prework of introducing clk subsystem control
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
   upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
   Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08:00
Marius Vikhammer a6543f0d21 docs: fix broken references to misc API functions and types. 2022-03-27 16:46:57 +08:00
Laukik Hase c5decf291e ci: Fix for `ETSTimers arm & disarm run from IRAM` UT
- For ESP32 | SPIRAM_MALLOC_ALWAYSINTERNAL=0
- Forced `esp_timer_create` to allocate resource from the internal memory
- WiFi/BT coexistence will sometimes arm/disarm timers from an ISR
  where flash may be disabled. This can lead to a cache-based
  exception as the timer instance will be located in the PSRAM.
2022-03-10 05:01:17 +00:00
Sudeep Mohanty a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Marius Vikhammer edb76f14d6 esp_timer: remove legacy ESP32 FRC timer implementation. 2022-02-10 15:17:49 +08:00
Anton Maklakov 3a04b712fa Merge branch 'bugfix/fix_abs_using' into 'master'
build: fix abs() use

See merge request espressif/esp-idf!16952
2022-02-10 05:18:32 +00:00
morris ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Anton Maklakov 8bb06df68f components: correct abs() use for unsigned and 64-bit arguments 2022-01-29 12:07:16 +07:00
laokaiyao cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08: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
Cao Sen Miao eddc196081 esp_clk: refactor target/clk.h to private/esp_clk.h 2021-11-26 14:56:30 +08:00
morris 2e008825a9 Merge branch 'feat/rm_makefiles' into 'master'
Build & config: Remove leftover files from the unsupported make build system

Closes IDF-4273 and IDF-2827

See merge request espressif/esp-idf!15829
2021-11-16 03:44:41 +00:00
Roland Dobai 766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Sudeep Mohanty 5806e57773 esp_timer: Added esp_timer_get_period/expiry_time APIs
Added the following new APIs to the esp_timer module:
- esp_timer_get_period(): Returns the period of a timer in microseconds.
- esp_timer_get_expiry_time(): Returns the timeout value of a one-shot timer in microseconds.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-11-11 15:13:05 +05:30
morris 16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Cao Sen Miao 5add6593f4 ESP8684: Add esp_gdbstub, mbedtls, esp_timer 2021-11-06 17:33:45 +08:00
Cao Sen Miao b0123199da esp_timer: init rtc timer and system timer in early init 2021-10-26 19:07:34 +08:00
Ivan Grokhotkov 249abb3fe8 esp_timer: allow querying the timer before esp_timer_init is called 2021-10-26 19:07:34 +08:00
Andrei Safronov 9159aa58d3 tests: refactoring of the gcc's inner functions, because clang doesn't support them 2021-09-10 19:51:27 +03:00
Konstantin Kondrashov 29f581fc70 freertos(esp32s3): SysTick uses systimer 2021-08-04 20:33:44 +08:00
Jiang Jiang Jian 97507ebe49 Merge branch 'feature/support_esp32s3_lightsleep' into 'master'
support esp32s3 normal lightsleep

See merge request espressif/esp-idf!14369
2021-07-28 15:09:37 +00:00
Li Shuai 3c30099327 light sleep: add esp_timer light sleep test case 2021-07-28 15:44:02 +08:00
KonstantinKondrashov c19b37d2a9 esp_system: Adds sync of FRC & RTC counters in esp_restart
In case when FRC and RTC counters are very different then
the need to sync them before to restart the ESP
to get the correct system time after reboot.
2021-07-21 10:23:24 +05:00
Shu Chen 6fce2930d0 esp32h2: enable more components to support esp32h2
Involved components:
 * app_trace
 * esp-tls
 * esp_adc_cal
 * esp_pm
 * esp_serial_slave_link
 * esp_timer
 * freertos
 * idf_test
 * log
 * mbedtls
 * newlib
 * perfmon
 * spi_flash
 * spiffs
 * ulp
 * unity
 * vfs
2021-07-01 19:53:11 +08:00
Rahul Tank 3159ba1d5a Add esp_timer_is_active function for Nimble stack to use esp_timer instead of FreeRTOS timer 2021-06-30 10:06:40 +05:30
KonstantinKondrashov f9ad16bb66 esp_timer: Timers with skip_unhandled_events option won't wake up system from light sleep 2021-06-19 12:45:17 +08:00
morris 988c88a6b1 systimer: optimise esp_timer_get_time 2021-04-26 11:54:02 +08:00
morris ec898b771e systimer: strip hal driver 2021-04-22 21:08:39 +08:00
Marius Vikhammer b4d2fb56a0 ci: enable previously disabled unit tests 2021-03-29 18:36:41 +08:00
Renz Bagaporo d7e9567c00 esp_system, esp_timer: fix time function description 2021-03-25 15:47:19 +08:00
Renz Bagaporo 74de5a7c58 esp_timer: correct startup time 2021-03-25 15:38:27 +08:00
Marius Vikhammer 91439e3818 docs: updated system api-reference chapters for C3 2021-03-15 18:51:12 +08:00
KonstantinKondrashov 7bbf4a3422 esp_timer: Fix Test ESP_TIMER_ISR dispatch method is not blocked 2021-02-24 16:08:17 +08:00
Angus Gratton fb1488abba Merge branch 'feature/esp_timer_isr_dispatch_method_restore' into 'master'
esp timer: Add ISR dispatch method

Closes IDF-1172 and IDF-1173

See merge request espressif/esp-idf!11572
2021-02-23 06:21:14 +00:00
Marius Vikhammer 451465ff8c esp_timer: fix "esp_timer orders timers correctly" headerline handling
Discard header lines from esp_timer_dump that comes before the actual timer
info. "esp_timer orders timers correctly" would crash when reading the header lines.
2021-02-18 11:59:42 +08:00
Sachin Parekh 296d10e675 esp_timer: Label each column of timer dump 2021-02-11 18:40:51 +05:30
KonstantinKondrashov 63d4911cdb esp_timer: Add ESP_TIMER_ISR dispatch method
Using own spinlock for each list (TASK and ISR disp method)
Reduced the dependency of ISR on the TASK dispatch method
2021-02-08 19:10:11 +08:00
KonstantinKondrashov bcbee89030 esp_timer: Add a Kconfig option to configure the interrupt level 2021-02-08 18:27:10 +08:00