Hi, I am working with PWM LEDs and have pinpointed a difference in behaviour in the SDK upgrade between NCS v2.1.0 and v2.2.0 with regard to the pin output drive for PWM devices. Specifically, while in v2.1.0 I was able to set the drive to NRF_DRIVE_H0H1 in the pinctrl dtsi and correctly measure the difference in current (and brightness), in v2.2.0 I don't see any difference between the standard and high drive.
If I use GPIO LEDs, in both SDK versions I can use the flag NRF_GPIO_DRIVE_H0 in the source code and can observe the difference compared to the default standard drive (works as expected, no issue there).
My device is a custom board based on nRF52840 and
The issue is still present in v2.4.1.
Any idea on what the issue is?
My <CUSTOM_BOARD>.dts file is setup this way:/ {
leds_pwm: leds_pwm0 {
compatible = "pwm-leds";
green_led_pwm: pwm_led_led201 {
pwms = <&pwm0 0 PWM_MSEC(5) PWM_POLARITY_INVERTED>;
label = "Green PWM LED";
};
yellow_led_pwm: pwm_led_led200 {
pwms = <&pwm0 1 PWM_MSEC(5) PWM_POLARITY_INVERTED>;
label = "Yellow PWM LED";
};
};
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0_default>;
pinctrl-1 = <&pwm0_sleep>;
pinctrl-names = "default", "sleep";
};
And my <CUSTOM_BOARD>-pinctrl.dtsi file:
&pinctrl {
pwm0_default: pwm0_default {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 0, 16)>,
<NRF_PSEL(PWM_OUT1, 0, 24)>;
nordic,drive-mode = <NRF_DRIVE_H0H1>;
nordic,invert;
};
};
pwm0_sleep: pwm0_sleep {
group1 {
psels = <NRF_PSEL(PWM_OUT0, 0, 16)>,
<NRF_PSEL(PWM_OUT1, 0, 24)>;
low-power-enable;
};
};
};

