Lines Matching refs:psCanfd
365 static void CANFD_SetTimingConfig(CANFD_T *psCanfd, const CANFD_TIMEING_CONFIG_T *psConfig) in CANFD_SetTimingConfig() argument
367 if (psCanfd == (CANFD_T *)CANFD0) in CANFD_SetTimingConfig()
372 else if (psCanfd == (CANFD_T *)CANFD1) in CANFD_SetTimingConfig()
383 psCanfd->CCCR |= CANFD_CCCR_CCE_Msk; in CANFD_SetTimingConfig()
386 psCanfd->NBTP = (((psConfig->u8NominalRJumpwidth & 0x7F) - 1) << 25) + in CANFD_SetTimingConfig()
393 if (psCanfd->CCCR & CANFD_CCCR_FDOE_Msk) in CANFD_SetTimingConfig()
395 psCanfd->DBTP = (((psConfig->u8DataPrescaler & 0x1F) - 1) << 16) + in CANFD_SetTimingConfig()
478 static uint32_t CANFD_CalculateTimingValues(CANFD_T *psCanfd, uint32_t u32NominalBaudRate, uint32_t… in CANFD_CalculateTimingValues() argument
503 if ( psCanfd->CCCR & CANFD_CCCR_FDOE_Msk ) in CANFD_CalculateTimingValues()
560 void CANFD_Open(CANFD_T *psCanfd, CANFD_FD_T *psCanfdStr) in CANFD_Open() argument
567 if (psCanfd == (CANFD_T *)CANFD0) in CANFD_Open()
572 else if (psCanfd == (CANFD_T *)CANFD1) in CANFD_Open()
586 psCanfd->CCCR |= CANFD_CCCR_CCE_Msk; in CANFD_Open()
591 psCanfd->CCCR |= CANFD_CCCR_BRSE_Msk; in CANFD_Open()
597 psCanfd->CCCR |= CANFD_CCCR_FDOE_Msk; in CANFD_Open()
601 psCanfd->RXF0C = 0; in CANFD_Open()
603 psCanfd->RXF1C = 0; in CANFD_Open()
606 …if (CANFD_CalculateTimingValues(psCanfd, psCanfdStr->sBtConfig.sNormBitRate.u32BitRate, psCanfdStr… in CANFD_Open()
609 CANFD_SetTimingConfig(psCanfd, &psCanfdStr->sBtConfig.sConfigBitTing); in CANFD_Open()
617 CANFD_ConfigSIDFC(psCanfd, &psCanfdStr->sMRamStartAddr, &psCanfdStr->sElemSize); in CANFD_Open()
621 CANFD_ConfigXIDFC(psCanfd, &psCanfdStr->sMRamStartAddr, &psCanfdStr->sElemSize); in CANFD_Open()
625 … CANFD_InitTxDBuf(psCanfd, &psCanfdStr->sMRamStartAddr, &psCanfdStr->sElemSize, eCANFD_BYTE64); in CANFD_Open()
629 … CANFD_InitRxDBuf(psCanfd, &psCanfdStr->sMRamStartAddr, &psCanfdStr->sElemSize, eCANFD_BYTE64); in CANFD_Open()
633 …CANFD_InitRxFifo(psCanfd, 0, &psCanfdStr->sMRamStartAddr, &psCanfdStr->sElemSize, 0, eCANFD_BYTE64… in CANFD_Open()
637 …CANFD_InitRxFifo(psCanfd, 1, &psCanfdStr->sMRamStartAddr, &psCanfdStr->sElemSize, 0, eCANFD_BYTE64… in CANFD_Open()
641 CANFD_InitTxEvntFifo(psCanfd, &psCanfdStr->sMRamStartAddr, &psCanfdStr->sElemSize, 0); in CANFD_Open()
644 CANFD_SetGFC(psCanfd, eCANFD_REJ_NON_MATCH_FRM, eCANFD_REJ_NON_MATCH_FRM, 1, 1); in CANFD_Open()
648 psCanfd->CCCR |= CANFD_CCCR_TEST_Msk; in CANFD_Open()
649 psCanfd->TEST |= CANFD_TEST_LBCK_Msk; in CANFD_Open()
663 void CANFD_Close(CANFD_T *psCanfd) in CANFD_Close() argument
665 if (psCanfd == (CANFD_T *)CANFD0) in CANFD_Close()
669 else if (psCanfd == (CANFD_T *)CANFD1) in CANFD_Close()
686 static uint32_t CANFD_GetTxBufferElementAddress(CANFD_T *psCanfd, uint32_t u32Idx) in CANFD_GetTxBufferElementAddress() argument
689 u32Size = (psCanfd->TXESC & CANFD_TXESC_TBDS_Msk) >> CANFD_TXESC_TBDS_Pos; in CANFD_GetTxBufferElementAddress()
700 return (psCanfd->TXBC & CANFD_TXBC_TBSA_Msk) + u32Idx * u32Size * 4U; in CANFD_GetTxBufferElementAddress()
747 void CANFD_EnableInt(CANFD_T *psCanfd, uint32_t u32IntLine0, uint32_t u32IntLine1, uint32_t u32TXBT… in CANFD_EnableInt() argument
753 psCanfd->IE |= u32IntLine0; in CANFD_EnableInt()
755 psCanfd->ILE |= CANFD_ILE_EINT0_Msk; in CANFD_EnableInt()
761 psCanfd->ILS |= u32IntLine1; in CANFD_EnableInt()
763 psCanfd->ILE |= CANFD_ILE_EINT1_Msk; in CANFD_EnableInt()
767 psCanfd->TXBTIE |= u32TXBTIE; in CANFD_EnableInt()
770 psCanfd->TXBCIE |= u32TXBCIE; in CANFD_EnableInt()
817 void CANFD_DisableInt(CANFD_T *psCanfd, uint32_t u32IntLine0, uint32_t u32IntLine1, uint32_t u32TXB… in CANFD_DisableInt() argument
822 psCanfd->IE &= ~u32IntLine0; in CANFD_DisableInt()
824 psCanfd->ILE &= ~CANFD_ILE_EINT0_Msk; in CANFD_DisableInt()
830 psCanfd->ILS &= ~u32IntLine1; in CANFD_DisableInt()
832 psCanfd->ILE &= ~CANFD_ILE_EINT1_Msk; in CANFD_DisableInt()
836 psCanfd->TXBTIE &= ~u32TXBTIE; in CANFD_DisableInt()
839 psCanfd->TXBCIE &= ~u32TXBCIE; in CANFD_DisableInt()
855 uint32_t CANFD_TransmitTxMsg(CANFD_T *psCanfd, uint32_t u32TxBufIdx, CANFD_FD_MSG_T *psTxMsg) in CANFD_TransmitTxMsg() argument
861 u32Success = CANFD_TransmitDMsg(psCanfd, u32TxBufIdx, psTxMsg); in CANFD_TransmitTxMsg()
866 while (!(psCanfd->TXBRP & (1UL << u32TxBufIdx))) in CANFD_TransmitTxMsg()
895 uint32_t CANFD_TransmitDMsg(CANFD_T *psCanfd, uint32_t u32TxBufIdx, CANFD_FD_MSG_T *psTxMsg) in CANFD_TransmitDMsg() argument
904 if (psCanfd->TXBRP & (1UL << u32TxBufIdx)) return 0; in CANFD_TransmitDMsg()
907 …psTxBuffer = (CANFD_BUF_T *)(CANFD_SRAM_BASE_ADDR(psCanfd) + (psCanfd->TXBC & 0xFFFF) + (u32TxBufI… in CANFD_TransmitDMsg()
932 while (CANFD_GET_COMMUNICATION_STATE(psCanfd) != eCANFD_IDLE) in CANFD_TransmitDMsg()
937 psCanfd->TXBAR = (1 << u32TxBufIdx); in CANFD_TransmitDMsg()
956 void CANFD_SetGFC(CANFD_T *psCanfd, E_CANFD_ACC_NON_MATCH_FRM eNMStdFrm, E_CANFD_ACC_NON_MATCH_FRM … in CANFD_SetGFC() argument
958 psCanfd->GFC &= (CANFD_GFC_RRFS_Msk | CANFD_GFC_RRFE_Msk); in CANFD_SetGFC()
959 psCanfd->GFC = (eNMStdFrm << CANFD_GFC_ANFS_Pos) | (eEMExtFrm << CANFD_GFC_ANFE_Pos) in CANFD_SetGFC()
979 static void CANFD_InitRxFifo(CANFD_T *psCanfd, uint32_t u32RxFifoNum, CANFD_RAM_PART_T *psRamConfig… in CANFD_InitRxFifo() argument
999 … psCanfd->RXF0C = (psRamConfig->u32RXF0C_F0SA) | (psElemSize->u32RxFifo0 << CANFD_RXF0C_F0S_Pos) in CANFD_InitRxFifo()
1001 … psCanfd->RXESC = (psCanfd->RXESC & (~CANFD_RXESC_F0DS_Msk)) | (eFifoSize << CANFD_RXESC_F0DS_Pos); in CANFD_InitRxFifo()
1004 … u32Address = CANFD_SRAM_BASE_ADDR(psCanfd) + (psRamConfig->u32RXF0C_F0SA & CANFD_RXF0C_F0SA_Msk); in CANFD_InitRxFifo()
1021 psCanfd->RXF0C = 0; in CANFD_InitRxFifo()
1030 … psCanfd->RXF1C = (psRamConfig->u32RXF1C_F1SA) | (psElemSize->u32RxFifo1 << CANFD_RXF1C_F1S_Pos) in CANFD_InitRxFifo()
1032 … psCanfd->RXESC = (psCanfd->RXESC & (~CANFD_RXESC_F1DS_Msk)) | (eFifoSize << CANFD_RXESC_F1DS_Pos); in CANFD_InitRxFifo()
1035 … u32Address = CANFD_SRAM_BASE_ADDR(psCanfd) + (psRamConfig->u32RXF1C_F1SA & CANFD_RXF1C_F1SA_Msk); in CANFD_InitRxFifo()
1053 psCanfd->RXF1C = 0; in CANFD_InitRxFifo()
1074 static void CANFD_InitTxDBuf(CANFD_T *psCanfd, CANFD_RAM_PART_T *psRamConfig, CANFD_ELEM_SIZE_T *ps… in CANFD_InitTxDBuf() argument
1080 …psCanfd->TXBC = ((psElemSize->u32TxBuf & 0x3F) << CANFD_TXBC_NDTB_Pos) | (psRamConfig->u32TXBC_TBS… in CANFD_InitTxDBuf()
1083 u32Address = CANFD_SRAM_BASE_ADDR(psCanfd) + (psRamConfig->u32TXBC_TBSA & CANFD_TXBC_TBSA_Msk); in CANFD_InitTxDBuf()
1086 …psCanfd->TXESC = (psCanfd->TXESC & (~CANFD_TXESC_TBDS_Msk)) | (eTxBufSize << CANFD_TXESC_TBDS_Pos… in CANFD_InitTxDBuf()
1118 static void CANFD_InitRxDBuf(CANFD_T *psCanfd, CANFD_RAM_PART_T *psRamConfig, CANFD_ELEM_SIZE_T *ps… in CANFD_InitRxDBuf() argument
1124 psCanfd->RXBC = (psRamConfig->u32RXBC_RBSA & CANFD_RXBC_RBSA_Msk); in CANFD_InitRxDBuf()
1127 u32Address = CANFD_SRAM_BASE_ADDR(psCanfd) + (psRamConfig->u32RXBC_RBSA & CANFD_RXBC_RBSA_Msk); in CANFD_InitRxDBuf()
1130 …psCanfd->RXESC = (psCanfd->RXESC & (~CANFD_RXESC_RBDS_Msk)) | (eRxBufSize << CANFD_RXESC_RBDS_Pos… in CANFD_InitRxDBuf()
1159 static void CANFD_ConfigSIDFC(CANFD_T *psCanfd, CANFD_RAM_PART_T *psRamConfig, CANFD_ELEM_SIZE_T *p… in CANFD_ConfigSIDFC() argument
1164 …psCanfd->SIDFC = ((psElemSize->u32SIDFC & 0xFF) << CANFD_SIDFC_LSS_Pos) | (psRamConfig->u32SIDFC_F… in CANFD_ConfigSIDFC()
1167 …u32Address = CANFD_SRAM_BASE_ADDR(psCanfd) + (psRamConfig->u32SIDFC_FLSSA & CANFD_SIDFC_FLSSA_Msk); in CANFD_ConfigSIDFC()
1185 static void CANFD_ConfigXIDFC(CANFD_T *psCanfd, CANFD_RAM_PART_T *psRamConfig, CANFD_ELEM_SIZE_T *p… in CANFD_ConfigXIDFC() argument
1190 …psCanfd->XIDFC = ((psElemSize->u32XIDFC & 0xFF) << CANFD_XIDFC_LSE_Pos) | (psRamConfig->u32XIDFC_F… in CANFD_ConfigXIDFC()
1193 …u32Address = CANFD_SRAM_BASE_ADDR(psCanfd) + (psRamConfig->u32XIDFC_FLESA & CANFD_XIDFC_FLESA_Msk); in CANFD_ConfigXIDFC()
1211 void CANFD_SetSIDFltr(CANFD_T *psCanfd, uint32_t u32FltrIdx, uint32_t u32Filter) in CANFD_SetSIDFltr() argument
1219 …psFilter = (CANFD_STD_FILTER_T *)(CANFD_SRAM_BASE_ADDR(psCanfd) + (psCanfd->SIDFC & CANFD_SIDFC_FL… in CANFD_SetSIDFltr()
1239 void CANFD_SetXIDFltr(CANFD_T *psCanfd, uint32_t u32FltrIdx, uint32_t u32FilterLow, uint32_t u32Fil… in CANFD_SetXIDFltr() argument
1247 …psFilter = (CANFD_EXT_FILTER_T *)(CANFD_SRAM_BASE_ADDR(psCanfd) + (psCanfd->XIDFC & CANFD_XIDFC_FL… in CANFD_SetXIDFltr()
1269 uint32_t CANFD_ReadRxBufMsg(CANFD_T *psCanfd, uint8_t u8MbIdx, CANFD_FD_MSG_T *psMsgBuf) in CANFD_ReadRxBufMsg() argument
1278 newData = (psCanfd->NDAT1 >> u8MbIdx) & 1; in CANFD_ReadRxBufMsg()
1280 newData = (psCanfd->NDAT2 >> (u8MbIdx - 32)) & 1; in CANFD_ReadRxBufMsg()
1286 …psRxBuffer = (CANFD_BUF_T *)(CANFD_SRAM_BASE_ADDR(psCanfd) + (psCanfd->RXBC & 0xFFFF) + (u8MbIdx *… in CANFD_ReadRxBufMsg()
1293 psCanfd->NDAT1 |= (1UL << u8MbIdx); in CANFD_ReadRxBufMsg()
1295 psCanfd->NDAT2 |= (1UL << (u8MbIdx - 32)); in CANFD_ReadRxBufMsg()
1318 uint32_t CANFD_ReadRxFifoMsg(CANFD_T *psCanfd, uint8_t u8FifoIdx, CANFD_FD_MSG_T *psMsgBuf) in CANFD_ReadRxFifoMsg() argument
1332 pRXFS = &(psCanfd->RXF0S); in CANFD_ReadRxFifoMsg()
1333 pRXFC = &(psCanfd->RXF0C); in CANFD_ReadRxFifoMsg()
1334 pRXFA = &(psCanfd->RXF0A); in CANFD_ReadRxFifoMsg()
1339 pRXFS = &(psCanfd->RXF1S); in CANFD_ReadRxFifoMsg()
1340 pRXFC = &(psCanfd->RXF1C); in CANFD_ReadRxFifoMsg()
1341 pRXFA = &(psCanfd->RXF1A); in CANFD_ReadRxFifoMsg()
1349 …pRxBuffer = (CANFD_BUF_T *)(CANFD_SRAM_BASE_ADDR(psCanfd) + (*pRXFC & 0xFFFF) + (GetIndex * sizeof… in CANFD_ReadRxFifoMsg()
1360 psCanfd->IR = (1UL << msgLostBit); in CANFD_ReadRxFifoMsg()
1441 uint32_t CANFD_GetRxFifoWaterLvl(CANFD_T *psCanfd, uint32_t u32RxFifoNum) in CANFD_GetRxFifoWaterLvl() argument
1446 u32WaterLevel = ((psCanfd->RXF0C & CANFD_RXF0C_F0WM_Msk) >> CANFD_RXF0C_F0WM_Pos); in CANFD_GetRxFifoWaterLvl()
1448 u32WaterLevel = ((psCanfd->RXF1C & CANFD_RXF1C_F1WM_Msk) >> CANFD_RXF1C_F1WM_Pos); in CANFD_GetRxFifoWaterLvl()
1481 void CANFD_TxBufCancelReq(CANFD_T *psCanfd, uint32_t u32TxBufIdx) in CANFD_TxBufCancelReq() argument
1483 psCanfd->TXBCR |= (0x1ul << u32TxBufIdx); in CANFD_TxBufCancelReq()
1498 uint32_t CANFD_IsTxBufCancelFin(CANFD_T *psCanfd, uint32_t u32TxBufIdx) in CANFD_IsTxBufCancelFin() argument
1501 return ((psCanfd->TXBCR & (0x1ul << u32TxBufIdx)) >> u32TxBufIdx); in CANFD_IsTxBufCancelFin()
1516 uint32_t CANFD_IsTxBufTransmitOccur(CANFD_T *psCanfd, uint32_t u32TxBufIdx) in CANFD_IsTxBufTransmitOccur() argument
1518 return ((psCanfd->TXBTO & (0x1ul << u32TxBufIdx)) >> u32TxBufIdx); in CANFD_IsTxBufTransmitOccur()
1534 static void CANFD_InitTxEvntFifo(CANFD_T *psCanfd, CANFD_RAM_PART_T *psRamConfig, CANFD_ELEM_SIZE_T… in CANFD_InitTxEvntFifo() argument
1537 …psCanfd->TXEFC = (u32FifoWaterLvl << CANFD_TXEFC_EFWM_Pos) | (psElemSize->u32TxEventFifo << CANFD_… in CANFD_InitTxEvntFifo()
1551 uint32_t CANFD_GetTxEvntFifoWaterLvl(CANFD_T *psCanfd) in CANFD_GetTxEvntFifoWaterLvl() argument
1553 return ((psCanfd->TXEFC & CANFD_TXEFC_EFWM_Msk) >> CANFD_TXEFC_EFWM_Pos); in CANFD_GetTxEvntFifoWaterLvl()
1568 void CANFD_CopyTxEvntFifoToUsrBuf(CANFD_T *psCanfd, uint32_t u32TxEvntNum, CANFD_TX_EVNT_ELEM_T *ps… in CANFD_CopyTxEvntFifoToUsrBuf() argument
1572 pu32TxEvnt = (uint32_t *)CANFD_GetTxBufferElementAddress(psCanfd, u32TxEvntNum); in CANFD_CopyTxEvntFifoToUsrBuf()
1659 uint32_t CANFD_GetStatusFlag(CANFD_T *psCanfd, uint32_t u32IntTypeFlag) in CANFD_GetStatusFlag() argument
1661 return (psCanfd->IR & u32IntTypeFlag); in CANFD_GetStatusFlag()
1703 void CANFD_ClearStatusFlag(CANFD_T *psCanfd, uint32_t u32InterruptFlag) in CANFD_ClearStatusFlag() argument
1706 psCanfd->IR |= u32InterruptFlag; in CANFD_ClearStatusFlag()
1722 void CANFD_GetBusErrCount(CANFD_T *psCanfd, uint8_t *pu8TxErrBuf, uint8_t *pu8RxErrBuf) in CANFD_GetBusErrCount() argument
1726 *pu8TxErrBuf = (uint8_t)((psCanfd->ECR >> CANFD_ECR_TEC_Pos) & CANFD_ECR_TEC_Msk); in CANFD_GetBusErrCount()
1731 *pu8RxErrBuf = (uint8_t)((psCanfd->ECR >> CANFD_ECR_REC_Pos) & CANFD_ECR_REC_Msk); in CANFD_GetBusErrCount()
1748 int32_t CANFD_RunToNormal(CANFD_T *psCanfd, uint8_t u8Enable) in CANFD_RunToNormal() argument
1755 psCanfd->CCCR &= ~(CANFD_CCCR_CCE_Msk | CANFD_CCCR_INIT_Msk); in CANFD_RunToNormal()
1757 while (psCanfd->CCCR & CANFD_CCCR_INIT_Msk) in CANFD_RunToNormal()
1765 psCanfd->CCCR |= CANFD_CCCR_INIT_Msk; in CANFD_RunToNormal()
1767 while (!(psCanfd->CCCR & CANFD_CCCR_INIT_Msk)) in CANFD_RunToNormal()