boards: arm: stm32: move "st,prescaler" to timers instead of pwm
Prescaler was misplaced in pwm binding, instead of timers binding.
For example, TIM6/TIM7 doesn't have PWM capability,
but have a prescaler.
This change also prepares the introduction of timer based counter
(which requires prescaler at timer level)
Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
diff --git a/boards/arm/legend/legend.dts b/boards/arm/legend/legend.dts
index 87d0415..198a2bf 100644
--- a/boards/arm/legend/legend.dts
+++ b/boards/arm/legend/legend.dts
@@ -147,33 +147,34 @@
};
&timers3 {
+ /*
+ * The maximum period needed on Legend devices for activity LED
+ * hardware blinking is 250ms (i.e. "error" fast blink at 4 Hz).
+ *
+ * We can use the following equation to compute the
+ * corresponding prescaler value:
+ *
+ * period_max = counter_size / cycles_per_second
+ *
+ * With:
+ *
+ * cycles_per_second = 48 MHz / (prescaler + 1)
+ * counter_size = 2^16
+ * period_max = 0.25
+ *
+ * Which gives:
+ *
+ * prescaler = 48 MHz * 0.25 / 2^16 + 1 = 182
+ *
+ * So any prescaler value above 182 is good for a 4 Hz hardware
+ * blinking. In addition the PWM frequency must be as high as
+ * possible to fool eyes and cameras with steady brightness
+ * levels.
+ */
+ st,prescaler = <200>;
+
pwm3: pwm {
pinctrl-0 = <&tim3_ch3_pb0>;
- /*
- * The maximum period needed on Legend devices for activity LED
- * hardware blinking is 250ms (i.e. "error" fast blink at 4 Hz).
- *
- * We can use the following equation to compute the
- * corresponding prescaler value:
- *
- * period_max = counter_size / cycles_per_second
- *
- * With:
- *
- * cycles_per_second = 48 MHz / (prescaler + 1)
- * counter_size = 2^16
- * period_max = 0.25
- *
- * Which gives:
- *
- * prescaler = 48 MHz * 0.25 / 2^16 + 1 = 182
- *
- * So any prescaler value above 182 is good for a 4 Hz hardware
- * blinking. In addition the PWM frequency must be as high as
- * possible to fool eyes and cameras with steady brightness
- * levels.
- */
- st,prescaler = <200>;
status = "disabled";
};
};
diff --git a/boards/arm/nucleo_f103rb/nucleo_f103rb.dts b/boards/arm/nucleo_f103rb/nucleo_f103rb.dts
index 4146296..75e72fa 100644
--- a/boards/arm/nucleo_f103rb/nucleo_f103rb.dts
+++ b/boards/arm/nucleo_f103rb/nucleo_f103rb.dts
@@ -98,11 +98,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pwm_pa8>;
};
};
diff --git a/boards/arm/nucleo_f334r8/nucleo_f334r8.dts b/boards/arm/nucleo_f334r8/nucleo_f334r8.dts
index a30b1a3..4eeca8e 100644
--- a/boards/arm/nucleo_f334r8/nucleo_f334r8.dts
+++ b/boards/arm/nucleo_f334r8/nucleo_f334r8.dts
@@ -93,11 +93,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pa8>;
};
};
diff --git a/boards/arm/nucleo_f429zi/nucleo_f429zi.dts b/boards/arm/nucleo_f429zi/nucleo_f429zi.dts
index 7ded787..c72fc1c 100644
--- a/boards/arm/nucleo_f429zi/nucleo_f429zi.dts
+++ b/boards/arm/nucleo_f429zi/nucleo_f429zi.dts
@@ -116,11 +116,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch3_pe13>;
};
};
diff --git a/boards/arm/nucleo_f746zg/nucleo_f746zg.dts b/boards/arm/nucleo_f746zg/nucleo_f746zg.dts
index c8a15f6..bb52813 100644
--- a/boards/arm/nucleo_f746zg/nucleo_f746zg.dts
+++ b/boards/arm/nucleo_f746zg/nucleo_f746zg.dts
@@ -114,11 +114,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch3_pe13>;
};
};
diff --git a/boards/arm/nucleo_f756zg/nucleo_f756zg.dts b/boards/arm/nucleo_f756zg/nucleo_f756zg.dts
index c6065c9..76f7ed9 100644
--- a/boards/arm/nucleo_f756zg/nucleo_f756zg.dts
+++ b/boards/arm/nucleo_f756zg/nucleo_f756zg.dts
@@ -114,11 +114,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch3_pe13>;
};
};
diff --git a/boards/arm/nucleo_f767zi/nucleo_f767zi.dts b/boards/arm/nucleo_f767zi/nucleo_f767zi.dts
index 0c306cf..d12adc6 100644
--- a/boards/arm/nucleo_f767zi/nucleo_f767zi.dts
+++ b/boards/arm/nucleo_f767zi/nucleo_f767zi.dts
@@ -117,11 +117,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch3_pe13>;
};
};
diff --git a/boards/arm/nucleo_g071rb/nucleo_g071rb.dts b/boards/arm/nucleo_g071rb/nucleo_g071rb.dts
index 8169ffa..9e3bf39 100644
--- a/boards/arm/nucleo_g071rb/nucleo_g071rb.dts
+++ b/boards/arm/nucleo_g071rb/nucleo_g071rb.dts
@@ -100,10 +100,10 @@
};
&timers3 {
+ st,prescaler = <10000>;
status = "okay";
pwm3: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim3_ch1_pa6>;
};
};
diff --git a/boards/arm/nucleo_g0b1re/nucleo_g0b1re.dts b/boards/arm/nucleo_g0b1re/nucleo_g0b1re.dts
index 071bfbe..019b519 100644
--- a/boards/arm/nucleo_g0b1re/nucleo_g0b1re.dts
+++ b/boards/arm/nucleo_g0b1re/nucleo_g0b1re.dts
@@ -106,19 +106,19 @@
};
&timers3 {
+ st,prescaler = <10000>;
status = "okay";
pwm3: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim3_ch1_pb4>;
};
};
&timers15 {
+ st,prescaler = <10000>;
status = "okay";
pwm15: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim15_ch1_pb14>;
};
};
diff --git a/boards/arm/nucleo_g474re/nucleo_g474re.dts b/boards/arm/nucleo_g474re/nucleo_g474re.dts
index 1b44650..c0943a6 100644
--- a/boards/arm/nucleo_g474re/nucleo_g474re.dts
+++ b/boards/arm/nucleo_g474re/nucleo_g474re.dts
@@ -121,10 +121,10 @@
};
&timers3 {
+ st,prescaler = <10000>;
status = "okay";
pwm3: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim3_ch1_pb4>;
};
};
diff --git a/boards/arm/nucleo_h723zg/nucleo_h723zg.dts b/boards/arm/nucleo_h723zg/nucleo_h723zg.dts
index 116a34d..9aea706 100644
--- a/boards/arm/nucleo_h723zg/nucleo_h723zg.dts
+++ b/boards/arm/nucleo_h723zg/nucleo_h723zg.dts
@@ -116,11 +116,11 @@
};
&timers12 {
+ st,prescaler = <10000>;
status = "okay";
pwm12: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim12_ch1_pb14>;
};
};
diff --git a/boards/arm/nucleo_h743zi/nucleo_h743zi.dts b/boards/arm/nucleo_h743zi/nucleo_h743zi.dts
index 372e121..183ba1a 100644
--- a/boards/arm/nucleo_h743zi/nucleo_h743zi.dts
+++ b/boards/arm/nucleo_h743zi/nucleo_h743zi.dts
@@ -107,11 +107,11 @@
};
&timers12 {
+ st,prescaler = <10000>;
status = "okay";
pwm12: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim12_ch1_pb14>;
};
};
diff --git a/boards/arm/nucleo_h745zi_q/nucleo_h745zi_q_m7.dts b/boards/arm/nucleo_h745zi_q/nucleo_h745zi_q_m7.dts
index 88fbf85..265b34a 100644
--- a/boards/arm/nucleo_h745zi_q/nucleo_h745zi_q_m7.dts
+++ b/boards/arm/nucleo_h745zi_q/nucleo_h745zi_q_m7.dts
@@ -83,11 +83,11 @@
};
&timers12 {
+ st,prescaler = <10000>;
status = "okay";
pwm12: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim12_ch1_pb14>;
};
};
diff --git a/boards/arm/nucleo_h753zi/nucleo_h753zi.dts b/boards/arm/nucleo_h753zi/nucleo_h753zi.dts
index 4844663..943d21c 100644
--- a/boards/arm/nucleo_h753zi/nucleo_h753zi.dts
+++ b/boards/arm/nucleo_h753zi/nucleo_h753zi.dts
@@ -107,11 +107,11 @@
};
&timers12 {
+ st,prescaler = <10000>;
status = "okay";
pwm12: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim12_ch1_pb14>;
};
};
diff --git a/boards/arm/nucleo_l476rg/nucleo_l476rg.dts b/boards/arm/nucleo_l476rg/nucleo_l476rg.dts
index f576190..48aac87 100644
--- a/boards/arm/nucleo_l476rg/nucleo_l476rg.dts
+++ b/boards/arm/nucleo_l476rg/nucleo_l476rg.dts
@@ -145,11 +145,11 @@
};
&timers3 {
+ st,prescaler = <10000>;
status = "okay";
pwm3: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim3_ch1_pb4>;
};
};
diff --git a/boards/arm/nucleo_l496zg/nucleo_l496zg.dts b/boards/arm/nucleo_l496zg/nucleo_l496zg.dts
index aa38dd3..dd3abdf 100644
--- a/boards/arm/nucleo_l496zg/nucleo_l496zg.dts
+++ b/boards/arm/nucleo_l496zg/nucleo_l496zg.dts
@@ -101,11 +101,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pe9
&tim1_ch2_pe11
&tim1_ch3_pe13>;
@@ -122,11 +122,11 @@
};
&timers15 {
+ st,prescaler = <10000>;
status = "okay";
pwm15: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim15_ch1_pb14>;
};
};
diff --git a/boards/arm/nucleo_wb55rg/nucleo_wb55rg.dts b/boards/arm/nucleo_wb55rg/nucleo_wb55rg.dts
index b8122d6..205161c 100644
--- a/boards/arm/nucleo_wb55rg/nucleo_wb55rg.dts
+++ b/boards/arm/nucleo_wb55rg/nucleo_wb55rg.dts
@@ -134,11 +134,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pa8>;
};
};
diff --git a/boards/arm/olimex_stm32_h103/olimex_stm32_h103.dts b/boards/arm/olimex_stm32_h103/olimex_stm32_h103.dts
index 056cc6d..fbbf7ed 100644
--- a/boards/arm/olimex_stm32_h103/olimex_stm32_h103.dts
+++ b/boards/arm/olimex_stm32_h103/olimex_stm32_h103.dts
@@ -101,11 +101,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pwm_pa8>;
};
};
diff --git a/boards/arm/olimexino_stm32/olimexino_stm32.dts b/boards/arm/olimexino_stm32/olimexino_stm32.dts
index 6ab6fc9..2621b16 100644
--- a/boards/arm/olimexino_stm32/olimexino_stm32.dts
+++ b/boards/arm/olimexino_stm32/olimexino_stm32.dts
@@ -126,11 +126,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pwm_pa8>;
};
};
diff --git a/boards/arm/stm32f103_mini/stm32f103_mini.dts b/boards/arm/stm32f103_mini/stm32f103_mini.dts
index 368682d..0ca7446 100644
--- a/boards/arm/stm32f103_mini/stm32f103_mini.dts
+++ b/boards/arm/stm32f103_mini/stm32f103_mini.dts
@@ -90,11 +90,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pwm_pa8>;
};
};
diff --git a/boards/arm/stm32f3_disco/stm32f3_disco.dts b/boards/arm/stm32f3_disco/stm32f3_disco.dts
index 2e41f2a..4658053 100644
--- a/boards/arm/stm32f3_disco/stm32f3_disco.dts
+++ b/boards/arm/stm32f3_disco/stm32f3_disco.dts
@@ -182,10 +182,10 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pa8>;
};
};
diff --git a/boards/arm/stm32f411e_disco/stm32f411e_disco.dts b/boards/arm/stm32f411e_disco/stm32f411e_disco.dts
index 8e3ef8c..8479fce 100644
--- a/boards/arm/stm32f411e_disco/stm32f411e_disco.dts
+++ b/boards/arm/stm32f411e_disco/stm32f411e_disco.dts
@@ -99,11 +99,11 @@
};
&timers4 {
+ st,prescaler = <10000>;
status = "okay";
pwm4: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim4_ch1_pd12
&tim4_ch2_pd13
&tim4_ch3_pd14
diff --git a/boards/arm/stm32f746g_disco/stm32f746g_disco.dts b/boards/arm/stm32f746g_disco/stm32f746g_disco.dts
index eeb16f7..230bec2 100644
--- a/boards/arm/stm32f746g_disco/stm32f746g_disco.dts
+++ b/boards/arm/stm32f746g_disco/stm32f746g_disco.dts
@@ -110,11 +110,11 @@
};
&timers3 {
+ st,prescaler = <10000>;
status = "okay";
pwm3: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim3_ch1_pb4>;
};
};
diff --git a/boards/arm/stm32l562e_dk/stm32l562e_dk.dts b/boards/arm/stm32l562e_dk/stm32l562e_dk.dts
index 8bb9875..41ccb4e 100644
--- a/boards/arm/stm32l562e_dk/stm32l562e_dk.dts
+++ b/boards/arm/stm32l562e_dk/stm32l562e_dk.dts
@@ -40,9 +40,7 @@
};
&timers2 {
- pwm {
- st,prescaler = <10000>;
- };
+ st,prescaler = <10000>;
};
&iwdg {
diff --git a/boards/arm/stm32vl_disco/stm32vl_disco.dts b/boards/arm/stm32vl_disco/stm32vl_disco.dts
index 6a9d238..ce16b51 100644
--- a/boards/arm/stm32vl_disco/stm32vl_disco.dts
+++ b/boards/arm/stm32vl_disco/stm32vl_disco.dts
@@ -107,11 +107,11 @@
};
&timers1 {
+ st,prescaler = <10000>;
status = "okay";
pwm1: pwm {
status = "okay";
- st,prescaler = <10000>;
pinctrl-0 = <&tim1_ch1_pwm_pa8>;
};
};