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>
This commit is contained in:
Piotr Dymacz 2023-12-05 14:26:22 +01:00 committed by Jamie
parent 8c6c67016a
commit 2a74a2b580
3 changed files with 14 additions and 4 deletions

View File

@ -34,6 +34,11 @@ extern "C" {
*/
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
*

View File

@ -91,6 +91,11 @@ void io_led_init(void)
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) || \

View File

@ -377,7 +377,7 @@ static void boot_serial_enter()
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 @@ int main(void)
#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 @@ int main(void)
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 @@ int main(void)
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