drivers: pwm: stm32: add support for polarity

Add support for the polarity flag in the STM32 PWM driver.

STM32 boards using PWM have been updated accordingly.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This commit is contained in:
Gerard Marull-Paretas 2020-04-23 16:10:12 +02:00 committed by Carles Cufí
commit 76f0d72e5d
36 changed files with 162 additions and 130 deletions

View file

@ -32,7 +32,7 @@
pwmleds {
compatible = "pwm-leds";
green_pwm_led: green_pwm_led {
pwms = <&pwm2 1 0>;
pwms = <&pwm2 1 0 PWM_POLARITY_NORMAL>;
};
};

View file

@ -31,7 +31,7 @@
compatible = "pwm-leds";
green_pwm_led: green_pwm_led {
pwms = <&pwm2 1 4>;
pwms = <&pwm2 1 4 PWM_POLARITY_NORMAL>;
};
};

View file

@ -31,7 +31,7 @@
compatible = "pwm-leds";
green_pwm_led: green_pwm_led {
pwms = <&pwm2 1 4>;
pwms = <&pwm2 1 4 PWM_POLARITY_NORMAL>;
};
};

View file

@ -36,7 +36,7 @@
compatible = "pwm-leds";
red_pwm_led: red_pwm_led {
pwms = <&pwm12 1 4>;
pwms = <&pwm12 1 4 PWM_POLARITY_NORMAL>;
};
};

View file

@ -39,7 +39,7 @@
compatible = "pwm-leds";
red_pwm_led: red_pwm_led {
pwms = <&pwm15 1 4>;
pwms = <&pwm15 1 4 PWM_POLARITY_NORMAL>;
};
};

View file

@ -41,7 +41,7 @@
pwmleds {
compatible = "pwm-leds";
green_pwm_led: green_pwm_led {
pwms = <&pwm4 1 0>;
pwms = <&pwm4 1 0 PWM_POLARITY_NORMAL>;
};
};

View file

@ -85,6 +85,22 @@ static inline const struct pwm_stm32_config *to_config(struct device *dev)
return dev->config_info;
}
/**
* Obtain LL polarity from PWM flags.
*
* @param flags PWM flags.
*
* @return LL polarity.
*/
static uint32_t get_polarity(pwm_flags_t flags)
{
if (flags & PWM_POLARITY_NORMAL) {
return LL_TIM_OCPOLARITY_HIGH;
}
return LL_TIM_OCPOLARITY_LOW;
}
/**
* Obtain timer clock speed.
*
@ -209,7 +225,7 @@ static int pwm_stm32_pin_set(struct device *dev, uint32_t pwm,
oc_init.OCMode = LL_TIM_OCMODE_PWM1;
oc_init.OCState = LL_TIM_OCSTATE_ENABLE;
oc_init.CompareValue = pulse_cycles;
oc_init.OCPolarity = LL_TIM_OCPOLARITY_HIGH;
oc_init.OCPolarity = get_polarity(flags);
oc_init.OCIdleState = LL_TIM_OCIDLESTATE_LOW;
if (LL_TIM_OC_Init(cfg->timer, channel, &oc_init) != SUCCESS) {
@ -219,6 +235,7 @@ static int pwm_stm32_pin_set(struct device *dev, uint32_t pwm,
LL_TIM_OC_EnablePreload(cfg->timer, channel);
} else {
LL_TIM_OC_SetPolarity(cfg->timer, channel, get_polarity(flags));
set_timer_compare[pwm - 1u](cfg->timer, pulse_cycles);
}

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -189,7 +190,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -205,7 +206,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -221,7 +222,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -237,7 +238,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -253,7 +254,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_14";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -269,7 +270,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_15";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -285,7 +286,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_16";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -301,7 +302,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_17";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -38,7 +38,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -26,7 +26,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -201,7 +202,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -217,7 +218,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -233,7 +234,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -249,7 +250,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -53,7 +53,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_5";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -69,7 +69,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -85,7 +85,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -134,7 +134,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -44,7 +44,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_5";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -60,7 +60,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -76,7 +76,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -8,6 +8,7 @@
#include <arm/armv7-m.dtsi>
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -200,7 +201,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -216,7 +217,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -232,7 +233,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -248,7 +249,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -264,7 +265,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_15";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -280,7 +281,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_16";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -296,7 +297,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_17";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -73,7 +73,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
};

View file

@ -61,7 +61,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -77,7 +77,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -93,7 +93,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -109,7 +109,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_20";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
};

View file

@ -20,7 +20,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
};

View file

@ -66,7 +66,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -82,7 +82,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_5";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -98,7 +98,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_12";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -114,7 +114,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_13";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -130,7 +130,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_14";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -146,7 +146,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_18";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -162,7 +162,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_19";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
};

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -249,7 +250,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -265,7 +266,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -281,7 +282,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -297,7 +298,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -313,7 +314,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_5";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -329,7 +330,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_9";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -345,7 +346,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_10";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -361,7 +362,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_11";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -82,7 +82,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -98,7 +98,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -114,7 +114,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -130,7 +130,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_12";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -146,7 +146,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_13";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -162,7 +162,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_14";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -55,7 +55,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -71,7 +71,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -87,7 +87,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -103,7 +103,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_12";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -119,7 +119,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_13";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -135,7 +135,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_14";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -353,7 +354,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -369,7 +370,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -385,7 +386,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -401,7 +402,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -417,7 +418,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_5";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -433,7 +434,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -449,7 +450,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -465,7 +466,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -481,7 +482,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_9";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -497,7 +498,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_10";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -513,7 +514,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_11";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -529,7 +530,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_12";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -545,7 +546,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_13";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -561,7 +562,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_14";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -11,6 +11,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -166,7 +167,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -295,7 +296,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -311,7 +312,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -327,7 +328,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -343,7 +344,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -359,7 +360,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -375,7 +376,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -391,7 +392,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -407,7 +408,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_15";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -423,7 +424,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_16";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -439,7 +440,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_17";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -10,6 +10,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -309,7 +310,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -327,7 +328,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -345,7 +346,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -363,7 +364,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -381,7 +382,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_5";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -399,7 +400,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -417,7 +418,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -435,7 +436,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -453,7 +454,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_12";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -471,7 +472,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_13";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -489,7 +490,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_14";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -507,7 +508,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_15";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -525,7 +526,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_16";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -543,7 +544,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_17";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {

View file

@ -10,6 +10,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -194,7 +195,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -210,7 +211,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -226,7 +227,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_6";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -242,7 +243,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_7";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -258,7 +259,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_15";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -274,7 +275,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_16";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -119,7 +119,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
};

View file

@ -121,7 +121,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -137,7 +137,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -153,7 +153,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_5";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -169,7 +169,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -185,7 +185,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_17";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -144,7 +144,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -160,7 +160,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_4";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -176,7 +176,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_5";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -192,7 +192,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_8";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -208,7 +208,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_17";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -8,7 +8,7 @@
#include <arm/armv8-m.dtsi>
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
/ {
cpus {

View file

@ -10,6 +10,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/pwm/pwm.h>
/ {
cpus {

View file

@ -9,6 +9,7 @@
#include <dt-bindings/clock/stm32_clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/pwm/pwm.h>
/ {
chosen {
@ -214,7 +215,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -230,7 +231,7 @@
status = "disabled";
st,prescaler = <0>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -246,7 +247,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_16";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};
@ -262,7 +263,7 @@
status = "disabled";
st,prescaler = <10000>;
label = "PWM_17";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
};

View file

@ -14,9 +14,10 @@ properties:
description: Clock prescaler at the input of the timer
"#pwm-cells":
const: 2
const: 3
pwm-cells:
- channel
# period in terms of nanoseconds
- period
- flags