Commit Graph

610 Commits

Author SHA1 Message Date
jingli
4b71ebbe49 esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep 2022-11-05 17:51:08 +08:00
wuzhenghui
0fd3824f91 bugfix: esprv_intc_int_set_type should not use bitmap parameter 2022-10-14 15:33:53 +08:00
Song Ruo Jing
5f5ce49ff6 rtcio: Disable USB Serial JTAG pad when setting pins 19 and 20 as RTC function on ESP32S3
Similar to the fix in gpio lower layers, USB Serial JTAG pad should be disabled when the DM and DP pins want to be used as rtcio pins.

(cherry picked from commit de0401047c)
2022-10-12 12:00:05 +08:00
morris
741d35d528 rgb_lcd: added yuv converter LL driver 2022-09-27 13:42:56 +08:00
morris
e66a72b452 rgb_lcd: workaround pclk polarity bug by setting mo>=2 2022-09-27 13:22:18 +08:00
morris
3a6831b1b4 rgb_lcd: support fractional clock divisor 2022-09-27 10:27:36 +08:00
Ivan Grokhotkov
17214c2db6 hal: fix CONFIG_TWAI_ISR_IN_IRAM not taking effect for C3/H2 2022-09-21 08:35:54 +00:00
Michael (XIAO Xufeng)
0f630acf43 Merge branch 'bugfix/spi_hd_quad_issue_4.4' into 'release/v4.4'
SPI : fix wrong dummy cycle on quad mode and put get-command function in spi_ll.h(backport v4.4)

See merge request espressif/esp-idf!19816
2022-09-21 12:06:40 +08:00
songruojing
4bee8a84e2 gpio: fix USB D+ pin cannot disable pullup
Internally, disable usb serial jtag DP pin's pullup when calling gpio_ll_pullup_dis and rtcio_ll_pullup_disable
At usb serial jtag setup/install, re-enable DP pin's pullup

Closes https://github.com/espressif/esp-idf/issues/9495
2022-09-20 15:23:01 +08:00
gaoxu
ce1e8350b4 SPI: Fixed Quad SPI wrong dummy cycle issue on ESP32C3/ESP32S3 and put get-command/dummy-bits functions in spi_ll.h 2022-09-07 18:55:38 +08:00
Cao Sen Miao
22b222b762 I2C: Make I2C clock frequency accurate 2022-08-29 09:07:30 +00:00
Jan Procházka
bff89fd71b added missing call to set hold register bit
This commit fixes gpio_hold_en(pin) function for ESP32, where after wakeup from deep sleep, the pin gets reset to default state and stop holding the pin level.
2022-08-29 10:18:09 +08:00
laokaiyao
53a5d51aea i2s: fix PDM TX stereo mode for c3 and s3 2022-08-09 18:28:09 +08:00
laokaiyao
76cdab5f42 i2s: fixed pdm rx sample rate doubled issue
Closes: https://github.com/espressif/esp-idf/issues/8660
2022-08-09 18:28:09 +08:00
laokaiyao
482a37612d i2s: fix 16bit slot sequence on esp32 2022-08-09 18:28:09 +08:00
Marius Vikhammer
f8f93d936e ulp-riscv: add support for using ADC as well as an example show-casing it. 2022-08-09 09:21:15 +08:00
Jiang Jiang Jian
9f9021a221 Merge branch 'bugfix/multiple_adc_bugfix_v4.4' into 'release/v4.4'
adc: fix multiple bugs (v4.4)

See merge request espressif/esp-idf!19142
2022-08-04 14:42:53 +08:00
Armando
cb62457f6d adc: fix esp32 continuous mode sampling freq issue 2022-07-20 16:43:38 +08:00
Armando
ad8862fa19 adc: fix esp32s2 continuous mode converted bytes issue
When working in continuous mode, hardware will continuously trigger
ADC to do conversions. On esp32s2, 2 bytes will be generated per
conversion. Prior to this commit, driver assumes 4 bytes per conversion
(on s2). This commit fixed this issue.
2022-07-20 16:43:38 +08:00
Armando
ce465c0574 adc: fix esp32s3 continuous mode output bits issue
Prior to this change, esp32s3 ADC continuous mode output resolution is 13 bits.
This commit correct the `adc_digi_output_data_t` on esp32s3. Correct
output bits should be 12 bits. Corresponding definition in `soc_caps.h`
is also updated.
2022-07-20 15:01:57 +08:00
Cao Sen Miao
8538153616 flash_encryption: Fix issue that flash encryption cannot work when 8-line psram enabled,
Closes https://github.com/espressif/esp-idf/issues/9244,
                  Closes https://github.com/espressif/esp-idf/issues/9287
2022-07-13 17:20:38 +08:00
Jiang Jiang Jian
b9a1020fcf Merge branch 'bugfix/reset_ble_hw_on_inititalization_v4.4' into 'release/v4.4'
[Bluetooth] Reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3(release/v4.4)

See merge request espressif/esp-idf!18964
2022-07-11 16:28:53 +08:00
wangmengyang
4d5aa82cea component/bt: reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3
1. Rename MACROs SYSTEM_WIFI_RST_EN register bit fields to be more recognizable
2. reset Bluetooth baseband and MAC bits to fix the issue of task watchdog triggered during controller initialization due to invalid hardware state
2022-07-11 11:06:11 +08:00
Marius Vikhammer
90e58c3721 docs: fix all doxygen warnings
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-07-05 11:14:40 +08:00
Jiang Jiang Jian
b9e018aa53 Merge branch 'bugfix/ledc_auto_clk_refactor_v4.4' into 'release/v4.4'
LEDC: improved support for ESP32-C3 and refactored divisor calculation (v4.4)

See merge request espressif/esp-idf!17101
2022-07-01 10:52:00 +08:00
Jiang Jiang Jian
65c85e34b1 Merge branch 'bugfix/cpu_cycle_count_not_iram_v4.4' into 'release/v4.4'
HAL: place cpu_ll_get_cycle_count in IRAM (v4.4)

See merge request espressif/esp-idf!18293
2022-06-15 10:52:48 +08:00
jiangguangming
7706cc8daf spi_flash: remove back-compatible with caller function of S3Beta ROM 2022-06-14 19:30:59 +08:00
Marius Vikhammer
e595ae88d4 HAL: place cpu_ll_get_cycle_count in IRAM
Closes https://github.com/espressif/esp-idf/issues/9008
2022-06-07 06:30:46 +00:00
morris
5addf329d8 Merge branch 'bugfix/i2c_incorrect_speed_v4.4' into 'release/v4.4'
I2C: Fix SCL period timings on ESP targets (backport v4.4)

See merge request espressif/esp-idf!18271
2022-06-06 12:32:32 +08:00
Anton Maklakov
279ec3eb35 i2c: fix 'comparision is always true' warning 2022-06-02 13:28:21 +08:00
morris
c0dcebc41c Merge branch 'feat/esp32s3_support_gpio_deepsleep_wakeup_v4.4' into 'release/v4.4'
example/deep_sleep: add example of EXT0 and using internal pullups (v4.4)

See merge request espressif/esp-idf!18119
2022-06-01 19:56:17 +08:00
Omar Chebib
8ac3d392a2 I2C: Fix SCL period timings on ESP targets
The output frequency is now more accurate as the SCL period timings have been fixed.
This fix applies for ESP32, ESP32S3, ESP32C3 and ESP32H2
2022-05-27 11:17:40 +08:00
Darian Leung
906bb0e4a3 hal: Fix systimer counter value bit field
This commit fixes the systimer_counter_value_t by adding a resreved field so that the
type fills 64-bits.

Without the reserved field, when compiling with -O0 optimization, the unoccupied high
bits would not be initalized by the compiler, leading to systimer_hal_get_counter_value()
returning a garbage value.
2022-05-26 01:47:33 +08:00
Jiang Jiang Jian
7e20435a54 Merge branch 'bugfix/fix_cannot_lslp_again_after_ulp_wakeup_backport_v4.4' into 'release/v4.4'
sleep: fix cannot lightsleep again after a wakeup from ULP(backport v4.4)

See merge request espressif/esp-idf!18180
2022-05-25 16:52:36 +08:00
Gustavo Henrique Nihei
7a9daa3cd3 hal: Fix max value for clkdiv_pre in ESP32-S3 SPI master clock config
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-05-24 08:51:16 -03:00
jingli
bef5b2ac6e remove wrong function rtc_cntl_ll_ulp_wakeup_enable for esp32s2 and esp32s3 2022-05-19 23:27:32 +08:00
jingli
25c49588f9 esp_hw_‎support/sleep: ‎fix cannot lightsleep again after a wakeup from ULP
Since ulp wakeup signal are connected to ulp int raw(except esp32), we
need to clear ulp int raw before sleep when ulp wakeup enabled. Otherwise,
if the ulp int raw is already set, chip will not sleep properly.

Closes https://github.com/espressif/esp-idf/issues/6229
2022-05-19 23:13:42 +08:00
Michael (XIAO Xufeng)
4efab0d0ff soc/esp32s3: merge gpio caps into soc_caps.h 2022-05-16 22:01:11 +08:00
Alexey Gerenkov
9017ff235b riscv: Use semihosting to set breakpoint and watchpoint when running under debugger 2022-05-13 12:54:21 +03:00
laokaiyao
cdaa440d98 i2s: fix only right case v4.4 2022-05-07 13:43:01 +00:00
Michael (XIAO Xufeng)
69a3bdacb0 Merge branch 'bugfix/adc2_cal_assert_arbiter_failed_v4.4' into 'release/v4.4'
adc_cal: fixed the assertion failure or returning wrong error code when ADC2 failed the arbitration (v4.4)

See merge request espressif/esp-idf!17586
2022-04-25 10:14:12 +08:00
Michael (XIAO Xufeng)
127d187743 Merge branch 'bugfix/i2c_iram_placement_fix_v4.4' into 'release/v4.4'
i2c: Correct hal functions iram placement and remove IRAM_ATTR for i2c_hw_fsm_reset (backport v4.4)

See merge request espressif/esp-idf!17808
2022-04-21 18:28:59 +08:00
Ivan Grokhotkov
be2bd983f4 Merge branch 'feature/vfs_semihosting_c3_v4.4' into 'release/v4.4'
vfs: add support for semihosting on ESP32-C3 (v4.4)

See merge request espressif/esp-idf!17527
2022-04-21 04:43:02 +08:00
Ivan Grokhotkov
ad532236ae vfs: add support for semihosting on ESP32-C3 2022-04-19 13:55:36 +00:00
rrforte
862ccae396 spi_lcd: support large color transfer 2022-04-19 13:01:13 +00:00
morris
ab3d75ab75 rgb_lcd: workaround auto-next frame bug
Closes https://github.com/espressif/esp-idf/issues/8620
2022-04-19 13:01:13 +00:00
songruojing
00229547b2 i2c: Correct hal functions iram placement and remove IRAM_ATTR for i2c_hw_fsm_reset
Closes https://github.com/espressif/esp-idf/issues/8422

(cherry picked from commit 1ceb7c8cd6)
2022-04-18 22:24:47 +08:00
Michael (XIAO Xufeng)
4e827ca09b adc_cal: fixed the assertion failure or returning wrong error code when ADC2 failed the arbitration
Issue exist since first IDF version supporting ESP32-S2.
2022-03-28 10:23:48 +00:00
Ondrej Kosta
d53094bdc0 esp_eth: EMAC start/stop optimization 2022-03-10 10:15:34 +01:00
Marius Vikhammer
c9ce438466 Merge branch 'bugfix/inline_intrmask_from_isr_v4.4' into 'release/v4.4'
freertos: always inline xPortSetInterruptMaskFromISR and vPortClearInterruptMaskFromISR (v4.4)

See merge request espressif/esp-idf!17325
2022-03-09 09:38:36 +08:00
morris
121ddb87e5 Merge branch 'bugfix/fix_adc_digital_not_reset_issue_v4.4' into 'release/v4.4'
adc: fix adc digital part not reset issue (v4.4)

See merge request espressif/esp-idf!17375
2022-03-08 23:16:33 +08:00
Armando
e1515beb26 adc: fix adc digital not reset issue 2022-03-07 11:40:18 +08:00
Armando
32afe6a498 sleep: restore analog calibration registers after waking up from light sleep
Closes https://github.com/espressif/esp-idf/issues/8287
Closes https://github.com/espressif/esp-idf/issues/7921
2022-03-07 11:28:48 +08:00
laokaiyao
86d78c1592 i2s: fix bug of switching mono/stereo mode by 'i2s_set_clk' on c3/s3 2022-03-03 03:23:41 +00:00
Marius Vikhammer
1690785432 spi flash: fix cache accessed while disabled issues at -O0
mask_get_id and gpio_hal_iomux_func_sel were called while cache
is disabled, but were not inlined as expected at -0O.
Force these functions to always be inlined.
2022-03-03 09:45:22 +08:00
morris
64f41ed6c4 Merge branch 'bugfix/bootloader_uart_custom_gpio_v4.4' into 'release/v4.4'
bootloader: fixed the issue custom_uart_gpio doesn't take effect (v4.4)

See merge request espressif/esp-idf!17307
2022-03-02 16:50:49 +08:00
songruojing
2ef6b8845b uart: fixed reset logic on ESP32-S3 2022-03-02 02:42:46 +08:00
Darian Leung
ea6de613bf usb: Hub Driver Update and Refactor
Hub Driver is refactored as follows:

This commit update and refactors the Hub Driver as follows:

- Refactored enumeration state machine and stage functions
    - Enumeration stage is now incremented
    - Combined transfer stages of enumeration into common functions
- Comments updated
- Fixed usbh_hal_disable_debounce_lock() that would cause root_port_handle_events()
    to fail the HCD_PORT_CMD_RESET call because the previous port connection interrupt
    was not cleared.

The following features were added to the Hub Driver

- Enumeration config descriptor is now fetched in two separate stages
    - Header is fetched first to determine the wTotalLength of the descriptor
    - Fetching the full descriptor will request exactly wTotalLength bytes
    - This works around some non-compliant devices that will babble/return zero
        when requesting a length > wTotalLength
    - Closes https://github.com/espressif/esp-idf/issues/7799
- Enumeration now stores string descriptors
    - The Manufacturer, Product, and Serial Number string descriptors are
        now read and stored during enumeration
    - String descriptors are now part of usb_device_info_t
- Added unit test to test enumeration
2022-02-18 15:51:05 +08:00
Darian Leung
7f09fe1b23 usb: USB Host stack uses USB PHY driver
This commit updates the USB Host stack to use the USB PHY driver. The
USB PHY and the OTG Controller should now both be setup/deleted using
usb_new_phy() and usb_del_phy() respectively.

- The hcd_install() now expects the USB PHY and OTG Contorller to be
    already setup before it is called
- usb_host_install() now has an option to skip calling usb_del_phy() if
    the user wants to setup their own USB PHY (e.g., in the case of using
    and external PHY).
- CDC-ACM and MSC examples/test updated to use internal PHY

Closes https://github.com/espressif/esp-idf/issues/8061
2022-02-18 15:51:05 +08:00
morris
11440c8757 Merge branch 'bugfix/gpio_intr_on_core1_s3_v4.4' into 'release/v4.4'
gpio: Fix the bug that gpio interrupt cannot be triggered on app cpu on ESP32S3 (backport v4.4)

See merge request espressif/esp-idf!16595
2022-02-17 01:47:46 +00:00
David Čermák
bf7266312c Merge branch 'bugfix/esp_eth_start_tx_buff_v4.4_followup' into 'release/v4.4'
Fixed ESP32 EMAC driver `insufficient TX buffer size` (v4.4 followup)

See merge request espressif/esp-idf!16666
2022-02-16 18:33:12 +00:00
songruojing
41e452e7d8 gpio: Fix the bug that gpio interrupt cannot be triggered on app cpu on ESP32S3
Closes https://github.com/espressif/esp-idf/issues/7885

(cherry picked from commit 91f1159f9c)
2022-02-16 14:50:51 +08:00
Jiang Jiang Jian
e3a5a85e2f Merge branch 'feature/gcov_esp32c3_v4.4' into 'release/v4.4'
debug_stubs and gcov: Refactor and add support for RISCV (v4.4)

See merge request espressif/esp-idf!17068
2022-02-16 03:26:49 +00:00
Michael (XIAO Xufeng)
8b86834a72 Merge branch 'bugfix/gpio_pin_num_fix_v4.4' into 'release/v4.4'
gpio: Fix some gpio pin num errors on esp32s2 and esp32c3 (backport v4.4)

See merge request espressif/esp-idf!16594
2022-02-10 10:21:52 +00:00
Michael (XIAO Xufeng)
fb1695ade7 Merge branch 'bugfix/fix_spi_cs_hold_time_issue_v4.4' into 'release/v4.4'
spi_master: fix spi cs_ena_posttrans issue (v4.4)

See merge request espressif/esp-idf!16686
2022-02-10 09:12:15 +00:00
Omar Chebib
9e000d4177 LEDC: divisor calculation will now be rounded up when necessary
Closes https://github.com/espressif/esp-idf/issues/7722
2022-02-10 16:56:07 +08:00
Omar Chebib
63afc84de5 LEDC: improved support for ESP32-C3 and refactored divisor calculation
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2022-02-10 16:54:00 +08:00
morris
956c6b889f rmt: do not support rx wrap on esp32s2
Closes https://github.com/espressif/esp-idf/issues/8354
2022-02-09 17:29:09 +08:00
Alexey Gerenkov
1bbefc3e5d debug_stubs: Refactor and add support for RISCV 2022-02-08 22:24:54 +03:00
laokaiyao
a9df58c776 i2s: fix mclk stopped when setting clock 2022-02-07 15:27:35 +08:00
Armando
1140036424 spi_master: fix spi cs_ena_posttrans issue 2022-02-07 12:19:51 +08:00
Martin Vychodil
7d9652dccf System/Security: Memprot API unified (ESP32C3,ESP32S3)
Unified Memory protection API for all PMS-aware chips

Closes JIRA IDF-3849
2022-01-27 12:40:27 +08:00
Roland Dobai
a59e3ab59d Merge branch 'feature/esp32s3_apptrace_v4.4' into 'release/v4.4'
Feature/esp32s3 apptrace v4.4

See merge request espressif/esp-idf!16649
2022-01-26 09:58:35 +00:00
laokaiyao
816b0ce878 i2s: impove the apll and clock division calculation 2022-01-13 11:06:40 +08:00
Alexey Gerenkov
8c2990fcea trax: Adds ESP32-S3 support 2022-01-05 19:34:28 +01:00
Ondrej Kosta
fd9f97b5f4 emac_hal_start/stop function description added 2022-01-05 16:26:37 +01:00
songruojing
b25fb1111d gpio: Fix some gpio pin num errors on esp32s2 and esp32c3 2021-12-30 12:27:14 +08:00
Michael (XIAO Xufeng)
5b80dd44be Merge branch 'feature/gdma_iram_interrupt_v4.4' into 'release/v4.4'
gdma: support IRAM interrupt (v4.4)

See merge request espressif/esp-idf!15993
2021-12-23 12:50:22 +00:00
Armando
1ec46ad3b8 adc: support adc dma driver on all chips 2021-12-23 17:13:46 +08:00
Ondrej Kosta
74ba1175b6 Fixed ESP32 EMAC driver insufficient TX buffer size which could followed esp_eth_stop and esp_eth_start sequence 2021-12-21 14:04:55 +01:00
morris
23e4c12a86 mcpwm: fix implicit conversion in LL function
Closes https://github.com/espressif/esp-idf/issues/8066
2021-12-15 10:24:42 +08:00
Jiang Jiang Jian
feee6a2f36 Merge branch 'bugfix/eth_emac_reset_dma_desc_v4.4' into 'release/v4.4'
esp-eth: emac: Reset Tx DMA channel owner on init (v4.4)

See merge request espressif/esp-idf!16008
2021-12-08 07:18:42 +00:00
morris
e311554554 lcd: rgb pclk idle default to low 2021-12-06 10:02:55 +08:00
Steinbart Andreas (HAU-EDS)
43811dc172 esp-eth: emac: Reset Tx DMA channel owner on init
Reset ethernet TX DMA descriptors sets owner to CPU, so re-installing the ethernet driver will now not result in packet loss

Merges https://github.com/espressif/esp-idf/pull/7752
2021-11-18 10:46:07 +01:00
morris
ee00029c05 gdma: support IRAM interrupt 2021-11-17 12:57:52 +08:00
Zim Kalinowski
a0f339fead Merge branch 'bugfix/usb_hcd_robustness_v4.4' into 'release/v4.4'
USB Host: Fix how disconnections an EP halts are handled (v4.4)

See merge request espressif/esp-idf!15908
2021-11-15 07:47:37 +00:00
Darian Leung
de6bf09f40 usb: Fix how the HCD handles sudden disconnection
This commit fixes how the USB Host HCD handles sudden disconnections.

Bugs:
- HW channels remain active when the port suddenly disconnects, and
previously the channel would be disabled by setting the disabled bit,
then waiting for a disabled interrupt. However, ISOC channels do not
generate the disabled interrupt when the port is invalid, thus leading
to tasks getting indefinitely blocked in hcd_pipe_command().

Fix:
On a sudden disconnection, forcibly treat all channels as halted even
if their HCCHAR.ChEna bit is still set. We do a soft reset after a port
error anyways, so the channels will eventually be reset.

Closes https://github.com/espressif/esp-idf/issues/7505
2021-11-11 16:25:01 +08:00
Darian Leung
a1082dfa59 usb: Fix LL 8/16 bit register field access
This commit addes the 8/16 bit register field access workarounds to
the DWC_OTG peripheral. This workaround was applied to all other
peripherals in commit 874a720286.
2021-11-11 16:24:08 +08:00
songruojing
762ca128b4 gpio: Fix the bug that esp32 gpio interrupt cannot be triggered on core 1
Introduced in 874a720286

Closes https://github.com/espressif/esp-idf/issues/7594

(cherry picked from commit 7ec38fcc42)
2021-11-11 12:43:09 +08:00
laokaiyao
f7f9683ef1 i2s: fix ws signal polarity in tdm mode 2021-11-05 11:35:02 +08:00
Zim Kalinowski
a7c9949dd9 Fixed build problem when icluding gpio_ll.h from cpp file 2021-10-17 14:29:31 +08:00
Kevin (Lao Kaiyao)
a9faafee3c Merge branch 'feature/touch_sensor_driver_support_for_esp32s3' into 'master'
driver(touch): support touch sensor for esp32s3 platform

Closes IDF-1784 and IDF-3302

See merge request espressif/esp-idf!14102
2021-10-12 05:50:58 +00:00
morris
7283e349b9 Merge branch 'refactor/rgb_lcd_callback_add_event_data' into 'master'
lcd: modify callback prototype && build API docs

See merge request espressif/esp-idf!15354
2021-10-09 06:26:44 +00:00
laokaiyao
f4705f8eb4 touch sensor: update copyright notice 2021-10-08 11:45:57 +08:00
laokaiyao
a1cadba191 touch_sensor: apply general check 2021-10-08 11:32:12 +08:00
fuzhibo
057b9d61b5 driver(touch): support touch sensor for esp32s3 platform 2021-10-08 10:39:46 +08:00
morris
e09e39c94f lcd: unify callback prototype 2021-10-02 14:23:31 +08:00
laokaiyao
7264c0e59a i2s_rec_example: add support for esp32s3 2021-10-01 16:05:04 +01:00
laokaiyao
f397379c8d i2s: fix the mono mode of PDM on esp32 2021-10-01 16:05:04 +01:00
SalimTerryLi
bd89dcc683
RMT: add loop_autostop driver support for esp32s3 2021-09-24 15:24:45 +08:00