Commit Graph

585 Commits

Author SHA1 Message Date
harshal.patil
18b93e9564
feat(hmac): use RCC atomic block to enable/reset the HMAC peripheral 2023-10-11 14:59:04 +05:30
harshal.patil
c5cc4f488a
feat(mpi): use RCC atomic block to enable/reset the MPI peripheral 2023-10-11 14:59:03 +05:30
Wan Lei
f92b18053a Merge branch 'feature/esp32p4_hp_spi_support' into 'master'
Feature/esp32p4 hp spi master driver support

Closes IDF-7502

See merge request espressif/esp-idf!24963
2023-10-09 18:37:35 +08:00
wanlei
00fcdce725 feat(spi_master): p4 add master driver supported 2023-10-08 14:45:12 +08:00
gaoxu
bc2a6bd730 feat(uart): spilt LP and HP uart set_baudrate function 2023-10-08 10:10:02 +08:00
gaoxu
4f24f805cc feat(uart): add LP-UART GPIO support 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
laokaiyao
72a0746e62 refactor(apll): move the apll soc caps to clk_tree_ll 2023-09-28 15:03:27 +08:00
laokaiyao
0b0f25c30d feat(i2s): supported getting the tx sync count and specify interrupt flags 2023-09-28 15:03:27 +08:00
laokaiyao
cf889f3c6d feat(i2s): support i2s on esp32p4 2023-09-28 15:03:27 +08:00
Armando (Dou Yiwen)
b58a2ea6a6 Merge branch 'feature/support_cache_p4' into 'master'
cache: support cache driver on esp32p4

Closes IDF-7516

See merge request espressif/esp-idf!25490
2023-09-25 15:21:46 +08:00
Armando
ea38a2e9a4 feat(cache): support cache driver on esp32p4 2023-09-22 14:19:41 +08:00
morris
3093384045 Merge branch 'feature/pcnt_replace_periph_func_with_new_ll' into 'master'
feat(pcnt): replace periph_module func with new ll func

Closes IDF-8225

See merge request espressif/esp-idf!25935
2023-09-21 21:57:14 +08:00
Song Ruo Jing
98abcbabea Merge branch 'feature/esp32p4_lp_io_support' into 'master'
feat(lp_io): Add support for ESP32P4

Closes IDF-7815

See merge request espressif/esp-idf!25991
2023-09-21 15:20:13 +08:00
laokaiyao
dd4072a80c refactor(hal): use hal utils to calculate clock division 2023-09-20 23:33:25 +08:00
Song Ruo Jing
2d458a3f93 feat(lp_io): Add support for ESP32P4 2023-09-20 19:39:41 +08:00
Planck (Lu Zeyu)
59f8008e22 feat(pcnt): replace periph_module func with new ll func 2023-09-20 15:06:04 +08:00
morris
6bb05cccdd feat(rmt): add driver support for esp32p4
including DMA feature
2023-09-19 12:54:14 +08:00
morris
3234ee3f9e refactor(mcpwm): add RCC related LL functions 2023-09-15 13:33:01 +08:00
Planck (Lu Zeyu)
255d499884 fix(ll): fix cpp compile error
Merges https://github.com/espressif/esp-idf/pull/12093

fix(ll): remove FLAG_ATTR macro

Such kind of operator overload will not work because C++ thinks such overload is ambiguous and it still prefer the built-in one which accepts and returns integer. Manually force type conversion seems to be unavoidable.
2023-09-14 14:48:12 +08:00
Eduardo Lacerda Campos
b0bde58521 fix(uart): Fix uart_ll_set_baudrate div-by-zero crash due to uint32_t overflow
Merges https://github.com/espressif/esp-idf/pull/12179
2023-09-13 21:27:42 +08:00
morris
3e5906aa1b Merge branch 'feature/modify_mcpwm_clock_pre_scale' into 'master'
feat(mcpwm): Set group clock prescale dynamically

See merge request espressif/esp-idf!25117
2023-09-09 08:30:56 +08:00
Chen Jichang
fc80d3e568 feat(mcpwm): Set group clock prescale dynamically
MCPWM group clock pre scale was originally fixed to 2, which is
inconvenient. Set group clock prescale dynamically. Now the maximum
resolution of the MCPWM timer is up to 160MHz(when the prescale set
to 1). And add a resulotion config for MCPWM capture.
2023-09-08 11:57:29 +08:00
Cao Sen Miao
c147a6d022 fix(spi_flash): Fix spi_flash write fail on 26M C2(including OTA fail on this chip) 2023-09-07 17:30:15 +08:00
Planck (Lu Zeyu)
86d4f9993f feat(esp_lcd): replace periph_module func with new ll func
Update periph_ctrl.h
2023-09-06 14:42:01 +08:00
Armando
de77ab3061 change(soc): added SOC_ prefix to mmu defs 2023-09-05 15:47:26 +08:00
morris
cf61f63bc2 Merge branch 'feature/hw_crc_esp32p4' into 'master'
feat(gdma): support hardware crc calculation on esp32p4

Closes IDF-7497

See merge request espressif/esp-idf!25307
2023-08-31 14:46:32 +08:00
Song Ruo Jing
91aab6bda0 Merge branch 'feature/add_uart_iram_safe_check' into 'master'
feat(uart): Add sdkconfig.ci.iram_safe test for UART driver

See merge request espressif/esp-idf!25618
2023-08-31 12:57:46 +08:00
morris
b962fdee89 refactor(gdma): add reset and clock control in LL driver 2023-08-31 02:11:47 +00:00
Song Ruo Jing
767698b90d feat(uart): Add sdkconfig.ci.iram_safe test for UART driver 2023-08-30 11:30:03 +08:00
morris
47bb157cab refactor(twai): add reset and clock control to twai LL layer 2023-08-29 22:19:57 +08:00
morris
71cf16ec01 feat(gptimer): use RCC atomic block to enable/reset peripheral 2023-08-22 17:05:35 +08:00
Kevin (Lao Kaiyao)
f629c4b7e9 Merge branch 'feature/i2s_support_mclk_input' into 'master'
feat(i2s): supported external clock source input

Closes IDF-7889

See merge request espressif/esp-idf!24942
2023-08-16 19:07:22 +08:00
Gao Xu
0ceb5f2648 Merge branch 'refactor/cache_disable_enable_interface' into 'master'
refactor(cache): abstract cache rom API in cache_ll.h

Closes IDF-7922

See merge request espressif/esp-idf!25040
2023-08-15 19:43:47 +08:00
Chen Ji Chang
b39fd79cb8 Merge branch 'feature/add_mcpwm_carrier_clk_source' into 'master'
feat(MCPWM): Add mcpwm carrier clk source

Closes IDF-8029

See merge request espressif/esp-idf!25342
2023-08-15 18:04:08 +08:00
Chen Jichang
97d5db32ae feat(MCPWM): Add mcpwm carrier clk source
The MCPWM carrier is part of the operator and can work independently
without the MCPWM timer being enabled. This commit add the MCPWM
carrier clk source.
2023-08-15 13:04:11 +08:00
Armando
8c8affc812 feat(mmu): support mmu and flash mmap driver on p4 2023-08-15 10:17:03 +08:00
laokaiyao
4b6d71447c feat(i2s): supported external clock source input 2023-08-14 03:25:12 +00:00
morris
26f438cf89 Merge branch 'feature/esp32p4_gpio_support' into 'master'
feat(gpio): add support for ESP32P4

Closes IDF-6509

See merge request espressif/esp-idf!24868
2023-08-11 11:49:51 +08:00
Song Ruo Jing
be9afeac86 feat(gpio): add support for ESP32P4 2023-08-10 17:58:49 +08:00
C.S.M
96bf37ab78 Merge branch 'feature/i2c_master_new_driver' into 'master'
I2C: Add new i2c master impl APIs and i2c eeprom example

See merge request espressif/esp-idf!23592
2023-08-10 16:51:31 +08:00
Cao Sen Miao
4ef94fc0dc feat(i2c): Add new API and implementation for I2C driver 2023-08-10 11:55:54 +08:00
Lou Tianhao
808a01e656 feat(pm/deepsleep): Support EXT1_WAKEUP_MODE_PER_PIN 2023-08-09 19:46:25 +08:00
gaoxu
fd759d65b0 refactor(cache): abstract cache rom API in cache_ll.h 2023-08-09 10:32:12 +00:00
Wan Lei
f5e26a595d Merge branch 'bugfix/spi_bus_unify_defualt_mosi_level' into 'master'
spi: unify default mosi level on all targets

Closes IDF-7683

See merge request espressif/esp-idf!24591
2023-07-25 20:06:09 +08:00
morris
ed36b91517 Merge branch 'feature/mcpwm_trigger_driver' into 'master'
feature(MCPWM): Add MCPWM trigger driver

Closes IDF-3613

See merge request espressif/esp-idf!24829
2023-07-25 18:50:57 +08:00
Chen Jichang
5ab755915b feature(MCPWM): Add MCPWM trigger driver and test
Each MCPWM operator has two Trigger (named T0 and T1), and they can be
routed to GPIO fault signal or timer sync event.Generator can be set up
to perform different action on Trigger event.
This commit add a trigger driver and a test for the driver.
2023-07-25 14:44:41 +08:00
wanlei
8f5851d064 fix(all): unify default mosi level to low on all targets 2023-07-24 15:45:21 +08:00
wuzhenghui
a5c992c8af fix(esp_pm): fix PM_SLP_IRAM_OPT/PM_RTOS_IDLE_OPT feature
- Fix flash accessed code to resolve issues with PM_SLP_IRAM_OPT/PM_RTOS_IDLE_OPT enabled
2023-07-14 21:21:19 +08:00
wuzhenghui
4e9cc65763 change(uart): change sleep code to be cache safe
- Set uart ll with FORCE_INLINE_ATTR
- Add no_flash API periph_ll_uart_enabled api
2023-07-14 20:12:59 +08:00
Konstantin Kondrashov
9708952fa8 Merge branch 'feature/add_new_pkg_and_flash_psram_efuses' into 'master'
feat(efuse): Add flash&psram efuses for S3

Closes IDF-7439

See merge request espressif/esp-idf!24624
2023-07-13 00:57:14 +08:00
Song Ruo Jing
9526273085 Merge branch 'bugfix/fix_uart_ll_compatible_with_cpp' into 'master'
fix(uart): Fixed C++ type conversion compile error in uart_ll_get_sclk

Closes IDFGH-10573

See merge request espressif/esp-idf!24690
2023-07-12 17:42:18 +08:00
KonstantinKondrashov
cf46ef954f feat(efuse): Add flash&psram efuses for S3 2023-07-11 19:41:40 +08:00
Song Ruo Jing
b60f4a6f37 fix(uart): Fixed C++ type conversion compile error in uart_ll_get_sclk
Closes https://github.com/espressif/esp-idf/issues/11813
2023-07-11 11:18:00 +08:00
morris
56a376c696 feat(esp_gdma): add hal interface for common operations
GDMA driver will be adapted to more DMA peripherals in the future.
This commit is to extract a minimal interface in the hal layer
2023-07-10 13:45:57 +08:00
morris
6f3e07d97b Merge branch 'feature/gptimer_linker_file' into 'master'
feat(gptimer): add gptimer linker.lf to control the placement of driver and hal

See merge request espressif/esp-idf!24598
2023-07-06 12:42:47 +08:00
morris
2e5eb30382 Merge branch 'origin/bugfix/fix_header_violations_in_hal_component' into 'master'
Fix(components/hal): fix header violations in hal component

Closes IDF-7658

See merge request espressif/esp-idf!24493
2023-07-06 10:32:25 +08:00
Planck (Lu Zeyu)
333553caf2 fix(hal): check the public header files and fix violations
fix(hal/include): fix header violations in hal component
fix(hal/include): Move type definitions from `xx_hal.h` to `xx_types.h`
fix(hal/include): Move type definitions from `xx_hal.h` to `xx_types.h`
fix(hal/include): Add comment for a far away `#endif`
fix(hal/include): change scope for cpp guard
ci: Remove components/hal/ comment from public headers check exceptions
Add missing include macro sdkconfig.h for header files
Add missing include macro stdbool.h for header files
Add missing include macro stdint.h for header files
Add missing capability guard macro for header files
Add missing cpp guard macro for header files
Remove some useless include macros
Add some missing `inline` attribute for functions defined in header files
Remove components/hal/ from public headers check exceptions
fix(hal/include): fix invalid licenses
fix(hal/include): fix invalid licenses
fix(hal/include): add missing soc_caps.h
fix(hal): include soc_caps.h before cap macro is used
fix(hal): Remove unnecessary target check
fix(hal): fix header and macro problems
Add missing include macro
Remove loop dependency in hal
Add comment for far-away endif
fix(hal): Add missing soc_caps.h
ci: update check_copyright_ignore.txt
Change the sequence of `#include` macro, cpp guard macro
Change the wrap scope of capacity macro

fix(hal): Change position of C++ guard to pass test
2023-07-05 17:33:32 +08:00
morris
81a641d437 feat(gptimer): add gptimer linker.lf to control the placement of driver and hal
since the linker placement of the hal functions are controlled by the Kconfig in the driver component,
we should create the linker.lf in the driver component, not in the hal component.
2023-07-05 12:09:00 +08:00
morris
f0c07f82b5 fix(test): check call graph for hal component 2023-07-05 09:09:01 +08:00
Armando
eaf21a34af fix(adc): fixed esp32, esp32s2,esp32s3 adc oneshot mode clk div issue 2023-06-27 14:40:22 +08:00
laokaiyao
1b22591ea7 i2s: fixed i2s_ll compiling failure under C++ evironment
Closes: https://github.com/espressif/esp-idf/issues/11625
2023-06-23 11:41:43 +08:00
Wan Lei
a0dc515143 Merge branch 'refactor/cache_utils_refactor_to_cache_hal' into 'master'
cache: refactor cache_utils to use cache_hal instade

Closes IDF-7172 and IDF-7385

See merge request espressif/esp-idf!23317
2023-06-19 11:54:12 +08:00
Song Ruo Jing
921713fff4 uart: Support LP_UART port with UART driver on esp32c6 2023-06-16 07:31:40 +00:00
Wan Lei
dccc31e9e4 Merge branch 'refactor/remove_apb_ctrl_reg' into 'master'
sysreg: deprecate apb_ctrl related reg

Closes DOC-5139

See merge request espressif/esp-idf!24135
2023-06-15 14:57:32 +08:00
wanlei
0f7e39d15a cache: refactor cache_utils into cache_hal instade 2023-06-15 11:50:42 +08:00
Chen Jichang
5150c578fd ledc:add option to put LEDC function into IRAM
The caches are disabled when reading/writing/erasing flash.
All CPUs should always execute code and access data from internal RAM.
Add an IRAM option to enhance the performance of LEDC.

Closes https://github.com/espressif/esp-idf/issues/11554
2023-06-14 18:12:01 +08:00
morris
88600bd91b driver: minor code clean up to pass coverity scan test 2023-06-10 16:21:12 +08:00
wanlei
3ed82deedf sysreg: deprecate apb_ctrl related reg, suggest syscon 2023-06-09 17:34:10 +08:00
laokaiyao
71ef56f988
gdma: support on_recv_done callback 2023-06-07 11:38:32 +08:00
morris
630b1b079e drivers: fix issue reported by coverity 2023-06-06 14:16:09 +08:00
wanlei
87848110c1 adc: new feature adc digital monitor supported 2023-05-24 17:46:52 +08:00
C.S.M
224430f6b4 Merge branch 'bugfix/tempsensor_wifi_conflict' into 'master'
temperature_sensor: Fix issue that have conflict with phy

Closes IDF-5227, IDF-5992, IDF-5504, and IDF-6113

See merge request espressif/esp-idf!20210
2023-05-19 12:46:55 +08:00
Cao Sen Miao
faa10947a8 temperature_sensor: Apply new-shared interface in temperature sensor driver 2023-05-18 15:00:36 +08:00
wuzhenghui
d197c59eaa bugfix: move adc_oneshot_power_acquire/release to adc_oneshot_read
Closes https://github.com/espressif/esp-idf/issues/10595
Closes https://github.com/espressif/esp-idf/issues/11386
2023-05-18 10:29:50 +08:00
Cao Sen Miao
ed96dadd06 spi_flash: 2nd stage for supporting flash suspend. (1). Support more esp chips (2). Improve real-time performance (3). Making timing more stable (4) Add documents 2023-05-11 20:10:30 +08:00
KonstantinKondrashov
e48130246a hal: Explicit setting of efuse time settings
EFUSE_PWR_ON_NUM in C3 has default value = 0x2880, now = 0x3000
2023-05-10 00:41:35 +08:00
Armando (Dou Yiwen)
38e84bdd4f Merge branch 'refactor/mspi_timing_tuning_compatible_on_all_chips' into 'master'
mspi: timing tuning driver framework

Closes IDF-7004

See merge request espressif/esp-idf!22786
2023-05-08 10:27:29 +08:00
morris
eaa4ad502a Merge branch 'bugfix/check_filter_range' into 'master'
rmt: check filter and idle threashold

Closes IDFGH-9977

See merge request espressif/esp-idf!23518
2023-05-05 17:19:45 +08:00
Armando
8eec6558d1 mspi: refactor timing tuning driver to make it compatible with p4 2023-05-04 17:05:35 +08:00
Armando
ea10aac4f0 spi: added transaction length check to refuse longer than hardware supported length 2023-05-04 11:37:23 +08:00
morris
9ae742eb85 rmt: check filter and idle threashold
Closes https://github.com/espressif/esp-idf/issues/11262
2023-04-29 06:51:35 +00:00
Mahavir Jain
a8b6a70620 Merge branch 'feature/add_bignum_ll_layer' into 'master'
bignum: added bignum hal and ll layer

Closes IDF-7071

See merge request espressif/esp-idf!22823
2023-04-25 19:50:25 +08:00
C.S.M
7d9d27a060 Merge branch 'refactor/driver_ut_to_test_app' into 'master'
CI: Move all UT in driver to test_app

See merge request espressif/esp-idf!23343
2023-04-25 14:10:11 +08:00
Cao Sen Miao
8882ba2ba1 CI: Move all UT in driver to test_app 2023-04-25 10:40:32 +08:00
harshal.patil
4ae1ea7b9f bignum: refactored the hardware abstraction of the mpi peripheral
- `<target>/bignum.c` is replaced by mpi_ll.h ll layer.
- added the mpi hal layer.
2023-04-24 16:15:11 +05:30
Song Ruo Jing
fcc6514dde ledc: Add an all-in-one HAL function to set fade parameters, and refactor ledc_ll_get_max_duty function 2023-04-21 16:40:54 +08:00
Cao Sen Miao
a3d962d89a brownout: Disable the hardware BOD when BOD interrupt is enabled 2023-04-21 10:22:59 +08:00
Kevin (Lao Kaiyao)
96f2d215a2 Merge branch 'bugfix/i2s_output_wrong_freq_after_switch' into 'master'
i2s: workaround for inaccurate PLL frequency after switching

Closes IDF-6705 and IDFCI-1669

See merge request espressif/esp-idf!22975
2023-04-17 16:26:18 +08:00
laokaiyao
a143a85822 i2s: workaround for inacurate PLL frequency after switching 2023-04-17 03:15:55 +00:00
Omar Chebib
a0f8434f93 i2c: fix a bug in sda sample timing
* Closes https://github.com/espressif/esp-idf/issues/9777

This bug prevented SCL line to work properly after a NACK was received in master mode.
2023-04-13 14:37:44 +08:00
Song Ruo Jing
44915e4251 Merge branch 'bugfix/ledc_channel_update_regression' into 'master'
ledc: Fix two bugs inside LEDC driver

See merge request espressif/esp-idf!23064
2023-04-06 20:52:23 +08:00
Song Ruo Jing
5070e51dde ledc: Fix two bugs inside LEDC driver
1. Regression introduced when refactoring on clock sources selection (0d07f859).
   If channel configuration is called before timer configuration on C6, PWM signal may not be able to output.
2. Missing the improper fade parameter fix inside ledc_set_duty_and_update() function.
2023-04-06 12:37:33 +08:00
morris
1429913042 gdma: support override default channel priority 2023-04-06 10:49:32 +08:00
KonstantinKondrashov
5b00d1f396 efuse: Update efuses for esp32 esp32c2 esp32c3 esp32s2 esp32s3 2023-04-04 22:32:32 +08:00
Armando
6d4c0bb3aa mspi: support 120M DDR flash and psram on S3 (experimental) 2023-04-03 10:30:50 +08:00
KonstantinKondrashov
975c138fad esp_system: Do not rely on bootloader cache settings, do cache settings unconditionally at startup app
It makes multicore app runnable by unicore bootloader

Closes https://github.com/espressif/esp-idf/issues/10714
2023-03-28 23:17:16 +08:00
Armando
eee34bcf70 mspi: fix build failure under assertion disable 2023-03-21 10:14:59 +08:00
Armando
36532aaea8 mspi: make mspi_timing_tuning.h available for all supported targets 2023-03-09 10:38:32 +00:00