blob: bd8a32cf7b396fc8c94605fdf0e70bdbdfdb0f27 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Simon Glassec3be542015-08-30 16:55:41 -06002/*
3 * (C) Copyright 2015 Google, Inc
Simon Glassec3be542015-08-30 16:55:41 -06004 */
5
6#include <common.h>
Simon Glassf11478f2019-12-28 10:45:07 -07007#include <hang.h>
Kever Yang4c99fa52020-08-20 17:32:52 +08008#include <led.h>
Simon Glass0f2af882020-05-10 11:40:05 -06009#include <log.h>
Kever Yangca09f9a2019-07-22 19:59:24 +080010
11#ifdef CONFIG_SPL_BUILD
Kever Yang4c99fa52020-08-20 17:32:52 +080012DECLARE_GLOBAL_DATA_PTR;
Kever Yangca09f9a2019-07-22 19:59:24 +080013static int setup_led(void)
14{
15#ifdef CONFIG_SPL_LED
16 struct udevice *dev;
17 char *led_name;
18 int ret;
19
20 led_name = fdtdec_get_config_string(gd->fdt_blob, "u-boot,boot-led");
21 if (!led_name)
22 return 0;
23 ret = led_get_by_label(led_name, &dev);
24 if (ret) {
25 debug("%s: get=%d\n", __func__, ret);
26 return ret;
27 }
Kever Yang4c99fa52020-08-20 17:32:52 +080028 ret = led_set_state(dev, LEDST_ON);
Kever Yangca09f9a2019-07-22 19:59:24 +080029 if (ret)
30 return ret;
31#endif
32
33 return 0;
34}
35
36void spl_board_init(void)
37{
38 int ret;
39
40 ret = setup_led();
41 if (ret) {
42 debug("LED ret=%d\n", ret);
43 hang();
44 }
45}
46#endif