Yuan Yu
18091976ec
fix(hal): Wrap LL macros with atomic env in do-while for control safety
...
- Standardize all LL macros using atomic env variables with `do { ... } while (0)`
- Prevent potential macro misuse in control flow constructs (e.g., if/else)
- Affected targets: esp32, esp32c2, esp32c5, esp32s3, esp32p4, etc.
- Affected modules include: LCD, I2S, TIMER, and others
2025-05-22 14:42:11 +08:00
morris
5655ee9ba8
fix(uart): fifo read may generate load byte instruction
2025-04-23 16:10:36 +08:00
Song Ruo Jing
b38ac5ad82
feat(uart): add uart_detect_bitrate_bps API for data line bitrate measurement
...
Closes https://github.com/espressif/esp-idf/issues/14721
2025-03-28 15:03:19 +08:00
Song Ruo Jing
01c9407bb6
fix(uart): correct C3/S3 module enable porcedure to avoid undesired line noise
2025-03-28 15:03:19 +08:00
Song Ruo Jing
1b09bb3037
fix(uart): LP UART does not have the pre-divider for its clock source
...
Closes https://github.com/espressif/esp-idf/issues/15427
2025-03-06 20:35:48 +08:00
igor.udot
f742a05b28
feat: supports lp uart wakeup
2025-02-05 14:54:48 +08:00
Song Ruo Jing
e6ef4d1791
fix(uart): fix 8/16-bit uart register access
2024-11-12 16:52:10 +08:00
wuzhenghui
05e74480f5
feat(esp_system): gate some clock by default to optmize esp32p4 active power
2024-09-11 10:53:00 +08:00
Song Ruo Jing
dca7c286d0
feat(uart): support uart module sleep retention on c6/h2/p4
2024-06-03 12:40:43 +08:00
Song Ruo Jing
90bf2772ac
fix(uart): Fix mismatch wakeup rising edges required with the threshold configured
...
Closes https://github.com/espressif/esp-idf/issues/12586
2024-03-15 16:58:33 +08:00
gaoxu
1b1e4d2f76
feat(uart): change fifo.byte to fifo.val when uart_ll_write_txfifo
2024-02-29 14:20:10 +08:00
Song Ruo Jing
46d33e46ef
fix(console): enable to select UART1 port for console output
...
This feature was only enabled for esp32, esp32s2, esp32s3 previously.
Now, enabling this feature for all targets.
2023-11-09 22:32:49 +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
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
Song Ruo Jing
767698b90d
feat(uart): Add sdkconfig.ci.iram_safe test for UART driver
2023-08-30 11:30:03 +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
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
Song Ruo Jing
921713fff4
uart: Support LP_UART port with UART driver on esp32c6
2023-06-16 07:31:40 +00:00
jingli
238f31d93b
uart: add low level func for uart to set err wr mask
2023-03-09 10:28:33 +08:00
Song Ruo Jing
db59ab5000
Merge branch 'contrib/github_pr_10640' into 'master'
...
hal/uart_ll.h: Fix compile with C++ (ESP32-S3/H2) (GitHub PR)
Closes IDFGH-9255
See merge request espressif/esp-idf!22238
2023-02-10 10:51:27 +08:00
Song Ruo Jing
b69f983525
uart: Fix two TX concurrency issues
...
1. Concurrency might cause ESP_ERR_TIMEOUT when calling uart_wait_tx_done
2. Concurrency might cause RTS line being de-assreted during tx transmission for rs485 mode
2023-02-08 14:24:43 +08:00
Simon Arlott
d78d1a2376
hal/uart_ll.h: Fix compile issue with C++
...
Merges https://github.com/espressif/esp-idf/pull/10640
2023-02-08 06:24:24 +00:00
Simon Arlott
d1993c01f2
hal/uart_ll.h: Fix compile with C++
...
I'm including <hal/uart_ll.h> in my C++ application because I need to
bypass the uart driver. The inline functions in the header file fail to
compile as C++.
All of the enums need explicit casts for conversion to/from integers.
Merges https://github.com/espressif/esp-idf/pull/10106
2022-11-15 06:29:05 +00:00
Michael (XIAO Xufeng)
746f4b814c
uart: move frequency of clock sources out of HAL
2022-08-15 18:55:43 +00:00
songruojing
b6887416d4
uart: fixed reset logic on ESP32-S3
2022-03-01 18:21:31 +08:00
laokaiyao
c4cfb654d2
uart: support light sleep on esp32s3
2022-01-25 17:43:02 +08:00
SalimTerryLi
874a720286
soc/ll: workaround compiler bug that generate 8/16 bits inst instead of 32 bits one
...
update all struct headers to be more "standardized":
- bit fields are properly wrapped with struct
- bitwidth sum should be 32 within same struct, so that it's correctly padded with reserved bits
- bit field should be uint32_t
- typedef volatile struct xxx{} yyy;: xxx must exists. refer: https://github.com/espressif/esp-idf/pull/3199
added helper macros to force peripheral registers being accessed in 32 bitwidth
added a check script into ci
2021-08-30 13:50:58 +08:00
Cao Sen Miao
26c808610c
uart: update ll layer with new register
2021-07-29 18:01:48 +08:00
Michael (XIAO Xufeng)
5569dedd7f
Merge branch 'bugfix/i2c_example_esp32s3' into 'master'
...
i2c: bringup on ESP32-S3
Closes IDF-3232 and IDF-3292
See merge request espressif/esp-idf!13985
2021-07-29 07:01:38 +00:00
Jiang Jiang Jian
97507ebe49
Merge branch 'feature/support_esp32s3_lightsleep' into 'master'
...
support esp32s3 normal lightsleep
See merge request espressif/esp-idf!14369
2021-07-28 15:09:37 +00:00
Marius Vikhammer
a29a6ceef0
uart: update register headers and examples for S3
2021-07-22 12:05:49 +08:00
Omar Chebib
b8c6c5334f
i2c: modify examples to work out of the box on ESP32S3
...
On ESP32S3, the default I2C pins of the examples are already used by USB.
This commit changes the default pins.
2021-07-21 11:04:16 +08:00
Li Shuai
512800891e
light sleep: add uart new final state machine support for esp32s3
2021-07-20 11:27:14 +08:00
Andrey Starodubtsev
8488055711
Fix typo in include/hal/uart_ll.h
...
s/final state machine/finite-state machine/g
Signed-off-by: bizhuangyang <bizhuangyang@espressif.com >
Merges https://github.com/espressif/esp-idf/pull/7076
2021-06-02 15:37:30 +08:00
aleks
193f1f9b4e
driver: fix uart handler in iram calls inline uart_ll_is_tx_idle
2021-03-31 14:39:59 +00:00
Michael (XIAO Xufeng)
fc61e60948
uart: fixed incorrect baudrate on C3 and S3 when target is too slow
...
The integer part of the divider is only 12-bit now. We used prescaler to get low frequency instead.
2021-03-09 20:09:42 +08:00
Li Shuai
a43de3a44b
fix set UART_FORCE_XOFF can't stop new Tx request issue
2021-01-19 14:51:22 +08:00
Armando
f80bcb733a
uart: modify s3 ll functions of reading/writing fifo
2020-11-30 15:23:15 +11:00
Armando
05a4a8d864
uart: seperate sclk and baudrate setting
2020-11-24 19:12:52 +08:00
Armando
fb8b905539
uart: add uart support on esp32s3
2020-11-24 19:12:51 +08:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Michael (XIAO Xufeng)
647dea9395
soc: combine xxx_caps.h into one soc_caps.h
...
During HAL layer refactoring and new chip bringup, we have several
caps.h for each part, to reduce the conflicts to minimum. But this is
The capabilities headers will be relataive stable once completely
written (maybe after the featues are supported by drivers).
Now ESP32 and ESP32-S2 drivers are relative stable, making it a good
time to combine all these caps.h into one soc_caps.h
This cleanup also move HAL config and pin config into separated files,
to make the responsibilities of these headers more clear. This is
helpful for the stabilities of soc_caps.h because we want to make it
public some day.
2020-10-17 16:10:15 +08:00
Michael (XIAO Xufeng)
5425ef4ee4
hal: extract hal component from soc component
2020-09-01 13:25:32 +08:00