1 /** 2 ****************************************************************************** 3 * @file bl602_xip_sflash_ext.h 4 * @version V1.0 5 * @date 6 * @brief This file is the standard driver header file 7 ****************************************************************************** 8 * @attention 9 * 10 * <h2><center>© COPYRIGHT(c) 2020 Bouffalo Lab</center></h2> 11 * 12 * Redistribution and use in source and binary forms, with or without modification, 13 * are permitted provided that the following conditions are met: 14 * 1. Redistributions of source code must retain the above copyright notice, 15 * this list of conditions and the following disclaimer. 16 * 2. Redistributions in binary form must reproduce the above copyright notice, 17 * this list of conditions and the following disclaimer in the documentation 18 * and/or other materials provided with the distribution. 19 * 3. Neither the name of Bouffalo Lab nor the names of its contributors 20 * may be used to endorse or promote products derived from this software 21 * without specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 26 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 29 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 30 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 31 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 * 34 ****************************************************************************** 35 */ 36 #ifndef __BL602_XIP_SFLASH_EXT_H__ 37 #define __BL602_XIP_SFLASH_EXT_H__ 38 39 #include "bl602_common.h" 40 #include "bl602_sflash_ext.h" 41 #include "bflb_sflash.h" 42 #include "bflb_xip_sflash.h" 43 44 /** @addtogroup BL602_Peripheral_Driver 45 * @{ 46 */ 47 48 /** @addtogroup XIP_SFLASH_EXT 49 * @{ 50 */ 51 52 /** @defgroup XIP_SFLASH_EXT_Public_Types 53 * @{ 54 */ 55 56 /*@} end of group XIP_SFLASH_EXT_Public_Types */ 57 58 /** @defgroup XIP_SFLASH_EXT_Public_Constants 59 * @{ 60 */ 61 62 /*@} end of group XIP_SFLASH_EXT_Public_Constants */ 63 64 /** @defgroup XIP_SFLASH_EXT_Public_Macros 65 * @{ 66 */ 67 68 /*@} end of group XIP_SFLASH_EXT_Public_Macros */ 69 70 /** @defgroup XIP_SFLASH_EXT_Public_Functions 71 * @{ 72 */ 73 int bflb_xip_sflash_state_restore_ext(spi_flash_cfg_type *p_flash_cfg, uint32_t offset, uint8_t group, uint8_t bank); 74 int bflb_xip_sflash_erase_need_lock_ext(spi_flash_cfg_type *p_flash_cfg, uint32_t startaddr, 75 uint32_t endaddr, uint8_t group, uint8_t bank); 76 int bflb_xip_sflash_write_need_lock_ext(spi_flash_cfg_type *p_flash_cfg, uint32_t addr, uint8_t *data, 77 uint32_t len, uint8_t group, uint8_t bank); 78 int bflb_xip_sflash_read_need_lock_ext(spi_flash_cfg_type *p_flash_cfg, uint32_t addr, uint8_t *data, 79 uint32_t len, uint8_t group, uint8_t bank); 80 int bflb_xip_sflash_clear_status_register_need_lock(spi_flash_cfg_type *p_flash_cfg, uint8_t group, uint8_t bank); 81 int bflb_xip_sflash_get_jedecid_need_lock_ext(spi_flash_cfg_type *p_flash_cfg, uint8_t *data, 82 uint8_t group, uint8_t bank); 83 int bflb_xip_sflash_get_deviceid_need_lock_ext(spi_flash_cfg_type *p_flash_cfg, uint8_t is_32bits_addr, 84 uint8_t *data, uint8_t group, uint8_t bank); 85 int bflb_xip_sflash_get_uniqueid_need_lock_ext(spi_flash_cfg_type *p_flash_cfg,uint8_t *data, 86 uint8_t idLen, uint8_t group, uint8_t bank); 87 int bflb_xip_sflash_rcv_enable_need_lock(spi_flash_cfg_type *p_flash_cfg, uint8_t rCmd, uint8_t wCmd, 88 uint8_t bitPos, uint8_t group, uint8_t bank); 89 int bflb_xip_sflash_init(spi_flash_cfg_type *p_flash_cfg); 90 91 /*@} end of group XIP_SFLASH_EXT_Public_Functions */ 92 93 /*@} end of group XIP_SFLASH_EXT */ 94 95 /*@} end of group BL602_Peripheral_Driver */ 96 97 #endif /* __BL602_XIP_SFLASH_EXT_H__ */ 98