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 <christian.taedcke@lemonbeat.com>
diff --git a/boards/arm/efr32mg_sltb004a/efr32mg_sltb004a.dts b/boards/arm/efr32mg_sltb004a/efr32mg_sltb004a.dts
index e116b69..0a4c577 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 = <GECKO_LOCATION(17) GECKO_PORT_D GECKO_PIN(9)>;
+ prescaler = <1024>;
+ };
+};
+
&gpio {
location-swo = <0>;
status = "okay";
diff --git a/dts/arm/silabs/efr32mg.dtsi b/dts/arm/silabs/efr32mg.dtsi
index 2cb94c5..f732e70 100644
--- a/dts/arm/silabs/efr32mg.dtsi
+++ b/dts/arm/silabs/efr32mg.dtsi
@@ -4,6 +4,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include "gpio_gecko.h"
+#include <dt-bindings/pwm/pwm.h>
/ {
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 e3ff948..cb77095 100644
--- a/soc/arm/silabs_exx32/efr32mg12p/Kconfig.defconfig.efr32mg12p
+++ b/soc/arm/silabs_exx32/efr32mg12p/Kconfig.defconfig.efr32mg12p
@@ -28,3 +28,7 @@
config SPI_GECKO
default y
depends on SPI
+
+config PWM_GECKO
+ default y
+ depends on PWM