[Uboot-stm32] [PATCH v2 04/12] board: stm32mp1: update management of boot-led
Patrice CHOTARD
patrice.chotard at st.com
Mon May 11 15:58:39 CEST 2020
On 4/22/20 2:29 PM, Patrick Delaunay wrote:
> Force boot-led ON and no more rely on default-state.
> This patch avoid device-tree modification for U-Boot.
>
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> ---
>
> Changes in v2:
> - use CONFIG_IS_ENABLED(LED) everywhere
>
> arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi | 4 ---
> arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi | 4 ---
> board/st/stm32mp1/stm32mp1.c | 33 ++++++++++++------------
> 3 files changed, 16 insertions(+), 25 deletions(-)
>
> diff --git a/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi b/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi
> index 5844d41c53..c52abeb1e7 100644
> --- a/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi
> +++ b/arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi
> @@ -27,10 +27,6 @@
> default-state = "off";
> status = "okay";
> };
> -
> - blue {
> - default-state = "on";
> - };
> };
> };
>
> diff --git a/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi b/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi
> index ed2f024be9..84af7fa47b 100644
> --- a/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi
> +++ b/arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi
> @@ -28,10 +28,6 @@
> default-state = "off";
> status = "okay";
> };
> -
> - blue {
> - default-state = "on";
> - };
> };
> };
>
> diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
> index d85a57cee2..6a3e2e64bf 100644
> --- a/board/st/stm32mp1/stm32mp1.c
> +++ b/board/st/stm32mp1/stm32mp1.c
> @@ -260,7 +260,6 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
>
> #endif /* CONFIG_USB_GADGET */
>
> -#ifdef CONFIG_LED
> static int get_led(struct udevice **dev, char *led_string)
> {
> char *led_name;
> @@ -286,6 +285,9 @@ static int setup_led(enum led_state_t cmd)
> struct udevice *dev;
> int ret;
>
> + if (!CONFIG_IS_ENABLED(LED))
> + return 0;
> +
> ret = get_led(&dev, "u-boot,boot-led");
> if (ret)
> return ret;
> @@ -293,32 +295,29 @@ static int setup_led(enum led_state_t cmd)
> ret = led_set_state(dev, cmd);
> return ret;
> }
> -#endif
>
> static void __maybe_unused led_error_blink(u32 nb_blink)
> {
> -#ifdef CONFIG_LED
> int ret;
> struct udevice *led;
> u32 i;
> -#endif
>
> if (!nb_blink)
> return;
>
> -#ifdef CONFIG_LED
> - ret = get_led(&led, "u-boot,error-led");
> - if (!ret) {
> - /* make u-boot,error-led blinking */
> - /* if U32_MAX and 125ms interval, for 17.02 years */
> - for (i = 0; i < 2 * nb_blink; i++) {
> - led_set_state(led, LEDST_TOGGLE);
> - mdelay(125);
> - WATCHDOG_RESET();
> + if (CONFIG_IS_ENABLED(LED)) {
> + ret = get_led(&led, "u-boot,error-led");
> + if (!ret) {
> + /* make u-boot,error-led blinking */
> + /* if U32_MAX and 125ms interval, for 17.02 years */
> + for (i = 0; i < 2 * nb_blink; i++) {
> + led_set_state(led, LEDST_TOGGLE);
> + mdelay(125);
> + WATCHDOG_RESET();
> + }
> + led_set_state(led, LEDST_ON);
> }
> - led_set_state(led, LEDST_ON);
> }
> -#endif
>
> /* infinite: the boot process must be stopped */
> if (nb_blink == U32_MAX)
> @@ -651,6 +650,8 @@ int board_init(void)
> if (CONFIG_IS_ENABLED(LED))
> led_default_state();
>
> + setup_led(LEDST_ON);
> +
> return 0;
> }
>
> @@ -705,9 +706,7 @@ int board_late_init(void)
>
> void board_quiesce_devices(void)
> {
> -#ifdef CONFIG_LED
> setup_led(LEDST_OFF);
> -#endif
> }
>
> /* eth init function : weak called in eqos driver */
Reviewed-by: Patrice Chotard <patrice.chotard at st.com>
Thanks
Patrice
More information about the U-Boot
mailing list