Commit Graph

336 Commits

Author SHA1 Message Date
Marius Vikhammer
564d777018 Merge branch 'feature/lp_core_40_mhz' into 'master'
feat(system): support choosing xtal as rtc-fast clock src on P4 and C5

Closes IDF-10203

See merge request espressif/esp-idf!32450
2024-09-20 10:57:15 +08:00
Marius Vikhammer
00eb97725b feat(system): support choosing xtal as rtc-fast clock src on P4 and C5
With xtal as rtc-fast clock source the LP-Core can run at twice the default
clock frequency. 40 MHz as opposed to 20 MHz.
2024-09-19 17:30:44 +08:00
Sudeep Mohanty
3c65f1b654 fix(lp_uart): Added lp_uart flush feature
This commit adds the lp_core_uart_flush() API to flush the LP UART Tx
FIFO. This API is automatically called once the program returns from the
main function().

Closes https://github.com/espressif/esp-idf/issues/14530
2024-09-19 09:36:04 +02:00
Wu Zheng Hui
6abe40e590 Merge branch 'feature/optimize_esp32p4_active_power_eco1' into 'master'
feat(system): Optimize esp32p4 active state  power consumption

Closes PM-103 and IDF-7688

See merge request espressif/esp-idf!32950
2024-09-11 23:15:29 +08:00
wuzhenghui
c41d432397
fix(ulp): fix uart driver delete order in lp uart test case 2024-09-11 10:53:00 +08:00
wuzhenghui
05e74480f5
feat(esp_system): gate some clock by default to optmize esp32p4 active power 2024-09-11 10:53:00 +08:00
Sudeep Mohanty
594880dae4 test(lp_adc): Added LP Core unit tests for testing LP ADC
Added a unit test to verify that LP ADC1 works and can be read from the
LP Core.
2024-09-10 08:45:11 +02:00
Sudeep Mohanty
1e5efd7fa7 feat(lp_adc): Added support to read LP ADC from the LP core
This commit adds APIs to initialize and configure the LP ADC from the HP
core and also adds APIs to read the raw and converted ADC values from the LP core.
2024-09-10 08:45:11 +02:00
Alexey Gerenkov
625c437412 feat(ulp): Add LP core debugging support 2024-09-03 18:28:14 +03:00
Xiaoyu Liu
b853ed7aff fix(ulp): remove redefinition and unify gpio enum in ulp 2024-08-27 10:56:37 +08:00
Marius Vikhammer
5b85871151 fix(ulp): fixed ulp apps not compiling on windows 2024-08-20 13:04:46 +08:00
Sudeep Mohanty
cbb2c4be60 Merge branch 'contrib/github_pr_14329' into 'master'
fix(ulp): Add the missing extern "C" guard to ulp_lp_core_print.h (GitHub PR)

Closes IDFGH-13423

See merge request espressif/esp-idf!32689
2024-08-14 05:06:02 +08:00
Marius Vikhammer
fe5b8bb445 fix(ulp): fixed that the .elf ext was not set by default for custom cmake proj 2024-08-12 10:31:24 +08:00
andylinpersonal
0dbb6d94ec fix(ulp): Add the missing extern "C" guard to ulp_lp_core_print.h
This commit adds the missing extern `C` guards the ulp_lp_core_print.h
header file.

Closes https://github.com/espressif/esp-idf/pull/14329
2024-08-08 23:23:08 +08:00
Xiaoyu Liu
1216dd1abd change(ulp): bu lp i2c on esp32c5 2024-08-01 14:48:31 +08:00
Marius Vikhammer
41dd1a351b Merge branch 'feat/cmake_plugin_ulp' into 'master'
Some checks failed
docker / docker (push) Has been cancelled
feat(lp-core): allow custom cmake for ULP project

Closes IDF-10551

See merge request espressif/esp-idf!31919
2024-07-31 09:31:57 +08:00
Marius Vikhammer
b6208df463 feat(lp-core): allow custom cmakefile project file for ULP project 2024-07-30 12:30:54 +08:00
Marius Vikhammer
b825aa9f95 change(lp_core): changed wakeup time calc to use a precomputed tick value
Previously we would calculate the wakeup ticks upon every wakeup using the lp-timer clock frequency,
but this caused the binary to pull in software division functions, increasing the binary size.

This value is now precalculated by the hp-core when we configure the ULP. This saves about 1k bytes.
2024-07-23 14:14:20 +08:00
Marius Vikhammer
692eb01fe1 fix(lp-core): fixed ULP shared mem address being wrong on P4 2024-07-23 14:12:18 +08:00
Marius Vikhammer
d70383422b feat(lp-core): add reduced footprint print functions 2024-07-19 09:48:20 +08:00
Marius Vikhammer
92bf402911 Merge branch 'feature/ulp_hp_core_printf_debug' into 'master'
feat(ulp): add option for routing LP-printf to HP console

See merge request espressif/esp-idf!32166
2024-07-18 16:03:27 +08:00
Marius Vikhammer
74a04c140c feat(ulp): add option for routing LP-printf to HP console 2024-07-17 17:16:40 +08:00
Marius Vikhammer
9b387caf19 fix(etm): add ulp etm ll functions 2024-07-16 10:04:18 +08:00
Marius Vikhammer
4ec9a8412d feat(ulp): include sdkconfig macros in cmake build 2024-07-15 16:16:08 +08:00
Sudeep Mohanty
945a593de2 fix(lp-i2c): Fixed the generation of spurious I2C start with lp-i2c
This commit fixes an issue with LP I2C and RTC I2C where in the
peripherals generated a spurious I2C start condition when initialized.
This caused some sensors to not respond properly to the following read
or write request.

Closes https://github.com/espressif/esp-idf/issues/14043
Closes https://github.com/espressif/esp-idf/issues/11608
2024-07-11 12:37:04 +02:00
Liu Xiao Yu
ea5a48836d Merge branch 'change/bu_lp_console_c5' into 'master'
change(lp_uart): Enable low-power UART functionality of ULP core on ESP32C5

Closes IDF-8633

See merge request espressif/esp-idf!31922
2024-07-09 15:54:00 +08:00
Xiaoyu Liu
66f7731bd8 change(lp_uart): Enable SOC_ULP_LP_UART_SUPPORTED on ESP32C5 2024-07-08 16:10:39 +08:00
Marius Vikhammer
d1132ddfa2 Merge branch 'feature/lp_core_etm' into 'master'
feat(lp-core): added support for using ETM events as wake-up source

Closes IDF-10201 and IDF-6360

See merge request espressif/esp-idf!31810
2024-07-08 12:23:03 +08:00
Marius Vikhammer
de2a66ebe0 feat(lp-core): added support for using ETM events as wake-up source 2024-07-08 11:04:34 +08:00
Marius Vikhammer
41d39a419f fix(pmp): fixed alignment of PMP addr for RTC mem on C5
Also refactored it for C6/H2/C61 to keep the approach consistent between targets
2024-07-04 16:24:46 +08:00
laokaiyao
cb22b8aaf7 ci(esp32c5): enable c5 target test 2024-07-02 16:45:49 +08:00
Marius Vikhammer
4c62b82180 docs(ulp): fix doxygen comment formatting 2024-06-27 16:17:05 +08:00
Sudeep Mohanty
70a0b4a1bf test: Added LP core unit tests for LP SPI
This commit adds tests for LP SPI master and LP SPI slave devices.
2024-06-26 13:43:55 +02:00
Sudeep Mohanty
6e85d744a8 feat(lp-spi): Added support for LP SPI driver to the LP Core on esp32p4
This commit adds LP SPI master and LP SPI slave support for the LP Core
on the esp32p4.
2024-06-26 13:43:55 +02:00
Sudeep Mohanty
c3888541f1 fix(ulp-risc-v): Fixed RTC I2C multi-byte read/write issue for ULP RISC-V
This commit fixes an issue where multi-byte reads and writes over the
RTC I2C peripheral got stuck on the esp32s2 and esp32s3.

Closes https://github.com/espressif/esp-idf/issues/12235
2024-06-24 09:17:59 +02:00
Sudeep Mohanty
e5d9d1dd60 Merge branch 'contrib/github_pr_14010' into 'master'
fix(ulp): Write pin's output mode to the correct register (GitHub PR)

Closes IDFGH-13065

See merge request espressif/esp-idf!31581
2024-06-19 14:57:40 +08:00
Marius Vikhammer
aae3aa5e5f feat(lp-core): bringup lp-core for C5 MP
LP-Core is now able to boot and run on C5 MP chip.
2024-06-19 09:18:47 +08:00
LonerDan
37fad48e1f fix(ulp-risc-v): Set RTC GPIO output mode in the correct register for ULP RISC-V
According to the ESP32-S2/S3 TRM, the output pin's mode is set in the RTC_GPIO_PINn_REG
by programming the RTC_GPIO_PINn_PAD_DRIVER bit. The current ULP RISC-V RTCIO driver
however, incorrectly programs the RTC_IO_TOUCH_PADn_REG register field RTC_IO_TOUCH_PADn_DRV.
This commit fixes the bug.
2024-06-18 14:33:13 +02:00
andylinpersonal
700f9b7e90 feat(ulp): Generate compile_commands.json for ulp targets
This commit adds the generation of the compile_command.json file for ULP
and LP core apps.

Merges https://github.com/espressif/esp-idf/pull/13926
2024-06-12 10:17:16 +02:00
wuzhenghui
cca222948a
fix(esp_driver_gpio): manage lp_io module clock by driver
Closes https://github.com/espressif/esp-idf/issues/13683
2024-06-05 17:56:37 +08:00
Marius Vikhammer
13e5b6f335 Merge branch 'feature/lp_core_pcnt' into 'master'
feat(ulp): add pulse counter example for lp core

Closes IDF-9137

See merge request espressif/esp-idf!31163
2024-06-03 12:33:50 +08:00
Marius Vikhammer
7495f3bf28 feat(ulp): add pulse counter example for lp core 2024-05-30 14:30:00 +08:00
Marius Vikhammer
de77d04358 feat(ulp): add lp core panic handler 2024-05-28 14:42:59 +08:00
Sudeep Mohanty
3fd3c37507 Merge branch 'fix/fix_flaky_lp_uart_tests' into 'master'
Fixed unstable LP UART tests and added new tests

Closes IDFCI-2137

See merge request espressif/esp-idf!30524
2024-05-27 14:39:14 +08:00
Marius Vikhammer
7a89223aed fix(lp_core_test): fixed race-condition in lp core tests 2024-05-15 10:50:23 +08:00
Marius Vikhammer
76b7d12329 Merge branch 'feature/lp_core_interrupts' into 'master'
feat(ulp): support interrupts for C6/P4 LP core

Closes IDFGH-11986 and IDF-7200

See merge request espressif/esp-idf!30399
2024-04-29 14:36:54 +08:00
Marius Vikhammer
c5a513cf49 feat(ulp): support interrupts for C6/P4 LP core
Closes https://github.com/espressif/esp-idf/issues/13059
2024-04-28 17:03:23 +08:00
Sudeep Mohanty
3cbe88427e test(lp-core): Added unit test for lp_core_printf
This commit adds a unit test for the lp_core_printf API.
2024-04-26 16:56:48 +02:00
Sudeep Mohanty
be8a0568c5 test(lp-core): Fixed unstable LP UART tests
This commit fixes some flaky LP UART unit tests.
2024-04-26 14:32:16 +02:00
Sudeep Mohanty
df7e51fb8d feat(lp-uart): Added unit tests for LP UART when used from LP Core
This commit adds unit tests for the LP UART peripheral.
2024-04-22 18:34:48 +02:00