Commit Graph

272 Commits

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