morris
6d502b710c
Merge branch 'bugfix/fix_lcd_ll_macro_safety' into 'master'
...
fix(hal): Wrap LL macros with atomic env in do-while for control safety
Closes IDF-11981
See merge request espressif/esp-idf!39202
2025-05-26 19:06:11 +08:00
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
wuzhenghui
2931aa23b6
fix(esp_hw_support): update LACT clock prescale immediately when APB changes on esp32
2025-05-22 13:58:50 +08:00
Chen Jichang
2cbc297969
refactor(gptimer): use group_id in clock ctrl functions
2025-04-08 10:20:48 +08:00
morris
e8b6d2280d
change(gptimer): use private unsafe RCC LL functions in bootloader
2024-04-08 17:48:20 +08:00
wuzhenghui
48e6629987
change(hal): redefine some ll for unsafe calling
2024-03-07 19:26:37 +08:00
morris
49e7228be9
feat(gptimer): basic driver support on esp32c5
2024-02-19 10:27:18 +08:00
morris
71cf16ec01
feat(gptimer): use RCC atomic block to enable/reset peripheral
2023-08-22 17:05:35 +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
a1030307f1
gptimer: bringup driver on esp32c6
2022-09-13 10:50:58 +08:00
morris
995b89fbb6
gptimer: add API to get captured count value
2022-08-25 17:55:19 +08:00
morris
7faf1bee73
gptimer: add test with -O0
2022-08-02 22:53:36 +08:00
morris
2c810f8451
timer: save alarm value in driver layer
2021-12-23 11:39:32 +08:00
morris
e2275b1f63
gptimer: clean up hal and ll for driver-ng
2021-10-20 18:40:08 +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
morris
9afdf54748
hal: added HAL_ASSERT
2021-06-22 11:28:01 +08:00
morris
5a520cacf1
timer_group: correct timer_ll_set_divider
2021-03-16 17:56:37 +08:00
morris
deea402cf4
timer: pooling update bit before reading count value
2020-11-12 10:31:38 +08:00
morris
e4c8ec6174
timergroup: move interrupt index into peripheral description file
...
1. Added timer_group_periph.c file, describing module global signals
(e.g. interrupt index)
2. Added more caps in soc_caps.h
2020-11-03 18:16:50 +08:00
Michael (XIAO Xufeng)
5425ef4ee4
hal: extract hal component from soc component
2020-09-01 13:25:32 +08:00