Commit b155c0dc authored by Aksel Skauge Mellbye's avatar Aksel Skauge Mellbye Committed by Benjamin Cabé
Browse files

boards: silabs: xg24_dk2601b: Add PWM LEDs using TIMER



The TIMER has 3 PWM channels, allowing all 3 RGB leds to be
controlled by the same PWM controller instance.

Signed-off-by: default avatarAksel Skauge Mellbye <aksel.mellbye@silabs.com>
parent fccc0a75
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -45,6 +45,14 @@
		};
	};

	timer0_default: timer0_default {
		group0 {
			pins = <TIMER0_CC0_PD2>, <TIMER0_CC1_PA4>, <TIMER0_CC2_PB0>;
			drive-push-pull;
			output-high;
		};
	};

	usart0_default: usart0_default {
		group0 {
			pins = <USART0_TX_PA5>;
+33 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
#include <silabs/xg24/efr32mg24b310f1536im48.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>
#include <zephyr/dt-bindings/regulator/silabs_dcdc.h>
#include <zephyr/dt-bindings/pwm/pwm.h>
#include "xg24_dk2601b-pinctrl.dtsi"

/ {
@@ -28,6 +29,9 @@
		led0 = &red_led;
		led1 = &green_led;
		led2 = &blue_led;
		pwm-led0 = &red_pwm_led;
		pwm-led1 = &green_pwm_led;
		pwm-led2 = &blue_pwm_led;
		sw0 = &button0;
		sw1 = &button1;
		watchdog0 = &wdog0;
@@ -49,6 +53,25 @@
		};
	};

	pwmleds {
		compatible = "pwm-leds";

		red_pwm_led: pwm_led_0 {
			pwms = <&timer0_pwm 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
			label = "red";
		};

		green_pwm_led: pwm_led_1 {
			pwms = <&timer0_pwm 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
			label = "green";
		};

		blue_pwm_led: pwm_led_2 {
			pwms = <&timer0_pwm 2 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
			label = "blue";
		};
	};

	buttons {
		compatible = "gpio-keys";

@@ -76,6 +99,16 @@
	};
};

&timer0 {
	status = "okay";

	timer0_pwm: pwm {
		pinctrl-0 = <&timer0_default>;
		pinctrl-names = "default";
		status = "okay";
	};
};

&cpu0 {
	clock-frequency = <78000000>;
};