LCOV - code coverage report
Current view: top level - zephyr/drivers/flash - stm32_flash_api_extensions.h Hit Total Coverage
Test: new.info Lines: 0 2 0.0 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) 2023 Google Inc
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef __ZEPHYR_INCLUDE_DRIVERS_FLASH_STM32_FLASH_API_EXTENSIONS_H__
       8             : #define __ZEPHYR_INCLUDE_DRIVERS_FLASH_STM32_FLASH_API_EXTENSIONS_H__
       9             : 
      10             : #include <zephyr/drivers/flash.h>
      11             : 
      12           0 : enum stm32_ex_ops {
      13             :         /*
      14             :          * STM32 sector write protection control.
      15             :          *
      16             :          * As an input this operation takes a structure with two sector masks,
      17             :          * first mask is used to enable protection on sectors, while second mask
      18             :          * is used to do the opposite. If both masks are 0, then protection will
      19             :          * remain unchanged. If same sector is set on both masks, protection
      20             :          * will be enabled.
      21             :          *
      22             :          * As an output, sector mask with enabled protection is returned.
      23             :          * Input can be NULL if we only want to get protected sectors.
      24             :          * Output can be NULL if not needed.
      25             :          */
      26             :         FLASH_STM32_EX_OP_SECTOR_WP = FLASH_EX_OP_VENDOR_BASE,
      27             :         /*
      28             :          * STM32 sector readout protection control.
      29             :          *
      30             :          * As an input this operation takes structure with information about
      31             :          * desired RDP state. As an output the status after applying changes
      32             :          * is returned.
      33             :          */
      34             :         FLASH_STM32_EX_OP_RDP,
      35             :         /*
      36             :          * STM32 block option register.
      37             :          *
      38             :          * This operation causes option register to be locked until next boot.
      39             :          * After calling, it's not possible to change option bytes (WP, RDP,
      40             :          * user bytes).
      41             :          */
      42             :         FLASH_STM32_EX_OP_BLOCK_OPTION_REG,
      43             :         /*
      44             :          * STM32 block control register.
      45             :          *
      46             :          * This operation causes control register to be locked until next boot.
      47             :          * After calling, it's not possible to perform basic operation like
      48             :          * erasing or writing.
      49             :          */
      50             :         FLASH_STM32_EX_OP_BLOCK_CONTROL_REG,
      51             :         /*
      52             :          * STM32 option bytes read.
      53             :          *
      54             :          * Read the option bytes content, out takes a *uint32_t, in is unused.
      55             :          */
      56             :         FLASH_STM32_EX_OP_OPTB_READ,
      57             :         /*
      58             :          * STM32 option bytes write.
      59             :          *
      60             :          * Write the option bytes content, in takes the new value, out is
      61             :          * unused. Note that the new value only takes effect after the device
      62             :          * is restarted.
      63             :          */
      64             :         FLASH_STM32_EX_OP_OPTB_WRITE,
      65             : };
      66             : 
      67             : #if defined(CONFIG_FLASH_STM32_WRITE_PROTECT)
      68             : struct flash_stm32_ex_op_sector_wp_in {
      69             :         uint32_t enable_mask;
      70             :         uint32_t disable_mask;
      71             : };
      72             : 
      73             : struct flash_stm32_ex_op_sector_wp_out {
      74             :         uint32_t protected_mask;
      75             : };
      76             : #endif /* CONFIG_FLASH_STM32_WRITE_PROTECT */
      77             : 
      78             : #if defined(CONFIG_FLASH_STM32_READOUT_PROTECTION)
      79             : struct flash_stm32_ex_op_rdp {
      80             :         bool enable;
      81             :         bool permanent;
      82             : };
      83             : #endif /* CONFIG_FLASH_STM32_READOUT_PROTECTION */
      84             : 
      85             : #endif /* __ZEPHYR_INCLUDE_DRIVERS_FLASH_STM32_FLASH_API_EXTENSIONS_H__ */

Generated by: LCOV version 1.14