Skip to content

Commit 1d9f0e3

Browse files
yonschgalak
authored andcommitted
soc: silabs_exx32: Add support for EFR32FG13P SoC
This commit adds support for Silicon Labs EFR32FG13P (Flex Gecko) SoC. Signed-off-by: Yonatan Schachter <[email protected]>
1 parent 09c85d0 commit 1d9f0e3

File tree

11 files changed

+189
-2
lines changed

11 files changed

+189
-2
lines changed

CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,10 +335,12 @@
335335
/dts/arm/silabs/efm32gg11b* @oanerer
336336
/dts/arm/silabs/efm32_jg_pg* @chrta
337337
/dts/arm/silabs/efr32bg13p* @mnkp
338+
/dts/arm/silabs/efr32xg13p* @mnkp
338339
/dts/arm/silabs/efm32jg12b* @chrta
339340
/dts/arm/silabs/efm32pg12b* @chrta
340341
/dts/arm/silabs/efm32pg1b* @rdmeneze
341342
/dts/arm/silabs/efr32mg21* @l-alfred
343+
/dts/arm/silabs/efr32fg13* @yonsch
342344
/dts/riscv/ @kgugala @pgielda
343345
/dts/riscv/it8xxx2.dtsi @ite
344346
/dts/riscv/microsemi-miv.dtsi @galak

dts/arm/silabs/efr32bg13p632f512gm48.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@
55
*/
66

77
#include <mem.h>
8-
#include <silabs/efr32bg13p.dtsi>
8+
#include <silabs/efr32xg13p.dtsi>
99

1010
/ {
1111
sram0: memory@20000000 {
1212
reg = <0x20000000 DT_SIZE_K(64)>;
1313
};
1414

1515
soc {
16-
compatible = "silabs,efr32bg13p632f512gm48", "silabs,efr32bg13p", "silabs,efr32", "simple-bus";
16+
compatible = "silabs,efr32bg13p632f512gm48", "silabs,efr32xg13p",
17+
"silabs,efr32", "simple-bus";
1718

1819
flash-controller@400e0000 {
1920
flash0: flash@0 {
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright (c) 2018 Linaro Limited
3+
* Copyright (c) 2021 Yonatan Schachter
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include <mem.h>
9+
#include <silabs/efr32xg13p.dtsi>
10+
11+
/ {
12+
sram0: memory@20000000 {
13+
reg = <0x20000000 DT_SIZE_K(64)>;
14+
};
15+
16+
soc {
17+
compatible = "silabs,efr32fg13p233f512gm48", "silabs,efr32xg13p",
18+
"silabs,efr32", "simple-bus";
19+
20+
flash-controller@400e0000 {
21+
flash0: flash@0 {
22+
reg = <0 DT_SIZE_K(512)>;
23+
};
24+
};
25+
};
26+
};
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Silicon Labs EFR32FG13P platform configuration options
2+
3+
# Copyright (c) 2018 Christian Taedcke
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config GPIO_GECKO
7+
default y
8+
depends on GPIO
9+
10+
config UART_GECKO
11+
default y
12+
depends on SERIAL
13+
14+
config I2C_GECKO
15+
default y
16+
depends on I2C
17+
18+
config SOC_FLASH_GECKO
19+
default y
20+
depends on FLASH
21+
22+
config SPI_GECKO
23+
default y
24+
depends on SPI
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# EFR32FG13P series configuration options
2+
3+
# Copyright (c) 2018 Christian Taedcke
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
if SOC_SERIES_EFR32FG13P
7+
8+
config SOC_SERIES
9+
default "efr32fg13p"
10+
11+
config SOC_PART_NUMBER
12+
default "EFR32FG13P233F512GM48" if SOC_PART_NUMBER_EFR32FG13P233F512GM48
13+
14+
config NUM_IRQS
15+
# must be >= the highest interrupt number used
16+
default 45
17+
18+
source "soc/arm/silabs_exx32/efr32fg13p/Kconfig.defconfig.efr32fg13p"
19+
20+
endif # SOC_SERIES_EFR32FG13P
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# EFR32FG13P MCU line
2+
3+
# Copyright (c) 2018 Christian Taedcke
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config SOC_SERIES_EFR32FG13P
7+
bool "EFR32FG13P Series MCU"
8+
select ARM
9+
select HAS_SILABS_GECKO
10+
select HAS_SWO
11+
select CPU_CORTEX_M4
12+
select CPU_CORTEX_M_HAS_DWT
13+
select CPU_HAS_FPU
14+
select CPU_HAS_ARM_MPU
15+
select SOC_FAMILY_EXX32
16+
select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
17+
select SOC_GECKO_HAS_HFRCO_FREQRANGE
18+
select SOC_GECKO_CMU
19+
select SOC_GECKO_GPIO
20+
select SOC_GECKO_HAS_ERRATA_RTCC_E201
21+
help
22+
Enable support for EFR32 FlexGecko MCU series
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# EFR32FG13P (Flex Gecko) MCU line
2+
3+
# Copyright (c) 2018 Christian Taedcke
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config SOC_PART_NUMBER_EFR32FG13P233F512GM48
7+
bool
8+
depends on SOC_SERIES_EFR32FG13P
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*
2+
* Copyright (c) 2018 Christian Taedcke
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/**
8+
* @file
9+
* @brief Linker command/script file
10+
*
11+
* This is the linker script for both standard images.
12+
*/
13+
14+
#include <autoconf.h>
15+
16+
#include <arch/arm/aarch32/cortex_m/scripts/linker.ld>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright (c) 2018 Christian Taedcke
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/**
8+
* @file
9+
* @brief Board configuration macros for the efr32fg13p soc
10+
*
11+
*/
12+
13+
#ifndef _SOC__H_
14+
#define _SOC__H_
15+
16+
#include <sys/util.h>
17+
18+
#ifndef _ASMLANGUAGE
19+
20+
#include <em_bus.h>
21+
#include <em_common.h>
22+
23+
/* Add include for DTS generated information */
24+
#include <devicetree.h>
25+
26+
#include "soc_pinmap.h"
27+
#include "../common/soc_gpio.h"
28+
29+
#endif /* !_ASMLANGUAGE */
30+
31+
#endif /* _SOC__H_ */

0 commit comments

Comments
 (0)