benpicco
2c9f338791
Merge pull request #18271 from gschorcht/periph_hal_esp32_adc
...
cpu/esp32: use ESP-IDF adc/dac HAL for periph/adc and periph/dac
2022-07-17 20:06:09 +02:00
Gunar Schorcht
06aa8f2c42
cpu/esp_common: port periph/i2c_sw with calculated delays
...
Fixed delay values are replaced by calculated delays measured in CPU cycles in I2C software implementation. The advantage is that for each ESP SoC only a clock calibration offset has to be specified. The delay measured in CPU cycles are then then derived from current CPU frequency for the given bus speed. The disadvantage is that the calculated delays are not as precise as the predefined fixed delays.
2022-07-17 18:48:23 +02:00
Gunar Schorcht
c0becd2819
cpu/esp32: port periph/i2c_hw to ESP-IDF i2c HAL
2022-07-17 18:48:23 +02:00
Gunar Schorcht
43d2340eea
cpu/esp32: port periph/dac to ESP-IDF dac API
2022-07-17 17:16:49 +02:00
Gunar Schorcht
79ff1e5737
cpu/esp32: add dac to ESP-IDF interface API
2022-07-17 17:16:49 +02:00
Gunar Schorcht
11c9703675
cpu/esp32: port periph/adc to ESP-IDF interface API
2022-07-17 17:16:49 +02:00
benpicco
6ba048f80c
Merge pull request #18280 from gschorcht/cpu/esp32/periph_hal_esp32_pm
...
cpu/esp32: use ESP-IDF sleep API for periph/pm
2022-07-17 14:17:51 +02:00
Gunar Schorcht
a74a19e9f9
cpu/esp32: port periph/pm to ESP-IDF sleep API
2022-07-15 16:33:16 +02:00
Gunar Schorcht
9e011b653f
cpu/esp32: add adc to ESP-IDF initerface API
2022-07-15 16:17:03 +02:00
benpicco
dd806ce72e
Merge pull request #18270 from gschorcht/cpu/esp32/periph_hal_esp32_gpio
...
cpu/esp32: use ESP-IDF gpio HAL for periph/gpio
2022-07-15 15:44:13 +02:00
benpicco
295f4a5b04
Merge pull request #18281 from gschorcht/cpu/esp32/periph_hal_esp32_spi
...
cpu/esp32: use ESP-IDF spi HAL for periph/spi
2022-07-15 13:25:50 +02:00
benpicco
0c56e28fe1
Merge pull request #18282 from gschorcht/cpu/esp32/periph_hal_esp32_periph_timer
...
cpu/esp32: use ESP-IDF timer/interrupt HAL for periph/timer
2022-07-15 11:07:37 +02:00
Gunar Schorcht
d6eef52766
cpu/esp32: port periph/gpio to ESP-IDF gpio HAL
2022-07-15 11:03:32 +02:00
benpicco
1e8f3871fb
Merge pull request #18274 from gschorcht/cpu/esp32/periph_hal_esp32_uart
...
cpu/esp32: use ESP-IDF interrupt HAL for periph/uart
2022-07-15 10:58:46 +02:00
benpicco
de5472c76a
Merge pull request #18278 from gschorcht/cpu/esp32/periph_hal_esp32_can
...
cpu/esp32: use to ESP-IDF twai HAL for periph/can
2022-07-15 10:58:33 +02:00
Gunar Schorcht
9142edce03
cpu/esp32: port periph/spi to ESP-IDF spi LL API
2022-07-15 08:57:31 +02:00
Gunar Schorcht
8f3df0eee6
cpu/esp_common: move periph/spi to cpu/esp8266
...
periph/spi implementation can be used for ESP8266 only from now. An implementation using the ESP-IDF spi HAL interface is required for ESP32x SoCs.
2022-07-15 08:57:16 +02:00
Gunar Schorcht
3fd7e1ab17
cpu/esp32: port periph/timer to ESP-IDF interface API
2022-07-15 06:40:04 +02:00
benpicco
94e9116c04
Merge pull request #18276 from gschorcht/cpu/esp32/periph_hal_esp32_pwm
...
cpu/esp32: use ESP-IDF ledc HAL for periph/pwm
2022-07-14 18:09:01 +02:00
Gunar Schorcht
fccd3821dd
cpu/esp32: port periph/can to ESP-IDF twai HAL
2022-07-14 15:51:47 +02:00
Gunar Schorcht
09064aa056
cpu/esp32: PWM doc changes
2022-07-14 15:50:47 +02:00
Gunar Schorcht
2ae2facf90
cpu/esp32: port periph/pwm to ESP-IDF ledc HAL
2022-07-14 15:50:47 +02:00
Gunar Schorcht
6dd2659846
cpu/esp32: replace startup by architecture dependent ESP-IDF startup
2022-07-12 08:01:36 +02:00
benpicco
ba37e93bd6
Merge pull request #18267 from gschorcht/cpu/esp32/periph_hal_esp32_timer
...
cpu/esp32: use ESP-IDF timer HAL for system timer and watchdog
2022-07-10 23:08:57 +02:00
Marian Buschsieweke
29d21938aa
Merge pull request #18210 from maribu/cpu/esp32
...
cpu/esp32: enforce MAXTHREADS is at least 3
2022-07-06 17:57:48 +02:00
Marian Buschsieweke
026854d788
cpu/esp32: make sure MAXTHREADS is at least 3
...
ESP32 has an esp_timer thread in addition to the main and the idle
thread. So applications that work fine with 2 threads on other
platforms will break on ESP32.
2022-07-06 09:00:13 +02:00
Dmitriy Okladov
9304e2bf37
cpu/stm32: support for B subfamily of g0 to determine ram length
2022-07-05 19:10:16 +03:00
Marian Buschsieweke
d337997e5a
Merge pull request #18277 from gschorcht/cpu/esp/periph_hal_esp32_hwrng
...
cpu/esp_common: use ESP-IDF random API for ESP32
2022-07-04 19:02:58 +02:00
Gunar Schorcht
02310b1148
cpu/esp_common: port periph/hwrng to ESP-IDF random API
2022-06-30 11:10:02 +02:00
Marian Buschsieweke
fcbba02daf
Merge pull request #18256 from Teufelchen1/chore/macos
...
Documentation: Renaming OS X to macOS
2022-06-30 07:05:48 +02:00
Gunar Schorcht
ae48cfca33
cpu/esp32: port periph/rtt_hw_sys to ESP-IDF timer HAL
2022-06-29 08:37:43 +02:00
Gunar Schorcht
5261a930bb
cpu/esp32: port periph/rtt_hw_rtc to ESP-IDF interrupt HAL
2022-06-29 08:37:43 +02:00
Gunar Schorcht
7e19086a60
cpu/esp32: use ESP-IDF timer HAL for system timer in syscalls
2022-06-29 08:37:43 +02:00
Gunar Schorcht
0482eb1c90
cpu/esp32: use ESP-IDF timer HAL for peripheral timer definition
2022-06-29 08:35:38 +02:00
benpicco
a1ee44e114
Merge pull request #18263 from maribu/cpu/avr8/idle_stack
...
cpu/{atmega_common,atxmega}: increase idle thread stack size
2022-06-29 00:57:57 +02:00
benpicco
b00810c0e5
Merge pull request #18266 from gschorcht/cpu/esp32/variant_indpependent_syscalls
...
cpu/esp32: ESP32x SoC variant independent syscalls
2022-06-29 00:57:23 +02:00
benpicco
3b3c6d34b3
Merge pull request #18273 from gschorcht/cpu/esp32/periph_hal_esp32_cpuid
...
cpu/esp32: use ESP-IDF function esp_efuse_mac for CPU ID
2022-06-29 00:40:02 +02:00
Gunar Schorcht
c03933d08c
cpu/esp32: add ledc to ESP-IDF interface API
2022-06-28 18:28:27 +02:00
Gunar Schorcht
29199b20bd
cpu/esp32: add gpio to ESP-IDF interface API
2022-06-28 16:43:22 +02:00
benpicco
1b2360e6da
Merge pull request #18261 from gschorcht/cpu/esp32/use_esp_idf_interrupt_handling
...
cpu/esp32: use ESP-IDF interrupt handling API
2022-06-28 16:37:11 +02:00
Gunar Schorcht
4b2b0047cc
cpu/esp_common: port periph/uart to ESP-IDF uart API
...
This commit changes periph/uart to use ESP-IDF API for ESP32x SoCs. Furthermore, the MCU_* conditionals are inverted so that they can be tested for ESP8266. In all other cases the MCU is any ESP32x SoC
2022-06-28 16:25:24 +02:00
Gunar Schorcht
81caeb1bb1
cpu/esp32: add uart to ESP-IDF interface API
2022-06-28 16:25:10 +02:00
Gunar Schorcht
9065dcff14
cpu/esp32: port periph/cpu_id to ESP-IDF read_mac
2022-06-28 16:09:03 +02:00
Gunar Schorcht
4be0abf41a
cpu/esp32: rename CPU_INUM_RTC to CPU_INUM_RTT
2022-06-28 07:30:59 +02:00
Gunar Schorcht
6bd6afbd22
cpu/esp32: use ESP-IDF for interrupt handling
2022-06-28 07:30:59 +02:00
Marian Buschsieweke
b72cafb169
cpu/atmega_common: Fix atmega_port_addr()
...
In 04ab5a74f3
a bug was introduced in
the calculation of the GPIO port address by refactoring code. This
fixes the issue by extracting the GPIO port first from the pin.
2022-06-27 22:15:52 +02:00
Marian Buschsieweke
8cc0199437
cpu/{atmega_common,atxmega}: increase idle thread stack size
...
Our AVR port doesn't make use of an ISR stack and just victimizes the
stack of whatever thread happens to be running, which in most cases is
the idle thread. Hence, the idle stack has to be large enough to
support the ztimer ISR.
2022-06-27 14:39:57 +02:00
Gunar Schorcht
50e7eaace3
cpu/esp32: ESP32x SoC variant independent syscalls
2022-06-27 09:13:10 +02:00
benpicco
dd574a45f2
Merge pull request #18253 from gschorcht/cpu/esp32/add_esp_idf_api
...
cpu/esp32: add ESP-IDF API
2022-06-26 15:36:28 +02:00
benpicco
cff1e3c2b6
Merge pull request #18259 from gschorcht/cpu/esp32/separate_xtensa_platform_code
...
cpu/esp32: move platform code for Xtensa-based ESP32x SoCs to module esp_xtensa
2022-06-26 15:13:52 +02:00
Gunar Schorcht
ea5d2b3a2e
cpu/esp_common: add module esp_xtensa to Kconfig
2022-06-26 00:09:50 +02:00
Gunar Schorcht
6aafc1e362
cpu/esp_common: add module esp_xtensa to makefiles
2022-06-26 00:09:50 +02:00
Gunar Schorcht
b37c30378b
cpu/esp_common: move exception xtensa code to module esp_xtensa
...
To allow a platform independent implementation of exceptions for different ESP32x SoC variants, the platform specific code for Xtensa based ESP SoCs is moved to a separate platform file `exception_xtensa.c`.
2022-06-25 23:22:59 +02:00
Gunar Schorcht
c6ee0aeccb
cpu/esp_common: move irq_arch xtensa code to module esp_xtensa
...
To allow a platform independent implementation of irq_arch for different ESP32x SoC variants, the platform specific code for Xtensa based ESP SoCs is moved to a separate module `esp_xtensa`.
2022-06-25 23:22:59 +02:00
Gunar Schorcht
bb4a57e125
cpu/esp_common: move thread_arch xtensa code to module esp_xtensa
...
To allow a platform independent implementation of tread_arch for different ESP32x SoC variants, the platform specific code for Xtensa based ESP SoCs is moved to a separate module `esp_xtensa`.
2022-06-25 23:22:59 +02:00
Gunar Schorcht
8fabfbd6d9
cpu/esp_common: cleanup whitespaces in periph/flash
2022-06-25 08:12:31 +02:00
Gunar Schorcht
08cae6d4a8
cpu/esp_common: DEBUG messages with portable formatting
2022-06-25 08:12:31 +02:00
Gunar Schorcht
fb2f080fa7
cpu/esp_common: use ESP-IDF for ESP32 in periph/flash
...
Updates `cpu/esp_common/periph/flash` for ESP-IDF 4.4. `spi_flash_*` functions for ESP32 are removed since these functions are now used from ESP-IDF.
2022-06-25 08:12:31 +02:00
Gunar Schorcht
94ceccbe95
cpu/esp_common: inverse MCU_* conditionals in periph/flash
...
The MCU_* conditionals are inverted so that they can be tested for ESP8266. In all other cases the MCU is any ESP32x SoC
2022-06-25 08:10:05 +02:00
benpicco
1870d38594
Merge pull request #18249 from gschorcht/cpu/esp32/variant_independent_makefiles
...
cpu/esp32: ESP32x SoC variant independent makefiles
2022-06-24 23:02:10 +02:00
benpicco
32e64eb2e3
Merge pull request #18246 from gschorcht/cpu/esp32/variant_independent_bootloader
...
cpu/esp32: ESP32 SoCx variant independent bootloader makefile
2022-06-24 11:47:23 +02:00
Teufelchen1
1231807bab
Documentation: Renaming OS X to macOS
2022-06-23 17:25:48 +02:00
Gunar Schorcht
a1ba7b1207
cpu/esp32: add periph_ctrl to ESP-IDF interface API
2022-06-23 16:12:22 +02:00
Gunar Schorcht
de96a31e1f
cpu/esp32: add ESP-IDF interface API
...
Implements an interface for ESP-IDF types and functions that are required by RIOT-OS but cannot be included directly due to name conflicts.
f
2022-06-23 16:12:13 +02:00
Gunar Schorcht
cdd1ec81a4
cpu/esp_common: ESP32 variant independent makefiles
2022-06-23 13:19:52 +02:00
Gunar Schorcht
1f25ac8893
cpu/esp32: ESP32 variant independent makefiles
2022-06-23 13:19:40 +02:00
Gunar Schorcht
b60b47ff51
cpu/esp_common: inverse MCU_* conditionals to deal with ESP32 variants
...
The MCU_* conditionals are inverted so that they can be tested for ESP8266. In all other cases the MCU is any ESP32x SoC
2022-06-23 12:56:45 +02:00
Gunar Schorcht
09caa52074
cpu/esp32: variant independent bootloader makefile
...
Bootloader makefile that can be used for different ESP32x variants
2022-06-22 19:18:08 +02:00
benpicco
5350927111
Merge pull request #18239 from gschorcht/cpu/esp32/split_wpa_supplicant
...
cpu/esp32: split modul esp_wpa supplicant into several modules
2022-06-22 13:54:11 +02:00
benpicco
2895688a3d
Merge pull request #18224 from gschorcht/cpu/esp/freertos_changes_for_esp_idf_hal_ll
...
cpu/esp_common: FreeRTOS adaptation layer changes/extension required for ESP-IDF HAL/LL
2022-06-22 13:53:54 +02:00
Marian Buschsieweke
8465119d5c
Merge pull request #18240 from gschorcht/cpu/esp32/small_doc_fixes
...
cpu/esp32: small doc fixes
2022-06-22 11:44:00 +02:00
Marian Buschsieweke
256294aa56
Merge pull request #18234 from maribu/cpu/avr8_cpu_print_last_instruction
...
cpu/avr8_common: fix cpu_print_last_instruction
2022-06-22 11:43:21 +02:00
Gunar Schorcht
b5c666f157
cpu/esp32: small doc fixes
2022-06-21 16:43:23 +02:00
Gunar Schorcht
b0bf595494
cpu/esp32: split esp_idf_wpa_supplicant into several modules
2022-06-21 16:28:41 +02:00
Gunar Schorcht
ee9f2e439d
cpu/esp32: split esp_idf_wpa_supplicant into several modules
2022-06-21 16:28:28 +02:00
Gunar Schorcht
c8d8e5d3f5
cpu/esp_common/freertos: add required ringbuffer handling
2022-06-20 21:23:47 +02:00
Gunar Schorcht
780fd9a815
cpu/esp_common/freertos: add timeout handling to xQueue
2022-06-20 21:23:47 +02:00
Gunar Schorcht
99fa182fb4
cpu/esp_common/freertos: add required task functions
2022-06-20 21:23:47 +02:00
Gunar Schorcht
ae01985588
cpu/esp_common/freertos: add xSemaphoreGetMutexHolder
...
The mutex and semaphor handling had to be extended by the thread pid.
2022-06-20 21:23:47 +02:00
Gunar Schorcht
02e52513d1
cpu/esp_common/freertos: add xQueueReset function
2022-06-20 21:23:47 +02:00
Gunar Schorcht
e4f1a94219
cpu/esp_common/freertos: allow platform independent compilation
2022-06-20 21:23:47 +02:00
Marian Buschsieweke
740c2faaa8
cpu/avr8_common: fix cpu_print_last_instruction
2022-06-20 19:56:00 +02:00
Marian Buschsieweke
21daf782a7
cpu/avr8_common: clean up thread_arch.c
...
Use __AVR_HAVE_RAMP<D,X,Y,Y>__ and __AVR_HAVE_3_BYTE_PC__ provided by
the compiler instead of custom macros.
2022-06-20 19:49:07 +02:00
Benjamin Valentin
8cf20a286d
cpu/cortexm_common: allow to overwrite nmi_handler
...
If a user wants to handle NMI events, let them do so by
providing an implementation for nmi_handler() instead of
paniking.
2022-06-20 18:22:22 +02:00
Gunar Schorcht
4dc5e86b2a
cpu/esp32: remove libc_gettimeofday dependency
2022-06-18 16:35:11 +02:00
Gunar Schorcht
8796513ac1
cpu/esp32: add missing newlibc function _gettimeofday_r
2022-06-18 16:34:40 +02:00
Gunar Schorcht
e6823edb6a
Merge pull request #18216 from maribu/makefiles/tests/tests.inc.mk
...
makefiles/tests: use BINFILE for hash comparision instead of ELFFILE
2022-06-18 14:42:19 +02:00
Marian Buschsieweke
d1317abc02
makefiles/tests: use FLASHFILE for hash comparision instead of ELFFILE
...
Let's consider firmwares as identical if their flash files are matching.
This will have the side effect that hash mismatches for ESP32 due to
different .debug sections in the ELFFILE are prevented, as for ESP32
the BINFILE is used.
2022-06-17 18:31:17 +02:00
benpicco
24f7cbf9bb
Merge pull request #18222 from benpicco/sam0_sdhc-align
...
cpu/sam0_common: mtd_sdhc: ensure source address alignment
2022-06-17 10:15:46 +02:00
Marian Buschsieweke
3f28e2314a
Merge pull request #18219 from maribu/cpu/stm32/periph_eth
...
cpu/stm32/periph_eth: enable stm32_eth_link_up with lwip_ipv6
2022-06-17 08:51:47 +02:00
Benjamin Valentin
e8fd493f41
cpu/sam0_common: mtd_sdhc: ensure source address alignment
...
The source / destination address of the SDHC transfer needs to be
word-aligned.
Use the mtd buffer to fix the alignment if `mtd_write_page` is used,
otherwise return -ENOTSUP.
2022-06-16 18:58:10 +02:00
benpicco
809f9ed174
Merge pull request #18207 from gschorcht/cpu/esp32/fix_shell_reboot
...
cpu/esp32: fix pm_reboot function
2022-06-16 16:47:31 +02:00
Marian Buschsieweke
c9798c86ce
cpu/stm32/periph_eth: enable stm32_eth_link_up with lwip_ipv6
...
An network devices that supports netdev_driver_t::get(NETOPT_LINK, ...)
also has to emit NETDEV_EVENT_LINK_UP and NETDEV_EVENT_LINK_DOWN with
lwip for IPv6 duplicate address detection to work. The background is
that the STM32 Ethernet MAC requires a periodic timer to poll for the
state to emit these events. For this reason, `stm32_eth_link_up` was
introduced to allow applications to select if they need these events.
With this dependency in place, IPv6 addresses won't get stuck in a
tentative state any more.
2022-06-16 15:45:24 +02:00
Gunar Schorcht
0622d45949
cpu/esp32: fix pm_reboot function
2022-06-16 13:40:08 +02:00
Marian Buschsieweke
6db97e2871
Merge pull request #18209 from gschorcht/cpu/esp32/fix_malloc_thread_safety
...
cpu/esp32: fix malloc thread safety
2022-06-16 13:39:26 +02:00
Gunar Schorcht
041fe58209
cpu/esp32: add malloc_thread_safe if esp_idf_heap not used
2022-06-15 07:31:02 +02:00
benpicco
d1a45ba006
Merge pull request #18188 from benpicco/cpu/samd20-errata
...
cpu/samd21: handle NVM block errata
2022-06-10 15:47:20 +02:00
Francisco
e5c7e3b633
Merge pull request #18029 from haukepetersen/verbump_nimble_nrfx2022
...
pkg/nimble: version bump to NimBLE 1.5.0 RC1
2022-06-10 04:11:26 +02:00
Benjamin Valentin
2c04d6cefe
cpu/samd21: handle silicon errata
...
- The `periph_flashpage` driver expects the manual write bit to be set
This should be set by default, but the SAM D20/SAM D21 errata sheets
correct that this is indeed *not* set by default, which may cause
spurious writes.
- SAM D20 may not wake up from any sleep mode if sleep power reduction
is enabled for the NVM block.
2022-06-09 18:27:30 +02:00
benpicco
a64f722a42
Merge pull request #17781 from benpicco/hard_fault-BKPT
...
cpu/cortexm_common: remove breakpoint from hard_fault_handler
2022-06-07 15:28:08 +02:00