1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/esp32/periph
Marian Buschsieweke dd585f9e9d
cpu/esp32/gpio_ll: fix & cleanup
- `gpio_ll_toggle()` now is race-free
- avoid using a look up table but branch to the two different registers
  in the `gpio_ll*()` functions
    - in most cases the GPIO port is a compile time constant and the
      dead branch is eliminated by the optimizer, making this vastly
      more efficient
    - some MCUs do only have a single port, in which case
      `GPIO_PORT_NUM(port)` is known to return `0` even if `port` is
      not known, resulting in one of the branch being eliminated as
      dead branch no matter what
    - in case it really is unknown at compile time which port to work
      on, the branch can still be implemented efficiently by the
      compiler e.g. using a conditional move; likely more efficient
      than fetching a value from the look up table.
2024-04-30 14:16:28 +02:00
..
adc_arch_esp32.c Merge pull request #18333 from gschorcht/cpu/esp32/cleanups_to_reduce_vera_warnings 2022-07-20 15:08:55 +02:00
adc_arch_esp32c3.c cpu/esp32: add ESP32-C3 support in peripheral drivers 2022-08-05 22:26:22 +02:00
adc_arch_esp32s2.c cpu/esp32: add ESP32-S2 support in peripheral drivers 2022-08-29 17:19:39 +02:00
adc_arch_esp32s3.c cpu/esp32: add ESP32-S3 support in peripheral drivers 2022-08-17 02:04:07 +02:00
adc.c cpu/esp32: fix compilation with gcc 12.2 2023-04-17 07:32:48 +02:00
can.c cpu/esp32: fix compilation of esp_can 2023-05-11 07:22:52 +02:00
cpuid.c cpu/esp32: port periph/cpu_id to ESP-IDF read_mac 2022-06-28 16:09:03 +02:00
dac.c cpu/esp32: remove ESP-IDF dac interface API 2023-03-27 03:10:56 +02:00
flashpage.c cpu/esp32: fix compilation with gcc 12.2 2023-04-17 07:32:48 +02:00
gpio_arch_esp32.c cpu/esp_common: replace FLASH_MODE_* by CONFIG_*FLASHMODE_* defines 2022-08-01 15:17:33 +02:00
gpio_arch_esp32c3.c cpu/esp32: add ESP32-C3 support in peripheral drivers 2022-08-05 22:26:22 +02:00
gpio_arch_esp32s2.c cpu/esp32: add ESP32-S2 support in peripheral drivers 2022-08-29 17:19:39 +02:00
gpio_arch_esp32s3.c cpu/esp32: add ESP32-S3 support in peripheral drivers 2022-08-17 02:04:07 +02:00
gpio_ll_irq.c cpu/esp32/gpio_ll: fix & cleanup 2024-04-30 14:16:28 +02:00
gpio_ll.c cpu/esp32/gpio_ll: fix & cleanup 2024-04-30 14:16:28 +02:00
gpio.c cpu/esp32: fix compilation with gcc 12.2 2023-04-17 07:32:48 +02:00
hwrng.c cpu/esp_common: port periph/hwrng to ESP-IDF random API 2022-06-30 11:10:02 +02:00
i2c_hw.c cpu/esp32: add ESP32-S3 support in peripheral drivers 2022-08-17 02:04:07 +02:00
Kconfig *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Makefile cpu/esp32: extend file names of CPU specific files by CPU family 2022-07-18 17:08:34 +02:00
pm.c cpu/esp32: port periph/pm to ESP-IDF sleep API 2022-07-15 16:33:16 +02:00
pwm.c cpu/esp32/periph/pwm.c: fix format specifier 2023-05-10 13:02:47 +02:00
rtt_hw_rtc.c cpu/esp32: fix compilation with gcc 12.2 2023-04-17 07:32:48 +02:00
rtt_hw_sys.c cpu/esp32: port periph/rtt_hw_sys to ESP-IDF timer HAL 2022-06-29 08:37:43 +02:00
rtt.c cpu/esp32: fix compilation with gcc 12.2 2023-04-17 07:32:48 +02:00
sdmmc.c cpu/esp32: add SDMMC support 2024-01-05 07:22:27 +01:00
spi.c cpu/esp32: remove ESP-IDF periph_ctrl interface API 2023-03-27 03:10:56 +02:00
timer.c cpu/esp32: fix compilation of esp_hw_counter 2023-05-11 06:56:36 +02:00