LCOV - code coverage report
Current view: top level - zephyr/retention - bootmode.h Coverage Total Hit
Test: new.info Lines: 80.0 % 5 4
Test Date: 2025-09-05 20:47:19

            Line data    Source code
       1            1 : /*
       2              :  * Copyright (c) 2023 Nordic Semiconductor ASA
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : /**
       8              :  * @file
       9              :  * @brief Public API for boot mode interface
      10              :  */
      11              : 
      12              : #ifndef ZEPHYR_INCLUDE_RETENTION_BOOTMODE_
      13              : #define ZEPHYR_INCLUDE_RETENTION_BOOTMODE_
      14              : 
      15              : #include <stdint.h>
      16              : #include <stddef.h>
      17              : #include <zephyr/kernel.h>
      18              : #include <zephyr/device.h>
      19              : #include <zephyr/types.h>
      20              : 
      21              : #ifdef __cplusplus
      22              : extern "C" {
      23              : #endif
      24              : 
      25              : /**
      26              :  * @brief Boot mode interface
      27              :  * @defgroup boot_mode_interface Boot mode interface
      28              :  * @ingroup retention_api
      29              :  * @{
      30              :  */
      31              : 
      32            0 : enum BOOT_MODE_TYPES {
      33              :         /** Default (normal) boot, to user application */
      34              :         BOOT_MODE_TYPE_NORMAL = 0x00,
      35              : 
      36              :         /** Bootloader boot mode (e.g. serial recovery for MCUboot) */
      37              :         BOOT_MODE_TYPE_BOOTLOADER,
      38              : };
      39              : 
      40              : /**
      41              :  * @brief               Checks if the boot mode of the device is set to a specific value.
      42              :  *
      43              :  * @param boot_mode     Expected boot mode to check.
      44              :  *
      45              :  * @retval 1            If successful and boot mode matches.
      46              :  * @retval 0            If boot mode does not match.
      47              :  * @retval -errno       Error code code.
      48              :  */
      49            1 : int bootmode_check(uint8_t boot_mode);
      50              : 
      51              : /**
      52              :  * @brief               Sets boot mode of device.
      53              :  *
      54              :  * @param boot_mode     Boot mode value to set.
      55              :  *
      56              :  * @retval 0            If successful.
      57              :  * @retval -errno       Error code code.
      58              :  */
      59            1 : int bootmode_set(uint8_t boot_mode);
      60              : 
      61              : /**
      62              :  * @brief               Clear boot mode value (sets to 0) - which corresponds to
      63              :  *                      #BOOT_MODE_TYPE_NORMAL.
      64              :  *
      65              :  * @retval 0            If successful.
      66              :  * @retval -errno       Error code code.
      67              :  */
      68            1 : int bootmode_clear(void);
      69              : 
      70              : /**
      71              :  * @}
      72              :  */
      73              : 
      74              : #ifdef __cplusplus
      75              : }
      76              : #endif
      77              : 
      78              : #endif /* ZEPHYR_INCLUDE_RETENTION_BOOTMODE_ */
        

Generated by: LCOV version 2.0-1