[PATCH] LED BOOT support added for Cubieboard2.

Javad Rahimi javad321javad at gmail.com
Tue Dec 7 07:51:47 CET 2021


PH20 and PH21 are two LED on the board which users
can select to be turn on at boot time.

Signed-off-by: Javad Rahimi <javad321javad at gmail.com>
---

 board/sunxi/board.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index 4f5747c34a..ff80283702 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -1002,3 +1002,45 @@ int board_fit_config_name_match(const char *name)
 	return ret;
 }
 #endif
+
+#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT) && defined(CONFIG_LED_STATUS_BOARD_SPECIFIC)
+
+#define CUBIE2_LED_BOOT_GPIO  "PH20"
+static int gpio_boot_led;
+
+void __led_init (led_id_t mask, int state)
+{
+	int ret;
+
+	if (CONFIG_LED_STATUS_BOOT != mask)
+		return;
+
+	ret = gpio_lookup_name(CUBIE2_LED_BOOT_GPIO, NULL, NULL, &gpio_boot_led);
+
+	if (ret)
+		debug("[gpio_lookup_name]LED Err: %d", ret);
+		return;
+
+	gpio_request(gpio_boot_led, "boot_led");
+	gpio_direction_output(gpio_boot_led, 1);
+	__led_set(mask, state);
+}
+
+void __led_set(led_id_t mask, int state)
+{
+	if (CONFIG_LED_STATUS_BOOT != mask)
+		return;
+
+	debug("[__led_set]LED Mask:%ld, STATE:%d\n", mask, state);
+	gpio_set_value(gpio_boot_led, state);
+}
+
+void __led_toggle(led_id_t mask)
+{
+	if (CONFIG_LED_STATUS_BOOT != mask)
+		return;
+
+	gpio_set_value(gpio_boot_led, ~gpio_get_value(gpio_boot_led));
+}
+
+#endif
-- 
2.25.1



More information about the U-Boot mailing list