Commit Graph

367 Commits

Author SHA1 Message Date
wuzhenghui
ffd5d1fd66
feat(esp_hw_support): support set clock divider for esp32p4 clock output 2024-04-17 15:09:54 +08:00
wuzhenghui
309725fcd0
feat(esp_hw_support): support esp32p4 clock output 2024-04-17 15:09:49 +08:00
wuzhenghui
101f1abbf1
refactor(esp_hw_support): add hal layer for clock output feature 2024-04-17 14:25:29 +08:00
Marius Vikhammer
4533f16c34 fix(rtc_memory): fix conflict between LP-ROM and RTC reserved 2024-04-17 13:37:56 +08:00
Mahavir Jain
7a283b73f6 Merge branch 'feature/p4_memory_protection' into 'master'
feat: add memory protection support using PMA/PMP for P4 target

Closes IDF-7542

See merge request espressif/esp-idf!29947
2024-04-15 17:24:37 +08:00
Jiang Jiang Jian
25d40a67bc Merge branch 'feature/esp32c5beta3_light_sleep_support_stage_2' into 'master'
feat(esp_hw_support): esp32c5 sleep support (Stage 3:  support system peripheral sleep retention)

Closes IDF-8640

See merge request espressif/esp-idf!29723
2024-04-15 14:40:52 +08:00
Mahavir Jain
024b040300
test(memprot): enable memory protection tests for P4 2024-04-14 21:16:42 +05:30
Mahavir Jain
46c453ae1e
feat: add memory protection support using PMA/PMP for P4 target 2024-04-14 21:16:40 +05:30
Ivan Grokhotkov
49b4bc175e
feat(sdmmc): add support for PSRAM DMA on ESP32-P4 2024-04-12 12:56:18 +02:00
Lou Tianhao
4061e282dd draft(i2c): need to support regdma_i2c for esp32c5beta3 2024-04-12 14:14:06 +08:00
Armando
a8406659db feat(lp_i2s): added lp_i2s ll layer 2024-04-11 20:18:45 +08:00
C.S.M
6224fca8a0 Merge branch 'feature/support_lp_i2c_in_drv' into 'master'
feat(i2c_master): Add feature for support using lp_i2c in i2c_master driver

See merge request espressif/esp-idf!29907
2024-04-07 19:27:04 +08:00
Darian Leung
023eae4f0b
feat(hal/usb): Update USB WRAP and USJ LL, add missing ESP32-P4 LL
This commit updates updates the LLs of USB WRAP and USJ as follows:

- Added missing 'usb_wrap_ll.h' and 'usb_serial_jtag_ll.h' for the ESP32-P4
- Added LL cap macros to distinguish feature differences between the LLs of
  different targets:
    - '..._LL_EXT_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      routing to an external FSLS PHY.
    - '..._LL_SWAP_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      swapping between multiple internal FSLS PHYs.
- Tidied up some RCC LL functions and their callers.
- Added 'usb_wrap_types.h' and 'usb_serial_jtag_types.h' to provide types used
  in LLs.
- Fixed some spelling/naming issues as part of code-spell pre-commit
2024-04-04 02:47:00 +08:00
Darian Leung
84ba2ef2e8
feat(soc/usb): Add USB UTMI PHY struct and LL for the ESP32-P4 2024-04-04 01:47:35 +08:00
Cao Sen Miao
0985bfbe27 feat(i2c_master): Add lp_i2c support in i2c master driver 2024-04-03 11:39:04 +08:00
C.S.M
4921c63b70 Merge branch 'feature/jpeg_encoder' into 'master'
feat(jpge): Add basic support for jpeg encoder 🖼️

See merge request espressif/esp-idf!29411
2024-04-01 23:24:21 +08:00
Aditya Patwardhan
051048d261 Merge branch 'feature/p4_rng' into 'master'
feat(esp_hw_support): brought up RNG on ESP32-P4

Closes IDF-6522

See merge request espressif/esp-idf!29614
2024-04-01 20:24:36 +08:00
Cao Sen Miao
22ec65adef feat(jpeg_encoder): Add the basic support for jpeg encoder 2024-04-01 20:03:31 +08:00
Mahavir Jain
999f3f69c0 Merge branch 'esp32p4/deterministic_ecdsa_support' into 'master'
Add deterministic ECDSA support

Closes IDF-8507

See merge request espressif/esp-idf!29010
2024-04-01 16:45:14 +08:00
Armando (Dou Yiwen)
99efa9504c Merge branch 'change/merge_isp_env_into_isp_af' into 'master'
(isp): merge isp env into isp af

See merge request espressif/esp-idf!29946
2024-04-01 16:05:44 +08:00
Armando
ad3087fa20 change(isp): merge isp af env into isp af controller 2024-04-01 11:59:43 +08:00
xiehang
f3c5047638 feat(extconn): Supports external WiFi connections for ESP32p4 and other espressf chips 2024-04-01 11:44:52 +08:00
Armando (Dou Yiwen)
9e8f5364eb Merge branch 'feat/isp_af_driver' into 'master'
isp: added isp driver framework and isp af driver

See merge request espressif/esp-idf!27937
2024-04-01 10:44:48 +08:00
Jakob Hasse
9c108f2da6
feat(esp_hw_support): brought up RNG on ESP32-P4 2024-04-01 07:09:11 +05:30
Armando
bf1275d700 feat(isp): added isp driver framework and isp af driver 2024-04-01 09:30:07 +08:00
Jakob Hasse
f5ee19f01e
fix(soc): corrected register base definition in rtcadc_reg.h 2024-04-01 06:52:29 +05:30
Li Shuai
59115cd2d1 change(esp_hw_support): some system peripherals to use a retention module number 2024-03-29 15:27:08 +08:00
Li Shuai
080d09387c change(esp_hw_support): modify the style of module argument from bitmap to number 2024-03-29 15:22:52 +08:00
harshal.patil
272633bde1
fix(mbedtls/ecdsa): Fix dependant peripheral's enable and reset 2024-03-29 12:40:13 +05:30
harshal.patil
cd98dfc3fd
feat(hal): Add LL and HAL layer support for deterministic ECDSA 2024-03-29 12:14:11 +05:30
wuzhenghui
4a64d2fe2c change(hal): control PAU bus clock by hal layer 2024-03-29 00:36:46 +08:00
wuzhenghui
38fe4e136a
feat(esp_hw_support): support esp32p4 sleep peripheral retention 2024-03-28 19:18:25 +08:00
wuzhenghui
f1beed90ff
feat(esp_hw_support): support esp32p4 sleep clock retention 2024-03-28 19:18:24 +08:00
wuzhenghui
5d24a818eb
feat(esp_hw_support): add esp32p4 pau initial support 2024-03-28 19:18:24 +08:00
Harshal Patil
5274bf88e4 Merge branch 'esp32p4/add_sha_support' into 'master'
feat: add SHA support for ESP32-P4

Closes IDF-7541 and IDF-7882

See merge request espressif/esp-idf!24865
2024-03-27 20:08:28 +08:00
wuzhenghui
65d4e79f80
feat(esp_hw_support): support esp32p4 ext1 wakeup 2024-03-27 13:59:37 +08:00
wuzhenghui
299199c5a5
feat(soc): add ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB rom caps 2024-03-27 13:59:36 +08:00
harshal.patil
507b5fd2b6
fix(soc/sha_struct): fix register name continue to conti
- As contnue being a reserved keyword in C, the register name
continue is not valid
2024-03-27 11:23:28 +05:30
harshal.patil
e6782156c4
feat(hal/sha): add SHA peripheral support for esp32p4 2024-03-27 11:23:28 +05:30
Mahavir Jain
c658351eab Merge branch 'esp32p4/add_aes_gcm_support' into 'master'
feat: add AES-GCM support for ESP32-P4

See merge request espressif/esp-idf!29516
2024-03-27 11:40:26 +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
Sudeep Mohanty
cd49273d7a change(clk_tree): Added clock tree definitions for LP I2C for esp32p4
This commit adds the clock tree definitions for the LP I2C peripheral
for the esp32p4.
2024-03-26 08:31:54 +01:00
harshal.patil
80b33ed3e7
fix(soc/sha_struct): fix register name continue to conti
- As continue being a reserved keyword in C, the register name continue is not valid
2024-03-26 11:31:11 +05:30
harshal.patil
0eb52a8fbf
feat(hal/aes): Add LL layer support for ESP32-P4 AES-GCM 2024-03-26 11:31:11 +05:30
morris
061e5dc695 feat(ldo): add ldo regulator driver for public use 2024-03-25 21:19:12 +08:00
Armando
ec44556a07 feat(sd): added power control driver and implementation layer with ldo 2024-03-25 11:32:56 +08:00
morris
ddece8f7e9 feat(glitch_filter): support GPIO glitch filter on esp32p4 2024-03-22 17:13:19 +08:00
morris
f71044c877 feat(fast_gpio): support CPU controlled fast GPIO driver on esp32p4 2024-03-22 17:13:19 +08:00
Alexey Lapshin
13b55386bf feat(system): esp32p4: support hw stack guard 2024-03-21 14:30:21 +04:00
Song Ruo Jing
34f05287ab Merge branch 'bugfix/dma2d_various_small_fixes' into 'master'
fix(dma2d): correct a few 2D-DMA driver issues

See merge request espressif/esp-idf!29705
2024-03-19 21:36:45 +08:00
morris
3a9d082523 Merge branch 'bugfix/parlio_coverity_issue' into 'master'
feat(parlio_tx): minor clean up and fix

Closes IDF-9420

See merge request espressif/esp-idf!29663
2024-03-19 10:08:54 +08:00
Song Ruo Jing
12325ff47e fix(dma2d): correct a few 2D-DMA driver issues
1. mem_burst_length register field correction
2. remove dma buffer addr range restriction
3. M2M periph sel ID no need to be identical for TX and RX channels
4. correct rx descriptor owner field auto clear
5. remove fsm idle assertion for ERR_EOF
2024-03-18 20:11:57 +08:00
wuzhenghui
bbc8fd5c9c
feat(esp_hw_support): support esp32p4 sleep cpu retention 2024-03-15 18:13:25 +08:00
morris
ce041640ca change(parlio_tx): plenty of driver clean up 2024-03-15 18:02:44 +08:00
Sudeep Mohanty
05db166e5d Merge branch 'feature/lp_core_lp_uart_support' into 'master'
feat(lp_core): Added support for LP UART on LP core for esp32p4

Closes IDF-7533

See merge request espressif/esp-idf!29555
2024-03-15 17:57:50 +08:00
Mahavir Jain
cd47cf46dc Merge branch 'esp32p4/add_aes_support' into 'master'
feat: add AES support for ESP32-P4

Closes IDF-6519

See merge request espressif/esp-idf!26429
2024-03-15 11:43:22 +08: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
Wu Zheng Hui
bb25cc1234 Merge branch 'feature/esp32p4_sleep_support' into 'master'
feat(esp_hw_support): esp32p4 sleep support (Stage 1: support basic pmu sleep function 💤)

Closes IDF-7528 and IDF-7527

See merge request espressif/esp-idf!28196
2024-03-14 10:17:32 +08:00
harshal.patil
a6012c9e5a
feat(mbedtls/aes): add AES peripheral support for esp32p4 2024-03-13 15:22:06 +05:30
Mahavir Jain
fd6c710b27
fix: cleanup memprot files for C6/H2/P4
There is no separate permission control peripheral in C6/H2/P4.
Memory protection is achieved using built-in PMA/PMP and hence
removing permission control specific files.
2024-03-11 17:10:40 +05:30
wuzhenghui
174386f133 ci: enable lightsleep related tests 2024-03-10 10:51:28 +08:00
wuzhenghui
856f043331 feat(esp_hw_support): add esp32p4 pmu initial support 2024-03-10 10:51:28 +08:00
wanlei
0cf11e5b87 feat(spi): add esp32c5 spi support 2024-03-07 18:11:48 +08:00
Guillaume Souchere
0b9f01ac20 feat(soc): Add soc_caps macros for sleep support
- modify console example to use the new SOC_LIGHT_SLEEP_SUPPORTED
and SOC_DEEP_SLEEP_SUPPORTED macros when registering sleep commands

- remove exclusion of esp32p4 in basic and advanced example in
.build-test-rules.yml

- replace exclusion of esp32p4 for deep and light sleep tests with newly introduced macro

- remove the temporary disable check for esp32p4 and uses the
SOC_LIGHT_SLEEP_SUPPORTED maccro instead.
2024-03-05 07:05:40 +01:00
C.S.M
0f03434119 Merge branch 'feature/tsens_etm' into 'master'
feature(temperature sensor): Temperature sensor ETM support.

Closes IDF-6357

See merge request espressif/esp-idf!28880
2024-03-05 10:09:25 +08:00
Cao Sen Miao
2b2b3be98f feat(temperature_sensor): Add new support for temperature sensor ETM on ESP32C6/H2 2024-03-01 18:52:39 +08:00
gaoxu
7075b61a6a docs(uart): update lp uart and p4/c5 uart programming guide 2024-03-01 16:21:22 +08:00
Armando (Dou Yiwen)
7b414002f6 Merge branch 'change/psram_200m_update' into 'master'
change(psram): update voltage configurations

See merge request espressif/esp-idf!28933
2024-03-01 15:17:24 +08:00
C.S.M
3e0a672d91 Merge branch 'feature/jpeg_decoder' into 'master'
feat(jpgd): Add jpeg decode support on esp32p4 🖼️ (goal: Trying to merge in March 🛰️ )

See merge request espressif/esp-idf!28639
2024-02-29 23:43:05 +08:00
Alexey Lapshin
fdb7a43752 Merge branch 'feature/esp32p4_concontiguous_mem_mvp' into 'master'
feat(esp_system): allow .bss to spill over into L2MEM above 0x4ff40000 on P4

See merge request espressif/esp-idf!28783
2024-02-29 16:28:13 +08:00
Cao Sen Miao
abc2971d95 feat(jpeg): Add basic jpeg decoder support on esp32p4 2024-02-29 13:51:16 +08:00
Armando
62440e5b12 change(psram): update voltage configurations 2024-02-29 10:42:37 +08:00
Alexey Lapshin
824c8e0593 feat(esp_system): allow .bss to spill over into L2MEM above 0x4ff40000
This commit introduce SOC_MEM_NON_CONTIGUOUS_SRAM flag (that enebled for
esp32p4). If SOC_MEM_NON_CONTIGUOUS_SRAM is enabled:

- LDFLAGS+=--enable-non-contiguous-regions
- ldgen.py replaces "arrays[*]" from sections.ld.in with objects under
  SURROUND keyword. (e.g. from linker.lf: data -> dram0_data SURROUND(foo))
- "mapping[*]" - refers to all other data

If SOC_MEM_NON_CONTIGUOUS_SRAM, sections.ld.in file should contain at
least one block of code like this (otherwise it does not make sense):

  .dram0.bss (NOLOAD) :
  {
    arrays[dram0_bss]
    mapping[dram0_bss]
  } > sram_low

  .dram1.bss (NOLOAD) :
  {
    /* do not place here arrays[dram0_bss] because it may be splited
     * between segments */
    mapping[dram0_bss]
  } > sram_high
2024-02-28 19:41:25 +04:00
Song Ruo Jing
98d9f04b00 feat(gdma): add GDMA support for ESP32C5 2024-02-28 12:38:02 +08:00
Konstantin Kondrashov
11d44e82eb Merge branch 'feature/efuse_esp32p4_add_new' into 'master'
feat(efuse): Adds new efuses for esp32p4

See merge request espressif/esp-idf!29085
2024-02-27 15:37:39 +08:00
Konstantin Kondrashov
281031e24d feat(efuse): Adds new efuses for esp32p4 2024-02-21 12:45:31 +02:00
Marius Vikhammer
4ce4af61ad fix(system): update reset reasons for P4 and C5 2024-02-21 11:59:28 +08:00
Song Ruo Jing
5276cd4f1d refactor(uart): add support to be able to test LP_UART port
Increase LP_UART_EMPTY_THRESH_DEFAULT value to 4. The original value
could cause the FIFO become empty before filling next data into the FIFO
when the buadrate is high. TX_DONE interrupt would raise before actual
transmission complete in such case.
2024-02-07 14:37:48 +08:00
Song Ruo Jing
dce27c3b09 change(clk_tree): add LP_DYN_FAST_CLK to soc_module_clk_t 2024-02-07 14:37:48 +08:00
Armando (Dou Yiwen)
116c9494c7 Merge branch 'feat/csi_driver' into 'master'
feat(csi): added csi driver

See merge request espressif/esp-idf!28751
2024-02-05 09:59:35 +08:00
Wu Zheng Hui
5454d37d49 Merge branch 'feature/support_gdma_retention' into 'master'
feature: support gdma retention in pd_top lightsleep

Closes IDF-7704 and IDFGH-11389

See merge request espressif/esp-idf!27246
2024-02-04 20:17:02 +08:00
Armando
f918079e8e feat(csi): added csi driver 2024-02-04 19:06:11 +08:00
wuzhenghui
0c2f811ca8
feat(esp_hw_support): support gdma register context sleep retention 2024-02-02 11:21:40 +08:00
Tomas Rezucha
f13ae0fc08 feat(esp32p4): Add USB-OTG support for ESP32-P4 2024-01-30 15:07:11 +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
Mahavir Jain
09c9001895 Merge branch 'feature/add_key_manager_hw_support' into 'master'
Feature/add key manager hw support

Closes IDF-7925 and IDF-8041

See merge request espressif/esp-idf!26328
2024-01-23 17:11:05 +08:00
Aditya Patwardhan
4dc2ace0b7
fix(esp_hw_support): Update key manager support
1) Added new Key Manager APIs
    2) Added crypto locking layer for Key Manager
    3) Remove support for deploying known key
    4) Format key manager support
    5) Fix build header error
    6) Updated the key_mgr_types.h file
    7) Added key manager tests
2024-01-23 10:24:39 +05:30
Aditya Patwardhan
3eabb62850
feat(esp_hw_support): Add support for Key Manager 2024-01-23 10:24:35 +05:30
Song Ruo Jing
08eada7301 feat(esp_hw_support/dma2d): Add 2D-DMA support on ESP32P4 2024-01-22 20:51:43 +08:00
Mahavir Jain
9ecd2fd7e3 fix(soc): change debug addr range to CPU subsystem range
For C6/H2/P4/C5, there is no SoC specific debug range. Instead the same
address range is part of CPU Subsystem range which contains debug mode
specific code and interrupt config registers (CLINT, PLIC etc.).

For now the PMP entry is provided with RWX permission for both machine
and user mode but we can save this entry and allow the access to only
machine mode for this range.

For P4/C5 case, this PMP entry can have RW permission as the debug mode
specific code is not present in this memory range.
2024-01-22 13:34:32 +08:00
morris
7013815ea7 feat(dsi): add mipi dsi driver to esp_lcd 2024-01-20 16:50:22 +08:00
Omar Chebib
cdde05335e Merge branch 'refactor/riscv_interrupt' into 'master'
refactor(riscv): Refactor crosscore interrupts and core interrupt code

Closes IDF-5720, DOC-5177, and IDF-7899

See merge request espressif/esp-idf!27845
2024-01-19 10:51:04 +08:00
Wan Lei
73ff086e21 Merge branch 'fix/p4_spi_master_clock_sourse_sel' into 'master'
fix(spi_master): Fix p4 spi clock source support other than XTAL

See merge request espressif/esp-idf!28392
2024-01-18 16:46:44 +08:00
Omar Chebib
102d5bbf72 refactor(riscv): added a new API for the interrupts 2024-01-18 16:36:53 +08:00
Song Ruo Jing
e45aea723b Merge branch 'feature/esp32p4_ppa_ll_support' into 'master'
feat(ppa): add low level support for PPA

See merge request espressif/esp-idf!28268
2024-01-17 23:18:35 +08:00
Ondrej Kosta
0766bb5f62 Merge branch 'feature/p4_emac' into 'master'
ESP32P4 EMAC

See merge request espressif/esp-idf!27178
2024-01-17 22:22:05 +08:00
wanlei
4a46d70e9a fix(spi_master): Fix p4 spi clock source support other than XTAL 2024-01-17 17:01:23 +08:00
morris
5fb105a6d9 Merge branch 'feature/add_mipi_dsi_dphy_config_hal' into 'master'
update(mipi_dsi): update hal driver with DPHY PLL configuration

See merge request espressif/esp-idf!28412
2024-01-17 08:38:57 +08:00
Song Ruo Jing
32111c1c4d feat(ppa): add low level support for PPA 2024-01-16 23:20:59 +08:00
Ondrej Kosta
ce388a4111 feat(esp_eth): Added support of internal EMAC for ESP32P4
Refactored internal EMAC DMA access.

Added MPLL acquire to manage access to the MPLL by multiple periphs.
2024-01-16 14:29:25 +01:00