1 /* 2 * Copyright ( C) 2015-2020 Alibaba Group Holding Limited 3 */ 4 5 #ifndef _IO_FLASH_H_ 6 #define _IO_FLASH_H_ 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 /** @defgroup flash_device_api flash 13 * @ingroup driver_api 14 * @{ 15 */ 16 17 /* Flash设备IOCTL命令 */ 18 #define IOC_FLASH_BASE 'F' 19 #define IOC_FLASH_ERASE_FLASH (IOC_FLASH_BASE + 0x1) /**< 擦除Flash */ 20 #define IOC_FLASH_INFO_GET (IOC_FLASH_BASE + 0x2) /**< 获取Flash信息 */ 21 #define IOC_FLASH_ENABLE_SECURE (IOC_FLASH_BASE + 0x4) /**< 使能Flash的安全区域 */ 22 #define IOC_FLASH_DISABLE_SECURE (IOC_FLASH_BASE + 0x8) /**< 关闭Flash的安全区域 */ 23 24 #define IOC_BOOT_BASE 'O' 25 /* OTA function ioctl ID */ 26 #define IOC_FLASH_SET_BOOT_INFO (IOC_FLASH_BASE + IOC_BOOT_BASE + 0x0) /**< 设置Boot信息 */ 27 #define IOC_FLASH_CLEAR_BOOT_COUNT (IOC_FLASH_BASE + IOC_BOOT_BASE + 0x1) /**< 清理Boot信息 */ 28 #define IOC_FLASH_GET_BOOT_TYPE (IOC_FLASH_BASE + IOC_BOOT_BASE + 0x2) /**< 获取Boot类型 */ 29 30 /** 31 * 注册Flash设备驱动到VFS框架 32 * 33 * @return 0:成功,否则失败 34 */ 35 int vfs_flash_drv_init (void); 36 37 /** 38 * @} 39 */ 40 #ifdef __cplusplus 41 } 42 #endif 43 44 #endif /*_IO_FLASH_H_*/ 45