diff --git a/boards/arm/efr32_radio/efr32_radio_brd4250b.dts b/boards/arm/efr32_radio/efr32_radio_brd4250b.dts index 756848d55fb..9e9ab28ea98 100644 --- a/boards/arm/efr32_radio/efr32_radio_brd4250b.dts +++ b/boards/arm/efr32_radio/efr32_radio_brd4250b.dts @@ -12,12 +12,33 @@ model = "Silicon Labs BRD4250B (Flex Gecko Radio Board)"; compatible = "silabs,efr32_radio_brd4250b", "silabs,efr32fg1p"; + pwmleds { + compatible = "pwm-leds"; + status = "okay"; + pwm_led0: pwm_led0 { + pwms = <&pwm0 0 PWM_POLARITY_NORMAL>; + }; + }; + + aliases { + pwm-led0 = &pwm_led0; + }; }; &cpu0 { clock-frequency = <38400000>; }; +&timer0 { + status = "okay"; + + pwm0: pwm { + status = "okay"; + pin-location = ; + prescaler = <1024>; + }; +}; + &flash0 { partitions { compatible = "fixed-partitions"; diff --git a/dts/arm/silabs/efr32fg1p.dtsi b/dts/arm/silabs/efr32fg1p.dtsi index 0f7a58be3bb..5a4f5a5b344 100644 --- a/dts/arm/silabs/efr32fg1p.dtsi +++ b/dts/arm/silabs/efr32fg1p.dtsi @@ -4,6 +4,7 @@ #include #include #include "gpio_gecko.h" +#include / { chosen { @@ -172,6 +173,21 @@ interrupts = <2 0>; 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>; + }; + }; + }; }; diff --git a/soc/arm/silabs_exx32/efr32fg1p/Kconfig.defconfig.efr32fg1p b/soc/arm/silabs_exx32/efr32fg1p/Kconfig.defconfig.efr32fg1p index 43a481b5f05..d50a1bed69c 100644 --- a/soc/arm/silabs_exx32/efr32fg1p/Kconfig.defconfig.efr32fg1p +++ b/soc/arm/silabs_exx32/efr32fg1p/Kconfig.defconfig.efr32fg1p @@ -22,3 +22,7 @@ config SOC_FLASH_GECKO config SPI_GECKO default y depends on SPI + +config PWM_GECKO + default y + depends on PWM