1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

44428 Commits

Author SHA1 Message Date
bors[bot]
944b3f0618
Merge #19960
19960: dist/tools/jlink: fix DBG_PID assignment r=benpicco a=LP-HAW



Co-authored-by: LP-HAW <lars.pfau@haw-hamburg.de>
2023-09-29 19:45:17 +00:00
Benjamin Valentin
278d2c781c ztimer_periodic: fix example in documentation 2023-09-29 18:27:43 +02:00
bors[bot]
328dd596e1
Merge #19959
19959: pkg/driver_cryptocell_310: Fix Makefile r=benpicco a=mguetschow


### Contribution description

- make sure to download/extract during prepare, instead of build
- this fixes the issue of missing include dependencies for other pkgs at build time

### Testing procedure

- for an app Makefile, include both `c25519` and `driver_cryptocell_310`
- on `master`, `make all` fails with a missing include path from the `driver_cryptocell_310` package
- with this change, it works


### Issues/PRs references

- isolated from #19954 as suggested by `@miri64` 

Co-authored-by: Mikolai Gütschow <mikolai.guetschow@tu-dresden.de>
2023-09-29 15:56:42 +00:00
Mikolai Gütschow
8404ad50b5
pkg/c25519: unify Makefile variables 2023-09-29 15:08:26 +02:00
Mikolai Gütschow
7f137af925
pkg/driver_cryptocell_310: fix Makefile
make sure to download/extract during prepare, instead of build

this fixes the issue of missing include dependencies for other pkgs at build time
2023-09-29 15:08:11 +02:00
LP-HAW
25013f8ca9 dist/tools/jlink: fix DBG_PID assignment 2023-09-29 13:23:38 +02:00
Benjamin Valentin
7c718ae34b tests/unittests: blacklist LLVM on native
This test is randomly failing CI, so disable it.
2023-09-29 10:38:43 +02:00
bors[bot]
149cee491e
Merge #19760 #19946 #19956 #19957
19760: cpu/sam0_common/periph: add low-level SDMMC peripheral driver for SDHC r=benpicco a=gschorcht

### Contribution description

This PR implements the low-level SDIO/SDMMC peripheral driver for SAM0 SDHC according to the definition in #19539.

### Testing procedure

```
BOARD=same54-xpro make -C tests/drivers/sdmmc
```
```
BOARD=same54-xpro make -C tests/sys/vfs_default
```

### Issues/PRs references

~Depends on PR #19539~
Depends on PR #19899

19946: posix_sockets.c: Fix 2 byte int compilation errors r=benpicco a=mrdeep1



19956: cpu/esp32: fix heap definition for ESP32-S2 and ESP32-S3 r=benpicco a=gschorcht

### Contribution description

For ESP32-S2 and ESP32-S3 the symbol `_heap_end` must not be used as `_eheap` for the newlibc `malloc` and function `sbrk`.

`_heap_end` is used by the ESP-IDF heap implementation `esp-idf-heap` and points to the highest possible address (0x40000000) that could be used for the heap in ESP-IDF. It doesn't point to the top address of the unused SRAM area that can be used in newlibc `malloc` and function `sbrk`. Instead, the origin and the length of `dram0_0_seg` must be used to calculate the end of the heap `_eheap`.

The problem only occurs for the newlibc `malloc` when the `sbrk` function is used but not for the ESP-IDF heap implementation `esp_idf_heap`.

### Testing procedure

Use any ESP32-S2 or ESP32-S3 board and flash `tests/sys/malloc`, e.g.
```
CFLAGS='-DCHUNK_SIZE=16384' USEMODULE='stdio_uart' BOARD=esp32s3-pros3 make -j8 -C tests/sys/malloc flash
```
Without the PR the `nm` command will give the wrong address 
```
nm -s tests/sys/malloc/bin/esp32s3-pros3/tests_malloc.elf | grep _eheap
40000000 A _eheap
```
The test will stuck, i.e. the allocation of memory stops when the top of unused SRAM is reached and the board restarts when the watchdog timer expires. With the PR it should work as expected
```
Help: Press s to start test, r to print it is ready
START
main(): This is RIOT! (Version: 2023.10-devel-309-g4669e)
calloc(zu, zu) = 0x10000000
CHUNK_SIZE: 16384
NUMBER_OF_TESTS: 3
Allocated 16384 Bytes at 0x3fc8c4b0, total 16384
...
Allocated 16384 Bytes at 0x3fcec6f0, total 409792
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403763e3
```

With this PR the `nm` command should give a address in unused SRAM address space
```
nm -s tests/sys/malloc/bin/esp32s3-pros3/tests_malloc.elf | grep _eheap
3fcca000 A _eheap
```
and the test should pass.

### Issues/PRs references


19957: cpu/esp32: fix Octal SPI RAM for ESP32-S3 r=benpicco a=gschorcht

### Contribution description

This PR fixes Octal SPI RAM handling for ESP32-S3.

Functions that are used during the initialization of the Octal SPI RAM must reside in IRAM instead of Flash. Otherwise, the system stucks during boot once the Octal SPI RAM is enabled. The reason is that the Flash is not available during the initialization of the Octal SPI RAM and the functions that are called during that initialization can't be accessed in Flash. As a result the call of such a function leads to code that is messed up and the system crashes.

The PR also includes the documentation fixe for the `esp32s3-box`. It also includes a small documentation fix regarding the SPI RAM for the `esp32s3-pros3` board.

### Testing procedure

Use a board that has Octal SPI RAM and flash `tests/sys/malloc`, e.g.:
```
CFLAGS='-DCHUNK_SIZE=16384' USEMODULE='stdio_uart esp_spi_ram esp_log_startup' \
BOARD=esp32s3-box make -C tests/sys/malloc
```
Without the PR, the system stuck during boot once the information for the Octal SPI RAM is print
```
ESP-ROM:esp32s3-20210327
...
I (133) boot: Loaded app from partition at offset 0x10000
I (134) boot: Disabling RNG early entropy source...
vendor id : 0x0d (AP)
dev id    : 0x02 (generation 3)
density   : 0x03 (64 Mbit)
good-die  : 0x01 (Pass)
Latency   : 0x01 (Fixed)
VCC       : 0x01 (3V)
SRF       : 0x01 (Fast Refresh)
BurstType : 0x01 (Hybrid Wrap)
BurstLen  : 0x01 (32 Byte)
Readlatency  : 0x02 (10 cycles@Fixed)
DriveStrength: 0x00 (1/1)
```
and the board restarts when the watchdog timer expires.

With this PR, the system starts as expected.
```
ESP-ROM:esp32s3-20210327
...
I (132) boot: Loaded app from partition at offset 0x10000
I (133) boot: Disabling RNG early entropy source...
vendor id : 0x0d (AP)
dev id    : 0x02 (generation 3)
density   : 0x03 (64 Mbit)
good-die  : 0x01 (Pass)
Latency   : 0x01 (Fixed)
VCC       : 0x01 (3V)
SRF       : 0x01 (Fast Refresh)
BurstType : 0x01 (Hybrid Wrap)
BurstLen  : 0x01 (32 Byte)
Readlatency  : 0x02 (10 cycles@Fixed)
DriveStrength: 0x00 (1/1)
Found 64MBit SPI RAM device
SPI RAM mode: sram 40m
PSRAM initialized, cache is in normal (1-core) mode.
Pro cpu up.
Single core mode
SPI SRAM memory test OK
Initializing. RAM available for dynamic allocation:
At 3FC8C150 len 00053EB0 (335 KiB): D/IRAM
At 3FCE0000 len 0000EE34 (59 KiB): STACK/DRAM
At 3FCF0000 len 00008000 (32 KiB): DRAM

Starting ESP32x with ID: f412fafd0f8c
ESP-IDF SDK Version v4.4.1

Current clocks in Hz: CPU=80000000 APB=80000000 XTAL=40000000 SLOW=150000
PRO cpu is up (single core mode, only PRO cpu is used)
PRO cpu starts user code
Adding pool of 8192K of external SPI memory to heap allocator
Used clocks in Hz: CPU=80000000 APB=80000000 XTAL=40000000 FAST=8000000 SLOW=150000
XTAL calibration value: 3643448
Heap free: 8754851 bytes

Board configuration:
	UART_DEV(0)	txd=43 rxd=44
	LED		pins=[ ]
	BUTTONS		pins=[ 0 ]

Starting RIOT kernel on PRO cpu
Help: Press s to start test, r to print it is ready
```

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Jon Shallow <supjps-libcoap@jpshallow.com>
2023-09-29 08:36:50 +00:00
Gunar Schorcht
cb88b86693 cpu/esp32: place code for SPI RAM in IRAM 2023-09-29 09:01:12 +02:00
Gunar Schorcht
459bc120df boards/esp32s3-pros: fix documentation 2023-09-29 09:01:12 +02:00
Gunar Schorcht
e8c14803a2 boards/esp32s3-box: fix documentation 2023-09-29 09:01:12 +02:00
Gunar Schorcht
3a40e20452 cpu/esp32: fix ld scripts for heap
For ESP32-S2 and ESP32-S3 the symbol `_heap_end` must not be used as `_eheap` for dynamic memory allocation, because it points to the highest possible address that could be used for the heap, but not to the top address of the unused SRAM area. Instead, the origin and length of `dram0_0_seg` must be used to calculate the end of the heap.
2023-09-29 08:12:59 +02:00
Gunar Schorcht
ca44651d78 drivers/mtd: fix missing dependency in Kconfig for periph_sdmmc 2023-09-29 07:49:41 +02:00
Gunar Schorcht
5393c7571a drivers/sdmmc: fix dependencies for ztimer_msec
Enabling `ztimer_msec` through `sdmmc` in case `ztimer_usec` is not enabled will not work if the dependencies for `sdmmc` are resolved before the dependencies of another module that enables `ztimer_usec`. Therefore, `ztimer_msec` has to be enabled by `sdmmc`
2023-09-29 07:48:32 +02:00
bors[bot]
6a826fa1e0
Merge #19953
19953: boards/esp32s3-wt32-sc01-plus: fix Kconfig r=aabadie a=gschorcht

### Contribution description

This PR fixes a remaining Kconfig mismatch. It should fix the last compilation problem of the nightly.

### Testing procedure

```
python3 dist/tools/compile_test/compile_like_murdock.py -a tests/drivers/ili9341/ -b esp32s3-wt32-sc01-plus
```
should fail w/o this PR but should succeed with this PR.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-28 22:02:52 +00:00
bors[bot]
99dc926f5e
Merge #19952
19952: cpu/stm32/periph/eth: Disable hardware checksums r=maribu a=yarrick

lwIP will fill them in already.

Having this enabled causes empty checksums to be sent: #19853



Co-authored-by: Erik Ekman <eekman@google.com>
2023-09-28 10:41:28 +00:00
Gunar Schorcht
952bb26464 boards/esp32s3-wt32-sc01-plus: fix Kconfig 2023-09-28 11:59:21 +02:00
bors[bot]
b45cb329ea
Merge #19948
19948: doc: fix references and inches unit r=gschorcht a=gschorcht

### Contribution description

This PR fixes the references and inches unit symbols in documentation of `{boards,cpu,drivers}.

Doxygen version 1.9.4 that is used on https://doc.riot-os.org doesn't support the following any longer:
- References with line breaks between `[...]` and `(...)` which lead either to
  - missing images (e.g. in https://doc.riot-os.org/group__boards__nucleo-f030r8.html) or to
  - source code instead of references (e.g. in https://doc.riot-os.org/group__boards__deRFmega128.html)
- Using `"` as inch unit wihtout `\` which lead to complete messed up documentatoin
  (e.g. in https://doc.riot-os.org/group__boards__stm32f746g-disco.html)

### Testing procedure

Use doxygen 1.9.4 and `make doc` to generate the documentation and check the examples for correctness.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-28 09:56:14 +00:00
Erik Ekman
1986b5eb5c cpu/stm32/periph/eth: Disable hardware checksums
lwIP will fill them in already.

Having this enabled causes empty checksums to be sent: #19853
2023-09-27 21:55:11 +02:00
Jon Shallow
ed64f06909 posix_sockets.c: Fix 16 bit integer compilation errors 2023-09-27 16:18:14 +00:00
bors[bot]
71232ed74f
Merge #19949
19949: tests/pkg/lwip: Add README.md r=miri64 a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-09-27 15:09:09 +00:00
bors[bot]
858589b9a8
Merge #19950
19950: .github/test-on-iotlab: prefer Toulouse site for dwm1001 board r=aabadie a=aabadie



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2023-09-27 14:33:24 +00:00
2f1a6f5f24
.github/test-on-iotlab: prefer Toulouse site for dwm1001 board 2023-09-27 13:18:38 +02:00
Martine Lenders
cb2287d616
tests/pkg/lwip: Add README.md 2023-09-27 10:40:06 +02:00
bors[bot]
fe2aee5cc7
Merge #19780
19780: lwip: bump to v2.2.0 r=miri64 a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-09-27 07:47:47 +00:00
Gunar Schorcht
9a72d6cc55 boards: fix inches unit in documentation 2023-09-27 09:12:06 +02:00
Gunar Schorcht
c80591779f boards: fix references in documentation 2023-09-27 09:12:06 +02:00
Gunar Schorcht
7a4c2a526f drivers/sht3x: fix references in documentation 2023-09-27 09:12:06 +02:00
Gunar Schorcht
869020ac53 cpu/stm32: fix references in documentation 2023-09-27 09:12:06 +02:00
Gunar Schorcht
8e5fc866e4 cpu/esp32: fix references in documentation 2023-09-27 09:12:06 +02:00
Martine Lenders
2cbdd66d6f
lwip: bump to v2.2.0 2023-09-26 10:21:12 +02:00
bors[bot]
4669ee6693
Merge #19945
19945: boards/esp32-wt32-sc01-plus: fix I2C driver selection in Kconfig r=MrKevinWeiss a=gschorcht

### Contribution description

This PR fixes the `Kconfig` mismatch for the I2C peripheral driver selection for the `esp32s3-wt32-sc01-plus` board.

### Testing procedure

```
python3 dist/tools/compile_test/compile_like_murdock.py -a tests/periph/i2c -b esp32s3-wt32-sc01-plus
```
fails w/o this PR
```
tests/periph/i2c               esp32s3-wt32-sc01-plus         FAIL: Kconfig module or pkg mismatch
```
and should succeed with this PR
```
tests/periph/i2c               esp32s3-wt32-sc01-plus         PASS
```

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-26 07:48:36 +00:00
Gunar Schorcht
7a94c74a59 boards/esp32s3-wt32-sc01-plus: fix I2C driver selection in Kconfig 2023-09-26 04:14:52 +02:00
bors[bot]
33d1fd2f36
Merge #19942
19942: pkg/littlefs2: bump to v2.8 r=benpicco a=benpicco




Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-09-24 17:28:30 +00:00
Gunar Schorcht
4cda0e41cb boards/sam54-xpro: enable SDMMC support 2023-09-23 19:26:30 +02:00
Gunar Schorcht
6ab9277234 cpu/sam0_common: add SDMMC support 2023-09-23 19:26:30 +02:00
Gunar Schorcht
33d1e82b73 cpu/samd5x: define power modes 2023-09-23 19:26:30 +02:00
Gunar Schorcht
b73be0d546 drivers/sdmmc: add low-levl SD Host Controller implementation 2023-09-23 19:26:30 +02:00
Gunar Schorcht
e0a76c5768 drivers/lcd: add MCU-driven low-level parallel interface 2023-09-23 08:03:16 +02:00
Gunar Schorcht
0353e05bc3 drivers/lcd: move GPIO low-level interface to separate file 2023-09-23 08:03:16 +02:00
Benjamin Valentin
f93072dc65 pkg/littlefs2: bump to v2.8
https://github.com/littlefs-project/littlefs/releases/tag/v2.8.0
2023-09-22 22:11:28 +02:00
Gunar Schorcht
a73ff74b5a tests/drivers/st77xx: read ID and status 2023-09-22 17:00:00 +02:00
Gunar Schorcht
8306838424 drivers/lcd: expose lcd_ll_set_area function 2023-09-22 17:00:00 +02:00
Gunar Schorcht
4ae2e65108 drivers/st77xx: fix compilation with NDEBUG 2023-09-22 17:00:00 +02:00
bors[bot]
021720a995
Merge #19939
19939: boards/stm32f723e-disco: enable ST7789 display r=benpicco a=gschorcht

### Contribution description

This PR enables the ST7789 display and the touch panel for the `stm32f723e-disco`.

The PR requires PR #19937.

### Testing procedure

```
BOARD=sstm32f723e-disco make -j8 -C tests/drivers/st77xx
```
should work.

### Issues/PRs references

Depends on PR #19937

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-22 14:37:17 +00:00
Gunar Schorcht
1b2b17df16 boards/stm32l496g-disco: fix LCD doc 2023-09-22 15:52:37 +02:00
Gunar Schorcht
1abcd737e4 tests/drivers/st77xx: add stm32f723e-disco 2023-09-22 15:49:54 +02:00
Gunar Schorcht
95d1e47b9a boards/stm32f723e-disco: enable ST7789 display
fixup! boards/stm32f723e-disco: enable ST7789 display
2023-09-22 15:49:54 +02:00
bors[bot]
348e25384f
Merge #19938
19938: boards/stm32l496g-disco: enable ST7789 display and touch panel r=benpicco a=gschorcht

### Contribution description

This PR enables the ST7789 display and the touch panel for the `stm32l496g-disco`.

The PR requires PR #19937.

### Testing procedure

```
BOARD=stm32l496g-disco make -j8 -C tests/drivers/st77xx
```
should work.

### Issues/PRs references

Depends on PR #19937

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-09-22 12:09:18 +00:00
Gunar Schorcht
fe06bf626f tests/drivers/st77xx: add stm32l496g-disco 2023-09-22 12:18:47 +02:00