dts: nxp: kinetis-ftm: add PWM flags cell

Add support for specifying PWM flags for the NXP Kinetis FlexTimer
(FTM) PWM driver through the device tree.

All in-tree clients of this PWM controller are active-low LEDs.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
Henrik Brix Andersen 2019-11-26 10:23:03 +01:00 committed by Carles Cufí
commit 85e1117e94
10 changed files with 41 additions and 37 deletions

View file

@ -8,6 +8,7 @@
#include <mem.h>
#include <nxp/nxp_k82fn256vxx15.dtsi>
#include <dt-bindings/pwm/pwm.h>
/ {
model = "NXP Kinetis K82 Freedom Board";
@ -53,13 +54,13 @@
compatible = "pwm-leds";
red_pwm_led: red_pwm_led {
pwms = <&pwm3 4 15625000>;
pwms = <&pwm3 4 15625000 PWM_POLARITY_INVERTED>;
};
green_pwm_led: green_pwm_led {
pwms = <&pwm3 5 15625000>;
pwms = <&pwm3 5 15625000 PWM_POLARITY_INVERTED>;
};
blue_pwm_led: blue_pwm_led {
pwms = <&pwm3 6 15625000>;
pwms = <&pwm3 6 15625000 PWM_POLARITY_INVERTED>;
};
};

View file

@ -3,6 +3,7 @@
/dts-v1/;
#include <nxp/nxp_k6x.dtsi>
#include <dt-bindings/pwm/pwm.h>
/ {
model = "Hexiwear K64 board";
@ -68,13 +69,13 @@
compatible = "pwm-leds";
red_pwm_led: red_pwm_led {
pwms = <&pwm3 4 15625000>;
pwms = <&pwm3 4 15625000 PWM_POLARITY_INVERTED>;
};
green_pwm_led: green_pwm_led {
pwms = <&pwm3 0 15625000>;
pwms = <&pwm3 0 15625000 PWM_POLARITY_INVERTED>;
};
blue_pwm_led: blue_pwm_led {
pwms = <&pwm3 5 15625000>;
pwms = <&pwm3 5 15625000 PWM_POLARITY_INVERTED>;
};
};
};

View file

@ -8,6 +8,7 @@
#include <nxp/nxp_ke18f512vlx16.dtsi>
#include <dt-bindings/clock/kinetis_scg.h>
#include <dt-bindings/pwm/pwm.h>
/ {
model = "NXP Kinetis KE18 MCU Tower System Module";
@ -77,32 +78,32 @@
pwmleds {
compatible = "pwm-leds";
orange_pwm_led: led_pwm_0 {
pwms = <&pwm3 7 60000>;
pwms = <&pwm3 7 60000 PWM_POLARITY_INVERTED>;
label = "User PWM LED D9";
};
yellow_pwm_led: led_pwm_1 {
pwms = <&pwm3 6 60000>;
pwms = <&pwm3 6 60000 PWM_POLARITY_INVERTED>;
label = "User PWM LED D8";
};
green_pwm_led: led_pwm_2 {
pwms = <&pwm3 5 60000>;
pwms = <&pwm3 5 60000 PWM_POLARITY_INVERTED>;
label = "User PWM LED D7";
};
red_pwm_led: led_pwm_3 {
pwms = <&pwm3 4 60000>;
pwms = <&pwm3 4 60000 PWM_POLARITY_INVERTED>;
label = "User PWM LED D6";
};
tri_red_pwm_led: led_pwm_4 {
pwms = <&pwm0 1 60000>;
pwms = <&pwm0 1 60000 PWM_POLARITY_INVERTED>;
label = "User Tricolor PWM LED D5 (Red)";
};
tri_green_pwm_led: led_pwm_5 {
pwms = <&pwm0 0 60000>;
pwms = <&pwm0 0 60000 PWM_POLARITY_INVERTED>;
label = "User Tricolor PWM LED D5 (Green)";
};
tri_blue_pwm_led: led_pwm_6 {
pwms = <&pwm0 5 60000>;
pwms = <&pwm0 5 60000 PWM_POLARITY_INVERTED>;
label = "User Tricolor PWM LED D5 (Blue)";
};
};

View file

@ -282,7 +282,7 @@
interrupts = <42 0>;
label = "PWM_0";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm1: pwm@40039000{
@ -291,7 +291,7 @@
interrupts = <43 0>;
label = "PWM_1";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm2: pwm@4003a000{
@ -300,7 +300,7 @@
interrupts = <44 0>;
label = "PWM_2";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm3: pwm@400b9000{
@ -309,7 +309,7 @@
interrupts = <71 0>;
label = "PWM_3";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
adc0: adc@4003b000{

View file

@ -322,7 +322,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_0";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm1: pwm@40039000{
@ -332,7 +332,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_1";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm2: pwm@4003a000{
@ -342,7 +342,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_2";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm3: pwm@400b9000{
@ -352,7 +352,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_3";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
adc0: adc@4003b000{

View file

@ -276,7 +276,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_0";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm1: pwm@40039000 {
@ -286,7 +286,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_1";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm2: pwm@4003a000 {
@ -296,7 +296,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_2";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm3: pwm@400b9000 {
@ -306,7 +306,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_3";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
rtc: rtc@4003d000 {

View file

@ -350,7 +350,7 @@
interrupts = <42 0>;
clocks = <&pcc 0xe0 KINETIS_PCC_SRC_FIRC_ASYNC>;
label = "PWM_0";
#pwm-cells = <2>;
#pwm-cells = <3>;
status = "disabled";
};
@ -360,7 +360,7 @@
interrupts = <43 0>;
clocks = <&pcc 0xe4 KINETIS_PCC_SRC_FIRC_ASYNC>;
label = "PWM_1";
#pwm-cells = <2>;
#pwm-cells = <3>;
status = "disabled";
};
@ -370,7 +370,7 @@
interrupts = <44 0>;
clocks = <&pcc 0xe8 KINETIS_PCC_SRC_FIRC_ASYNC>;
label = "PWM_2";
#pwm-cells = <2>;
#pwm-cells = <3>;
status = "disabled";
};
@ -380,7 +380,7 @@
interrupts = <71 0>;
clocks = <&pcc 0x98 KINETIS_PCC_SRC_FIRC_ASYNC>;
label = "PWM_3";
#pwm-cells = <2>;
#pwm-cells = <3>;
status = "disabled";
};
};

View file

@ -200,7 +200,7 @@
interrupts = <42 0>;
label = "FTM_0";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm2: pwm@40039000 {
@ -209,7 +209,7 @@
interrupts = <43 0>;
label = "FTM_1";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm3: pwm@4003a000 {
@ -218,7 +218,7 @@
interrupts = <53 0>;
label = "FTM_2";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm4: pwm@40026000 {
@ -227,7 +227,7 @@
interrupts = <71 0>;
label = "FTM_3";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
spi0: spi@4002c000 {

View file

@ -255,7 +255,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_0";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm1: pwm@40039000{
@ -265,7 +265,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_1";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
pwm2: pwm@4003a000{
@ -275,7 +275,7 @@
clocks = <&mcg KINETIS_MCG_FIXED_FREQ_CLK>;
label = "PWM_2";
status = "disabled";
#pwm-cells = <2>;
#pwm-cells = <3>;
};
adc0: adc@4003b000{

View file

@ -15,9 +15,10 @@ properties:
required: true
"#pwm-cells":
const: 2
const: 3
pwm-cells:
- channel
# period in terms of nanoseconds
- period
- flags