Alexey Gerenkov
625c437412
feat(ulp): Add LP core debugging support
2024-09-03 18:28:14 +03: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
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
74a04c140c
feat(ulp): add option for routing LP-printf to HP console
2024-07-17 17:16:40 +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
de2a66ebe0
feat(lp-core): added support for using ETM events as wake-up source
2024-07-08 11:04:34 +08:00
Marius Vikhammer
4c62b82180
docs(ulp): fix doxygen comment formatting
2024-06-27 16:17:05 +08: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
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
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
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
Marius Vikhammer
1fa59c442b
fix(ulp): fixed lp-core not booting during sleep
...
LP core was unable to boot when system was in deepsleep.
This was due to lp uart init in LP rom using XTAL as clk source,
which is normally powered down during sleep.
This would cause lp uart to get stuck while printing ROM output,
and the app would never boot.
Also fixed wrong wakeup cause used by HP core for ULP wake up
2024-04-18 11:36:30 +08:00
Marius Vikhammer
4533f16c34
fix(rtc_memory): fix conflict between LP-ROM and RTC reserved
2024-04-17 13:37:56 +08:00
Sudeep Mohanty
5228dc348b
feat(lp_i2c): Added LP I2C support on the esp32p4
...
This commit adds support for the LP I2C peripheral to be used from the
LP core on the esp32p4.
2024-03-26 08:31:54 +01:00
Marius Vikhammer
4700f709ca
Merge branch 'feature/c5_ulp' into 'master'
...
feat(ulp): add basic support for running lp core on C5
Closes IDF-8637
See merge request espressif/esp-idf!29496
2024-03-19 11:33:51 +08:00
Wu Zheng Hui
ba4b493df8
Merge branch 'fix/lp_core_uart_clk_init' into 'master'
...
fix(lp_uart): Fixed LP UART bus clock initialization flow
See merge request espressif/esp-idf!29680
2024-03-18 10:21:42 +08:00
Sudeep Mohanty
6d73dda897
fix(lp_uart): Fixed LP UART bus clock initialization flow
...
This MR updates the LP UART bus clock initialization flow to avoid
a lock up when accessing the LP UART peripheral.
2024-03-15 09:28:35 +01:00
Sudeep Mohanty
b90a279587
feat(lp-core): Added ability to print from LP ROM on the LP core
...
This commit adds the ability to use LP ROM functions from the LP core.
This allows the LP core code to utilize standard functions such as those
for printing from the LP ROM and therefore help reduce the code size on
the LP core.
2024-03-14 18:45:02 +01:00
Sudeep Mohanty
26fd843376
feat(lp_core): Added support for LP UART on LP core for esp32p4
...
This commit enables LP UART support for the LP core on the esp32p4.
2024-03-14 18:45:02 +01:00
Marius Vikhammer
a32fb07e7b
feat(ulp): add basic support for running lp core on C5
2024-03-13 17:37:29 +08:00
Omar Chebib
5a32ca10ad
feat(lp_core): add a public function to get the timer cycle count
...
Closes https://github.com/espressif/esp-idf/issues/13101
2024-02-09 16:50:02 +08:00
Marius Vikhammer
dff1e5df88
feat(lp_core): add support for lp timer and lp gpio on P4
2024-02-06 09:41:20 +08:00
Sudeep Mohanty
df00205db3
Merge branch 'bugfix_lp_i2c_not_in_od_mode' into 'master'
...
fix(lp_i2c): Fixed an issue where the LP_I2C IO lines were not in open-drain mode
Closes IDFGH-11883
See merge request espressif/esp-idf!28739
2024-01-29 16:47:07 +08:00
Song Ruo Jing
10b41d7a24
Merge branch 'refactor/soc_rtc_h_file' into 'master'
...
refactor(rtc): move soc/rtc.h from soc to esp_hw_support component
Closes IDF-8941
See merge request espressif/esp-idf!28238
2024-01-26 20:20:20 +08:00
Sudeep Mohanty
36ac4631ae
fix(lp_i2c): Fixed an issue where the LP_I2C IO lines were not in open-drain mode
...
This commit fixes an issue where in the LP I2C IO lines were not
initialized in open-drain mode.
Closes https://github.com/espressif/esp-idf/issues/12969
2024-01-26 11:25:25 +01:00
Song Ruo Jing
cf93777077
refactor(rtc): move soc/rtc.h from soc to esp_hw_support component
...
Deprecated rtc_xtal_freq_t, replaced with soc_xtal_freq_t defined in
clk_tree_defs.h in soc component.
2024-01-25 19:15:33 +08:00
Marius Vikhammer
1bcfde4e7f
fix(ulp): enable astyle linter and format ULP component
2024-01-22 11:43:38 +08:00
wuzhenghui
a967a207c9
feat(ulp): add api to get lp_cpu wakeup cause and clear wakeup source at startup
...
Closes https://github.com/espressif/esp-idf/issues/12651
2023-12-18 11:29:53 +08:00
Marius Vikhammer
0c067fcb05
feat(ulp/lp_core): Added basic support for building and running a LP-Core app on ESP32P4
2023-11-29 10:50:40 +08:00
Marius Vikhammer
d293ad94bd
feat(pm): removed dependency on driver component
2023-11-13 15:49:12 +08:00
Marius Vikhammer
789a8b3446
docs(ulp): add info about lp-uart to lp-core docs
2023-10-23 12:11:34 +08:00
gaoxu
bc2a6bd730
feat(uart): spilt LP and HP uart set_baudrate function
2023-10-08 10:10:02 +08:00
gaoxu
3e3e928209
feat(uart): move periph_ll_uart_enabled to uart_ll.h
2023-10-08 10:10:02 +08:00
gaoxu
4541ad134d
feat(uart): add RCC atomic block to uart/lp-uart peripheral
2023-10-08 10:10:02 +08:00
Song Ruo Jing
2d458a3f93
feat(lp_io): Add support for ESP32P4
2023-09-20 19:39:41 +08:00
morris
4a45479336
refactor(lp_periph): move enable and reset control to LL driver
2023-08-28 05:17:56 +00:00
Cao Sen Miao
262dac9c4d
change(ulp): change some hal(ll) function name to new ones
2023-08-10 11:55:54 +08:00
Sudeep Mohanty
00955f7e59
fix(lp_i2c): Fixed a bug where the LP_I2C did not send NACK for 16-byte reads
...
This commit updates the LP_I2C driver used by the LP CPU wherein the
driver did not send out a NACK when we do a read of multiple of the FIFO
depth bytes. This was because the LP I2C controller was configured to
send an ACK when the Rx FIFO reaches the threshold instead of a NACK.
This commit updates the behavior.
2023-08-08 06:35:15 +00:00
Sudeep Mohanty
5b46ef3cdd
fix(lp_i2c): Fixed a bug where LP I2C write got stuck
...
This commit fixes a bug where an I2C write got stuck when using the
lp_core_i2c_master_write_read_device() API. This was because the LP I2C
HW was not programmed with an END condition and therefore did not know
the end of a transaction.
Closes: https://github.com/espressif/esp-idf/issues/11958
2023-08-08 06:35:15 +00:00
Sudeep Mohanty
4464599dad
fix(lp_i2c): Fixed incorrect clock setting for LP_I2C
...
The LP_I2C clock setting was incorrect and a lower frequency value was
being set during initialization. This commit fixes the behavior.
2023-08-08 06:35:15 +00:00
Sudeep Mohanty
f6df189437
fix(lp-core): Added missing return statement to lp_core_printf()
2023-07-03 11:01:17 +02:00
Sudeep Mohanty
38c1759fb4
lp-core-uart: Added support for printf to the LP core
...
This commit adds a minimal logging driver for the LP core. The logging
driver provides a printf function which is built on top of the LP UART
driver. The commit also adds an example to demonstrate how to use print
statements in an LP core program.
2023-06-21 11:16:13 +02:00