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
laokaiyao
fc000cd7b7
ci(doc): enable doc build for esp32c5
2024-04-18 19:39:29 +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
Marek Fiala
f2b75d81b3
fix(system): fix idf.py build ulp examples containing spaces in path on Win
2024-04-09 14:00:34 +02:00
Alexey Lapshin
4879bac36c
feat(ulp): use --mcpu=esp32s3 for esp32s3
2024-04-04 16:12:39 +08:00
Marius Vikhammer
cbc632bd04
fix(lp_core): fix kconfig not allowing using all of LP mem for P4 lp core
2024-03-28 16:39:16 +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
Dr. Michael Lauer
08dead4b31
feat(ulp-riscv): Add convenience print function that supports different widths
...
This commit adds a convenience function to print hex numbers of
different widths on the ULP RISC-V core.
Closes https://github.com/espressif/esp-idf/pull/13180
2024-03-19 09:41:05 +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
Sudeep Mohanty
1c015a3f0d
feat(ulp-riscv): Added unit test for RTC I2C
...
This commit adds a unit-test for RTC I2C operation on the ULP RISC-V.
2024-02-21 11:46:19 +01:00
Sudeep Mohanty
993c8d4f0e
fix(ulp-riscv): Wrapped all RTC I2C and UART operations in critical sections
...
This commit adds a workaround for a bug where the RTC I2C operations
result in a Bus Error when interrupts are enabled. The commit also adds
a critical section protection for UART print operations.
2024-02-21 11:45:06 +01:00
Sudeep Mohanty
d352ec615a
feat(ulp-riscv): Added utility functions for atomicity
...
This commit adds utility functions to enter and exit critical sections
in the code flow by disabling and enabling interrupts.
2024-02-21 11:45:06 +01:00
Sudeep Mohanty
bc74cf808d
feat(ulp-riscv): Added Kconfig option to enable ULP RISC-V interrupts
...
This commit adds a Kconfig option, CONFIG_ULP_RISCV_INTERRUPT_ENABLE, to
enable interrupts on the ULP RISC-V core on the esp32s2 and esp32s3.
2024-02-21 11:45:06 +01: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
Sudeep Mohanty
7acc152f1c
Merge branch 'bugfix/rtc_i2c_not_in_od_mode' into 'master'
...
fix(ulp_riscv): Updated RTC I2C to use open-drain IOs
See merge request espressif/esp-idf!28799
2024-02-06 15:40:24 +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
e93c3068a0
fix(ulp_riscv): Updated RTC I2C to use open-drain IOs
...
This commit updates the RTC I2C driver in the ULP RISC-V to initialize
all I2C IOs in open-drain mode.
2024-01-30 14:54:45 +01: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
Sudeep Mohanty
94e2516f6c
feat(ulp-riscv): Added support for RTC IO interrupts for ULP RISC-V
...
This commit adds a feature to register RTC IO interrupt handlers for the
ULP RISC-V co-processor.
2024-01-18 15:59:45 +01:00
Sudeep Mohanty
b9ecc1e57a
feat(ulp-riscv): Added SW interrupt capability for ULP RISC-V
...
This commit adds a feature to ULP RISC-V where the user can trigger
a software interrupt on the ULP RISC-V core.
2024-01-18 15:59:40 +01:00
Sudeep Mohanty
70241d13a2
feat(ulp-riscv): Added interrupt allocator and de-allocator
...
This commit adds methods to allocate and de-allocate interrupt handlers
for the ULP RISC-V.
2024-01-18 15:59:35 +01:00
Sudeep Mohanty
a6461eab77
feat(ulp-riscv): Added interrupt vector handling for ULP RISC-V
...
This commit adds interrupt vector processing for the ULP RISC-V co-processor.
2024-01-18 15:59:27 +01:00
Marius Vikhammer
13dd2c9aae
Merge branch 'contrib/github_pr_12785' into 'master'
...
Provide ulp_adc_deinit() API to fix ADC1 handle leakage (GitHub PR)
Closes IDFGH-11673
See merge request espressif/esp-idf!27916
2024-01-12 12:03:52 +08:00
Fu Hanxi
d76334d83a
Merge branch 'test/fix_lp_core_config_mismatch_issue' into 'master'
...
test: fix lp_core config file name mismatch issue
See merge request espressif/esp-idf!28217
2024-01-04 20:22:13 +08:00
Marius Vikhammer
c05b6533ce
change(ulp): added test for ulp adc init/deinit
2024-01-04 10:55:25 +08:00
Armando
3c5a4f9e8a
ci(p4): added todo jira for disabled tests on p4
2024-01-04 09:36:38 +08:00
Armando
1ab742b3c3
ci(p4): enable esp32p4 target test
2024-01-04 09:34:55 +08:00
Fu Hanxi
d1f5497f43
test: fix lp_core config file name mismatch issue
2024-01-02 09:36:01 +01: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
paul
8596d46774
fix(ulp_adc): Provide ulp_adc_deinit() API to fix ADC1 handle leakage
2023-12-12 23:55:03 +03: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
wuzhenghui
ad2629af54
ci(ulp_test): fix fake sleep of the maincore in ulp pytest cases
2023-10-30 11:18:01 +08:00
Sudeep Mohanty
96933837ce
Merge branch 'ci/ulp_test_app_depends_components' into 'master'
...
ci(system): Restrict ULP test apps being built and run on CI
Closes IDF-8401
See merge request espressif/esp-idf!26628
2023-10-24 14:31:57 +08:00
Marius Vikhammer
679b1dc4bb
Merge branch 'docs/ulp_lp_uart' into 'master'
...
docs(ulp): add info about lp-uart to lp-core docs
See merge request espressif/esp-idf!26405
2023-10-24 08:30:29 +08:00
Sudeep Mohanty
f6ecaa12e9
ci(system): Restrict ULP test apps being built and run on CI
...
This commit updates the dependency list of the ULP test apps. These test
apps will now only build and run when the ULP component is updated.
2023-10-23 10:54:36 +02:00
Marius Vikhammer
789a8b3446
docs(ulp): add info about lp-uart to lp-core docs
2023-10-23 12:11:34 +08:00
Jakob Hasse
548022fbe6
refactor(linux): excluded all non-Linux components from build
...
* All components which won't build (yet) on Linux are excluded.
This enables switching to Linux in an application without
explicitly setting COMPONENTS to main in the main
CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available
doc(linux): brought section
"Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Marius Vikhammer
d27dd4d9cb
Merge branch 'docs/show_include_path' into 'master'
...
docs: show include path and require component as part of API header
Closes IDF-3134, DOC-1032, and DOC-3629
See merge request espressif/esp-idf!25092
2023-10-11 09:36:14 +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
Marius Vikhammer
ebe68c3ee3
docs(build): add header include path and component require to api reference
2023-10-07 11:47:45 +08:00
Chen Yu Dong
ac17132bb4
Merge branch 'ci/move_build_test_rules_files_folder' into 'master'
...
fix(ci): change build-test-rules files folder
See merge request espressif/esp-idf!26076
2023-09-22 11:28:48 +08:00
Song Ruo Jing
2d458a3f93
feat(lp_io): Add support for ESP32P4
2023-09-20 19:39:41 +08:00
Chen Yudong
2e11919f70
fix(ci): change build-test-rules files folder
2023-09-20 19:17:06 +08:00
Darian Leung
287bdc5e61
fix(test_apps): Trim builds of component test apps
...
Some component test apps do not use the "set(COMPONENTS main)" command in their
project level "CMakeLists.txt", thus leading to their builds pulling in all
ESP-IDF components.
This commit trims the build of multiple component test apps:
- Add "set(COMPONENTS main ...)" to project level "CMakeLists.txt"
- Add missing "PRIV_REQUIRES" in some "main" component "CMakeLists.txt"
Also removed repeated configuraiton options in legacy_i2c_driver/sdkconfig.ci.defaults
as they are already specified in legacy_i2c_driver/sdkconfig.defaults
2023-09-18 17:16:37 +08:00
Marius Vikhammer
cb3a98f9d5
fix(ulp-i2c): fixed ulp i2c not working from main cpu if compiled with 0S or O2
...
Compiler would optimize register write to use s8i which do not work for IO registers
Closes https://github.com/espressif/esp-idf/issues/12214
2023-09-13 09:41:00 +08:00
Sudeep Mohanty
abc89df287
Merge branch 'bugfix/ulp_riscv_reg_ops_header_inclusion' into 'master'
...
fix(ulp_riscv): Fixed the header inclusion dependency for ulp_riscv_register_ops.h
Closes IDFGH-10922
See merge request espressif/esp-idf!25599
2023-08-29 11:15:26 +08:00
Sudeep Mohanty
ac4a0649bb
fix(ulp_riscv): Fixed the header inclusion dependency for ulp_riscv_register_ops.h
...
There are redefinition compilation warnings for the register operation
macros when a ULP program was compiled which included soc.h before
ulp_riscv_register_ops.h. This commit fixes the issues by delegating the
exclusion macro to the CMakeLists.txt file.
Closes: https://github.com/espressif/esp-idf/issues/12116
2023-08-28 17:39:48 +08:00
morris
4a45479336
refactor(lp_periph): move enable and reset control to LL driver
2023-08-28 05:17:56 +00:00
Marius Vikhammer
78c4a7dcf2
Merge branch 'ci/ulp_i2c_multi_device_tests' into 'master'
...
ci(lp_core): added multi-device test for lp core i2c
See merge request espressif/esp-idf!25278
2023-08-15 11:22:01 +08:00
Marius Vikhammer
b11bec1ad2
ci(lp_core): added multi-device test for lp core i2c
2023-08-14 12:11:13 +08: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
Armando
8bcef5abb0
refactor(adc): maintain s_adc_tsen_enabled in adc driver
2023-07-06 17:28:49 +08: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
Sudeep Mohanty
3638082670
lp-core-uart: Added LP UART support for LP core
...
This commit adds a UART driver for the LP core to interact with the LP
UART. The commit also adds an example to demonstrate the usage of the LP
UART driver.
2023-06-21 11:16:13 +02:00
Sudeep Mohanty
ab8ed8980a
Merge branch 'feature/support_abort_on_lp_core' into 'master'
...
lp-core: Added support for abort() function on the LP core
See merge request espressif/esp-idf!24204
2023-06-20 19:08:49 +08:00
Song Ruo Jing
921713fff4
uart: Support LP_UART port with UART driver on esp32c6
2023-06-16 07:31:40 +00:00
Sudeep Mohanty
424a72cba6
lp-core: Added support for abort() function on the LP core
...
This commit adds support for the abort() function on the LP core.
2023-06-14 10:24:35 +02:00
boarchuz
07332abbaa
fix ULP FSM reg ops with addr > 0xFF
2023-06-12 18:59:25 +10:00
Sudeep Mohanty
ba2daf3c9e
ulp-riscv-touch: Added support for the touch sensor on ULP RISC-V
...
This commit adds a driver for reading the touch sensor from the ULP
RISC-V core during sleep. The commit also adds an example to demonstrate
this feature.
Closes https://github.com/espressif/esp-idf/issues/10480
2023-06-09 08:41:34 +02:00
Marius Vikhammer
ccda256058
Merge branch 'docs/ulp_lp_core' into 'master'
...
ulp: add lp core docs
Closes IDF-5816
See merge request espressif/esp-idf!24013
2023-06-07 10:43:23 +08:00
Marius Vikhammer
d19600e0a7
ulp/lp-core: added docs describing the lp core
2023-06-06 17:42:03 +08:00
Marius Vikhammer
f54503d822
Merge branch 'bugfix/ulp_fsm_ci' into 'master'
...
ulp-system/ulp-fsm: clean up test cases
Closes IDFCI-1665
See merge request espressif/esp-idf!24015
2023-06-06 10:29:31 +08:00
Marius Vikhammer
a1dff18a0e
ulp-system/ulp-fsm: clean up test cases
2023-06-01 11:34:22 +08:00
Marius Vikhammer
dacc51dd2b
ulp/lp-core: added gpio API for lp core as well as an example showcasing it.
2023-05-29 11:13:47 +08:00
Sudeep Mohanty
ec742abb25
lp-i2c: Added support for LP I2C peripheral to LP core
...
This commit adds support for the LP I2C peripheral driver to be used by
the LP core. An example is also added to demonstrate the usage of the LP
I2C peripheral from the LP core.
2023-05-19 07:27:51 +02:00
Jakob Hasse
c8791f30c0
compiler: replaced noreturn by __noreturn__ in header files
...
* noreturn may be replaced by third-party macros,
rendering it ineffective
* Closes https://github.com/espressif/esp-idf/issues/11339
2023-05-11 16:07:45 +08:00
Zim Kalinowski
099ffe6243
Merge branch 'feature/c6_ulp_timer' into 'master'
...
ulp: lp timer support for lp core
Closes IDF-6956, IDF-6830, and IDF-6835
See merge request espressif/esp-idf!23453
2023-05-10 03:06:35 +08:00
Sudeep Mohanty
662e0812f4
ulp-riscv-i2c: Add ULP RISC-V I2C read/write timeout config option
...
The commit 88e4c06028
introduced a loop timeout for all ULP RISC-V I2C
transactions to avoid getting stuck in a forever loop. The loop timeout
was set to 500 msec by default. This commit improves on the concept by
making the loop timeout configurable via a Kconfig option in terms of
CPU ticks. If the timeout is set to -1 value then the transaction loops
will never timeout, therefore restoring the driver behavior before the
timeout was introduced.
The commit also updates the I2C Fast mode timings for esp32s2 which need
to be adjusted due to bus timing constraints.
Closes https://github.com/espressif/esp-idf/issues/11154
2023-05-09 11:17:01 +02:00
Marius Vikhammer
3ced7b12e8
ulp: add support for using lp timer with lp core on C6
2023-05-06 14:13:14 +08:00
Marius Vikhammer
1a5e47bd07
ci: fixed test apps overriding pytest configs
2023-04-26 11:07:35 +08:00
Marius Vikhammer
359b237cc5
ulp: added sleep support for lp core
...
Added support for running LP core while hp core sleeps, as well
as waking up the hp core.
2023-04-25 11:51:35 +08:00
Sudeep Mohanty
88e4c06028
ulp-riscv-i2c: Updated ULP RISC-V I2C driver to abort when met with errors
...
The current ULP RISC-V RTC I2C driver got stuck in an infinite loop if
there is a I2C transaction error. This commit amends the driver flow to
abort the read/write operation if met with errors. It also adds a loop
timeout to avoid getting stuck in an infinite loop.The commit also
updates the default bus timing parameters for RTC I2C to be faster.
This commit also adds documentation help to guide users when they meet
with issues while working with the RTC I2C driver on the ULP RISC-V coprocessor.
2023-03-29 13:25:46 +02:00
Marius Vikhammer
b7fcf1c139
ulp-fsm: fixed potential sleep tests failures
...
If the ULP sent the wake-up signal before the main CPU went to sleep,
then the test case would get stuck in sleep.
Increased delay before sending the wake-up signal.
2023-03-22 11:39:33 +08:00
Zim Kalinowski
5016eb6269
ulp: fix and re-enable no-format warnings
2023-03-12 21:47:24 +01:00
Marius Vikhammer
284dabf17f
ulp: added basic support for building and running a binary in the lp core
2023-03-09 10:12:23 +08:00
Sudeep Mohanty
a67d15fdea
ulp: Added APIs to handle ULP signal ISRs for the main CPU
...
This commit introduces APIs to handle ULP signal ISRs when the main core
is not in sleepmode.
Closes https://github.com/espressif/esp-idf/issues/10737
2023-02-24 07:25:39 +00:00
Alexey Lapshin
61a7342acd
tools: add riscv zicsr/zifencei because they were separated from i
...
https://groups.google.com/a/groups.riscv.org/g/sw-dev/c/aE1ZeHHCYf4
2023-02-22 05:33:03 +00:00
Alexey Lapshin
5389ac4e04
tools: cmake: ignore linker RWX segment warnings
2023-02-22 05:33:03 +00:00
Sudeep Mohanty
522a216385
Merge branch 'feature/ulp_elf_output' into 'master'
...
ulp: Updated ULP CMakeLists.txt to output binary with .elf extension
Closes IDF-3060
See merge request espressif/esp-idf!22414
2023-02-20 15:08:35 +08:00
Sudeep Mohanty
8f93e4d0d5
ulp: Updated ULP CMakeLists.txt to output binary with .elf extension
...
This commit updates the ULP CMakeLists.txt to output the ULP binary with
a .elf extension. Currently the output file does not use any extension.
2023-02-17 10:44:24 +01:00
Omar Chebib
5e5343d429
TWDT: Use the new TWDT Kconfig options in the examples and tests
2023-02-17 11:22:25 +08:00
Sudeep Mohanty
3cc399f399
ulp-riscv: Added API ulp_riscv_reset to reset the ULP core
...
This commit adds a new API ulp_reisv_reset() to enable reseting of the
ULP core from the main core. This is particularly necessary in case the
ULP crashes due to any reason. Earlier the only way to recover the ULP
was to do a power reset. This commit also adds new test cases which
exercise this scenario.
2023-02-08 07:52:34 +00:00