diff --git a/boards/arm/legend/legend.dts b/boards/arm/legend/legend.dts index 87d04152ba4..198a2bf608e 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 41462965bba..75e72fabfc5 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 a30b1a378bd..4eeca8edad5 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 7ded78741d9..c72fc1cbb64 100644 --- a/boards/arm/nucleo_f429zi/nucleo_f429zi.dts +++ b/boards/arm/nucleo_f429zi/nucleo_f429zi.dts @@ -116,11 +116,11 @@ zephyr_udc0: &usbotg_fs { }; &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 c8a15f6a229..bb52813ace5 100644 --- a/boards/arm/nucleo_f746zg/nucleo_f746zg.dts +++ b/boards/arm/nucleo_f746zg/nucleo_f746zg.dts @@ -114,11 +114,11 @@ zephyr_udc0: &usbotg_fs { }; &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 c6065c969e3..76f7ed90cb0 100644 --- a/boards/arm/nucleo_f756zg/nucleo_f756zg.dts +++ b/boards/arm/nucleo_f756zg/nucleo_f756zg.dts @@ -114,11 +114,11 @@ zephyr_udc0: &usbotg_fs { }; &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 0c306cf18ee..d12adc6234b 100644 --- a/boards/arm/nucleo_f767zi/nucleo_f767zi.dts +++ b/boards/arm/nucleo_f767zi/nucleo_f767zi.dts @@ -117,11 +117,11 @@ zephyr_udc0: &usbotg_fs { }; &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 8169ffabcaf..9e3bf39c547 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 071bfbe75ed..019b5196275 100644 --- a/boards/arm/nucleo_g0b1re/nucleo_g0b1re.dts +++ b/boards/arm/nucleo_g0b1re/nucleo_g0b1re.dts @@ -106,19 +106,19 @@ zephyr_udc0: &usb { }; &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 1b446509ee2..c0943a6d03c 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 116a34d529c..9aea7066727 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 372e121bae9..183ba1a85e2 100644 --- a/boards/arm/nucleo_h743zi/nucleo_h743zi.dts +++ b/boards/arm/nucleo_h743zi/nucleo_h743zi.dts @@ -107,11 +107,11 @@ zephyr_udc0: &usbotg_fs { }; &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 88fbf85b4cb..265b34aca42 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 484466320a6..943d21cef55 100644 --- a/boards/arm/nucleo_h753zi/nucleo_h753zi.dts +++ b/boards/arm/nucleo_h753zi/nucleo_h753zi.dts @@ -107,11 +107,11 @@ zephyr_udc0: &usbotg_fs { }; &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 f5761902044..48aac87d118 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 aa38dd3b6d4..dd3abdfa213 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 b8122d6c175..205161cae24 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 056cc6d247d..fbbf7ed24ee 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 6ab6fc9bb28..2621b16fce5 100644 --- a/boards/arm/olimexino_stm32/olimexino_stm32.dts +++ b/boards/arm/olimexino_stm32/olimexino_stm32.dts @@ -126,11 +126,11 @@ zephyr_udc0: &usb { }; &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 368682d1d9e..0ca74468a1f 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 2e41f2a12d1..4658053db05 100644 --- a/boards/arm/stm32f3_disco/stm32f3_disco.dts +++ b/boards/arm/stm32f3_disco/stm32f3_disco.dts @@ -182,10 +182,10 @@ zephyr_udc0: &usb { }; &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 8e3ef8c276b..8479fce9eb9 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 eeb16f7b650..230bec2aed1 100644 --- a/boards/arm/stm32f746g_disco/stm32f746g_disco.dts +++ b/boards/arm/stm32f746g_disco/stm32f746g_disco.dts @@ -110,11 +110,11 @@ zephyr_udc0: &usbotg_fs { }; &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 8bb987504f4..41ccb4e4daf 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 6a9d2388dd2..ce16b513076 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>; }; };