From 5c8f7bf8745dbc7d2f0833aca6645402e6e3a80f Mon Sep 17 00:00:00 2001 From: Christian Taedcke Date: Mon, 9 Aug 2021 12:36:02 +0200 Subject: [PATCH] boards: efr32mg_sltb004a: Add minimal pwm support Add minimal pwm support to the efr32mg12p soc and the Thunderboard Sense 2 board. Signed-off-by: Christian Taedcke --- .../arm/efr32mg_sltb004a/efr32mg_sltb004a.dts | 19 +++++++++++++++++++ dts/arm/silabs/efr32mg.dtsi | 15 +++++++++++++++ .../efr32mg12p/Kconfig.defconfig.efr32mg12p | 4 ++++ 3 files changed, 38 insertions(+) diff --git a/boards/arm/efr32mg_sltb004a/efr32mg_sltb004a.dts b/boards/arm/efr32mg_sltb004a/efr32mg_sltb004a.dts index e116b69bba6..0a4c577202c 100644 --- a/boards/arm/efr32mg_sltb004a/efr32mg_sltb004a.dts +++ b/boards/arm/efr32mg_sltb004a/efr32mg_sltb004a.dts @@ -15,6 +15,7 @@ aliases { led0 = &led0; led1 = &led1; + pwm-led0 = &pwm_led0; sw0 = &button0; sw1 = &button1; watchdog0 = &wdog0; @@ -53,6 +54,14 @@ label = "User Push Button 1"; }; }; + + pwmleds { + compatible = "pwm-leds"; + status = "okay"; + pwm_led0: pwm_led0 { + pwms = <&pwm0 0 PWM_POLARITY_NORMAL>; + }; + }; }; &cpu0 { @@ -141,6 +150,16 @@ status = "okay"; }; +&timer0 { + status = "okay"; + + pwm0: pwm { + status = "okay"; + pin-location = ; + prescaler = <1024>; + }; +}; + &gpio { location-swo = <0>; status = "okay"; diff --git a/dts/arm/silabs/efr32mg.dtsi b/dts/arm/silabs/efr32mg.dtsi index 2cb94c59135..f732e70b76e 100644 --- a/dts/arm/silabs/efr32mg.dtsi +++ b/dts/arm/silabs/efr32mg.dtsi @@ -4,6 +4,7 @@ #include #include #include "gpio_gecko.h" +#include / { chosen { @@ -234,6 +235,20 @@ status = "disabled"; }; + timer0: timer@40018000 { + compatible = "silabs,gecko-timers"; + reg = <0x40018000 0x400>; + status = "disabled"; + label = "TIMER_0"; + + pwm { + compatible = "silabs,gecko-pwm"; + status = "disabled"; + label = "PWM_0"; + #pwm-cells = <2>; + }; + }; + trng0: trng@4001d000 { compatible = "silabs,gecko-trng"; reg = <0x4001d000 0x400>; diff --git a/soc/arm/silabs_exx32/efr32mg12p/Kconfig.defconfig.efr32mg12p b/soc/arm/silabs_exx32/efr32mg12p/Kconfig.defconfig.efr32mg12p index e3ff948b9b6..cb770958156 100644 --- a/soc/arm/silabs_exx32/efr32mg12p/Kconfig.defconfig.efr32mg12p +++ b/soc/arm/silabs_exx32/efr32mg12p/Kconfig.defconfig.efr32mg12p @@ -28,3 +28,7 @@ config SOC_FLASH_GECKO config SPI_GECKO default y depends on SPI + +config PWM_GECKO + default y + depends on PWM