zephyr: io: add 'io_led_set()'
The static declaration of 'led0' was moved to 'io.c' which broke
building with the 'MCUBOOT_INDICATION_LED' enabled:
mcuboot/boot/zephyr/main.c:380:22: error:
'led0' undeclared (first use in this function)
380 | gpio_pin_set_dt(&led0, 1);
| ^~~~
This adds simple function 'io_led_set()' for changing LED's value.
Fixes: 433b8480 ("zephyr: Move IO functions out of main to separate file")
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
diff --git a/boot/zephyr/include/io/io.h b/boot/zephyr/include/io/io.h
index 332eefb..145530b 100644
--- a/boot/zephyr/include/io/io.h
+++ b/boot/zephyr/include/io/io.h
@@ -35,6 +35,11 @@
void io_led_init(void);
/*
+ * Sets value of the configured LED.
+ */
+void io_led_set(int value);
+
+/*
* Checks if GPIO is set in the required way to remain in serial recovery mode
*
* @retval false for normal boot, true for serial recovery boot
diff --git a/boot/zephyr/io.c b/boot/zephyr/io.c
index e6d54d3..309f1ab 100644
--- a/boot/zephyr/io.c
+++ b/boot/zephyr/io.c
@@ -91,6 +91,11 @@
gpio_pin_configure_dt(&led0, GPIO_OUTPUT);
gpio_pin_set_dt(&led0, 0);
}
+
+void io_led_set(int value)
+{
+ gpio_pin_set_dt(&led0, value);
+}
#endif /* CONFIG_MCUBOOT_INDICATION_LED */
#if defined(CONFIG_BOOT_SERIAL_ENTRANCE_GPIO) || defined(CONFIG_BOOT_USB_DFU_GPIO) || \
diff --git a/boot/zephyr/main.c b/boot/zephyr/main.c
index 91c9b9b..c6a0f74 100644
--- a/boot/zephyr/main.c
+++ b/boot/zephyr/main.c
@@ -377,7 +377,7 @@
int rc;
#ifdef CONFIG_MCUBOOT_INDICATION_LED
- gpio_pin_set_dt(&led0, 1);
+ io_led_set(1);
#endif
mcuboot_status_change(MCUBOOT_STATUS_SERIAL_DFU_ENTERED);
@@ -434,7 +434,7 @@
#if defined(CONFIG_BOOT_USB_DFU_GPIO)
if (io_detect_pin()) {
#ifdef CONFIG_MCUBOOT_INDICATION_LED
- gpio_pin_set_dt(&led0, 1);
+ io_led_set(1);
#endif
mcuboot_status_change(MCUBOOT_STATUS_USB_DFU_ENTERED);
@@ -475,7 +475,7 @@
uint32_t start = k_uptime_get_32();
#ifdef CONFIG_MCUBOOT_INDICATION_LED
- gpio_pin_set_dt(&led0, 1);
+ io_led_set(1);
#endif
#endif
@@ -499,7 +499,7 @@
boot_serial_check_start(&boot_funcs,timeout_in_ms);
#ifdef CONFIG_MCUBOOT_INDICATION_LED
- gpio_pin_set_dt(&led0, 0);
+ io_led_set(0);
#endif
#endif