Commit Graph

247 Commits

Author SHA1 Message Date
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