⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csl_emifaux.h

📁 TI达芬奇dm644x各硬件模块测试代码
💻 H
📖 第 1 页 / 共 4 页
字号:


/** ============================================================================
 *   @n@b CSL_emifGetAtIntStatus
 *
 *   @b Description
 *   @n Gets the asynchronous timeout information of the external memory 
 *   @n interface instance
 *
 *   @b Arguments
 *   @verbatim
        hEmif              Handle to the external memory interface instance
 *   @endverbatim
 *
 *   <b> Return Value </b> Uint16
                    
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns the information of asynchronous timeout information of 
 *    @n external memory interface instance
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_EmifHandle     hEmif;
        Uint16    atIntStatus;
        atIntStatus = CSL_emifGetAtIntStatus (hEmif);
        ...
     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
Uint16 CSL_emifGetAtIntStatus (
    CSL_EmifHandle hEmif
)
{ 
    Uint16    atIntStatus;
    atIntStatus = CSL_FEXT (hEmif->regs->EIRR, EMIF_EIRR_AT);
 
    return atIntStatus;
}
    

/** ============================================================================
 *   @n@b CSL_emifGetIoStatus
 *
 *   @b Description
 *   @n Gets the iostatus information of the external memory interface instance
 *
 *   @b Arguments
 *   @verbatim
        hEmif              Handle to the external memory interface instance
 *   @endverbatim
 *
 *   <b> Return Value </b> Uint16
                    
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n Returns the information io status information of external memory 
 *   @n interface instance
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_EmifHandle     hEmif;
        Uint16            ioStatus;
        ioStatus = CSL_emifGetIoStatus (hEmif);
        ...
     @endverbatim
 * ===========================================================================
 */    
CSL_IDEF_INLINE
Uint16 CSL_emifGetIoStatus (
    CSL_EmifHandle hEmif
)
{ 
    Uint16 ioStatus;
    ioStatus =  CSL_FEXT (hEmif->regs->IOSTATR, EMIF_IOSTATR_IOSTAT);
    return ioStatus;
}


/** ============================================================================
 *   @n@b CSL_emifGetNandFlashStatus
 *
 *   @b Description
 *   @n Gets the nand flash status  information of the external memory 
 *   @n interface instance
 *
 *   @b Arguments
 *   @verbatim
        hEmif              Handle to the external memory interface instance
 *   @endverbatim
 *
 *   <b> Return Value </b> Uint16
                    
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns the information of nand flash status information of 
 *    @n external memory interface instance
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_EmifHandle     hEmif;
        Uint16            nandFlashStatus;
        nandFlashStatus = CSL_emifGetAtIntStatus (hEmif);
        ...
     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
Uint16 CSL_emifGetNandFlashStatus (
    CSL_EmifHandle hEmif
)
{ 
    Uint16 nandFlashStatus;
    nandFlashStatus = CSL_FEXT (hEmif->regs->NANDFSR, EMIF_NANDFSR_WAITST);
     
    return nandFlashStatus;
}


/** ============================================================================
 *   @n@b CSL_emifGetCS5NandFlashEcc
 *
 *   @b Description
 *   @n Gets the chip select5 nand flash ECC status information of the external
 *   @n memory interface instance
 *
 *   @b Arguments
 *   @verbatim
        hEmif              Handle to the external memory interface instance
        nandFlashEcc1       pointer to nand flash ecc structure
 *   @endverbatim
 *
 *   <b> Return Value </b> None
                    
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns the information of cs5 nand flash ecc status information of 
 *    @n external memory interface instance
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_EmifHandle         hEmif;
        CSL_EmifNandFlashECC  *nandFlashEcc1;
        CSL_emifGetCS5NandFlashEcc (hEmif, nandFlashEcc1);
        ...
     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_emifGetCS5NandFlashEcc (
    CSL_EmifHandle hEmif,
    CSL_EmifNandFlashECC  *nandFlashEcc1
)
{ 
    nandFlashEcc1->p2048o = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                      EMIF_NANDF1ECC_P2048O);
                                                         
    nandFlashEcc1->p1024o = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                      EMIF_NANDF1ECC_P1024O);
                                                         
    nandFlashEcc1->p512o = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                     EMIF_NANDF1ECC_P512O);
                                                          
    nandFlashEcc1->p256o = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                     EMIF_NANDF1ECC_P256O);
                                                          
    nandFlashEcc1->p128o = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                     EMIF_NANDF1ECC_P128O);
                                                          
    nandFlashEcc1->p64o = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P64O);
    nandFlashEcc1->p32o = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P32O);
    nandFlashEcc1->p16o = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P16O);
    nandFlashEcc1->p8o = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P8O);
    nandFlashEcc1->p4o = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P4O);
    nandFlashEcc1->p2o = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P2O);
    nandFlashEcc1->p1o = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P1O);
    
    nandFlashEcc1->p2048e = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                      EMIF_NANDF1ECC_P2048E);
                                                         
    nandFlashEcc1->p1024e = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                      EMIF_NANDF1ECC_P1024E);
                                                         
    nandFlashEcc1->p512e = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                     EMIF_NANDF1ECC_P512E);
                                                          
    nandFlashEcc1->p256e = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                     EMIF_NANDF1ECC_P256E);
                                                          
    nandFlashEcc1->p256e = CSL_FEXT (hEmif->regs->NANDF1ECC, 
                                     EMIF_NANDF1ECC_P256E);
    nandFlashEcc1->p64e = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P64E);
    nandFlashEcc1->p32e = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P32E);
    nandFlashEcc1->p16e = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P16E);
    nandFlashEcc1->p8e = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P8E);
    nandFlashEcc1->p4e = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P4E);
    nandFlashEcc1->p2e = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P2E);
    nandFlashEcc1->p1e = CSL_FEXT (hEmif->regs->NANDF1ECC,EMIF_NANDF1ECC_P1E);
}


/** ============================================================================
 *   @n@b CSL_emifGetCS4NandFlashEcc
 *
 *   @b Description
 *   @n Gets the chip select4 nand flash ECC status information of the external
 *   @n memory interface instance
 *
 *   @b Arguments
 *   @verbatim
        hEmif              Handle to the external memory interface instance
        nandFlashEcc2       pointer to nand flash ecc structure
 *   @endverbatim
 *
 *   <b> Return Value </b> None
                    
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns the information of cs4 nand flash ecc status information of 
 *    @n external memory interface instance
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_EmifHandle         hEmif;
        CSL_EmifNandFlashECC  *nandFlashEcc2;
        CSL_emifGetCS5NandFlashEcc (hEmif, nandFlashEcc2);
        ...
     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_emifGetCS4NandFlashEcc (
    CSL_EmifHandle hEmif,
    CSL_EmifNandFlashECC  *nandFlashEcc2
)
{ 
    nandFlashEcc2->p2048o = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                      EMIF_NANDF2ECC_P2048O);
                                      
    nandFlashEcc2->p1024o = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                      EMIF_NANDF2ECC_P1024O);
                                      
    nandFlashEcc2->p512o = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                     EMIF_NANDF2ECC_P512O);
                                     
    nandFlashEcc2->p256o = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                     EMIF_NANDF2ECC_P256O);
                                     
    nandFlashEcc2->p128o = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                     EMIF_NANDF2ECC_P128O);
                                     
    nandFlashEcc2->p64o = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P64O);
    nandFlashEcc2->p32o = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P32O);
    nandFlashEcc2->p16o = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P16O);
    nandFlashEcc2->p8o = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P8O);
    nandFlashEcc2->p4o = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P4O);
    nandFlashEcc2->p2o = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P2O);
    nandFlashEcc2->p1o = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF1ECC_P1O);
    nandFlashEcc2->p2048e = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                      EMIF_NANDF2ECC_P2048E);
                                      
    nandFlashEcc2->p1024e = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                      EMIF_NANDF2ECC_P1024E);
                                      
    nandFlashEcc2->p512e = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                     EMIF_NANDF2ECC_P512E);
                                     
    nandFlashEcc2->p256e = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                     EMIF_NANDF2ECC_P256E);
                                     
    nandFlashEcc2->p256e = CSL_FEXT (hEmif->regs->NANDF2ECC, 
                                     EMIF_NANDF2ECC_P256E);
                                     
    nandFlashEcc2->p64e = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P64E);
    nandFlashEcc2->p32e = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P32E);
    nandFlashEcc2->p16e = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P16E);
    nandFlashEcc2->p8e = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P8E);
    nandFlashEcc2->p4e = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P4E);
    nandFlashEcc2->p2e = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P2E);
    nandFlashEcc2->p1e = CSL_FEXT (hEmif->regs->NANDF2ECC,EMIF_NANDF2ECC_P1E);
} 


/** ============================================================================
 *   @n@b CSL_emifGetCS3NandFlashEcc
 *
 *   @b Description
 *   @n Gets the chip select3 nand flash ECC status information of the external
 *   @n memory interface instance
 *
 *   @b Arguments
 *   @verbatim
        hEmif              Handle to the external memory interface instance
        nandFlashEcc3       pointer to nand flash ecc structure
 *   @endverbatim
 *
 *   <b> Return Value </b> None
                    
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns the information of cs3 nand flash ecc status information of 
 *    @n external memory interface instance
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_EmifHandle         hEmif;
        CSL_EmifNandFlashECC  *nandFlashEcc3;
        CSL_emifGetCS5NandFlashEcc (hEmif, nandFlashEcc3);
        ...
     @endverbatim
 * ===========================================================================
 */
CSL_IDEF_INLINE
void CSL_emifGetCS3NandFlashEcc (
    CSL_EmifHandle hEmif,
    CSL_EmifNandFlashECC  *nandFlashEcc3
)
{ 
    
    nandFlashEcc3->p2048o = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                      EMIF_NANDF3ECC_P2048O);
                                      
    nandFlashEcc3->p1024o = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                      EMIF_NANDF3ECC_P1024O);
                                      
    nandFlashEcc3->p512o = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                     EMIF_NANDF3ECC_P512O);
                                     
    nandFlashEcc3->p256o = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                     EMIF_NANDF3ECC_P256O);
                                     
    nandFlashEcc3->p128o = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                     EMIF_NANDF3ECC_P128O);
                                     
    nandFlashEcc3->p64o = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P64O);
    nandFlashEcc3->p32o = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P32O);
    nandFlashEcc3->p16o = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P16O);
    nandFlashEcc3->p8o = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P8O);
    nandFlashEcc3->p4o = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P4O);
    nandFlashEcc3->p2o = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P2O);
    nandFlashEcc3->p1o = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P1O);
    
    nandFlashEcc3->p2048e = CSL_FEXT (hEmif->regs->NANDF3ECC,
                                      EMIF_NANDF3ECC_P2048E);
                                      
    nandFlashEcc3->p1024e = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                      EMIF_NANDF3ECC_P1024E);
                                      
    nandFlashEcc3->p512e = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                     EMIF_NANDF3ECC_P512E);
                                     
    nandFlashEcc3->p256e = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                     EMIF_NANDF3ECC_P256E);
                                     
    nandFlashEcc3->p256e = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                     EMIF_NANDF3ECC_P256E);
                                     
    nandFlashEcc3->p64e = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                    EMIF_NANDF3ECC_P64E);
                                    
    nandFlashEcc3->p32e = CSL_FEXT (hEmif->regs->NANDF3ECC, 
                                    EMIF_NANDF3ECC_P32E);
                                    
    nandFlashEcc3->p16e = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P16E);
    nandFlashEcc3->p8e = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P8E);
    nandFlashEcc3->p4e = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P4E);
    nandFlashEcc3->p2e = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P2E);
    nandFlashEcc3->p1e = CSL_FEXT (hEmif->regs->NANDF3ECC,EMIF_NANDF3ECC_P1E);
}   
    

/** ============================================================================
 *   @n@b CSL_emifGetCS2NandFlashEcc
 *
 *   @b Description
 *   @n Gets the chip select2 nand flash ECC status information of the external
 *   @n memory interface instance
 *
 *   @b Arguments
 *   @verbatim
        hEmif              Handle to the external memory interface instance
        nandFlashEcc4      pointer to nand flash ecc structure
 *   @endverbatim
 *
 *   <b> Return Value </b> None
                    
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns the information of cs2 nand flash ecc status information of 
 *    @n external memory interface instance
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_EmifHandle         hEmif;
        CSL_EmifNandFlashECC  *nandFlashEcc4;
        CSL_emifGetCS5NandFlashEcc (hEmif, nandFlashEcc4);
        ...
     @endverbatim
 * ===========================================================================
 */   
CSL_IDEF_INLINE
void CSL_emifGetCS2NandFlashEcc (
    CSL_EmifHandle hEmif,
    CSL_EmifNandFlashECC  *nandFlashEcc4
)
{ 
    nandFlashEcc4->p2048o = CSL_FEXT (hEmif->regs->NANDF4ECC, 
                                      EMIF_NANDF4ECC_P2048O);
                                      
    nandFlashEcc4->p1024o = CSL_FEXT (hEmif->regs->NANDF4ECC, 
                                      EMIF_NANDF4ECC_P1024O);
                                      
    nandFlashEcc4->p512o = CSL_FEXT (hEmif->regs->NANDF4ECC, 
                                     EMIF_NANDF4ECC_P512O);
                                     
    nandFlashEcc4->p256o = CSL_FEXT (hEmif->regs->NANDF4ECC, 
                                     EMIF_NANDF4ECC_P256O);
                                     
    nandFlashEcc4->p128o = CSL_FEXT (hEmif->regs->NANDF4ECC, 
                                     EMIF_NANDF4ECC_P128O);
                                     
    nandFlashEcc4->p64o = CSL_FEXT (hEmif->regs->NANDF4ECC,EMIF_NANDF4ECC_P64O);
    nandFlashEcc4->p32o = CSL_FEXT (hEmif->regs->NANDF4ECC,EMIF_NANDF4ECC_P32O);
    nandFlashEcc4->p16o = CSL_FEXT (hEmif->regs->NANDF4ECC,EMIF_NANDF4ECC_P16O);
    nandFlashEcc4->p8o = CSL_FEXT (hEmif->regs->NANDF4ECC,EMIF_NANDF4ECC_P8O);
    nandFlashEcc4->p4o = CSL_FEXT (hEmif->regs->NANDF4ECC,EMIF_NANDF4ECC_P4O);
    nandFlashEcc4->p2o = CSL_FEXT (hEmif->regs->NANDF4ECC,EMIF_NANDF4ECC_P2O);
    nandFlashEcc4->p1o = CSL_FEXT (hEmif->regs->NANDF4ECC,EMIF_NANDF4ECC_P1O);
    
    nandFlashEcc4->p2048e = CSL_FEXT (hEmif->regs->NANDF4ECC, 
                                      EMIF_NANDF4ECC_P2048E);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -