summaryrefslogtreecommitdiff
path: root/drivers/fsl_flexcan.c
diff options
context:
space:
mode:
authorDominik Sliwa <dominik.sliwa@toradex.com>2017-11-09 19:51:32 +0100
committerDominik Sliwa <dominik.sliwa@toradex.com>2017-11-28 11:06:57 +0100
commit3020f5caf0b09fcaf85b3b3fa84fdf688ba22cc0 (patch)
tree971e36ac2bbd28b534791ca07efeca9e762c614a /drivers/fsl_flexcan.c
parent41a46914821b1ea72c6dd68b308a3740276139ee (diff)
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'drivers/fsl_flexcan.c')
-rw-r--r--drivers/fsl_flexcan.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/fsl_flexcan.c b/drivers/fsl_flexcan.c
index f58f3f5..8fd3399 100644
--- a/drivers/fsl_flexcan.c
+++ b/drivers/fsl_flexcan.c
@@ -392,7 +392,7 @@ static void FLEXCAN_Reset(CAN_Type *base)
}
}
-static void FLEXCAN_SetBaudRate(CAN_Type *base, uint32_t sourceClock_Hz, uint32_t baudRate_Bps)
+void FLEXCAN_SetBaudRate(CAN_Type *base, uint32_t sourceClock_Hz, uint32_t baudRate_Bps)
{
flexcan_timing_config_t timingConfig;
uint32_t priDiv = baudRate_Bps * FLEXCAN_TIME_QUANTA_NUM;
@@ -555,6 +555,17 @@ void FLEXCAN_SetTimingConfig(CAN_Type *base, const flexcan_timing_config_t *conf
FLEXCAN_ExitFreezeMode(base);
}
+void FLEXCAN_SetBitRate(CAN_Type *base, uint32_t sourceClock_Hz, uint32_t baudRate_Bps)
+{
+ /* Enter Freeze Mode. */
+ FLEXCAN_EnterFreezeMode(base);
+
+ FLEXCAN_SetBaudRate(base, sourceClock_Hz, baudRate_Bps);
+
+ /* Exit Freeze Mode. */
+ FLEXCAN_ExitFreezeMode(base);
+}
+
void FLEXCAN_SetRxMbGlobalMask(CAN_Type *base, uint32_t mask)
{
/* Enter Freeze Mode. */