1 /** 2 ****************************************************************************** 3 * @file bl602_romdriver.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_ROMDRIVER_H__ 37 #define __BL602_ROMDRIVER_H__ 38 39 #include "bl602_common.h" 40 #include "bl602_aon.h" 41 #include "bl602_glb.h" 42 #include "bl602_hbn.h" 43 #include "bl602_ef_ctrl.h" 44 // #include "bl602_sec_eng.h" 45 #include "bflb_xip_sflash.h" 46 #include "bflb_sflash.h" 47 #include "bflb_sf_ctrl.h" 48 // #include "softcrc.h" 49 50 /** @addtogroup BL602_Peripheral_Driver 51 * @{ 52 */ 53 54 /** @addtogroup ROMDRIVER 55 * @{ 56 */ 57 58 /** @defgroup ROMDRIVER_Public_Types 59 * @{ 60 */ 61 62 #define ROMAPI_INDEX_SECT_SIZE (0x800) 63 #define ROMAPI_INDEX_MAX (ROMAPI_INDEX_SECT_SIZE / 4 - 1) 64 65 typedef enum { 66 ROM_API_INDEX_VERSION = 0, 67 ROM_API_INDEX_RSVD_0, 68 ROM_API_INDEX_RSVD_1, 69 ROM_API_INDEX_RSVD_LAST, 70 71 ROM_API_INDEX_AON_Power_On_MBG, 72 ROM_API_INDEX_AON_Power_Off_MBG, 73 ROM_API_INDEX_AON_Power_On_XTAL, 74 ROM_API_INDEX_AON_Set_Xtal_CapCode, 75 ROM_API_INDEX_AON_Get_Xtal_CapCode, 76 ROM_API_INDEX_AON_Power_Off_XTAL, 77 ROM_API_INDEX_AON_Power_On_BG, 78 ROM_API_INDEX_AON_Power_Off_BG, 79 ROM_API_INDEX_AON_Power_On_LDO11_SOC, 80 ROM_API_INDEX_AON_Power_Off_LDO11_SOC, 81 ROM_API_INDEX_AON_Power_On_LDO15_RF, 82 ROM_API_INDEX_AON_Power_Off_LDO15_RF, 83 ROM_API_INDEX_AON_Power_On_SFReg, 84 ROM_API_INDEX_AON_Power_Off_SFReg, 85 ROM_API_INDEX_AON_LowPower_Enter_PDS0, 86 ROM_API_INDEX_AON_LowPower_Exit_PDS0, 87 88 ROM_API_INDEX_ASM_Delay_Us, 89 90 ROM_API_INDEX_BL602_Delay_US, 91 ROM_API_INDEX_BL602_Delay_MS, 92 ROM_API_INDEX_BL602_MemCpy, 93 ROM_API_INDEX_BL602_MemCpy4, 94 ROM_API_INDEX_BL602_MemCpy_Fast, 95 ROM_API_INDEX_BL602_MemSet, 96 ROM_API_INDEX_BL602_MemSet4, 97 ROM_API_INDEX_BL602_MemCmp, 98 99 ROM_API_INDEX_EF_Ctrl_Sw_AHB_Clk_0, 100 ROM_API_INDEX_EF_Ctrl_Program_Efuse_0, 101 ROM_API_INDEX_EF_Ctrl_Load_Efuse_R0, 102 ROM_API_INDEX_EF_Ctrl_Busy, 103 ROM_API_INDEX_EF_Ctrl_AutoLoad_Done, 104 ROM_API_INDEX_EF_Ctrl_Get_Trim_Parity, 105 ROM_API_INDEX_EF_Ctrl_Read_RC32M_Trim, 106 ROM_API_INDEX_EF_Ctrl_Read_RC32K_Trim, 107 ROM_API_INDEX_EF_Ctrl_Clear, 108 109 ROM_API_INDEX_GLB_Get_Root_CLK_Sel, 110 ROM_API_INDEX_GLB_Set_System_CLK_Div, 111 ROM_API_INDEX_GLB_Get_BCLK_Div, 112 ROM_API_INDEX_GLB_Get_HCLK_Div, 113 114 ROM_API_INDEX_Update_SystemCoreClockWith_XTAL, 115 116 ROM_API_INDEX_GLB_Set_System_CLK, 117 118 ROM_API_INDEX_System_Core_Clock_Update_From_RC32M, 119 120 ROM_API_INDEX_GLB_Set_SF_CLK, 121 ROM_API_INDEX_GLB_Set_PKA_CLK_Sel, 122 ROM_API_INDEX_GLB_SW_System_Reset, 123 ROM_API_INDEX_GLB_SW_CPU_Reset, 124 ROM_API_INDEX_GLB_SW_POR_Reset, 125 ROM_API_INDEX_GLB_Select_Internal_Flash, 126 ROM_API_INDEX_GLB_Select_External_Flash, 127 ROM_API_INDEX_GLB_Deswap_Flash_Pin, 128 ROM_API_INDEX_GLB_Swap_Flash_Pin, 129 ROM_API_INDEX_GLB_GPIO_Init, 130 ROM_API_INDEX_GLB_GPIO_OUTPUT_Enable, 131 ROM_API_INDEX_GLB_GPIO_OUTPUT_Disable, 132 ROM_API_INDEX_GLB_GPIO_Set_HZ, 133 ROM_API_INDEX_GLB_GPIO_Get_Fun, 134 135 ROM_API_INDEX_HBN_Mode_Enter, 136 ROM_API_INDEX_HBN_Power_Down_Flash, 137 ROM_API_INDEX_HBN_Enable, 138 ROM_API_INDEX_HBN_Reset, 139 ROM_API_INDEX_HBN_Set_Ldo11_Aon_Vout, 140 ROM_API_INDEX_HBN_Set_Ldo11_Rt_Vout, 141 ROM_API_INDEX_HBN_Set_Ldo11_Soc_Vout, 142 ROM_API_INDEX_HBN_32K_Sel, 143 ROM_API_INDEX_HBN_Set_ROOT_CLK_Sel, 144 ROM_API_INDEX_HBN_Power_On_Xtal_32K, 145 ROM_API_INDEX_HBN_Power_Off_Xtal_32K, 146 ROM_API_INDEX_HBN_Power_On_RC32K, 147 ROM_API_INDEX_HBN_Power_Off_RC32K, 148 ROM_API_INDEX_HBN_Trim_RC32K, 149 ROM_API_INDEX_HBN_Hw_Pu_Pd_Cfg, 150 ROM_API_INDEX_HBN_Pin_WakeUp_Mask, 151 ROM_API_INDEX_HBN_GPIO7_Dbg_Pull_Cfg, 152 ROM_API_INDEX_HBN_Set_Embedded_Flash_Pullup, 153 154 ROM_API_INDEX_L1C_Set_Wrap, 155 ROM_API_INDEX_L1C_Set_Way_Disable, 156 ROM_API_INDEX_L1C_IROM_2T_Access_Set, 157 158 ROM_API_INDEX_PDS_Reset, 159 ROM_API_INDEX_PDS_Enable, 160 ROM_API_INDEX_PDS_Force_Config, 161 ROM_API_INDEX_PDS_RAM_Config, 162 ROM_API_INDEX_PDS_Default_Level_Config, 163 ROM_API_INDEX_PDS_Trim_RC32M, 164 ROM_API_INDEX_PDS_Select_RC32M_As_PLL_Ref, 165 ROM_API_INDEX_PDS_Select_XTAL_As_PLL_Ref, 166 ROM_API_INDEX_PDS_Power_On_PLL, 167 ROM_API_INDEX_PDS_Enable_PLL_All_Clks, 168 ROM_API_INDEX_PDS_Disable_PLL_All_Clks, 169 ROM_API_INDEX_PDS_Enable_PLL_Clk, 170 ROM_API_INDEX_PDS_Disable_PLL_Clk, 171 ROM_API_INDEX_PDS_Power_Off_PLL, 172 173 ROM_API_INDEX_SEC_Eng_Turn_On_Sec_Ring, 174 ROM_API_INDEX_SEC_Eng_Turn_Off_Sec_Ring, 175 176 ROM_API_INDEX_SFlash_Init, 177 ROM_API_INDEX_SFlash_SetSPIMode, 178 ROM_API_INDEX_SFlash_Read_Reg, 179 ROM_API_INDEX_SFlash_Write_Reg, 180 ROM_API_INDEX_SFlash_Busy, 181 ROM_API_INDEX_SFlash_Write_Enable, 182 ROM_API_INDEX_SFlash_Qspi_Enable, 183 ROM_API_INDEX_SFlash_Volatile_Reg_Write_Enable, 184 ROM_API_INDEX_SFlash_Chip_Erase, 185 ROM_API_INDEX_SFlash_Sector_Erase, 186 ROM_API_INDEX_SFlash_Blk32_Erase, 187 ROM_API_INDEX_SFlash_Blk64_Erase, 188 ROM_API_INDEX_SFlash_Erase, 189 ROM_API_INDEX_SFlash_Program, 190 ROM_API_INDEX_SFlash_GetUniqueId, 191 ROM_API_INDEX_SFlash_GetJedecId, 192 ROM_API_INDEX_SFlash_GetDeviceId, 193 ROM_API_INDEX_SFlash_Powerdown, 194 ROM_API_INDEX_SFlash_Releae_Powerdown, 195 ROM_API_INDEX_SFlash_SetBurstWrap, 196 ROM_API_INDEX_SFlash_DisableBurstWrap, 197 ROM_API_INDEX_SFlash_Software_Reset, 198 ROM_API_INDEX_SFlash_Reset_Continue_Read, 199 ROM_API_INDEX_SFlash_Set_IDbus_Cfg, 200 ROM_API_INDEX_SFlash_IDbus_Read_Enable, 201 ROM_API_INDEX_SFlash_Cache_Enable_Set, 202 ROM_API_INDEX_SFlash_Cache_Flush, 203 ROM_API_INDEX_SFlash_Cache_Read_Enable, 204 ROM_API_INDEX_SFlash_Cache_Hit_Count_Get, 205 ROM_API_INDEX_SFlash_Cache_Miss_Count_Get, 206 ROM_API_INDEX_SFlash_Cache_Read_Disable, 207 ROM_API_INDEX_SFlash_Read, 208 ROM_API_INDEX_SFlash_Read_Reg_With_Cmd, 209 ROM_API_INDEX_SFlash_Write_Reg_With_Cmd, 210 ROM_API_INDEX_SFlash_Restore_From_Powerdown, 211 212 ROM_API_INDEX_SF_Cfg_Init_Ext_Flash_Gpio, 213 ROM_API_INDEX_SF_Cfg_Init_Internal_Flash_Gpio, 214 ROM_API_INDEX_SF_Cfg_Deinit_Ext_Flash_Gpio, 215 ROM_API_INDEX_SF_Cfg_Restore_GPIO17_Fun, 216 ROM_API_INDEX_SF_Cfg_Get_Flash_Cfg_Need_Lock, 217 ROM_API_INDEX_SF_Cfg_Init_Flash_Gpio, 218 ROM_API_INDEX_SF_Cfg_Flash_Identify, 219 ROM_API_INDEX_SF_Ctrl_Enable, 220 ROM_API_INDEX_SF_Ctrl_Select_Pad, 221 ROM_API_INDEX_SF_Ctrl_Set_Owner, 222 ROM_API_INDEX_SF_Ctrl_Disable, 223 ROM_API_INDEX_SF_Ctrl_AES_Enable_BE, 224 ROM_API_INDEX_SF_Ctrl_AES_Enable_LE, 225 ROM_API_INDEX_SF_Ctrl_AES_Set_Region, 226 ROM_API_INDEX_SF_Ctrl_AES_Set_Key, 227 ROM_API_INDEX_SF_Ctrl_AES_Set_Key_BE, 228 ROM_API_INDEX_SF_Ctrl_AES_Set_IV, 229 ROM_API_INDEX_SF_Ctrl_AES_Set_IV_BE, 230 ROM_API_INDEX_SF_Ctrl_AES_Enable, 231 ROM_API_INDEX_SF_Ctrl_AES_Disable, 232 ROM_API_INDEX_SF_Ctrl_Set_Flash_Image_Offset, 233 ROM_API_INDEX_SF_Ctrl_Get_Flash_Image_Offset, 234 ROM_API_INDEX_SF_Ctrl_Select_Clock, 235 ROM_API_INDEX_SF_Ctrl_SendCmd, 236 ROM_API_INDEX_SF_Ctrl_Icache_Set, 237 ROM_API_INDEX_SF_Ctrl_Icache2_Set, 238 ROM_API_INDEX_SF_Ctrl_GetBusyState, 239 ROM_API_INDEX_SF_Ctrl_Is_AES_Enable, 240 ROM_API_INDEX_SF_Ctrl_Get_Clock_Delay, 241 ROM_API_INDEX_SF_Ctrl_Set_Clock_Delay, 242 243 ROM_API_INDEX_XIP_SFlash_State_Save, 244 ROM_API_INDEX_XIP_SFlash_State_Restore, 245 ROM_API_INDEX_XIP_SFlash_Erase_Need_Lock, 246 ROM_API_INDEX_XIP_SFlash_Write_Need_Lock, 247 ROM_API_INDEX_XIP_SFlash_Read_Need_Lock, 248 ROM_API_INDEX_XIP_SFlash_GetJedecId_Need_Lock, 249 ROM_API_INDEX_XIP_SFlash_GetDeviceId_Need_Lock, 250 ROM_API_INDEX_XIP_SFlash_GetUniqueId_Need_Lock, 251 ROM_API_INDEX_XIP_SFlash_Read_Via_Cache_Need_Lock, 252 ROM_API_INDEX_XIP_SFlash_Read_With_Lock, 253 ROM_API_INDEX_XIP_SFlash_Write_With_Lock, 254 ROM_API_INDEX_XIP_SFlash_Erase_With_Lock, 255 ROM_API_INDEX_XIP_SFlash_Opt_Enter, 256 ROM_API_INDEX_XIP_SFlash_Opt_Exit, 257 258 ROM_API_INDEX_BFLB_Soft_CRC32, 259 260 ROM_API_INDEX_FUNC_EMPTY_START, 261 262 ROM_API_INDEX_FUNC_EMPTY_END = ROMAPI_INDEX_MAX 263 264 } ROM_API_INDEX_e; 265 266 /*@} end of group ROMDRIVER_Public_Types */ 267 268 /** @defgroup ROMDRIVER_Public_Constants 269 * @{ 270 */ 271 272 /*@} end of group ROMDRIVER_Public_Constants */ 273 274 /** @defgroup ROMDRIVER_Public_Macros 275 * @{ 276 */ 277 278 #define ROM_APITABLE ((uint32_t *)0x21010800) 279 280 #define RomDriver_AON_Power_On_MBG \ 281 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_On_MBG]) 282 283 #define RomDriver_AON_Power_Off_MBG \ 284 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_Off_MBG]) 285 286 #define RomDriver_AON_Power_On_XTAL \ 287 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_On_XTAL]) 288 289 #define RomDriver_AON_Set_Xtal_CapCode \ 290 ((BL_Err_Type(*)(uint8_t capIn, uint8_t capOut))ROM_APITABLE[ROM_API_INDEX_AON_Set_Xtal_CapCode]) 291 292 #define RomDriver_AON_Get_Xtal_CapCode \ 293 ((uint8_t(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Get_Xtal_CapCode]) 294 295 #define RomDriver_AON_Power_Off_XTAL \ 296 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_Off_XTAL]) 297 298 #define RomDriver_AON_Power_On_BG \ 299 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_On_BG]) 300 301 #define RomDriver_AON_Power_Off_BG \ 302 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_Off_BG]) 303 304 #define RomDriver_AON_Power_On_LDO11_SOC \ 305 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_On_LDO11_SOC]) 306 307 #define RomDriver_AON_Power_Off_LDO11_SOC \ 308 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_Off_LDO11_SOC]) 309 310 #define RomDriver_AON_Power_On_LDO15_RF \ 311 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_On_LDO15_RF]) 312 313 #define RomDriver_AON_Power_Off_LDO15_RF \ 314 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_Off_LDO15_RF]) 315 316 #define RomDriver_AON_Power_On_SFReg \ 317 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_On_SFReg]) 318 319 #define RomDriver_AON_Power_Off_SFReg \ 320 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_Power_Off_SFReg]) 321 322 #define RomDriver_AON_LowPower_Enter_PDS0 \ 323 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_LowPower_Enter_PDS0]) 324 325 #define RomDriver_AON_LowPower_Exit_PDS0 \ 326 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_AON_LowPower_Exit_PDS0]) 327 328 #define RomDriver_ASM_Delay_Us \ 329 ((void (*)(uint32_t core, uint32_t cnt))ROM_APITABLE[ROM_API_INDEX_ASM_Delay_Us]) 330 331 #define RomDriver_BL602_Delay_US \ 332 ((void (*)(uint32_t cnt))ROM_APITABLE[ROM_API_INDEX_BL602_Delay_US]) 333 334 #define RomDriver_BL602_Delay_MS \ 335 ((void (*)(uint32_t cnt))ROM_APITABLE[ROM_API_INDEX_BL602_Delay_MS]) 336 337 #define RomDriver_BL602_MemCpy \ 338 ((void *(*)(void *dst, const void *src, uint32_t n))ROM_APITABLE[ROM_API_INDEX_BL602_MemCpy]) 339 340 #define RomDriver_BL602_MemCpy4 \ 341 ((uint32_t * (*)(uint32_t * dst, const uint32_t *src, uint32_t n)) ROM_APITABLE[ROM_API_INDEX_BL602_MemCpy4]) 342 343 #define RomDriver_BL602_MemCpy_Fast \ 344 ((void *(*)(void *pdst, const void *psrc, uint32_t n))ROM_APITABLE[ROM_API_INDEX_BL602_MemCpy_Fast]) 345 346 #define RomDriver_BL602_MemSet \ 347 ((void *(*)(void *s, uint8_t c, uint32_t n))ROM_APITABLE[ROM_API_INDEX_BL602_MemSet]) 348 349 #define RomDriver_BL602_MemSet4 \ 350 ((uint32_t * (*)(uint32_t * dst, const uint32_t val, uint32_t n)) ROM_APITABLE[ROM_API_INDEX_BL602_MemSet4]) 351 352 #define RomDriver_BL602_MemCmp \ 353 ((int (*)(const void *s1, const void *s2, uint32_t n))ROM_APITABLE[ROM_API_INDEX_BL602_MemCmp]) 354 355 #define RomDriver_EF_Ctrl_Sw_AHB_Clk_0 \ 356 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_Sw_AHB_Clk_0]) 357 358 #define RomDriver_EF_Ctrl_Program_Efuse_0 \ 359 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_Program_Efuse_0]) 360 361 #define RomDriver_EF_Ctrl_Load_Efuse_R0 \ 362 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_Load_Efuse_R0]) 363 364 #define RomDriver_EF_Ctrl_Busy \ 365 ((BL_Sts_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_Busy]) 366 367 #define RomDriver_EF_Ctrl_AutoLoad_Done \ 368 ((BL_Sts_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_AutoLoad_Done]) 369 370 #define RomDriver_EF_Ctrl_Get_Trim_Parity \ 371 ((uint8_t(*)(uint32_t val, uint8_t len))ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_Get_Trim_Parity]) 372 373 #define RomDriver_EF_Ctrl_Read_RC32M_Trim \ 374 ((void (*)(Efuse_Ana_RC32M_Trim_Type * trim)) ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_Read_RC32M_Trim]) 375 376 #define RomDriver_EF_Ctrl_Read_RC32K_Trim \ 377 ((void (*)(Efuse_Ana_RC32K_Trim_Type * trim)) ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_Read_RC32K_Trim]) 378 379 #define RomDriver_EF_Ctrl_Clear \ 380 ((void (*)(uint32_t index, uint32_t len))ROM_APITABLE[ROM_API_INDEX_EF_Ctrl_Clear]) 381 382 #define RomDriver_GLB_Get_Root_CLK_Sel \ 383 ((GLB_ROOT_CLK_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_Get_Root_CLK_Sel]) 384 385 #define RomDriver_GLB_Set_System_CLK_Div \ 386 ((BL_Err_Type(*)(uint8_t hclkDiv, uint8_t bclkDiv))ROM_APITABLE[ROM_API_INDEX_GLB_Set_System_CLK_Div]) 387 388 #define RomDriver_GLB_Get_BCLK_Div \ 389 ((uint8_t(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_Get_BCLK_Div]) 390 391 #define RomDriver_GLB_Get_HCLK_Div \ 392 ((uint8_t(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_Get_HCLK_Div]) 393 394 #define RomDriver_Update_SystemCoreClockWith_XTAL \ 395 ((BL_Err_Type(*)(GLB_PLL_XTAL_Type xtalType))ROM_APITABLE[ROM_API_INDEX_Update_SystemCoreClockWith_XTAL]) 396 397 #define RomDriver_GLB_Set_System_CLK \ 398 ((BL_Err_Type(*)(GLB_PLL_XTAL_Type xtalType, GLB_SYS_CLK_Type clkFreq))ROM_APITABLE[ROM_API_INDEX_GLB_Set_System_CLK]) 399 400 #define RomDriver_System_Core_Clock_Update_From_RC32M \ 401 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_System_Core_Clock_Update_From_RC32M]) 402 403 #define RomDriver_GLB_Set_SF_CLK \ 404 ((BL_Err_Type(*)(uint8_t enable, GLB_SFLASH_CLK_Type clkSel, uint8_t div))ROM_APITABLE[ROM_API_INDEX_GLB_Set_SF_CLK]) 405 406 #define RomDriver_GLB_Set_PKA_CLK_Sel \ 407 ((BL_Err_Type(*)(GLB_PKA_CLK_Type clkSel))ROM_APITABLE[ROM_API_INDEX_GLB_Set_PKA_CLK_Sel]) 408 409 #define RomDriver_GLB_SW_System_Reset \ 410 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_SW_System_Reset]) 411 412 #define RomDriver_GLB_SW_CPU_Reset \ 413 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_SW_CPU_Reset]) 414 415 #define RomDriver_GLB_SW_POR_Reset \ 416 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_SW_POR_Reset]) 417 418 #define RomDriver_GLB_Select_Internal_Flash \ 419 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_Select_Internal_Flash]) 420 421 #define RomDriver_GLB_Select_External_Flash \ 422 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_Select_External_Flash]) 423 424 #define RomDriver_GLB_Deswap_Flash_Pin \ 425 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_Deswap_Flash_Pin]) 426 427 #define RomDriver_GLB_Swap_Flash_Pin \ 428 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_GLB_Swap_Flash_Pin]) 429 430 #define RomDriver_GLB_GPIO_Init \ 431 ((BL_Err_Type(*)(GLB_GPIO_Cfg_Type * cfg)) ROM_APITABLE[ROM_API_INDEX_GLB_GPIO_Init]) 432 433 #define RomDriver_GLB_GPIO_OUTPUT_Enable \ 434 ((BL_Err_Type(*)(GLB_GPIO_Type gpioPin))ROM_APITABLE[ROM_API_INDEX_GLB_GPIO_OUTPUT_Enable]) 435 436 #define RomDriver_GLB_GPIO_OUTPUT_Disable \ 437 ((BL_Err_Type(*)(GLB_GPIO_Type gpioPin))ROM_APITABLE[ROM_API_INDEX_GLB_GPIO_OUTPUT_Disable]) 438 439 #define RomDriver_GLB_GPIO_Set_HZ \ 440 ((BL_Err_Type(*)(GLB_GPIO_Type gpioPin))ROM_APITABLE[ROM_API_INDEX_GLB_GPIO_Set_HZ]) 441 442 #define RomDriver_GLB_GPIO_Get_Fun \ 443 ((uint8_t(*)(GLB_GPIO_Type gpioPin))ROM_APITABLE[ROM_API_INDEX_GLB_GPIO_Get_Fun]) 444 445 #define RomDriver_HBN_Mode_Enter \ 446 ((void (*)(HBN_APP_CFG_Type * cfg)) ROM_APITABLE[ROM_API_INDEX_HBN_Mode_Enter]) 447 448 #define RomDriver_HBN_Power_Down_Flash \ 449 ((void (*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_HBN_Power_Down_Flash]) 450 451 #define RomDriver_HBN_Enable \ 452 ((void (*)(uint8_t aGPIOIeCfg, HBN_LDO_LEVEL_Type ldoLevel, HBN_LEVEL_Type hbnLevel))ROM_APITABLE[ROM_API_INDEX_HBN_Enable]) 453 454 #define RomDriver_HBN_Reset \ 455 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_HBN_Reset]) 456 457 #define RomDriver_HBN_Set_Ldo11_Aon_Vout \ 458 ((BL_Err_Type(*)(HBN_LDO_LEVEL_Type ldoLevel))ROM_APITABLE[ROM_API_INDEX_HBN_Set_Ldo11_Aon_Vout]) 459 460 #define RomDriver_HBN_Set_Ldo11_Rt_Vout \ 461 ((BL_Err_Type(*)(HBN_LDO_LEVEL_Type ldoLevel))ROM_APITABLE[ROM_API_INDEX_HBN_Set_Ldo11_Rt_Vout]) 462 463 #define RomDriver_HBN_Set_Ldo11_Soc_Vout \ 464 ((BL_Err_Type(*)(HBN_LDO_LEVEL_Type ldoLevel))ROM_APITABLE[ROM_API_INDEX_HBN_Set_Ldo11_Soc_Vout]) 465 466 #define RomDriver_HBN_32K_Sel \ 467 ((BL_Err_Type(*)(HBN_32K_CLK_Type clkType))ROM_APITABLE[ROM_API_INDEX_HBN_32K_Sel]) 468 469 #define RomDriver_HBN_Set_ROOT_CLK_Sel \ 470 ((BL_Err_Type(*)(HBN_ROOT_CLK_Type rootClk))ROM_APITABLE[ROM_API_INDEX_HBN_Set_ROOT_CLK_Sel]) 471 472 #define RomDriver_HBN_Power_On_Xtal_32K \ 473 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_HBN_Power_On_Xtal_32K]) 474 475 #define RomDriver_HBN_Power_Off_Xtal_32K \ 476 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_HBN_Power_Off_Xtal_32K]) 477 478 #define RomDriver_HBN_Power_On_RC32K \ 479 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_HBN_Power_On_RC32K]) 480 481 #define RomDriver_HBN_Power_Off_RC32K \ 482 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_HBN_Power_Off_RC32K]) 483 484 #define RomDriver_HBN_Trim_RC32K \ 485 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_HBN_Trim_RC32K]) 486 487 #define RomDriver_HBN_Hw_Pu_Pd_Cfg \ 488 ((BL_Err_Type(*)(uint8_t enable))ROM_APITABLE[ROM_API_INDEX_HBN_Hw_Pu_Pd_Cfg]) 489 490 #define RomDriver_HBN_Pin_WakeUp_Mask \ 491 ((BL_Err_Type(*)(uint8_t maskVal))ROM_APITABLE[ROM_API_INDEX_HBN_Pin_WakeUp_Mask]) 492 493 #define RomDriver_HBN_GPIO7_Dbg_Pull_Cfg \ 494 ((BL_Err_Type(*)(BL_Fun_Type pupdEn, BL_Fun_Type iesmtEn, BL_Fun_Type dlyEn, uint8_t dlySec))ROM_APITABLE[ROM_API_INDEX_HBN_GPIO7_Dbg_Pull_Cfg]) 495 496 #define RomDriver_HBN_Set_Embedded_Flash_Pullup \ 497 ((BL_Err_Type(*)(uint8_t enable))ROM_APITABLE[ROM_API_INDEX_HBN_Set_Embedded_Flash_Pullup]) 498 499 #define RomDriver_L1C_Set_Wrap \ 500 ((BL_Err_Type(*)(BL_Fun_Type wrap))ROM_APITABLE[ROM_API_INDEX_L1C_Set_Wrap]) 501 502 #define RomDriver_L1C_Set_Way_Disable \ 503 ((BL_Err_Type(*)(uint8_t disableVal))ROM_APITABLE[ROM_API_INDEX_L1C_Set_Way_Disable]) 504 505 #define RomDriver_L1C_IROM_2T_Access_Set \ 506 ((BL_Err_Type(*)(uint8_t enable))ROM_APITABLE[ROM_API_INDEX_L1C_IROM_2T_Access_Set]) 507 508 #define RomDriver_PDS_Reset \ 509 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_PDS_Reset]) 510 511 #define RomDriver_PDS_Enable \ 512 ((BL_Err_Type(*)(PDS_CTL_Type * cfg, PDS_CTL4_Type * cfg4, uint32_t pdsSleepCnt)) ROM_APITABLE[ROM_API_INDEX_PDS_Enable]) 513 514 #define RomDriver_PDS_Force_Config \ 515 ((BL_Err_Type(*)(PDS_CTL2_Type * cfg2, PDS_CTL3_Type * cfg3)) ROM_APITABLE[ROM_API_INDEX_PDS_Force_Config]) 516 517 #define RomDriver_PDS_RAM_Config \ 518 ((BL_Err_Type(*)(PDS_RAM_CFG_Type * ramCfg)) ROM_APITABLE[ROM_API_INDEX_PDS_RAM_Config]) 519 520 #define RomDriver_PDS_Default_Level_Config \ 521 ((BL_Err_Type(*)(PDS_DEFAULT_LV_CFG_Type * defaultLvCfg, PDS_RAM_CFG_Type * ramCfg, uint32_t pdsSleepCnt)) ROM_APITABLE[ROM_API_INDEX_PDS_Default_Level_Config]) 522 523 #define RomDriver_PDS_Trim_RC32M \ 524 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_PDS_Trim_RC32M]) 525 526 #define RomDriver_PDS_Select_RC32M_As_PLL_Ref \ 527 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_PDS_Select_RC32M_As_PLL_Ref]) 528 529 #define RomDriver_PDS_Select_XTAL_As_PLL_Ref \ 530 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_PDS_Select_XTAL_As_PLL_Ref]) 531 532 #define RomDriver_PDS_Power_On_PLL \ 533 ((BL_Err_Type(*)(PDS_PLL_XTAL_Type xtalType))ROM_APITABLE[ROM_API_INDEX_PDS_Power_On_PLL]) 534 535 #define RomDriver_PDS_Enable_PLL_All_Clks \ 536 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_PDS_Enable_PLL_All_Clks]) 537 538 #define RomDriver_PDS_Disable_PLL_All_Clks \ 539 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_PDS_Disable_PLL_All_Clks]) 540 541 #define RomDriver_PDS_Enable_PLL_Clk \ 542 ((BL_Err_Type(*)(PDS_PLL_CLK_Type pllClk))ROM_APITABLE[ROM_API_INDEX_PDS_Enable_PLL_Clk]) 543 544 #define RomDriver_PDS_Disable_PLL_Clk \ 545 ((BL_Err_Type(*)(PDS_PLL_CLK_Type pllClk))ROM_APITABLE[ROM_API_INDEX_PDS_Disable_PLL_Clk]) 546 547 #define RomDriver_PDS_Power_Off_PLL \ 548 ((BL_Err_Type(*)(void))ROM_APITABLE[ROM_API_INDEX_PDS_Power_Off_PLL]) 549 550 #define RomDriver_SEC_Eng_Turn_On_Sec_Ring \ 551 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SEC_Eng_Turn_On_Sec_Ring]) 552 553 #define RomDriver_SEC_Eng_Turn_Off_Sec_Ring \ 554 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SEC_Eng_Turn_Off_Sec_Ring]) 555 556 #define RomDriver_SFlash_Init \ 557 ((void (*)(const struct sf_ctrl_cfg_type *pSfCtrlCfg))ROM_APITABLE[ROM_API_INDEX_SFlash_Init]) 558 559 #define RomDriver_SFlash_SetSPIMode \ 560 ((int(*)(uint8_t mode))ROM_APITABLE[ROM_API_INDEX_SFlash_SetSPIMode]) 561 562 #define RomDriver_SFlash_Read_Reg \ 563 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t regIndex, uint8_t * regValue, uint8_t regLen)) ROM_APITABLE[ROM_API_INDEX_SFlash_Read_Reg]) 564 565 #define RomDriver_SFlash_Write_Reg \ 566 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t regIndex, uint8_t * regValue, uint8_t regLen)) ROM_APITABLE[ROM_API_INDEX_SFlash_Write_Reg]) 567 568 #define RomDriver_SFlash_Busy \ 569 ((int(*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_Busy]) 570 571 #define RomDriver_SFlash_Write_Enable \ 572 ((int(*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_Write_Enable]) 573 574 #define RomDriver_SFlash_Qspi_Enable \ 575 ((int(*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_Qspi_Enable]) 576 577 #define RomDriver_SFlash_Volatile_Reg_Write_Enable \ 578 ((void (*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_Volatile_Reg_Write_Enable]) 579 580 #define RomDriver_SFlash_Chip_Erase \ 581 ((int(*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_Chip_Erase]) 582 583 #define RomDriver_SFlash_Sector_Erase \ 584 ((int(*)(spi_flash_cfg_type * flashCfg, uint32_t secNum)) ROM_APITABLE[ROM_API_INDEX_SFlash_Sector_Erase]) 585 586 #define RomDriver_SFlash_Blk32_Erase \ 587 ((int(*)(spi_flash_cfg_type * flashCfg, uint32_t blkNum)) ROM_APITABLE[ROM_API_INDEX_SFlash_Blk32_Erase]) 588 589 #define RomDriver_SFlash_Blk64_Erase \ 590 ((int(*)(spi_flash_cfg_type * flashCfg, uint32_t blkNum)) ROM_APITABLE[ROM_API_INDEX_SFlash_Blk64_Erase]) 591 592 #define RomDriver_SFlash_Erase \ 593 ((int(*)(spi_flash_cfg_type * flashCfg, uint32_t startaddr, uint32_t endaddr)) ROM_APITABLE[ROM_API_INDEX_SFlash_Erase]) 594 595 #define RomDriver_SFlash_Program \ 596 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t ioMode, uint32_t addr, uint8_t * data, uint32_t len)) ROM_APITABLE[ROM_API_INDEX_SFlash_Program]) 597 598 #define RomDriver_SFlash_GetUniqueId \ 599 ((void (*)(uint8_t * data, uint8_t idLen)) ROM_APITABLE[ROM_API_INDEX_SFlash_GetUniqueId]) 600 601 #define RomDriver_SFlash_GetJedecId \ 602 ((void (*)(spi_flash_cfg_type * flashCfg, uint8_t * data)) ROM_APITABLE[ROM_API_INDEX_SFlash_GetJedecId]) 603 604 #define RomDriver_SFlash_GetDeviceId \ 605 ((void (*)(uint8_t * data)) ROM_APITABLE[ROM_API_INDEX_SFlash_GetDeviceId]) 606 607 #define RomDriver_SFlash_Powerdown \ 608 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SFlash_Powerdown]) 609 610 #define RomDriver_SFlash_Releae_Powerdown \ 611 ((void (*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_Releae_Powerdown]) 612 613 #define RomDriver_SFlash_SetBurstWrap \ 614 ((void (*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_SetBurstWrap]) 615 616 #define RomDriver_SFlash_DisableBurstWrap \ 617 ((void (*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_DisableBurstWrap]) 618 619 #define RomDriver_SFlash_Software_Reset \ 620 ((int(*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_Software_Reset]) 621 622 #define RomDriver_SFlash_Reset_Continue_Read \ 623 ((void (*)(spi_flash_cfg_type * flashCfg)) ROM_APITABLE[ROM_API_INDEX_SFlash_Reset_Continue_Read]) 624 625 #define RomDriver_SFlash_Set_IDbus_Cfg \ 626 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t ioMode, uint8_t contRead, uint32_t addr, uint32_t len)) ROM_APITABLE[ROM_API_INDEX_SFlash_Set_IDbus_Cfg]) 627 628 #define RomDriver_SFlash_IDbus_Read_Enable \ 629 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t ioMode, uint8_t contRead)) ROM_APITABLE[ROM_API_INDEX_SFlash_IDbus_Read_Enable]) 630 631 #define RomDriver_SFlash_Cache_Enable_Set \ 632 ((int(*)(uint8_t wayDisable))ROM_APITABLE[ROM_API_INDEX_SFlash_Cache_Enable_Set]) 633 634 #define RomDriver_SFlash_Cache_Flush \ 635 ((int(*)(void))ROM_APITABLE[ROM_API_INDEX_SFlash_Cache_Flush]) 636 637 #define RomDriver_SFlash_Cache_Read_Enable \ 638 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t ioMode, uint8_t contRead, uint8_t wayDisable)) ROM_APITABLE[ROM_API_INDEX_SFlash_Cache_Read_Enable]) 639 640 #define RomDriver_SFlash_Cache_Hit_Count_Get \ 641 ((void (*)(uint32_t * hitCountLow, uint32_t * hitCountHigh)) ROM_APITABLE[ROM_API_INDEX_SFlash_Cache_Hit_Count_Get]) 642 643 #define RomDriver_SFlash_Cache_Miss_Count_Get \ 644 ((uint32_t(*)(void))ROM_APITABLE[ROM_API_INDEX_SFlash_Cache_Miss_Count_Get]) 645 646 #define RomDriver_SFlash_Cache_Read_Disable \ 647 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SFlash_Cache_Read_Disable]) 648 649 #define RomDriver_SFlash_Read \ 650 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t ioMode, uint8_t contRead, uint32_t addr, uint8_t * data, uint32_t len)) ROM_APITABLE[ROM_API_INDEX_SFlash_Read]) 651 652 #define RomDriver_SFlash_Read_Reg_With_Cmd \ 653 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t readRegCmd, uint8_t * regValue, uint8_t regLen)) ROM_APITABLE[ROM_API_INDEX_SFlash_Read_Reg_With_Cmd]) 654 655 #define RomDriver_SFlash_Write_Reg_With_Cmd \ 656 ((int(*)(spi_flash_cfg_type * flashCfg, uint8_t writeRegCmd, uint8_t * regValue, uint8_t regLen)) ROM_APITABLE[ROM_API_INDEX_SFlash_Write_Reg_With_Cmd]) 657 658 #define RomDriver_SFlash_Restore_From_Powerdown \ 659 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint8_t flashContRead)) ROM_APITABLE[ROM_API_INDEX_SFlash_Restore_From_Powerdown]) 660 661 #define RomDriver_SF_Cfg_Init_Ext_Flash_Gpio \ 662 ((int (*)(uint8_t extFlashPin))ROM_APITABLE[ROM_API_INDEX_SF_Cfg_Init_Ext_Flash_Gpio]) 663 664 #define RomDriver_SF_Cfg_Init_Internal_Flash_Gpio \ 665 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Cfg_Init_Internal_Flash_Gpio]) 666 667 #define RomDriver_SF_Cfg_Deinit_Ext_Flash_Gpio \ 668 ((int (*)(uint8_t extFlashPin))ROM_APITABLE[ROM_API_INDEX_SF_Cfg_Deinit_Ext_Flash_Gpio]) 669 670 #define RomDriver_SF_Cfg_Restore_GPIO17_Fun \ 671 ((void (*)(uint8_t fun))ROM_APITABLE[ROM_API_INDEX_SF_Cfg_Restore_GPIO17_Fun]) 672 673 #define RomDriver_SF_Cfg_Get_Flash_Cfg_Need_Lock \ 674 ((int(*)(uint32_t flashID, spi_flash_cfg_type * pFlashCfg)) ROM_APITABLE[ROM_API_INDEX_SF_Cfg_Get_Flash_Cfg_Need_Lock]) 675 676 #define RomDriver_SF_Cfg_Init_Flash_Gpio \ 677 ((int (*)(uint8_t flashPinCfg, uint8_t restoreDefault))ROM_APITABLE[ROM_API_INDEX_SF_Cfg_Init_Flash_Gpio]) 678 679 #define RomDriver_SF_Cfg_Flash_Identify \ 680 ((uint32_t(*)(uint8_t callFromFlash, uint32_t autoScan, uint32_t flashPinCfg, uint8_t restoreDefault, spi_flash_cfg_type * pFlashCfg)) ROM_APITABLE[ROM_API_INDEX_SF_Cfg_Flash_Identify]) 681 682 #define RomDriver_SF_Ctrl_Enable \ 683 ((void (*)(const struct sf_ctrl_cfg_type *cfg))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Enable]) 684 685 #define RomDriver_SF_Ctrl_Select_Pad \ 686 ((void (*)(uint8_t sel))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Select_Pad]) 687 688 #define RomDriver_SF_Ctrl_Set_Owner \ 689 ((void (*)(uint8_t owner))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Set_Owner]) 690 691 #define RomDriver_SF_Ctrl_Disable \ 692 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Disable]) 693 694 #define RomDriver_SF_Ctrl_AES_Enable_BE \ 695 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Enable_BE]) 696 697 #define RomDriver_SF_Ctrl_AES_Enable_LE \ 698 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Enable_LE]) 699 700 #define RomDriver_SF_Ctrl_AES_Set_Region \ 701 ((void (*)(uint8_t region, uint8_t enable, uint8_t hwKey, uint32_t startAddr, uint32_t endAddr, uint8_t locked))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Set_Region]) 702 703 #define RomDriver_SF_Ctrl_AES_Set_Key \ 704 ((void (*)(uint8_t region, uint8_t * key, uint8_t keyType)) ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Set_Key]) 705 706 #define RomDriver_SF_Ctrl_AES_Set_Key_BE \ 707 ((void (*)(uint8_t region, uint8_t * key, uint8_t keyType)) ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Set_Key_BE]) 708 709 #define RomDriver_SF_Ctrl_AES_Set_IV \ 710 ((void (*)(uint8_t region, uint8_t * iv, uint32_t addrOffset)) ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Set_IV]) 711 712 #define RomDriver_SF_Ctrl_AES_Set_IV_BE \ 713 ((void (*)(uint8_t region, uint8_t * iv, uint32_t addrOffset)) ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Set_IV_BE]) 714 715 #define RomDriver_SF_Ctrl_AES_Enable \ 716 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Enable]) 717 718 #define RomDriver_SF_Ctrl_AES_Disable \ 719 ((void (*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_AES_Disable]) 720 721 #define RomDriver_SF_Ctrl_Set_Flash_Image_Offset \ 722 ((void (*)(uint32_t addrOffset))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Set_Flash_Image_Offset]) 723 724 #define RomDriver_SF_Ctrl_Get_Flash_Image_Offset \ 725 ((uint32_t(*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Get_Flash_Image_Offset]) 726 727 #define RomDriver_SF_Ctrl_Select_Clock \ 728 ((void (*)(uint8_t sahbType))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Select_Clock]) 729 730 #define RomDriver_SF_Ctrl_SendCmd \ 731 ((void (*)(struct sf_ctrl_cmd_cfg_type * cfg)) ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_SendCmd]) 732 733 #define RomDriver_SF_Ctrl_Icache_Set \ 734 ((void (*)(struct sf_ctrl_cmd_cfg_type * cfg, uint8_t cmdValid)) ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Icache_Set]) 735 736 #define RomDriver_SF_Ctrl_Icache2_Set \ 737 ((void (*)(struct sf_ctrl_cmd_cfg_type * cfg, uint8_t cmdValid)) ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Icache2_Set]) 738 739 #define RomDriver_SF_Ctrl_GetBusyState \ 740 ((int(*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_GetBusyState]) 741 742 #define RomDriver_SF_Ctrl_Is_AES_Enable \ 743 ((uint8_t(*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Is_AES_Enable]) 744 745 #define RomDriver_SF_Ctrl_Get_Clock_Delay \ 746 ((uint8_t(*)(void))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Get_Clock_Delay]) 747 748 #define RomDriver_SF_Ctrl_Set_Clock_Delay \ 749 ((void (*)(uint8_t delay))ROM_APITABLE[ROM_API_INDEX_SF_Ctrl_Set_Clock_Delay]) 750 751 #define RomDriver_XIP_SFlash_State_Save \ 752 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint32_t * offset)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_State_Save]) 753 754 #define RomDriver_XIP_SFlash_State_Restore \ 755 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint32_t offset)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_State_Restore]) 756 757 #define RomDriver_XIP_SFlash_Erase_Need_Lock \ 758 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint32_t startaddr, uint32_t endaddr)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_Erase_Need_Lock]) 759 760 #define RomDriver_XIP_SFlash_Write_Need_Lock \ 761 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint32_t addr, uint8_t * data, uint32_t len)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_Write_Need_Lock]) 762 763 #define RomDriver_XIP_SFlash_Read_Need_Lock \ 764 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint32_t addr, uint8_t * data, uint32_t len)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_Read_Need_Lock]) 765 766 #define RomDriver_XIP_SFlash_GetJedecId_Need_Lock \ 767 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint8_t * data)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_GetJedecId_Need_Lock]) 768 769 #define RomDriver_XIP_SFlash_GetDeviceId_Need_Lock \ 770 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint8_t * data)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_GetDeviceId_Need_Lock]) 771 772 #define RomDriver_XIP_SFlash_GetUniqueId_Need_Lock \ 773 ((int(*)(spi_flash_cfg_type * pFlashCfg, uint8_t * data, uint8_t idLen)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_GetUniqueId_Need_Lock]) 774 775 #define RomDriver_XIP_SFlash_Read_Via_Cache_Need_Lock \ 776 ((int(*)(uint32_t addr, uint8_t * data, uint32_t len)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_Read_Via_Cache_Need_Lock]) 777 778 #define RomDriver_XIP_SFlash_Opt_Enter \ 779 ((void (*)(uint8_t * aesEnable)) ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_Opt_Enter]) 780 781 #define RomDriver_XIP_SFlash_Opt_Exit \ 782 ((void (*)(uint8_t aesEnable))ROM_APITABLE[ROM_API_INDEX_XIP_SFlash_Opt_Exit]) 783 784 #define RomDriver_BFLB_Soft_CRC32 \ 785 ((uint32_t(*)(void *dataIn, uint32_t len))ROM_APITABLE[ROM_API_INDEX_BFLB_Soft_CRC32]) 786 787 /*@} end of group ROMDRIVER_Public_Macros */ 788 789 /** @defgroup ROMDRIVER_Public_Functions 790 * @{ 791 */ 792 793 /*@} end of group ROMDRIVER_Public_Functions */ 794 795 /*@} end of group ROMDRIVER */ 796 797 /*@} end of group BL602_Peripheral_Driver */ 798 799 #endif /* __BL602_ROMDRIVER_H__ */ 800