Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
19923: boards: add Silabs EFM32 Giant Gecko GG11 Starter Kit r=miri64 a=gschorcht

### Contribution description

The PR adds the support for the EFM32GG11B family and the Silabs EFM32 Giant Gecko GG11 Starter Kit board.

The Silabs EFM32 Giant Gecko GG11 has the following on-board features:

- EFM32GG11B MCU with 2 MB flash and 512 kB RAM
- J-Link USB debugger
- 176x176 RGB LCD (not supported)
- 2 user buttons, 2 user RGB LEDs and a touch slider
- Si7021 Relative Humidity and Temperature Sensor
- Si7210 Hall-Effect Sensor (not supported)
- USB OTG interface (Device mode supported)
- 32 MByte Quad-SPI Flash (not supported yet)
- SD card slot (not supported yet, follow-up PR based on PR #19760)
- RJ-45 Ethernet (not supported)
- Dual microphones (not supported)

### Testing procedure

Basic tests should work.

### Issues/PRs references

19927: sys/shell/ping: fix ping packet size overflow r=miri64 a=krzysztof-cabaj

### Contribution description

In #19829 `@mchesser` point out integer overflow in the ```ping``` command and API. This PR fix this issue in two ways:
1) Add protection in the API.
2) Add protection in the user command.

### Testing procedure

Without this PR passing negative number to the ```ping -s``` option cause segmentation fault, for example in the 
```example/gnrc_networking```:

```
> ping -s -7 ::1
ping -s -7 ::1
Segmentation fault
```

With this PR user shows appropriate warning test:

```
> ping -s -7 ::1
ping -s -7 ::1
ICMPv6 datagram size should be in range <0, 65527>.
> 
``` 

### Issues/PRs references

Issue #19829 

19933: examples/gcoap: add saml11-xpro to CI boards with insufficient memory r=miri64 a=krzysztof-cabaj

### Contribution description

Bors run for PR #19927 reveals that ```examples\gcoap``` do not fit in saml11-xpro board. 
I checked and this same linker error also appears on current master branch. 

This PR add sampl11-xpro board to the Makefile.ci BOARD_INSUFFICIENT_MEMORY list.

### Testing procedure

See logs from bors https://ci.riot-os.org/details/073c5dadc6ba4bc8a613edb78a1a4a2d

### Issues/PRs references

PR #19927 


Co-authored-by: Gunar Schorcht <[email protected]>
Co-authored-by: krzysztof-cabaj <[email protected]>
  • Loading branch information
3 people authored Sep 19, 2023
4 parents 9609a49 + 7776990 + 1145a41 + b11c22c commit 0fd94d1
Show file tree
Hide file tree
Showing 143 changed files with 389,750 additions and 4 deletions.
32 changes: 32 additions & 0 deletions boards/slstk3701a/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright (c) 2020 HAW Hamburg
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.

config BOARD
default "slstk3701a" if BOARD_SLSTK3701A

config BOARD_SLSTK3701A
bool
default y
select BOARD_COMMON_SILABS
select CPU_MODEL_EFM32GG11B820F2048GL192
select HAS_PERIPH_ADC
select HAS_PERIPH_DAC
select HAS_PERIPH_I2C
select HAS_PERIPH_RTC
select HAS_PERIPH_RTT
select HAS_PERIPH_SPI
select HAS_PERIPH_TIMER
select HAS_PERIPH_UART
select HAS_PERIPH_UART_MODECFG
select HAS_PERIPH_USBDEV

select HAVE_SAUL_GPIO
select HAVE_SI7021

select MODULE_SILABS_AEM if TEST_KCONFIG
select MODULE_SILABS_BC if TEST_KCONFIG

source "$(RIOTBOARD)/common/silabs/Kconfig"
5 changes: 5 additions & 0 deletions boards/slstk3701a/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
MODULE = board

DIRS = $(RIOTBOARD)/common/silabs

include $(RIOTBASE)/Makefile.base
13 changes: 13 additions & 0 deletions boards/slstk3701a/Makefile.dep
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ifneq (,$(filter saul_default,$(USEMODULE)))
USEMODULE += efm32_coretemp
USEMODULE += saul_gpio
USEMODULE += si7021
endif

# add board common drivers
USEMODULE += boards_common_silabs
USEMODULE += silabs_aem
USEMODULE += silabs_bc

# include board common dependencies
include $(RIOTBOARD)/common/silabs/Makefile.dep
16 changes: 16 additions & 0 deletions boards/slstk3701a/Makefile.features
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
CPU = efm32
CPU_FAM = efm32gg11b
CPU_MODEL = efm32gg11b820f2048gl192

# Put defined MCU peripherals here (in alphabetical order)
FEATURES_PROVIDED += periph_adc
FEATURES_PROVIDED += periph_dac
FEATURES_PROVIDED += periph_i2c
FEATURES_PROVIDED += periph_rtc
FEATURES_PROVIDED += periph_rtt
FEATURES_PROVIDED += periph_spi
FEATURES_PROVIDED += periph_timer
FEATURES_PROVIDED += periph_uart periph_uart_modecfg
FEATURES_PROVIDED += periph_usbdev

include $(RIOTBOARD)/common/silabs/Makefile.features
12 changes: 12 additions & 0 deletions boards/slstk3701a/Makefile.include
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# set default port depending on operating system
PORT_LINUX ?= /dev/ttyACM0
PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*)))

# setup serial terminal
include $(RIOTMAKE)/tools/serial.inc.mk

# setup JLink for flashing
JLINK_PRE_FLASH = r

# include board common
include $(RIOTBOARD)/common/silabs/Makefile.include
31 changes: 31 additions & 0 deletions boards/slstk3701a/board.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright (C) 2015-2020 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/

/**
* @ingroup boards_slstk3701a
* @{
*
* @file
* @brief Board specific implementations SLSTK3701A board
*
* @author Hauke Petersen <[email protected]>
* @author Bas Stottelaar <[email protected]>
*
* @}
*/

#include "board.h"
#include "board_common.h"

void board_init(void)
{
#ifndef RIOTBOOT
/* perform common board initialization */
board_common_init();
#endif
}
Loading

0 comments on commit 0fd94d1

Please sign in to comment.