1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/esp32
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
..
bin cpu/esp32: compile bootloader from ESP-IDF v4.4 source 2022-06-01 13:31:00 +02:00
bootloader *Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
esp-ble-nimble *Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
esp-eth *Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
esp-idf *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
esp-idf-api *Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
esp-lcd *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
freertos cpu/esp*: move freertos/task to cpu/esp_common 2020-02-21 09:09:34 +01:00
include cpu/esp32/gpio_ll: fix & cleanup 2024-04-30 14:16:28 +02:00
ld Merge #19760 #19946 #19956 #19957 2023-09-29 08:36:50 +00:00
periph cpu/esp32/gpio_ll: fix & cleanup 2024-04-30 14:16:28 +02:00
stdio_usb_serial_jtag *Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
vendor/include cpu/esp32: add vendor header file for periph_usbdev 2022-09-27 01:00:57 +02:00
doc_esp32.txt cpu/esp32: add SDMMC support 2024-01-05 07:22:27 +01:00
doc_esp32c3.txt cpu/esp32: documentation fix 2023-07-07 11:12:01 +02:00
doc_esp32s2.txt cpu/esp32: documentation fix 2023-07-07 11:12:01 +02:00
doc_esp32s3.txt cpu/esp32: add SDMMC support 2024-01-05 07:22:27 +01:00
doc.txt cpu/esp32: add SDMMC support 2024-01-05 07:22:27 +01:00
esp_ztimer.c cpu/esp32: platform-independent formatting in DEBUG 2022-07-18 13:51:33 +02:00
irq_arch.c cpu/esp32: add SDMMC support 2024-01-05 07:22:27 +01:00
Kconfig *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Kconfig.common *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Kconfig.esp32 *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Kconfig.esp32c3 *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Kconfig.esp32s2 *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Kconfig.esp32s3 *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Kconfig.esp32x *Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
Makefile cpu/esp32: add LCD low-level parallel interface suppport 2023-11-13 13:01:57 +01:00
Makefile.default cpu: make pm_layered a DEFAULT_MODULE 2021-01-27 13:21:20 +01:00
Makefile.dep cpu/esp32: add SDMMC support 2024-01-05 07:22:27 +01:00
Makefile.features *Makefile.features: Remove TEST_KCONFIG includes 2024-03-26 14:53:39 +01:00
Makefile.include cpu/esp32: add LCD low-level parallel interface suppport 2023-11-13 13:01:57 +01:00
startup.c cpu/esp32: fix compilation with gcc 12.2 2023-04-17 07:32:48 +02:00
syscalls.c cpu/esp32: fix compilation with gcc 12.2 2023-04-17 07:32:48 +02:00
usb_reset.c cpu/esp32: add esp-bootloader-reset 2023-02-02 10:56:40 +01:00